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: 27
Na forum: 2767 dni
Posty: 16
Nick w MP: Trainer

Piwa: 148

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: 17
Na forum: 3183 dni
Posty: 90

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: 27
Na forum: 2767 dni
Posty: 16
Nick w MP: Trainer

Piwa: 148

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:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Skrypt - respienie peda 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