Szerző Téma: Help ZCMD->STRCMP  (Megtekintve 509 alkalommal)

Help ZCMD->STRCMP
« Dátum: 2013. Április 13. - 13:16:31 »
0 Show voters
Mára még1 kérdésem lenne.. Vannak ugye az:
if(sscanf(params................. parancsok ZCMD-nél. Én szeretnék ugyan ilyen parancsokat STRCMP-nél, de:
if(sscanf(cmdtext................ Így nem jó... Hogyan kellene STRCMP-s cucchoz \"params\" callbacket vagy minek hívják, átvinni? Szerintem hülyén írtam le, de érthetõ szerintem. Ezen fennakadtam, és ez így nem jó :S

Help ZCMD->STRCMP
« Válasz #1 Dátum: 2013. Április 13. - 13:32:44 »
0 Show voters
Hmm.. nem teszteltem de ötletem a következõ:
létrehozol valami külön változót amibe beletudod bakolni magát a \"/asd\" parancsot mondjuk
legyen ez most
new asd[20]; no meg mondjuk számot kérünk be
new szam;
if(sscanf(cmdtext,\"s[20]i\",asd,szam)............
próbáld ki ha olyanom lesz letesztelem csak most ebédelni készülök épp.

Help ZCMD->STRCMP
« Válasz #2 Dátum: 2013. Április 13. - 13:36:31 »
0 Show voters
mért nem zcmd? egyszerû, gyors, átlátható

Help ZCMD->STRCMP
« Válasz #3 Dátum: 2013. Április 13. - 17:04:05 »
0 Show voters
A bejövõ parancs a következõképp szerepel a cmdtext változóban:
/bla parameter -ek
Ahhoz hogy összetudd hasonlítani egy strcmp funkcióval ahhoz le kell választani a példából a /bla részt csak úgy fog mûködni.
Ezt megoldhatod egy megelõzõ sscanf-el vagy a szokásos strtok alkalmazásával.
Tehát a sscanf verzió:
 

public
OnPlayerCommandText(playerid, cmdtext[])
{
new
command[32],
params[96];
sscanf(cmdtext, \"s[32]S[96]\", command, params);
if(strcmp(command, \"/bla\") == 0)  // -> /bla
{
print(params); // -> parameter -ek
return 1;
}
return 0;
}

 
Az strtok:
 

public
OnPlayerCommandText(playerid, cmdtext[])
{
new
cmd[20], // <. ha az strtok eljárásban a result[20] is,  ha más annyit kell ide írni.
idx;
cmd = strtok(cmdtext, idx);   
if(strcmp(cmd, \"/bla\") == 0)  // -> /bla
{
print(cmdtext[idx]); // -> parameter -ek
return 1;
}
return 0;
}

Help ZCMD->STRCMP
« Válasz #4 Dátum: 2013. Április 13. - 20:31:43 »
0 Show voters
Köszönöm a segítséget, de nekem ez sajnos \"kínai\", átváltottam ZCMD-re :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal