Jest troche pozno i moze stad moj problem z mysleniem ale nie wiem jak sprawdzic czy jest wartosc w miejscu
g_IPDescription[id] potrzebuje warunek ktory sprawdza czy w tablicy jest tekst jesli jest to warunek1 else warunek2
if g_IPDescription[id] jest rozne od 0 to
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Sprawdzenie czy pobrano wartość
Temat rozp. ziutek_82, 15.11.2009 04:44
2 odpowiedzi w tym temacie
#1
Napisano 15.11.2009 04:44
#2
Napisano 15.11.2009 10:37
if( g_IPDescription[id] != 0){
//jakis kod
else
{
//inny kod
}
DarkGL Blog - Programowanie Python , Pawn , C++ i Webdeveloping
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
StreamPay.pl - Legalna platforma do dotacji dla streamerów i twórców
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
StreamPay.pl - Legalna platforma do dotacji dla streamerów i twórców
#3
Napisano 15.11.2009 19:08
Nie udalo mi sie w ten sposob skompilowac
plugin ma kod
Chce zrobic cos takiego, ze gdy adresu nie ma w pliku to g_IPDescription[id] powinno byc rowne 0
czyli
if( g_IPDescription[id] != 0){
console_print(id,"%d - %s - %s - NonSteam - %s ", players[a], name, userip,g_IPDescription[players[a]])
}
else console_print(id,"%d - %s - %s - NonSteam", players[a], name, userip)
Roznica subtelna ale podoba mi sie gdy jest "-" pomiedzy wyswietlanymi informacjami a gdy g_IPDescription[id] jest pusty to zostaje mi "-" na koncu linijki
obecnie przy probie kompilacji mam blad
Error: Array must be indexed (variable "g_IPDescription") on line 71
Error: Invalid expression, assumed zero on line 73
[ Dodano: 17-11-2009, 05:10 ]
No dobra uzyskalem dane przy pomocy komendy
if(str_to_float(g_IPDescription[players[a]])!=0)
Plugin dziala jak nalezy i wypisuje Opis sieci przy pomocy g_IPDescription
Mam tylko jedno pytanie, gdy pobieram tekst przy pomocy tej komendy
to tlumaczac na komputerowy
Jezeli zamien_dane_na_tekst(dane)jest rozny od zera to
warunek1
w przeciwnym wypadku
warunek2
Nie wiem tylko czy ja to dobrze sobie tlumacze ale jak dam ten warunek to komendy sa odwrotnie czyli jesli pobierze mi tekst z pliku czyli jest on rozny od zera to wykonuje warunek2
a gdy tego tekstu w pliku nie ma to robi warunek1
Jest mi ktos w stanie wytlumaczyc dlaczego tak sie dzieje ?
plugin ma kod
#include <amxmodx>
#include <amxmisc>
#define MAX_PLAYERS 32
#define MAX_DESCRIPTION_LEN 64
#define MAX_HOSTNAME_LEN 180
#define SHIFT_8 8
#define SHIFT_16 16
#define SHIFT_24 24
#define MAX_SUBNETS 1024 // Maximum records in ipdesc.ini file
enum ChatColor
{
CHATCOLOR_YELLOW = 1, // Yellow
CHATCOLOR_GREEN, // Green Color
CHATCOLOR_TEAM_COLOR, // Red, grey, blue
CHATCOLOR_GREY, // grey
CHATCOLOR_RED, // Red
CHATCOLOR_BLUE, // Blue
}
new PLUGINNAME[] = "ShowIP"
new PLUGINVERSION[] = "1.61"
new g_SubnetIP[MAX_SUBNETS]
new g_SubnetMask[MAX_SUBNETS]
new g_SubnetDescription[MAX_SUBNETS][MAX_DESCRIPTION_LEN + 1]
new g_SubnetCount = 0
new g_IPDescription[MAX_PLAYERS + 1][MAX_DESCRIPTION_LEN + 1]
new g_HostName[MAX_PLAYERS + 1][MAX_HOSTNAME_LEN + 1]
new amx_showip_unknown
public plugin_init()
{
register_plugin(PLUGINNAME, PLUGINVERSION, "ahtoh")
register_cvar(PLUGINNAME, PLUGINVERSION, FCVAR_SERVER | FCVAR_SPONLY)
register_concmd("amx_ip", "cmdShowIP", ADMIN_KICK,"- shows players IPs")
new configsDir[64]
get_configsdir(configsDir, sizeof(configsDir)-1)
format(configsDir, sizeof(configsDir)-1, "%s/ipdesc.ini", configsDir)
loadSubnets(configsDir) // Load IP Descriptions from ipdesc.ini
}
public cmdShowIP(id)
{
new mapname[32]
new online = get_playersnum()
new maxplayers = get_cvar_num ("sv_visiblemaxplayers")
new players[32], inum, userip[16], name[32]
get_mapname(mapname, 31)
get_players(players, inum)
console_print(id, "")
console_print(id, "")
console_print(id, "")
console_print(id, "____________________________________________")
console_print(id, "")
console_print(id, " - Nazwa serwera: FragArena [FFA] @ FragArena.pl | HitMe.pl")
console_print(id, " - IP Serwera: 91.203.133.28:27050")
console_print(id, " - Biezaca mapa: %s", mapname)
console_print(id, " - Graczy na serwerze: %d/%d", online, maxplayers)
console_print(id, "")
console_print(id, "Lista graczy:")
for (new a = 0; a < inum; ++a)
{
get_user_ip(players[a],userip,sizeof(userip)-1,1)
get_user_name(players[a], name, sizeof(name)-1)
console_print(id, "%2d %-25.24s %-20s %-33.32s %s", players[a], name, userip, g_HostName[players[a]], g_IPDescription[players[a]])
}
console_print(id, "")
console_print(id, "____________________________________________")
return PLUGIN_HANDLED
}
public client_authorized(id)
{
new userip[16]
get_user_ip(id,userip,sizeof(userip)-1,1)
get_ip_description(userip, g_IPDescription[id], MAX_DESCRIPTION_LEN)
return PLUGIN_CONTINUE
}
// Find subnet description
get_ip_description(const ip[], description[], maxlen)
{
new numIP = ip_to_num(ip)
for (new i = 0; i < g_SubnetCount; i++)
{
if (apply_mask(numIP, g_SubnetMask[i]) == g_SubnetIP[i])
{
copy(description, maxlen, g_SubnetDescription[i])
return 0
}
}
get_pcvar_string(amx_showip_unknown, description, maxlen)
return -1
}
// IP to NUM
ip_to_num(const ip[])
{
new n1[4], n2[4], n3[4], n4[4]
new tmpStr[16]
copy(tmpStr, sizeof(tmpStr)-1, ip)
replace_all(tmpStr, sizeof(tmpStr)-1, ".", " ")
if (parse(tmpStr, n1, sizeof(n1)-1, n2, sizeof(n2)-1, n3, sizeof(n3)-1, n4, sizeof(n4)-1) != 4)
return -1 // wrong ip address
return (str_to_num(n1) << SHIFT_24) + (str_to_num(n2) << SHIFT_16) + (str_to_num(n3) << SHIFT_8) + str_to_num(n4)
}
// this rounds ip to its subnet by given mask
apply_mask(const numIP, const maskBit)
{
if (maskBit < 0 || maskBit > 32)
return -1 // wrong mask
new shift = 32 - maskBit
return (numIP >> shift) << shift
}
loadSubnets(szFilename[])
{
g_SubnetCount = 0
new File=fopen(szFilename,"r");
if (File)
{
new Text[256]
new subnet[24], subnetIP[16], subnetMask[8]
while(g_SubnetCount < MAX_SUBNETS && !feof(File))
{
fgets(File,Text,sizeof(Text)-1);
trim(Text)
// comment or blank line
if (Text[0]==';' || Text[0] == 0)
{
continue;
}
strbreak(Text, subnet, sizeof(subnet)-1, g_SubnetDescription[g_SubnetCount], MAX_DESCRIPTION_LEN)
replace(subnet, sizeof(subnet)-1, "/", " ")
if (parse(subnet, subnetIP, sizeof(subnetIP)-1, subnetMask, sizeof(subnetMask)-1) != 2)
continue // wrong subnet
g_SubnetIP[g_SubnetCount] = ip_to_num(subnetIP)
g_SubnetMask[g_SubnetCount] = str_to_num(subnetMask)
++g_SubnetCount
}
}
return 1
}
Funkcja o ktora mi chodzi ma wyswietlac opis sieci pobany z plikuChce zrobic cos takiego, ze gdy adresu nie ma w pliku to g_IPDescription[id] powinno byc rowne 0
czyli
if( g_IPDescription[id] != 0){
console_print(id,"%d - %s - %s - NonSteam - %s ", players[a], name, userip,g_IPDescription[players[a]])
}
else console_print(id,"%d - %s - %s - NonSteam", players[a], name, userip)
Roznica subtelna ale podoba mi sie gdy jest "-" pomiedzy wyswietlanymi informacjami a gdy g_IPDescription[id] jest pusty to zostaje mi "-" na koncu linijki
obecnie przy probie kompilacji mam blad
Error: Array must be indexed (variable "g_IPDescription") on line 71
Error: Invalid expression, assumed zero on line 73
[ Dodano: 17-11-2009, 05:10 ]
No dobra uzyskalem dane przy pomocy komendy
if(str_to_float(g_IPDescription[players[a]])!=0)
Plugin dziala jak nalezy i wypisuje Opis sieci przy pomocy g_IPDescription
Mam tylko jedno pytanie, gdy pobieram tekst przy pomocy tej komendy
to tlumaczac na komputerowy
Jezeli zamien_dane_na_tekst(dane)jest rozny od zera to
warunek1
w przeciwnym wypadku
warunek2
Nie wiem tylko czy ja to dobrze sobie tlumacze ale jak dam ten warunek to komendy sa odwrotnie czyli jesli pobierze mi tekst z pliku czyli jest on rozny od zera to wykonuje warunek2
a gdy tego tekstu w pliku nie ma to robi warunek1
Jest mi ktos w stanie wytlumaczyc dlaczego tak sie dzieje ?
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty









