GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Tomee - 2011. szeptember 21. - 06:51:37
-
Hello!
Hogy lehet azt megcsinálni(ha lehet), hogy zcmd + sscanf-fal. Egy olyan parancsot létrehozni, amiben egy parancson több lehetõség lehet. Vagyis.
A rp módokba a /v parancsot tudom elõhozni, mint példa.
/v lock | /v park
-
[pawn]CMD:v(playerid, params[])
{
new result[24];
if(sscanf(params, \"z\", result)) return false;
if(strcmp(result, \"lock\", true) == 0)
{
// ide a lock-ot
} else if(strcmp(result, \"park\", true) == 0) {
// ide a park-ot
}
return 1;
}[/pawn]
-
köszönöm
-
[pawn]CMD:v(playerid, params[])
{
new result[24];
if(sscanf(params, \"z\", result)) return false;
if(strcmp(result, \"lock\", true) == 0)
{
// ide a lock-ot
} else if(strcmp(result, \"park\", true) == 0) {
// ide a park-ot
}
return 1;
}[/pawn]
Na de kérlek! Egy paraméteres parancsok esetében nem nagyon kell sscanf. Egyszerûen lekérdezed a params értékét, vegyök például azt, hogy ha nincs paraméterünk:
[pawn]if(!strlen(params[0]))[/pawn]
Ha le akarjuk kérdezni a paraméter értékét/szövegét:
[pawn]strval(params)[/pawn]
Lock esetében használd így:
[pawn]if(!strcmp(params[0], \"lock\", true))[/pawn]
Park esetében használd így:
[pawn]if(!strcmp(params[0], \"park\", true))[/pawn]
-
Ehhez egyébként tök felesleges a sscanf.
[pawn]CMD:v(playerid, params[])
{
if(isnull(params)) return 1;
if(!strcmp(params, \"lock\", true)) {
// lock..
} else if(!strcmp(params, \"park\", true)) {
// park...
}
return 1;
}[/pawn]
-
Köszi szépen, zárok