Szerző Téma: Többlépcsős parancs.  (Megtekintve 1105 alkalommal)

Többlépcsős parancs.
« Dátum: 2015. július 20. - 16:22:45 »
0 Show voters
Szeretnék készíteni egy /set parancsot, amivel több funkciót is be lehet tölteni.
Ilyenre gondolok:
/set vw [Játékos] [VW]
/set skin ...
/set int ...
/set score ...
Hogyan lehetne ez lehetséges? Valahogy nem jön nekem össze.
ui: zcmd-t, sscanf-ot használok. Ha ezzel nem lehetséges jó lenne egy példa egy másik fajta megoldásra. :) Köszönöm.

Többlépcsős parancs.
« Válasz #1 Dátum: 2015. július 20. - 16:47:42 »
0 Show voters
CMD:set(playerid, params[])
{
new subParam[64], command[32], int1, int2;
sscanf(params, \"s[64]dd\", command, int1, int2);
if(sscanf(params, \"s[64]{}\", subParam))
{
SendClientMessage(playerid, -1, \"Használat: /set [score/skin\");
return 1;
}
if(!strcmp(subParam, \"skin\", false))
{
    new skin, id;
if(sscanf(params, \"{s[64]}id\", id, skin)) return SendClientMessage(playerid, -1, \"/set skin [Ruha]\");
if(skin < 0 || skin > 311) return SendClientMessage(playerid, -1, \"0 és 311 között!\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, \"Nem létező játékos!\");
else
{
    SetPlayerSkin(id, skin);
    SendClientMessage(playerid, -1, \"Megváltoztattad az egyik játlékos kinézetét.\");
    SendClientMessage(id, -1, \"Megváltoztatták a kinézeted.\");
}
return 1;
}
else if(!strcmp(subParam, \"score\", false))
{
    new score, id;
if(sscanf(params, \"{s[64]}id\", id, score)) return SendClientMessage(playerid, -1, \"/set score [Pontszám]\");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, \"Nem létező játékos!\");
else
{
    SetPlayerScore(id, score);
    SendClientMessage(playerid, -1, \"Megváltoztattad az egyik játékos pontszámát.\");
    SendClientMessage(id, -1, \"Megváltoztatták a ontszámaidat.\");
}
return 1;
}
else SendClientMessage(playerid, -1, \"Használat /set [score/skin]\");
return 1;
}

Többlépcsős parancs.
« Válasz #2 Dátum: 2015. július 21. - 07:29:18 »
0 Show voters
Köszönöm! Nem voltam tisztában a sscanf command paraméterrel de mostmár érthető! :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal