PDA

Zobrazit normální verzi : Plugin amx_showip



traviss
27-02-15, 10:26
Zdravim, chtěl bych se zeptat na cmd amx_showip, který vypíše ID, IP, a ještě zemi, který na kotelně používáte. Nedali byste mi na ten plugin prosim odkaz ke stažení, nemůžu ho nikde najít.

hofy
27-02-15, 10:34
edit: Aha, omyl.

traviss
27-02-15, 12:33
Já právě procházel hodně pluginů na alliedmodders, i nějaké co mají ty země ukazovat, ale buď nefungují vůbec, nebo místo kódu země ukážou err (error), ikdyž mám aktualizované geoip

hofy
27-02-15, 12:58
Zkoušel jsi tenhle? https://forums.alliedmods.net/showthread.php?t=79825

traviss
27-02-15, 14:45
na tenhle jsem nenarazil, vyzkouším, dík

traviss
27-02-15, 19:11
Ten funguje jen pro adminy. Já bych potřeboval pro všechny hráče, plnil by stejnou funkci jako tady na kotelně. Asi se někomu s přístupem na FTP nechce ten plugin sdílet co?:D

hofy
27-02-15, 19:38
Zkus to takhle (příkaz amx_ip, odstraněno 800 nepotřebných řádků).


#include <amxmodx>
#include <amxmisc>
#include <geoip>


new iPlayers[32], iPlayerNum
new szName[32], szIP[20], szID[20], szCountry[20]


public plugin_init()
{
register_plugin("ShowIP", "1.08", "Spunky")
register_concmd("amx_ip", "cmd_showall_all")
}


public cmd_showall_all(id, level, cid)
{
get_players(iPlayers, iPlayerNum, "ch")


for (new i = 0; i < iPlayerNum; i++)
{
get_user_name(iPlayers[i], szName, 31)
get_user_ip(iPlayers[i], szIP, 19, 1)
get_user_authid(iPlayers[i], szID, 19)
geoip_country(szIP, szCountry, 19)


if ((szIP[0] != '1' && szIP[1] != '9' && szIP[2] != '2') || (szIP[0] != '1' && szIP[1] != '2' && szIP[2] != '7'))
console_print(id, "^nShowIP: %s^n---^nIP: %s^nSteam ID: %s^nCountry: %s^n", szName, szIP, szID, szCountry)
}


return PLUGIN_HANDLED
}

traviss
27-02-15, 23:41
Super, dík ten vypadá, že funguje. Akorát u hráče, u kterýho GHW CONNECT ukázalo Unknown country, tak se v outputu vůbec neukázal, jinak všichni ostatní (poland, slovakia, czech rep apod.) v pohodě. Nešlo by ještě, aby každého hráče ten command vylistoval na jednu řádku? Každý takhle zabírá asi 5 řádek a je to trochu nepřehledné.

Edit: Teď se ještě připojil jeden hráč podle GHW ze slovenska a taky se nezobrazil přes amx_ip

hofy
28-02-15, 13:01
#include <amxmodx>
#include <amxmisc>
#include <geoip>

new iPlayers[32], iPlayerNum
new szName[32], szIP[20], szID[20], szCountry[20]

public plugin_init()
{
register_plugin("ShowIP", "1.08", "Spunky")
register_concmd("amx_ip", "cmd_showall_all")
}

public cmd_showall_all(id, level, cid)
{
get_players(iPlayers, iPlayerNum, "ch")

for (new i = 0; i < iPlayerNum; i++)
{
get_user_name(iPlayers[i], szName, 31)
get_user_ip(iPlayers[i], szIP, 19, 1)
get_user_authid(iPlayers[i], szID, 19)
geoip_country(szIP, szCountry, 19)

if ((szIP[0] != '1' && szIP[1] != '9' && szIP[2] != '2') || (szIP[0] != '1' && szIP[1] != '2' && szIP[2] != '7'))
console_print(id, "^n%s --- IP: %s --- SteamID: %s --- Zeme: %s", szName, szIP, szID, szCountry)
}

return PLUGIN_HANDLED
}


Ještě to můžeš zkusit takhle, to bude ukazovat všechny, ale asi ta podmínka má nějaký smysl:



#include <amxmodx>
#include <amxmisc>
#include <geoip>

new iPlayers[32], iPlayerNum
new szName[32], szIP[20], szID[20], szCountry[20]

public plugin_init()
{
register_plugin("ShowIP", "1.08", "Spunky")
register_concmd("amx_ip", "cmd_showall_all")
}

public cmd_showall_all(id, level, cid)
{
get_players(iPlayers, iPlayerNum, "ch")

for (new i = 0; i < iPlayerNum; i++)
{
get_user_name(iPlayers[i], szName, 31)
get_user_ip(iPlayers[i], szIP, 19, 1)
get_user_authid(iPlayers[i], szID, 19)
geoip_country(szIP, szCountry, 19)


// if ((szIP[0] != '1' && szIP[1] != '9' && szIP[2] != '2') || (szIP[0] != '1' && szIP[1] != '2' && szIP[2] != '7'))
console_print(id, "^n%s --- IP: %s --- SteamID: %s --- Zeme: %s", szName, szIP, szID, szCountry)
}

return PLUGIN_HANDLED
}


Případně je možný, že hráč měl místo steamid "HLTV" (jde nastavit jedním příkazem) a proto se tady nezobrazoval. Takhle to bude ukazovat HLTV i boty:


#include <amxmodx>
#include <amxmisc>
#include <geoip>

new iPlayers[32], iPlayerNum
new szName[32], szIP[20], szID[20], szCountry[20]

public plugin_init()
{
register_plugin("ShowIP", "1.08", "Spunky")
register_concmd("amx_ip", "cmd_showall_all")
}

public cmd_showall_all(id, level, cid)
{
get_players(iPlayers, iPlayerNum)

for (new i = 0; i < iPlayerNum; i++)
{
get_user_name(iPlayers[i], szName, 31)
get_user_ip(iPlayers[i], szIP, 19, 1)
get_user_authid(iPlayers[i], szID, 19)
geoip_country(szIP, szCountry, 19)


// if ((szIP[0] != '1' && szIP[1] != '9' && szIP[2] != '2') || (szIP[0] != '1' && szIP[1] != '2' && szIP[2] != '7'))
console_print(id, "^n%s --- IP: %s --- SteamID: %s --- Zeme: %s", szName, szIP, szID, szCountry)
}

return PLUGIN_HANDLED
}

traviss
28-02-15, 15:35
Ty jo dík, vyzkoušim všechno

E: Ten třetí používám, zatim šlape výborně. Když by se nějaká chybka objevila, ještě se ozvu, děkuju moc za pomoc.