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

Wysłany: 2016-01-01, 22:27


Mr.Noboby







Wiek: 24
Na forum: 3831 dni
Posty: 11
Nick w MP: Mr.Noboby



Respekt: 50

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 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][3smiec createObject(1265xsyszs 0.5)
markerk_smiec createMarker 000"cylinder"125500255 )
smiec_blip createBlipAttachedTo(markerk_smiec0,1,255,0,0,0)
attachElements markerk_smiecsmiec000)
end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-01, 23:02


Wittx

8===D






Wiek: 26
Na forum: 4794 dni
Posty: 121
Nick w MP: wittula

Piwa: 1905

Respekt: 120
Respekt: 120

Mo?na zrobi? to w troch? inny spos?b:
local tablicaSmieci = {
    {003},
    {003},
    {003},
    {003},
} --itdnie bede sie bawil w kordy xd

local objects = {}
local blips = {}

function StworzSmieci()
    for 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(xsyszs 1"cylinder"125500255)

        objects[marker] = createObject(1265xsyszs 0.5)
        blips[marker] = createBlipAttachedTo(markerk_smiec0,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".

Postaw piwo autorowi tego posta
 

 
Tagi: usuwanie :: konkretnego :: smiecia
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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