Szerző Téma: Loginpanel zene.  (Megtekintve 1321 alkalommal)

Loginpanel zene.
« Dátum: 2016. december 30. - 21:10:44 »
0 Show voters
Sziasztok! a minap készítgettem a loginpanelemet, teljesen örültem, minden funkciója működik. akkor jöhet a csicsázás.
 
Amikor el akarok indítani egy zenét akkor ment, de erre lettem figyelmes:
 
https://www.youtube.com/watch?v=gxaH2ueMeWY&feature=youtu.be
 
 
 
itt a kód ami a zenét indítja:
 
 
 

function zene(login)
   zene = playSound(\"files/music.mp3\", true)
      --stopSound(zene)
end
addEventHandler( \"onClientResourceStart\", getRootElement(), zene)

 
 

Loginpanel zene.
« Válasz #1 Dátum: 2016. december 30. - 21:18:45 »
0 Show voters
Nem értem miért kell szétfloodolni:D
 
Mindig kérdezd le előtte, hogy van-e már. Ha van, törlöd:
 

if(isElement(zene) then
destroyElement(zene)
end
zene = playSound(\"files/music.mp3\", true)

 
 

Loginpanel zene.
« Válasz #2 Dátum: 2016. december 30. - 21:29:42 »
0 Show voters



   
      Nem értem miért kell szétfloodolni:D
   

[/quote]
 
Így akartam meggyőzni a nézőt hogy többször is elindul :D
 
 
 
Mellesleg a kódban van valami hiba. Alapból amit írtál a felépítésében furcsállok valamit, nem megy. Átírtam ilyenre:
 
 
 

function zene(login)
if(isElement(zene)) then
zene = playSound(\"files/music.mp3\", true)
else
destroyElement(zene)
end
end
addEventHandler( \"onClientResourceStart\", getRootElement(), zene)

 
Ezzel csak annyi a baj hogy a destroyElement első paraméterére azt kapja vissza hogy funkció

Loginpanel zene.
« Válasz #3 Dátum: 2016. december 30. - 21:34:19 »
0 Show voters
Mivel ugyan úgy nevezted el a kettőt:
 

function zeneFunction(login)
if (isElement(zene)) then
   destroyElement(zene)
end
zene = playSound(\"files/music.mp3\", true)
end
addEventHandler( \"onClientResourceStart\", getRootElement(), zeneFunction)

 
Így behülyült. És felcserélted. Akkor kell destroyolni, ha már létezik, nem pedig akkor, ha nem.
« Utoljára szerkesztve: 2016. december 30. - 21:35:01 írta Hasirama »

Loginpanel zene.
« Válasz #4 Dátum: 2016. december 30. - 21:36:39 »
0 Show voters
jaa, vágom. de tudod hogy nekem mi a bajom? sajnos nem részleteztem, de ha BÁRMILYEN scriptet elndítok akkor elkezdeni játszani a zenét. ugye a videóban ez az infobox volt.

Loginpanel zene.
« Válasz #5 Dátum: 2016. december 30. - 21:40:29 »
0 Show voters
Megmutatod a login-t? Lehet akkor tudok segíteni. Így vakon nem igazán

Loginpanel zene.
« Válasz #6 Dátum: 2016. december 30. - 21:45:57 »
0 Show voters
a script többi részével biztos nincsen baj. semmilyen összefüggést nem tettem a zene, és a többi funkció közé
 
Valahogy azt kéne elérni hogy lekérje az elindított resource nevét, majd egy if not- ba hozzáadni a destroyt valahogy így:
 
if not (isElement(login)) then
 
destroyElement(másik res neve)

Loginpanel zene.
« Válasz #7 Dátum: 2016. december 31. - 07:54:54 »
0 Show voters
Function-t nem tudsz destroyolni. Még azt lehetne, hogy player spawnolásakor beállítani egy element datát true-ra(Mondjuk online). És a zenénél belerakni egy olyat, hogy if not getElementData(localPlayer, \"online\") then

Loginpanel zene.
« Válasz #8 Dátum: 2017. január 02. - 01:29:30 »
0 Show voters
Szia.
Az a baj, hogy az onClientResourceStart eventnél getRootElement() van, ami azt jelenti, hogy ha bármilyen modot elindítasz, akkor meghívódik ez az event. root=minden
Az event source-ja ne root(összes mod) legyen, hanem csak ez a mod: getResourceRootElement(getThisResource())
 

addEventHandler(\"onClientResourceStart\", getResourceRootElement(getThisResource()), zeneFunction)

 
És így máris tök jól fog működni
 
Robika1
« Utoljára szerkesztve: 2017. január 02. - 01:30:23 írta Robika1 »

Loginpanel zene.
« Válasz #9 Dátum: 2017. január 02. - 14:32:12 »
0 Show voters
A te kommented vártam :D Köszönöm :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal