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: Teknõs - 2013. október 31. - 16:24:47

Cím: fegyver elõvétel
Írta: Teknõs - 2013. október 31. - 16:24:47
Újra a segítségeteket kérném, azt hogy tudnám megoldani, hogy a fegyver megmaradjon a játékosnál, de ne tudja elõvenni?
Cím: fegyver elõvétel
Írta: anorennia - 2013. október 31. - 16:58:32
Nem tudom hol szeretnéd használni, de pl, ha bemegy valahova és azt szeretnéd hogy ne lehessen használni:
Módod tetejére:
 

new weapons[13][2];

 
Ezt oda illeszd be, ahol elakarod venni, azaz hogy ne tudja használni
 

for(new i = 0; i <= 12; i++)
{
GetPlayerWeaponDate(playerid, i, weapons[0], weapons[1]); //változóba eltárolja a fegyvereket
}
ResetPlayerWeapons(playerid);   //elveszi tõle az összeset

 
ha vissza szeretnéd adni, azaz, hogy tudja használni, akkor:
 

for(new i = 0;i <= 12; i++)
{
GivePlayerWeapon(playerid, weapons[0], weapons[1]);   //vissza adja a fegyvereket lõszerrel együtt
}

 
Ha valami hibát találsz, vagy nem érted, szólj, csak összedobtam
Cím: fegyver elõvétel
Írta: Teknõs - 2013. október 31. - 17:01:01
öö.. Nem értem :D megmagyaráznád hogy van ez?
Cím: fegyver elõvétel
Írta: anorennia - 2013. október 31. - 17:04:11
Akkor kezdjük ott, mit szeretnél pontosan, mikor \"vegye el a fegyvereket\", azaz ne tudja használni és mikor kapja vissza a játékos?:)
Cím: fegyver elõvétel
Írta: Teknõs - 2013. október 31. - 17:13:44
ha egy adott parancsot használ, de ez nem nagy dolog.(parancsal átlép egy adott zónába).
Cím: fegyver elõvétel
Írta: anorennia - 2013. október 31. - 17:26:30
én zcmd-t használok parancsokra:
/zona beírja x,y,z-re teleportálja elveszi a fegyvereket
ha még egyszer beírja akkor a másik x, y, z koordinátára teleportálja és vissza adja
 
#include zcmd
new bool:zonaban = false;
CMD:Zona(playerid, params[])
{
    if(zonaban == false)    // ha nincs a zónában
    {
        zonaban = true;//beállítja, a logikai változót igazra, azaz hogy belépett/elteleportált a zónába
        SetPlayerPos(playerid, x, y ,z);    //elteleportálja x, y ,z pozícióra
        for(new i = 0; i <= 12; i++)
            {
                    GetPlayerWeaponDate(playerid, i, weapons[0], weapons[1]); //változóba eltárolja a fegyvereket
            }
            ResetPlayerWeapons(playerid);   //elveszi tõle az összeset
            SendClientMessage(playerid, 0xFFFFFFFF, \"Beléptél a zónába a fegyvereid ideiglenesen elvettük, de amint elhagyod a zónát visszakapod!\");
    }
    else if(zonaban == true)    //ha már benn van a zónában
    {
        zonaban = false;    //beállítja arra, hogy épp elhagyta a zónát
        SetPlayerPos(playerid, x, y, z);
        for(new i = 0;i <= 12; i++)
            {
                    GivePlayerWeapon(playerid, weapons[0], weapons[1]);   //vissza adja a fegyvereket lõszerrel együtt
            }
            SendClientMessage(playerid, 0xFFFFFFFF, \"El hagytad a zónát, a fegyvereid visszakaptad, és használhatod\");
    }
    return 1;
}
Cím: fegyver elõvétel
Írta: Teknõs - 2013. október 31. - 17:42:01
Na ezt majd késõbb tesztelem, de nagyon szépen köszönöm, még egyenlõre nem zárok.
Cím: fegyver elõvétel
Írta: anorennia - 2013. október 31. - 17:44:09
Jólvan közben javítottam.. :)
Cím: fegyver elõvétel
Írta: Teknõs - 2013. október 31. - 17:56:34
for(new i = 0; i <= 12; i++)

 
ezt légyszives magyarázd meg. Nem értem a parancs \"szerkezetét\".
Cím: fegyver elõvétel
Írta: anorennia - 2013. október 31. - 18:43:17
a for, az egy ciklus.
\"for(new i = 0;\" <- létrehozom belül az index-et, azaz, az i-t ami egyenlõ 0val, szóval a ciklus 0-ról fog indulni.\"
\"i <= 12;\" <- ez azt jelenti, hogy addig fusson, amíg az i kisebb vagy egyenlõ 12-vel, 13 már nem lesz mert az nagyobb,
\"i++\" ez az indexet növeli egyel, hogy ne ugyanúgy a nullás számmal fusson le
Bocsi kicsit érthetetlen
Ez annyit takar, hogy:
mikor az i = 0, akkor lekéri a nullás slotról a fegyvert, a töltényt(ami itt nincs mert ököl és boxer a nullás), amit változóba ment,hogy késõbb vissza hívhassuk
mikor az i = 1, akkor az 1-es slotot, mikor 2, akkor a 2-es slotot kéri le és tárolja a 12. slotig :D
Ennél érthetõbben sajnos nem tudok fogalmazni :ss :/