GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Petrik - 2013. július 24. - 14:27:51

Cím: A rövidebb parancsok blokkolják a hosszabbak mûködését
Írta: Petrik - 2013. július 24. - 14:27:51
Sziasztok. Az lenne a problémám, hogy a rövidebb parancsok blokkolják azoknak a hosszabb parancsok mûködését, amik ugyanazzal a betûvel a kezdõdnek.
Van egy \'/r\' parancsom, ami rádiót jelent, azonban ha beírom, hogy /repair (ami másik parancsom), akkor kiírja, hogy \'nincs frekvencia beállítva\', mivel a \'/r\'-t érzékeli. Sose tudtam a megoldását, valaki valami ötlet?
 
if(!strcmp(cmdtext, \"/r\", true, 2))

 

if(!strcmp(cmdtext, \"/repair\", true, 7))

 
Nem kérek olyan kommenteket, hogy \"Használj ZCMD-t, az könnyebb\", meg \"Miért nem ZCMD-t használsz\". Én ezt használom, ezt szeretem. Válaszokat elõre is köszönöm!
Cím: A rövidebb parancsok blokkolják a hosszabbak mûködését
Írta: Zsolesszka - 2013. július 24. - 16:31:48
Mert megszabod hogy mennyi karaktert egyeztessen:
 
if(!strcmp(cmdtext, \"/r\", true, 2))[/quote]
Természetes dolog hogy egyezést talál mivel az /r parancsnál 3 karakternyit kellene ellenõrizni a harmadik meg az úgynevezett null karakter \'\\0\'.
Tehát: \'/\',\'r\',\'\\0\' ez 3 karakter.
Hagyd el a karakterek meghatározásának lehetõségét vagy növeld meg egyel az értékeket.
 
if(!strcmp(cmdtext, \"/r\", true, 3))
//vagy
if(!strcmp(cmdtext, \"/r\", true))
Cím: A rövidebb parancsok blokkolják a hosszabbak mûködését
Írta: Petrik - 2013. július 24. - 16:36:49
Idézetet írta: ɐʞzssǝlosz date=1374676308\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"40363\" data-ipsquote-contentclass=\"forums_Topic
Mert megszabod hogy mennyi karaktert egyeztessen:
 
if(!strcmp(cmdtext, \"/r\", true, 2))
Természetes dolog hogy egyezést talál mivel az /r parancsnál 3 karakternyit kellene ellenõrizni a harmadik meg az úgynevezett null karakter \'\\0\'.
Tehát: \'/\',\'r\',\'\\0\' ez 3 karakter.
Hagyd el a karakterek meghatározásának lehetõségét vagy növeld meg egyel az értékeket.
 
if(!strcmp(cmdtext, \"/r\", true, 3))
//vagy
if(!strcmp(cmdtext, \"/r\", true))

 

[/quote]
Ez így jó is lenne, csak az a baj, hogy hibát észlel mostmár, ha a \'/r\' után szöveget írok. Nem ismeri fel a parancsot.
Cím: A rövidebb parancsok blokkolják a hosszabbak mûködését
Írta: Fl0rian - 2013. július 24. - 18:00:47
próbáld magad szeparálni a parancsot és paramétereit. egy szóköz választja el õket egymástól.
Cím: A rövidebb parancsok blokkolják a hosszabbak mûködését
Írta: Zsolesszka - 2013. július 24. - 22:01:13
Ha parancs után szeretnél plusz paramétert írni arra kitalálták ezt: http://wiki.sa-mp.com/wiki/Strtok