Szerző Téma: Gyors kérdés[ZCMD ]  (Megtekintve 688 alkalommal)

Gyors kérdés[ZCMD ]
« Dátum: 2014. március 10. - 15:21:29 »
0 Show voters
Az lenne a kérdésem, hogy zcmd-vel hogyan lehet olyat írni, hogy pl: Beírom, hogy /tanc [1-4] és azt dobja be.(a szóköz a lényeg)

Gyors kérdés[ZCMD ]
« Válasz #1 Dátum: 2014. március 10. - 15:26:06 »
0 Show voters
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;
}
« Utoljára szerkesztve: 2014. március 10. - 15:28:33 írta bbTamas »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Gyors kérdés[ZCMD ]
« Válasz #2 Dátum: 2014. március 10. - 15:36:47 »
0 Show voters
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. ;)

Gyors kérdés[ZCMD ]
« Válasz #3 Dátum: 2014. március 10. - 15:56:23 »
0 Show voters
Idézetet írta: bbTamas date=1394461566\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47017\" data-ipsquote-contentclass=\"forums_Topic
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

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Gyors kérdés[ZCMD ]
« Válasz #4 Dátum: 2014. március 10. - 16:08:06 »
0 Show voters
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.

Gyors kérdés[ZCMD ]
« Válasz #5 Dátum: 2014. március 10. - 16:30:49 »
0 Show voters
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

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Gyors kérdés[ZCMD ]
« Válasz #6 Dátum: 2014. március 10. - 17:47:21 »
+1 Show voters
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;

Gyors kérdés[ZCMD ]
« Válasz #7 Dátum: 2014. március 10. - 21:35:44 »
0 Show voters
Igazából suliban csak jövõre kezdjük el a programozást. De már régóta scriptelek pawno-val, csak mindig megúnom és kihagyok egy szebb idõt :D Ez alatt meg a legalapabb dolgokat felejtem el. A Függvény használatokkal tisztában vagyok, mármint hogyan lehet mit, de az ilyen alapokról feledkezem meg. És köszi, ment az ujjacska :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal