Szerző Téma: Jármű labelből  (Megtekintve 1054 alkalommal)

Jármű labelből
« Dátum: 2016. november 15. - 17:04:34 »
0 Show voters
Hali!
Van egy guilabelből készített gridlistem, ami tartalmazza az összes járművet a nevét kiírva. Azt szeretném megoldani, hogy ha rákattintok az egyikre, akkor kiadja mondjuk a rendszámát, idjét. Viszont nem tudom, hogyan tudnám megadni, hogy az az a jámrű. Nem tudom jól emagyarázni, de mondok rá egy példát.
Van egy játékosokból álló labeles gridlistem is, és azt úgy oldottam meg, hogy mikor rákattint az egyik névre(labelre), lekéri a kattintott label szövegét, és utána már csak egyszerűen egy getPlayerFromName, és tudok lekérni a játékosról mindent(elementdata, stb).
Ugyan ezt járműveknél hogyan tudnám megcsinálni?

Jármű labelből
« Válasz #1 Dátum: 2016. november 15. - 21:18:57 »
0 Show voters
Mikor feltöltöd a gridlistet nem csak a nevet töltöd bele. Nem csak textjét tudod változtatni egy mezőnek a gridlistben hanem adatot is adhatsz meg mellé.
https://wiki.multitheftauto.com/wiki/GuiGridListSetItemData
Belerakod a kocsi elementjét és meg is van.

Jármű labelből
« Válasz #2 Dátum: 2016. november 16. - 15:20:01 »
0 Show voters
Ezt mondjuk nem tudtam. De ez nem egy konkrét gridlist, csak ahhoz hasonlítottam. Hanem labellel van megoldva. Arra gondoltam, hogy az érték állandó egy adott tárgynak? Tehát pl mikor onclientclicknél, vagy minél, csak simán kiíratjuk a clickedElementet, akkor egy rövid betűből és számból álló kódot ad vissza, ami a tárgynak az értéke. Az állandó, mert akkor a label fölé rakok egy guibuttont, aminek ezt a szöveget adom meg, és mikor rákattint, akkor a gomb szövegét lekéri, és megvan a kocsi

Jármű labelből
« Válasz #3 Dátum: 2016. november 24. - 14:50:42 »
0 Show voters
A lespawnolt kocsikat egy tömbbe tárolod el, és azoknak adsz setElementData-t
 

spawned = {}
spawned[#spawned + 1] = createVehicle...
setElementData(spawned[#spawned], \"data\", érték)
 

 
Lehet hogy hülyeséget mondok, de én így próbálnám.

Jármű labelből
« Válasz #4 Dátum: 2016. november 24. - 17:29:44 »
0 Show voters
Ha létrehozol egy label elementet annak az marad az \"értéke\" amíg nem törlöd. Ez minden elemetre igaz, tehát a kocsira is.
Szóval ha jól értem, hogy mit szeretnél csinálni akkor megteheted azt, hogy a labeledet belerakod egy tömbbe mint kulcs és az értéke pedig a kocsi.
 

local vehLabelPairs = {}
--A label gridlisted készítésekor, bele töltöd:
--Kód többi része...
vehLabelPairs[theVehElement] = theLabelElement
--Ha pedig kell hogy melyik kocsit jelenti az a label
local theVeh = vehLabelPairs[clickedElement]

 
Valahogy így.
(Bocs, hogy nem válaszoltam valahogy nem vettem észre, hogy vissza írtál vagy nem tudok)
(De egyébként úgy is lehet ahogy Grozz mondta, csak fordítva az element labelbe belemented elementData ként a kocsi elementjét)
« Utoljára szerkesztve: 2016. november 24. - 17:31:56 írta dugasz1 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal