Szerző Téma: Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése  (Megtekintve 2404 alkalommal)

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Dátum: 2014. Március 22. - 10:56:26 »
0 Show voters
A cím mindent elmond, ezt hogyan lehet?

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #1 Dátum: 2014. Március 22. - 11:21:50 »
0 Show voters
Hello csak azt akarod pl.: hogy akkor forogjon tovább a függvény ha csak m4 van a kezébe:?

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #2 Dátum: 2014. Március 22. - 12:00:17 »
0 Show voters
Igazából amit én akarok, az ennél komplikáltabb :D A lényeg, hogy nem tudom hogy tudom lekérdezni a játékosnál lévõ fegyvereket, illetve külön csak azt amit fog.

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #3 Dátum: 2014. Március 22. - 12:55:16 »
0 Show voters
Nem vagyok benne biztos, de azért megpróbálok segíteni:
GetPlayerWeapon -- Amit a kezében tart fegyver, azzal tér vissza.
GetPlayerWeaponData -- Leginkább tömbbe le tudod kérni vele az összes fegyvert.
Szvsz jobb, ha változóban tárolod, és azt adod neki oda, amit elõvett. Persze DM szerverekre jó az alap fegyverrendszer is.

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #4 Dátum: 2014. Március 22. - 16:47:34 »
0 Show voters
Valaki kicsit konkrétabban leírná, hogy merre van az arra? :D

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #5 Dátum: 2014. Március 22. - 17:10:44 »
0 Show voters
Idézetet írta: ppatrik2012 date=1395503254\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"47287\" data-ipsquote-contentclass=\"forums_Topic
Valaki kicsit konkrétabban leírná, hogy merre van az arra? :D
 
Ennyire nehéz a fórumon keresgélni egy kicsit majd elolvasni a MAGYAR leírást? Egy kicsit próbálj önálló lenni a fórumon és használni a keresés gombját.  ;)
http://sampforum.hu/index.php?topic=20997.0
http://wiki.sa-mp.com/wiki/GetPlayerWeapon
http://sampforum.hu/index.php?topic=20998.0
http://wiki.sa-mp.com/wiki/GetPlayerWeaponData
http://sampforum.hu/index.php?topic=44133.0
http://wiki.sa-mp.com/wiki/GetPlayerWeaponState
Bemásoltam neked a magyar leírásokat és az angolt.. ne legyen olyan probléma, hogy csak magyar van.. :) Ebbõl szerintem ki tudsz igazodni..

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #6 Dátum: 2014. Március 22. - 17:15:35 »
0 Show voters
Köszi, de ezt nem értem.. Most ez mit csinálna? :O
 
