strtok

Indította Rapidhand, 2010. február 02. - 20:31:30

Előző téma - Következő téma

Rapidhand

strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

 
Parancsoljatok ezt másoljátok be a modba (pl az alján jó lesz).
Ez az a kód ami szétválasztja a parancsot http://samp-forum.extra.hu/index.php?topic=862.0\" rel=\"external nofollow\">(Bovebben Epsilon leírásában)
Remélem hasznos volt...

[RKS]Ricsii

Idézetet írta: Rapidhand date=1265139090\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"645\" data-ipsquote-contentclass=\"forums_TopicEz az a kód ami szétválasztja a parancsot
 
Egy sztringet részekre oszt a szóköz karakterek mentén. Nem csak parancsoknál lehet használni, csupán ott szokták a legtöbbet használni.

Gamestar

#2
Hasznos kód, de én a parancsokhoz sscanf plugint használok. http://forum.sa-mp.com/index.php?topic=145539.0\" rel=\"external nofollow\">http://forum.sa-mp.com/index.php?topic=145539.0
Próbáljátok ki, hasznos.

kurta999

#3
Nekem foleg az a Epsilon leírása volt a fontos :D Az a, sscanf az eccerubb mint ez ?

Gamestar

#4
dcmd-vel kombinálva igen. Mutatok egy példát (kezdetleges, csak szemlélteti, milyen egyszeru):
 
dcmd_mycmd( playerid, params[ ] )
{
    new giveid, message;
    if( sscanf( params,\"ds\", giveid, message ) ) { Nem jól használta a parancsot }
   
    Jól használta a parancsot
    return 1;
}

 
Egy paraméterrel rendelkezo parancsokhoz nem is mindig szükséges, mivel arra ottvan a dcmd params paramétere.
 
dcmd_mycmd( playerid, params[ ] )
{
    if(!params[0]) { Nem jól használta a parancsot }
    new giveid = strval( params );
   
    Jól használta a parancsot
    return 1;
}