Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.
Wysłany: 2018-11-06, 15:40


Trainer







Wiek: 20
Na forum: 136 dni
Posty: 16
Nick w MP: Trainer

Piwa: 57

Respekt: 50


Witam.


Niedawno postanowiłem przesiąść się na LUA. Aż tak zielony w tym nie jestem, ale niestety nawyki z innych języków pozostały.

A więc. Chcę stworzyć skrypt, gdzie mamy 3 pedy, które respią się za pomocą pętli z tablicy.

Po zabiciu peda ma się pojawić marker, a gdy w niego wejdziemy otrzymamy 50000$.

Wszystko niby jest okej, respi pedy. Tylko po zabiciu pierwszego peda i wejściu w marker, gdy zabijemy resztę pedów, po prostu markery się nie pojawiają.

Marker ma się pojawiać w pozycji gdzie ped został zabity.

Chciałbym dostać wskazówkę, gdyż lepiej się uczyć próbując niż czekając na gotowe.

Ucieszyłbym się gdybym zobaczył gdzie robię błędy, także śmiało możecie pisać co źle robię i co mogę poprawić.

Kod:


local spawns = {
{-313.68054, 1873.28271, 42.28906},
{-344.61700, 1891.42993, 42.28906},
{-278.48669, 1872.72583, 42.28906}
}


for i,v in ipairs(spawns) do
ped = createPed(127, v[1], v[2], v[3])
setElementHealth(ped, 200);

function died(plr)

local x,y,z = getElementPosition(ped)
local markercash = createMarker(x,y,z -0.7,"cylinder",1,255,0,0)
destroyElement(ped)

addEventHandler("onMarkerHit", markercash, function(plr)
givePlayerMoney(plr,50000)
destroyElement(markercash)
end)
end
addEventHandler("onPedWasted", ped, died)
end



Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-11-06, 18:06


CjPomarancza

:-)






Wiek: 10
Na forum: 552 dni
Posty: 92

Piwa: 12

Respekt: 60



local spawns = { 
{-313.680541873.2827142.28906}, 
{-344.617001891.4299342.28906}, 
{-278.486691872.7258342.28906} 
} 


for i,v in ipairs(spawns) do 
ped createPed(127v[1], v[2], v[3]) 
setElementData(ped"peds_from_this_script"truesetElementHealth(ped200); 
end

function died(ped) 
if getElementData(source"peds_from_this_script"then

local x,y,getElementPosition(sourcelocal markercash createMarker(x,y,-0.7,"cylinder",1,255,0,0destroyElement(sourceaddEventHandler("onMarkerHit"markercash, function(plrgivePlayerMoney(plr,50000destroyElement(markercashendend
end 
addEventHandler("onPedWasted"rootdied


pewnie mozna to zrobic zeby zamiast w addEventHandler arg. root dac wlasnie okreslonego peda i chcialem to zrobic zeby nazywac zmienne pedow w inny sposob, tj. ped1, ped2 (ped i klucz tabeli) ale nie pamietam jak sie to robi a nie chcialo mi sie sprawdzac

teraz krotkie objasnienie:

dzialo sie tak, gdyz petla nadpisywala sobie zmienna ped i po skonczeniu petli miala ona wartosc ostatniego peda w tabeli, dlatego tylko po zabiciu jego to dzialalo

dla kazdego peda ktory sie zrespi z tabeli nadaje elementdate by rozroznic, czy to ped ten czy moze jakis inny

dla
Więcej informacji znajdziesz w Wikipedii MTA:

onPedWasted
source == ped ktory zostal zabity, dlatego uzylem source

Sorki ze nie ma wskazowki ale po prostu nie wiedzialem jak to sensownie wytlumaczyc by ktokolwiek to zrozumial :)

Licze na piwko :)

Podpis
Pomogłem? Doceń mnie i postaw :piwo: :)
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Trainer
Wysłany: 2018-11-06, 20:00


Trainer







Wiek: 20
Na forum: 136 dni
Posty: 16
Nick w MP: Trainer

Piwa: 57

Respekt: 50


Dziękuję z całego serca :)

Postaw piwo autorowi tego posta
 

 
Tagi: skrypt :: respienie :: peda
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:







Wyświetl posty z ostatnich:   

Odpowiedz do tematu

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

Skocz do: