Szerző Téma: Frakció panel: kattintható guiLabel a tagoknál  (Megtekintve 1756 alkalommal)

Frakció panel: kattintható guiLabel a tagoknál
« Dátum: 2016. május 22. - 13:16:52 »
0 Show voters
Hali!
Egy egyedi kivitelezésű frakció panelt szeretnék megalkotni, viszont egy ponton megakadtam.
Az megvan, hogy kilistázza egymás alá a tagok neveit egy guiLabel-el. Viszont azt nem tudom megoldani, hogy minden egyes név labeljének egy egyedi ID-t adni, amivel meg lehessen különböztetni a többitől, hogy ha majd rákattintsunk, akkor azt érzékelje. Mivel eddig csak úgy működik, hogy a legutolsó név labeljét érzékeli, a többi mintha ott se lenne.
Jelenleg ebben a formájában semmit sem érzékel, ha rákattintok, itt ronthatok el valamit:
Valamint tudom, hogy nem a tagokat írja ki, hanem az online playereket, ez csak átmeneti dolog!
 
        
local player_cache = {}
local taglista = {}
local elem = 0
 
player_cache = getElementsByType(\"player\")
for k,v in ipairs(player_cache) do
   elem = elem + 1
   local nev = getPlayerName(v)
 
   taglista[elem] = guiCreateLabel(400,60 + elem * (30) ,700,50,nev,false,bg)
         guiSetFont(taglista[elem], myFont)
 

end

 
Valamint itt van, mikor rákattintok az adott labelre:
Itt meg csak egy kettő dolog van beleírva, hogy tesztelhessem, azokat se nagyon kell nézni:D
 
elseif (source == taglista[elem]) then
   outputChatBox(tostring(elem))
   guiLabelSetColor ( taglista[elem], 255, 0, 0 )
   local neve = guiGetText ( taglista[elem] )
   local jatekos = getPlayerFromName (neve)
   outputChatBox(tostring(getElementData(jatekos, \"CharSzomj\"))..\" -os az éhsége \"..getPlayerName(jatekos)..\" -nak/-nek\")
else
   return false --its not one of our gomb...
end

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #1 Dátum: 2016. május 25. - 18:18:12 »
+1 Show voters
Szia.
Szerintem itt lesz a baj:
 
elseif (source == taglista[elem]) then

 
Az elem változóba az utolsó elem = elem + 1 által létrehozott szám van, és azért érzékeli csak az utolsót (ha nem így van, javítsatok ki).
Próbálj meg guiCreateGridListtel listát csinálni, azzal 1000x könnyebb + kezelhetőbb mint így. De amúgy a labeles cucc jobban néz ki, gondolom azért csinálod így :D
Robika1

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #2 Dátum: 2016. május 27. - 13:46:08 »
0 Show voters
Igazad lehet. Majd megpróbálom más módon lekérni, hogy melyikre kattintott. Az amit írtál, igaz hogy jó, de szerintem egy egyedi designen igen rosszul fest, ezért akartam így megoldani. De gondoltam rá, hofy inkább elvetem az ötletet, és a könnyebvik utat választom. Köszi a választ!

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #3 Dátum: 2016. május 29. - 15:27:04 »
+1 Show voters
Azért érzékeli az utolsót, mivel a for loopban létrehozott változó az utolsó elemig tart, jelen esetben elem=elem+1-ig, tehát mindenképpen az elem legutolsó értéket fogja érzékelni.
Csinálj egy slot rendszert, tömb elembe hozza létre a frakcióban tartózkodó játékosokat, és máris ki tudsz emelni a tömb-ből magadnak elemet.

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #4 Dátum: 2016. május 30. - 17:45:01 »
0 Show voters
Tudnál egy kicsit ezen pontosítani, ha megkérhetlek? Mert ennyire nem vagyok még belemerülve.
De így is köszönöm!

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #5 Dátum: 2016. május 30. - 20:15:07 »
0 Show voters
Melyik részét magyarázzam el részletesebben?


Idézetet írta: Hasirama date=1464623101\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"60516\" data-ipsquote-contentclass=\"forums_Topic
Tudnál egy kicsit ezen pontosítani, ha megkérhetlek? Mert ennyire nem vagyok még belemerülve.
De így is köszönöm!
 

local id = { }
function slotf()
local slot = nil
for k = 1, 200 do
if (id[k]==nil) then
   slot = k
   break
end
end
end
« Utoljára szerkesztve: 2016. május 30. - 20:18:36 írta Vegance Roleplay »

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #6 Dátum: 2016. május 31. - 06:20:09 »
0 Show voters
Úgy az egészet nem értettem, de ahogy látom, megírtad nekem, köszönöm!
Annyi még, ha nem nagy gond, akkor a taglista[elem] helyett írom azt, hogy id[slot], igaz? Vagy akkor rosszul értelmeztem?

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #7 Dátum: 2016. május 31. - 09:09:35 »
0 Show voters
Idézetet írta: Hasirama date=1464623101\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"60516\" data-ipsquote-contentclass=\"forums_Topic
Tudnál egy kicsit ezen pontosítani, ha megkérhetlek? Mert ennyire nem vagyok még belemerülve.
De így is köszönöm!
 
Igen, de ez csak az alapja. Egyébként mysql dbPool-al is meglehet csinálni. Amint látom még kezdő szinten csinálod :D

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #8 Dátum: 2016. május 31. - 10:01:09 »
0 Show voters
Hát igen, sajnos. Köszönöm a segítséget! Sajnos kipróbálni csak hétvégén tudom.

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #9 Dátum: 2016. május 31. - 10:44:30 »
0 Show voters
Idézetet írta: Hasirama date=1464681669\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"60516\" data-ipsquote-contentclass=\"forums_Topic
Hát igen, sajnos. Köszönöm a segítséget! Sajnos kipróbálni csak hétvégén tudom.
 
Rendben, utána szólj, hogy mi a helyzet nyugodtan  ^-^

Frakció panel: kattintható guiLabel a tagoknál
« Válasz #10 Dátum: 2016. június 04. - 06:48:47 »
0 Show voters
Sajnos nem igazán akar összejönni. Megpróbáltam beépíteni az eddigibe, viszont nem reagál semmire se. Csak a nevet írta ki, de jelenleg azt nem tudom leellenőrizni, hogy több nevet is kiír-e. A kattintásra viszont nem reagál.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal