Szerző Téma: A rövidebb parancsok blokkolják a hosszabbak mûködését  (Megtekintve 487 alkalommal)

Nem elérhető Petrik

  • 318
    • Profil megtekintése
A rövidebb parancsok blokkolják a hosszabbak mûködését
« Dátum: 2013. Július 24. - 14:27:51 »
0 Show voters
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!

A rövidebb parancsok blokkolják a hosszabbak mûködését
« Válasz #1 Dátum: 2013. Július 24. - 16:31:48 »
+1 Show voters
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))

Nem elérhető Petrik

  • 318
    • Profil megtekintése
A rövidebb parancsok blokkolják a hosszabbak mûködését
« Válasz #2 Dátum: 2013. Július 24. - 16:36:49 »
0 Show voters
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.

A rövidebb parancsok blokkolják a hosszabbak mûködését
« Válasz #3 Dátum: 2013. Július 24. - 18:00:47 »
0 Show voters
próbáld magad szeparálni a parancsot és paramétereit. egy szóköz választja el õket egymástól.

A rövidebb parancsok blokkolják a hosszabbak mûködését
« Válasz #4 Dátum: 2013. Július 24. - 22:01:13 »
0 Show voters
Ha parancs után szeretnél plusz paramétert írni arra kitalálták ezt: http://wiki.sa-mp.com/wiki/Strtok

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal