Wysłany: 2016-01-01, 22:27
Mr.Noboby
Wiek: 24 Na forum: 3831 dni Posty: 11
Nick w MP: Mr.Noboby
Witam,
zrobi?em za pomoc? tabeli tworzenie smieci tworzy ich 20 i do kazdego przypisany jest marker i blip. M?j problem jest taki ?e chce w pewnym momencie usun?? konkretny smie? a z nim przypisany mu blip i marker. Ale kiedy dam destroyElement, usuwa wszystkie markery,blipy,smieci. Kto? ma pomys? jak rozwi?za? ten problem?
function StworzSmieci ()
for i = 1 , 20 do
local losujs = math . random ( 1 , #Pozycja_Smieci )
local xs , ys , zs = Pozycja_Smieci [ losujs ][ 1 ], Pozycja_Smieci [ losujs ][ 2 ], Pozycja_Smieci [ losujs ][ 3 ]
smiec = createObject ( 1265 , xs , ys , zs - 0.5 )
markerk_smiec = createMarker ( 0 , 0 , 0 , "cylinder" , 1 , 255 , 0 , 0 , 255 )
smiec_blip = createBlipAttachedTo ( markerk_smiec , 0 , 1 , 255 , 0 , 0 , 0 )
attachElements ( markerk_smiec , smiec , 0 , 0 , 0 )
end
end
Wysłany: 2016-01-01, 23:02
Wittx
8===D
Wiek: 26 Na forum: 4794 dni Posty: 121
Nick w MP: wittula
Piwa : 1905
Mo?na zrobi? to w troch? inny spos?b: local tablicaSmieci = {
{ 0 , 0 , 3 },
{ 0 , 0 , 3 },
{ 0 , 0 , 3 },
{ 0 , 0 , 3 },
} -- itd , nie bede sie bawil w kordy xd
local objects = {}
local blips = {}
function StworzSmieci ()
for i = 1 , 20 do
local losujs = math . random ( 1 , #tablicaSmieci) --nie boisz sie, ze stworzy Ci kilka obiektow w tym samym miejscu?
local xs , ys , zs = unpack ( tablicaSmieci [ losujs ])
local marker = createMarker ( xs , ys , zs - 1 , "cylinder" , 1 , 255 , 0 , 0 , 255 )
objects [ marker ] = createObject ( 1265 , xs , ys , zs - 0.5 )
blips [ marker ] = createBlipAttachedTo ( markerk_smiec , 0 , 1 , 255 , 0 , 0 , 0 )
addEventHandler ( 'onMarkerHit' , marker , function( hitElement )
if getElementType ( hitElement ) == 'player' then
destroyElement ( objects [ source ])
destroyElement ( blips [ source ])
outputChatBox ( 'Zniszczono smiec' , hitElement )
destroyElement ( source )
end
end )
end
end
Za?o?y?em, ?e Twoja tablica zawiera tylko pozycje X, Y, Z dla ka?dego ?miecia, dlatego da?em po prostu unpack(). Nie wiem czy b?dzie przeszkadza? Ci to, ?e mo?esz mie? kilka ?mieci w tej samej pozycji, poniewa? lokalna zmienna losujs mo?e przybra? kilka razy t? sam? warto??, ale tak mia?e? w kodzie.
Potraktowa?em marker jako g??wny element, obiekt i blip to takie elementy ozdobne. Mog? na nich dzia?a? dzi?ki tablicom objects i blips, gdzie jako indeks da?em marker, kt?rego "ozdabiaj?". Kodu nie testowa?em, chcia?em Ci po prostu pokaza? m?j "tok my?lenia".
Tagi: usuwanie :: konkretnego :: smiecia
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: