Szerző Téma: GetCommandParams  (Megtekintve 1022 alkalommal)

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
GetCommandParams
« Dátum: 2012. január 28. - 12:29:01 »
+3 Show voters
GetCommandParams
 
Üdvözöllek titeket. Ma egy egyszerû, ám nagyszerû függvényt akarok nektek bemutatni. Ha nincs kedvetek áttérni parancs feldolgozó függvénykönyvtárakra, és szeretnél maradni a régi és könnyû parancsoknál akkor ezt neked találták ki! A neve GetCommandParams. Ennek a segítségével könnyen feldarabolhatod az OnPlayerCommandTextben meghívott parancsokat. Használata igen egyszerû:
 

public OnPlayerCommandText(playerid, cmdtext[])
{
GetCommandParams(cmdtext);
if(!strcmp(funcname, \"/tesztparancs\", false))
{
    print(par);
    return 1;
}
return 0;
}

 
Amint láthatjátok a parancsot nem a cmdtextben keressük, hanem az ún. \"funcname\" változóban. Ha a bevitt parancsnak van paraméterei akkor azt könnyen fellehet darabolni. A paramétereket a \"par\" nevû változóban tárolja!
Nézzünk egy példát:
 

public OnPlayerCommandText(playerid, cmdtext[])
{
GetCommandParams(cmdtext);
if(!strcmp(funcname, \"/givemoney\", false))
{
new
   penz,
   jatekos,
   string[128];
if(sscanf(par, \"dd\", jatekos, penz)) return SendClientMessage(playerid, 0xFFFFFF, \"HASZNÁLAT: /givemoney [játékos id] [pénz]\");
else if(penz <= 0) return SendClientMessage(playerid, 0xFFFFFF, \"HIBA: A pénz összeg nem megfelelõ!\");
else if(!IsPlayerConnected(jatekos)) return SendClientMessage(playerid, 0xFFFFFF, \"A játékos nem elérhetõ!\");
else
{
   format(string, sizeof(string), \"Sikeresen adtál %d$-t a következõ játékosnak: %dID\", penz, jatekos);
   SendClientMessage(playerid, 0xFFFFFF, string);
   format(string, sizeof(string), \"Kaptál %d$-t!\", penz);
   SendClientMessage(jatekos, 0xFFFFFF, string);
}
return 1;
}
return 0;
}

 
Letöltés:
SolidFiles
PasteBin
« Utoljára szerkesztve: 2012. január 28. - 12:30:39 írta DrAkE »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal