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

Wysłany: 2013-06-29, 15:28


PL3ELO







Wiek: 28
Na forum: 4723 dni
Posty: 4

Piwa: 1

Respekt: 50

Witam jestem nowy w lua ale troch? podstawy znam prosz? o pomoc w zrobieniu systemu wypadk?w.Polega? by on na tym ?e dany gracz kt?ry mocno walnie w jak?? przeszkod? nie mo?e wyj?? z samochodu ani nim jecha? i pogotowie musia?o by go uleczy? je?eli nie by?o by pogotowia na serwerze musia? by czeka? 60 sekund.Za dobre odpowiedzi daje PIWO

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-29, 15:33


Azzeddine

Obeznany LUA






Wiek: 33
Na forum: 4779 dni
Posty: 87
Nick w MP: Azzeddine

Piwa: 17

Respekt: 50

unbind + outputchatbox + efekty

Podpis
Pomóc Ci w czymś
? - Napisz temat, jeśli będę mógł to odpiszę.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-29, 16:07


krisu477







Wiek: 25
Na forum: 4837 dni
Posty: 54
Nick w MP: Krisek

Piwa: 7

Respekt: 70

Ja bym u?y? do tego funkcji toggleControl ( https://wiki.multitheftauto.com/wiki/ToggleControl , control'e: enter_exit, accelerate, brake_reverse, horn, vehicle_left, vehicle_right) i efekty (przyk?adowa funkcja: fadeCamera).

Ostatnio zmieniony przez krisu477 2013-06-30, 10:56, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-29, 16:21


Riot

3X






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

Piwa: 286

Respekt: 123
Respekt: 123

"krisu477" napisał/a:

Ja bym u?y? do tego funkcji toggleControl


I prawid?owo, Azzeddine, gada bzdury z tym unbind.

Co do kodu, kilka wskaz?wek:

#1 - onClientVehicleCollision jako event, uruchamiaj?cy si? gdy gracz autem gdzie? walnie. https://wiki.multitheftauto.com/wiki/OnClientVehicleCollision

#2 - sprawdzamy ile graczy jest w teamie za pomoca getPlayersInTeam https://wiki.multitheftauto.com/wiki/GetPlayersInTeam

#3 - gdy skrypt zwraca nam 0 graczy - tworzymy timer, kt?ry za 60 sekund sam gracza uleczy.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-29, 21:52


PL3ELO







Wiek: 28
Na forum: 4723 dni
Posty: 4

Piwa: 1

Respekt: 50

Witam napisa?em kawa?ek kodu.
Prosz? o to kod:)
Kod:


addEventHandler("onClientVehicleCollision", root,
function(collider,force, bodyPart, x, y, z, nx, ny, nz)
if ( source == getPedOccupiedVehicle(localPlayer) ) then
local fDamageMultiplier = getVehicleHandling(source).collisionDamageMultiplier
-- Freez auta
toggleControl ( "enter_exit" , false )
toggleControl ( "accelerate" , false )
toggleControl ( "brake_reverse" , false )
-- Unfreez Auta
setTimer(unfreez, 5000, 1, root)
end
end
)

function unfreez ( root )
toggleControl ( "enter_exit" , true )
toggleControl ( "accelerate" , true )
toggleControl ( "brake_reverse" , true )

end

Nie wiem czy kod jest napisany poprawnie .Chcia?bym jeszcze ?eby wypadek tworzy? si? jak gracz mocniej walnie a nie tak jak teraz ?e tylko stuknie i jest freez. ?eby do pogo wys?a?o wiadomo?? ?e dany gracz ma wypadek a jak niema pogo to ?eby czeka? 60 sekund i samo go unfreezowa?o prosz? o pomoc w przerobieniu kodu .NIe ogarniam niekt?rych funkcji Za pomoc Daje PIWKO

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-29, 22:04


Riot

3X






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

Piwa: 286

Respekt: 123
Respekt: 123

By sprawdza?o z jak? si??, to u?yj drugiego argumentu - force.
Co do kodu, wydaje si? poprawny, jednie w timerze mi co? nie gra.


Zr?b tak:

setTimer(unfreez50001


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-30, 13:21


PL3ELO







Wiek: 28
Na forum: 4723 dni
Posty: 4

Piwa: 1

Respekt: 50

A mo?na pro?i? o edycje mojego kodu i zaopatrzenie go w to ?e jak gracz ma wypadek i jak jest kto? z pogo to wysy?a do pogotowia wiadomo?c ?e gracz o nicku jest ranny jak niema pogotowia na sererze to go leczy po 30 sekundach bardzo prosz? wysy?am kod
Kod:


addEventHandler("onClientVehicleCollision", root,
function(collider,force, bodyPart, x, y, z, nx, ny, nz)
if ( source == getPedOccupiedVehicle(localPlayer) ) then
local fDamageMultiplier = getVehicleHandling(source).collisionDamageMultiplier
-- Freez auta
toggleControl ( "enter_exit" , false )
toggleControl ( "accelerate" , false )
toggleControl ( "brake_reverse" , false )
-- Unfreez Auta
setTimer(unfreez, 5000, 1)
end
end
)

function unfreez ( root )
toggleControl ( "enter_exit" , true )
toggleControl ( "accelerate" , true )
toggleControl ( "brake_reverse" , true )

end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-06-30, 22:56


Riot

3X






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

Piwa: 286

Respekt: 123
Respekt: 123

Ma?a poprawka, przedtem napisa?em, ?e do sprawdzenia ile graczy w teamie nale?y u?y? getPlayersInTeam - fakt, da?oby rad? jednak ?atwiej to zrobi? za pomoc? funkcji countPlayersInTeam.

Sprawdzasz ile jest graczy w temacie:
local gracze countPlayersInTeam (getTeamFromName("Pogotowie"))
if gracze >= 1 then 
--jesli w teamie Pogotowie jest co najmniej 1 gracz
local team getPlayersInTeam(getTeamFromName("Pogotowie"))
   for i,v in ipairs (team) do
   outputChatBox("wiadomosc dla pogotowia"v255255255true)
   end
else --zero pracownikow Pogotowia
outputChatBox("wiadomosc tylko dla gracza"element255255255true)
end


Kod ten jest po stronie servera, Tw?j kod natomiast po stronie clienta, dlatego pasowa?oby u?y? triggera.

Postaw piwo autorowi tego posta
 

 
Tagi: nowy :: lua :: -system :: wypadków
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Nowy w lua -System Wypadków 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