//Minden információt lekérünk.
//Elsõ érték: Fegyver ID. Második érték: Töltényszám.
new weapons[13][2];
for (new i = 0; i < 13; i++)
{
    GetPlayerWeaponData(playerid, i, weapons[0], weapons[1]);
}

 
Mármint levan írva, de miért \"
i,weapons[0],weapons[1]); 

 
ezt nem értem..
« Utoljára szerkesztve: 2014. Március 22. - 17:21:20 írta ppatrik2012 »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #7 Dátum: 2014. Március 22. - 18:45:17 »
0 Show voters
Egy for ciklus végigmegy az összes játékos ID-n, majd lekéri minden ID-hez kapcsolódóan a WeaponData-t, amelyeket eltárol változókba.

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #8 Dátum: 2014. Március 22. - 18:55:10 »
0 Show voters
De a kapcsos zárójelben az i és a szám mit jelent? :O

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #9 Dátum: 2014. Március 22. - 18:58:13 »
0 Show voters
Az a játékos id-je. Az i változó. Amelynek az értékét mindig 1-el növeli a for ciklus, ezáltal minden játékos WeaponData-ját lekérdezi és eltárolja egy-egy változóba, amelyen van 2 tömb, a játékos ID-je, és gondolom a fegyver száma. Pl. ha az i éppen 3, akkor késõbb a weapons[playerid][1] azt fogja jelenteni, hogy weapons[3][1], így az adott játékosra fog vonatkozni a dolog, nem pedig más fegyver adatait tudod majd lekérni a playerid használatával. Nem tudom, mennyire érhetõ a dolog.

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #10 Dátum: 2014. Március 22. - 19:19:06 »
0 Show voters
Na jó, lehet azért mert este van, de nem esik le.. Hogy néz ki ez egy gyakorlati helyzetben?

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #11 Dátum: 2014. Március 22. - 19:27:48 »
+1 Show voters
Az i az maga a játékos(ok) azonosítója, ID-je amikor megnyomod a TAB-ot a játékba akkor oldalt mutatja. Azért nem playerid(vagy más változó) van ott, mert egy for ciklust használunk, ezzel az összes ID lehetõséget (még azoknak is akik nincsenek a szerveren) lekérdezi vagyis az azonosítókat 0 1 2 3 stb. ameddig a szerver limitbe mehet, amelyik id-n nem lesz játékos annak a fegyver lekérdezésénél nem kapunk értéket, 0 lesz.

Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #12 Dátum: 2014. Március 23. - 07:57:40 »
0 Show voters
Akkor csak 1 játékosnak a fegyvereit hogy tudom lekérdezni, illetve hogy adom meg, hogy meik \"sloton\" lévõ fegyvereket kérdezze le?

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #13 Dátum: 2014. Március 23. - 09:55:46 »
+2 Show voters
A tömbbõl a megfelelõ számú fegyvert kéred le esetleg?
Nézd át a hivatalos wikin az Arrays és Loops részeket.
A tömböket én röviden így mondanám el:



new cucc0,cucc1,cucc2,cucc3;

 
HELYETT
 
new cucc[4];

 
És ezt..
 

cucc0 = 37;
cucc1 = 52;

 
HELYETT
 

cucc[0] = 37;
cucc[1] = 52;

 
-vel adom meg.
Tehát a 5 különféle cuccot tárolhatunk.
VISZONT!
 
new cucc[2][5];

 
-tel, pedig 2 ember van, és mindkét embernek 5 cucca.
A számozást 0-tól kezdjük mindig.
Tehát a..
 
cucc[0][3] = 32;

-vel a 0. játékosunk 3. cuccát adjuk meg.
Ez a ciklusoknál lesz hasznos.
 
A ciklusokat pedig így magyaráznám:



Létrehozol egy változót, (ami általában i), és megcsinálsz egy mûveletet, majd ugyanezt a mûveletet addig ismétled, amíg a feltevésed igaz.
Pl.

for(new i = 0; i < MAX_PLAYERS; i++) //Amíg az i kisebb mint a maximum játékosszám (500 alapból)
    {
        if(!IsPlayerConnected(i)) continue; //Ha nincs csatlakozva a játékos akit éppen nézzünk, akkor hagyja ki az utána következõ dolgokat.
        GivePlayerWeapon(i, 24, 200);
    }
    return 1;

 
Ez mindenkinek ad egy dezit.
Miért?
Ez fut le: létrehozza az i-t, aminek 0 az értéke. Ha nincs ilyen játékos, kihagyja a dolgot. Ha van, ad neki fegyvert. Mivel vége a mûveletnek, hozzáad egyet az ihez, ami így 1 lesz. Ha nincs fent ilyen idjû játékos, akkor kihagyja, de ha van, ad neki dezit. És ezt megcsinálja 500-szor.
Mostmár érted? :D
« Utoljára szerkesztve: 2014. Március 23. - 13:54:22 írta KovaNovik »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Fegyverek lekérdezése, kézben lévõ fegyver külön kérdezése
« Válasz #14 Dátum: 2014. Március 23. - 10:49:23 »
0 Show voters
KovaNovik, adtam egy +t a magyarázatodra :D De visszaveszem, ha nem írod át a ciklusban a fegyver adásmál a playerid-t i-re :P

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal