A params nevû változóban tárolódik a parancs neve után beírt bármely szöveg:
Üres karakterláncot, isnull nevû függvénnyel ellenõrizhetjük.
Ha karakterlánc üres true értéket ad vissza az isnull függvény, ahogy itt is látható:
CMD:tanc(playerid,params[])
{
if(isnull(params))
{
SendClientMessage(playerid,-1,\" /tanc[1-4]\");
return 1;
}
//parancs többi része
return 1;
}
Nem értek a ZCMD-hez, de szerintem így néz ki a dolog:
CMD:tanc(playerid, params[])
{
new TancAnimID;
if(sscanf(params, \"d\", TancAnimID)) return SendClientMessage(playerid, -1, \"Használata: /tanc <1-4>\"); // Csak akkor fut tovább a parancs, ha 1 db paraméter van megadva a parancsnál
if(TancAnimID < 1 || TancAnimID > 4) return SendClientMessage(playerid, -1, \"1-4-ig adj meg egy számot!>\"); // Esetleg megnézheted, hogy 1-4-ig adta e meg a számot
// Itt elindítod a táncot, valamint minden mást megcsináltatsz a szerverrel, amit csak akarsz.
return 1;
}
[mod]Ha legközelebb ilyen és/vagy ehhez hasonló - ahogy te fogalmaztál - \"Villám kérdésed\" vagy \"Gyors kérdésed\" támad, kérlek használd a kiemelt témát![/mod]
Az viszont személy szerint tetszik, hogy te mindig megoldottnak jelölöd a témát, majd zárod is azt, ha megkapod a megfelelõ választ. Sok sikert a pawn nyelv tanulásához, illetve használatához. ;)
A params nevû változóban tárolódik a parancs neve után beírt bármely szöveg:
Üres karakterláncot, isnull nevû függvénnyel ellenõrizhetjük.
Ha karakterlánc üres true értéket ad vissza az isnull függvény, ahogy itt is látható:
CMD:tanc(playerid,params[])
{
if(isnull(params))
{
SendClientMessage(playerid,-1,\" /tanc[1-4]\");
return 1;
}
//parancs többi része
return 1;
}
Igen, valahogyan régen így csináltam, de tovább, hogy kell? :O Nagyon felejtek.
Ha legközelebb ilyen és/vagy ehhez hasonló - ahogy te fogalmaztál - \"Villám kérdésed\" vagy \"Gyors kérdésed\" támad, kérlek használd a kiemelt témát!
Az viszont személy szerint tetszik, hogy te mindig megoldottnak jelölöd a témát, majd zárod is azt, ha megkapod a megfelelõ választ. Sok sikert a pawn nyelv tanulásához, illetve használatához. ;)
[/quote]
Köszönöm a jó kívánságodat :) Másrészt vettem az adást :D
Utána csak simán elindítod az animációt. Most csak mondok egy példát (az én kódomhoz illõt).
Érték szerinti elágazással:
switch(TancAnimID)
{
case 1:
{
ApplyAnimation(playerid,\"PED\",\"WALK_DRUNK\",4.1,1,1,1,1,1,1);
}
case 2:
{
ApplyAnimation(playerid,\"PED\",\"WALK_DRUNK\",4.1,1,1,1,1,1,1);
}
case 3:
{
ApplyAnimation(playerid,\"PED\",\"WALK_DRUNK\",4.1,1,1,1,1,1,1);
}
case 4:
{
ApplyAnimation(playerid,\"PED\",\"WALK_DRUNK\",4.1,1,1,1,1,1,1);
}
default:
{
// Itt esetleg elküldheted, hogy rossz ID, akkor viszont az elõzõ hozzászólásomba leírt 2. elágazásra nem lesz szükség
}
}
Habár lehet egyszerûbben is, ilyenekkel is:
case 3: ApplyAnimation(playerid,\"PED\",\"WALK_DRUNK\",4.1,1,1,1,1,1,1);
Habár én ezt sosem használom, mert általában egy értékhez rengeteg utasítást teszek be.
Az if-eset pedig magadtól is meg tudod írni, példa:
if(TancAnimID == 3)
{
ApplyAnimation(playerid,\"PED\",\"WALK_DRUNK\",4.1,1,1,1,1,1,1);
}
Ugyanezt lehet kapcsos zárójelek, látható tömbök létrehozása nélkül is csinálni.
ezzel a
default
dologgal még nem találkoztam, ez mi lenne? Mivel nem értem pontosan.
egyébként mindjárt kipróbálom amit írtál, de elõtte, had ne írjak már ezért külön témába. 1 nagyon durva kérdés :laugh:
Ha van egy változóm, pl.
new PlayerInfo[MAX_PLAYERS][infok]
A lényeg annyi lenne, hogy pl PlayerInfo[playerid][Money] értékét szeretném növelni, ez így néz ki:
PlayerInfo[jatekos][Money] = osszeg;
De ez hibás, mivel csak az \"=\" -ség jelet fogadja el.
A Lényeg, hogy az összeggel szeretném növelni a pénzét. Csak az a pozitív/negatív/egyenlõség/relációs jel kavarja a kakit :D
Mint írtam, az egy érték szerinti elágazás. Programozás, szinte elsõ gyakorlati lecke. A default pedig olyan, mint egy sima if-es elágazásnál az else, tehát a különben ág.
PlayerInfo[jatekos][Money] = 10; // Most 10-et állítottunk be neki.
PlayerInfo[jatekos][Money] += 5; // Hozzáadtunk 5-öt, így most 15 pénze van (na, ez furán hangzott :D)
Ez egyébként szintén az elsõ leckék közé tartozik, az operátorok és azok használata.
Te nyilván nem iskolában tanulod, de attól még ha netrõl szeded az infót, illik elõször az alapokat (mint pl. ezeket) megtanulni, mielõtt bármi másba belekezdenél. De sebaj, remélhetõleg ma ismét tanultál valamit :D
Amúgy kivonással ugyanez:
PlayerInfo[jatekos][Money] -= 5;