PHP Code:
#define PLUGIN "Connect Informer"
#define AUTHOR "Leon McVeran"
#define VERSION "v1.0"
#define PDATE "6th September 2010"
#include <amxmodx>
#include <geoip>
#define ACCESS_LEVEL ADMIN_KICK
new g_iMaxPlayers
new g_szCountry[33][32]
new g_szPrefix[] = "[AMXX]" // or your clan name ;)
new gMsgSayText
new gMsgTeamInfo
public plugin_init(){
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public plugin_cfg(){
gMsgSayText = get_user_msgid("SayText")
gMsgTeamInfo = get_user_msgid("TeamInfo")
g_iMaxPlayers = get_maxplayers()
}
public client_putinserver(id){
new szIP[20]
get_user_ip(id, szIP, 19)
geoip_country(szIP, g_szCountry[id], 31)
new szName[32]
get_user_name(id, szName, 31)
new szMsg[192]
if (is_user_bot(id)){
formatex(szMsg, 191, "^x03%s^x04 Bot:^x01 %s has connected", g_szPrefix, szName)
}
// Wenn kein Land ermittelt werden konnte
else if (equal(g_szCountry[id], "error")){
formatex(szMsg, 191, "^x03%s^x04 %s:^x01 %s has connected", g_szPrefix, get_user_flags(id) & ACCESS_LEVEL ? "Admin" : "Player", szName)
}
else{
formatex(szMsg, 191, "^x03%s^x04 %s:^x01 %s has connected from^x03 %s", g_szPrefix, get_user_flags(id) & ACCESS_LEVEL ? "Admin" : "Player", szName, g_szCountry[id])
}
for (new iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++){
if (is_user_connected(iPlayer)){
Create_ChatMsg(iPlayer, szMsg)
}
}
}
public client_disconnect(id){
new szName[32]
get_user_name(id, szName, 31)
new szMsg[192]
if (is_user_bot(id)){
formatex(szMsg, 191, "^x03%s^x04 Bot:^x01 %s has left the server", g_szPrefix, szName)
}
// Wenn kein Land ermittelt werden konnte
else if (equal(g_szCountry[id], "error")){
formatex(szMsg, 191, "^x03%s^x04 %s:^x01 %s has left the server", g_szPrefix, get_user_flags(id) & ACCESS_LEVEL ? "Admin" : "Player", szName)
}
else{
formatex(szMsg, 191, "^x03%s^x04 %s:^x01 %s from^x03 %s^x01 has left the server", g_szPrefix, get_user_flags(id) & ACCESS_LEVEL ? "Admin" : "Player", szName, g_szCountry[id])
}
for (new iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++){
if (is_user_connected(iPlayer)){
Create_ChatMsg(iPlayer, szMsg)
}
}
}
stock Create_ChatMsg(id, szMsg[]){
// A user message must be smaller than 192 Bytes, otherwise the server crashs.
szMsg[182]='^0'
new szTeam[10], szColor[10]
get_user_team(id, szTeam, 9)
copy(szColor, 9, "TERRORIST")
// Change team to create a red colored message
message_begin(MSG_ONE, gMsgTeamInfo, { 0, 0, 0}, id)
write_byte(id)
write_string(szColor)
message_end()
// Print the message
message_begin(MSG_ONE, gMsgSayText, {0, 0, 0}, id)
write_byte(id)
write_string(szMsg)
message_end()
// Change back to the original team
message_begin(MSG_ONE, gMsgTeamInfo, { 0, 0, 0}, id)
write_byte(id)
write_string(szTeam)
message_end()
}