Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2011-12-25, 17:09


CRX







Wiek: 34
Na forum: 5671 dni
Posty: 114

Piwa: 106

Respekt: 51,6

Ostrzeżeń: 60%
Cze??!

Stworzy?em sobie warunek, ?e je?li ?ycie jest mniejsze ni? 10, to co? si? dzieje.
Niestety, nie dzia?a to.

Kod:

local playerHealth = getElementHealth ( getLocalPlayer() )
if 10 > playerHealth then


Jak powinien poprawnie wygl?da? ten warunek?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-25, 17:32


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Kod:

local playerHealth = getElementHealth ( getLocalPlayer() )
if playerHealth < 10 then

W moim przypadku ja wol? wpisywa? na odwr?t :) . Mo?e pomo?e.

O ile oczywi?cie to jest po stronie klienta.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-25, 19:25


jhomlala

Lua Skrypter






Wiek: 31
Na forum: 5323 dni
Posty: 79
Nick w MP: Oli

Piwa: 42

Respekt: 50

Kod:



if getElementHealth(localPlayer) < 10 then
co sie wydarzy
end



Ostatnio zmieniony przez jhomlala 2011-12-25, 19:30, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-25, 19:29


CRX







Wiek: 34
Na forum: 5671 dni
Posty: 114

Piwa: 106

Respekt: 51,6

Ostrzeżeń: 60%
Tak wygl?da aktualnie m?j skrypt, kiedy mam poni?ej 10 HP, nie s?ysz? d?wi?ku.

Kod:

function lowHealth()
local playerHealth = getElementHealth ( getLocalPlayer() )
if 10 == playerHealth then
local sound = playSound("sounds/heart.mp3")
else
stopSound( sound )
end
end
addEventHandler ( "onPlayerJoin", getRootElement(), lowHealth )


Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-25, 20:23


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

CRX,
Kod:

function lowHealth()
local playerHealth = getElementHealth ( getLocalPlayer() )
if playerHealth <= 10 then
local sound = playSound("sounds/heart.mp3")
else
stopSound( sound )
end
end
addEventHandler ( "onPlayerJoin", getRootElement(), lowHealth )

Mia?e? warunek, ?e je?eli hp jest r?wne 10 to wtedy gra muzyk?, a nie jak ma mniej ni? 10.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 11:22


44fitr







Wiek: 29
Na forum: 5285 dni
Posty: 8
Nick w MP: 44fitr/kuban.



Respekt: 50

Kod:

local playerHealth = getElementHealth ( getLocalPlayer() )
client
Kod:

local sound = playSound("sounds/heart.mp3")
client
Kod:

addEventHandler ( "onPlayerJoin", getRootElement(), lowHealth )
server
Jak w takim razie to mo?e dzia?a? poprawnie?

*Teraz dobrze panie moderatorze? :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 11:28


Riot

3X






Wiek: 29
Na forum: 5729 dni
Posty: 1123
Nick w MP: Riot/3X

Piwa: 286

Respekt: 123
Respekt: 123

Na moje oko, to ten warunek dzia?a gdy wejdziemy na serwer, mo?e zamiast eventa daj timera, kt?ry nie b?dzie si? ko?czy?? Ja bym tak zrobi?..

Kod:

setTimer(nazwafunkcji, 1000, 0)


Czyli funkcja "nazwafunkcji" b?dzie si? powtarza?a co sekund? (1000 minisekund) i b?dzie trwa?a zawsze gdy skrypt jest w??czony (czyli 0)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 13:53


44fitr







Wiek: 29
Na forum: 5285 dni
Posty: 8
Nick w MP: 44fitr/kuban.



Respekt: 50

Ziomek11, po co "tru?" skrypt jakimi? timerami.
Do tego s?u?y event "onClientRender", tym bardziej je?eli wida?
?e kod skryptu jest jak najbardziej po stronie clienta.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 14:20


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

44fitr, oba sposoby s? dobre, lecz do takiego skryptu jak chc? stworzy? CRX lepszy b?dzie Timer, poniewa? onClientRender obci??a maszyn?, na kt?rej jest serwer. Do wi?kszych skrypt?w lepiej u?ywa? ten event, lecz do ma?ych Timer.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 16:22


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Cytat:

poniewa? onClientRender obci??a maszyn?

Bzdura. Trzeba robi? skrypty z g?ow?, a nic nie b?dzie zbyt obci??one. Wg. mnie skrypt powinien dzia?a? tak: W momencie gdy gracz ma mniej ni? 10 hp to skrypt wysy?a informacj? do gracza w postaci d?wi?ku (dajmy na to, ?e to zwyk?y 'beep'). Na 100% wtedy lepiej zastosowa? timer.

Przypomn?, ?e zdarzenie onClientRender wykonuje si? przy ka?dej klatce (np. kto? ma 100 fps to funkcja podpi?ta pod to zdarzenie wykona si? 100 razy na sekund?).

Mi?ego pisania :) .

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 17:23


CRX







Wiek: 34
Na forum: 5671 dni
Posty: 114

Piwa: 106

Respekt: 51,6

Ostrzeżeń: 60%
Przy onClientRender muzyka si? nie odtwarza, spadaj? FPS'y i dziwne pukanie ( i to do?? g?o?ne) s?ycha?, po zako?czeniu .mp3 te pukanie przestaje.
Jednym s?owem, .mp3 si? nie odtwarza, tylko na miejsce .mp3 jaki? dziwny d?wi?k si? odtwarza.

Timera nie chc?, bo po co co sekund? sprawdza? czy 10hp, lub mniej ma.
Musi by? inne rozwi?zanie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 17:32


Jacob

Głupiomądry






Wiek: 28
Na forum: 5502 dni
Posty: 967
Nick w MP: Jacob

Piwa: 786

Respekt: 212,3
Respekt: 212,3Respekt: 212,3

CRX, chcesz zrobi?, ?e jak hp zejdzie poni?ej 10 to muzyka si? odtwarza ale tylko raz. Hmm... Nie wiem jaki event by pasowa?. Ja to bym zrobi? tak, ?e co 1 minut? sprawdza i co minute si? odtwarza d?wi?k, oczywi?cie, je?li ma mniej ni? 10hp.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 17:52


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Czemu co minut?? Lepiej co 5 sekund, a je?eli chcesz, by dzia?a?o to jednorazowo to oczywi?cie mo?esz u?y? onClientRender, ale po zagwarantowaniu warunku musisz usun?? zdarzenie z funkcji.

Co do dziwnego odtwarzania d?wi?ku to ja powiem tyle - norma! Wyobra? sobie, ?e skrypt odtwarza ten sam d?wi?k w ci?gu sekundy 100 razy (tak jak ju? pisa?em). Dodam, ?e na ka?d? klatk? przypada START i STOP, wi?c st?d te dziwne odg?osy. Nie wiem ile to mp3 ma minut, czy nawet sekund, ale u Ciebie jest odtwarzana 1/100 pliku mp3 (zak?adaj?c, ?e masz 100 fps?w).

Pozdrawiam.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-26, 19:26


44fitr







Wiek: 29
Na forum: 5285 dni
Posty: 8
Nick w MP: 44fitr/kuban.



Respekt: 50

Mo?e doda? "if" na zasadzie:

Kod:

if (sound == nil) then
local sound = playSound("sounds/heart.mp3")


Postaw piwo autorowi tego posta
 

 
Wysłany: 2011-12-27, 00:06


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Wychodzi na to samo. Nil oznacza, ?e zmienna jest pusta czyli nie istnieje.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Tagi: warunek
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Warunek Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku