Szerző Téma: /givecash parancs  (Megtekintve 999 alkalommal)

Nem elérhető Game94

  • 405
    • Profil megtekintése
/givecash parancs
« Dátum: 2011. December 30. - 16:51:59 »
0 Show voters
function onPlayerCommand(playerid, command)
{
    local cmd = split(command, \" \");
    if(cmd[0] == \"/givecash\")
    {
        if(cmd.len() != 3) {
            sendPlayerMessage(playerid, 0xFFFFFFAA, \"Használat: /givecash [id] [összeg]\");
            return 1;
        }
        local id = cmd[1].tointeger();
        local osszeg =  cmd[2].tointeger();
        if(!isPlayerConnected(id)) {
            sendPlayerMessage(playerid, 0xFFFFFFAA, \"Hibás ID!\");
            return 1;       
        }
        givePlayerMoney(id, osszeg);
        givePlayerMoney(playerid, -osszeg);
       
        sendPlayerMessage(playerid, 0xFFFFFFAA, \"Adtál \" + getPlayerName(playerid) + \"-nek \" + osszeg + \"$-t\");
        sendPlayerMessage(id, 0xFFFFFFAA, \"Kaptál\" + getPlayerName(playerid) + \"-tõl\" + osszeg + \"$-t\");
        return 1;
    }
    return 0;
}
addEvent(\"playerCommand\", onPlayerCommand);

 
Most azért csináltunk egy ilyen parancsot hogy lássátok hogy hogyan kell olyan parancsot csinálni amiben van szóköz is.
Elõször is a slipt paranccsal elválasszuk egymástól a szavakat. Ez így válassza el egymásól a szavakat pl:
\"ez egy szöveg\"
Most ezt a szöveget fogjuk darabolni és eltárolni egy változóban. A változóban úgy fogja sorban eltárolni ahogy sorba jönnek a szóközök. Pl eltároljuk a \"szavak\" nevû változóban:
szavak[0]-ban lesz az \"ez\"
szavak[1]-ben lesz az \"egy\"
szavak[2]-ben lesz a \"szöveg\"
A cmd.len()-el leellenõrizzük hogy hány tagból áll a parancs amit beírt a játékosunk, ha túl rövid akkor kiírjuk neki hogyan kell használni a parancsot.
A local id-ben eltároljuk a második paramétert a parancsból, azaz az id-t, az osszeg-ben, meg az összeget.
Az isPlayerConnected-el leellenõrizzük hogy a megadott játékos fent van-e a szerveren. Azért kell elé a felkiáltójel, mert így azt jelenti hogy: ha a játékos NINCS a szerveren akkor kiírja neki a szöveget.
Ha nem lenne ott a felkiáltójel akkor ezt jelentené: ha a játékos fent van a szerveren akkor kiírja az üzenetet.
Most oda kell adni az egyiknek és elvenni a másiktól a pénzt. Ezt a givePlayerMoney-al tehetjük meg.
Mivel az id nevû változóban tároljuk azt a számot akinek utalni akarja a pénzt, ezért adjuk az \"id\"-nek a pénzt és vesszük el a \"playerid\"-tõl a pénzt.
És már csak a szöveg maradt amit kiírunk mindkét játékosnak, de ezen szerintem nincs mit magyarázni.
Remélem minden érthetõ :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal