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

Wysłany: 2017-08-25, 20:48


cayman11







Wiek: 30
Na forum: 4948 dni
Posty: 73



Respekt: 50

Pisz? system naliczania uszkodze? dla pojazdu i nie mog? sobie poradzi? z jedn? rzecz?. Mianowicie, gdy uszkodz? np. przednie lewe drzwi w stopniu 1 i potem ponownie uszkodz?, ale tym razem co? innego, np. baga?nik, to jeszcze raz nalicza mi te drzwi. Chc?, aby je?li, np. drzwi zosta?y ju? uszkodzone w stopniu 1, to blokuje ten stopnie? i ju? ponownie mi nie nalicza. Tylko nast?pne stopnie, je?li te drzwi uszkodz?. Pr?bowa?em ju? na kilka sposob?w, ale kompletnie mi to nie wychodzi?o. Macie jaki? pomys? jak to wykona??


addEventHandler("onClientVehicleDamage"root,
    function()
        local v getPedOccupiedVehicle(localPlayer)
        if v then
            for i=0,do
                local stan getVehicleDoorState(vi)
                if stan==or stan==or stan==4 then
                    --//
                end
            end
        end
    end
)


[list=]asd[/list]

Ostatnio zmieniony przez cayman11 2019-05-03, 18:53, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-26, 23:07


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8

Robisz p?tl? wi?c pobierasz stan wszystkich "drzwi" czyli drzwi,maska i baga?nik. Nigdzie nie masz rozdzielonego tego na osobne if'y sprawdzaj?ce stan danej cz??ci, albo nam nie pokaza?e?.
Najlepiej pozby? si? p?tli for i oraz zrobi? np tabele albo osobne zmienne.


local doors = {getVehicleDoorState(v,0),getVehicleDoorState(v,1)} -- itd
local stany = {doors[1],doors[2]}
if stany[1] == 2 then
-- cotam
end


To jest jedynie wskaz?wka/przyk?ad.

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-08-28, 19:20


cayman11







Wiek: 30
Na forum: 4948 dni
Posty: 73



Respekt: 50


local t = {
    ["swiatla"] = {
        0,
        1,
    },
    ["panels"] = {
        4,
        5,
        6,
    },
}

state = {}
state.leftFrontLight true
state.rightFrontLight true

state.windscreen1 true
state.windscreen2 true
state.windscreen3 true

state.frontBumper true
state.rearBumper true

addEventHandler("onVehicleDamage"getRootElement(),
    function(hp)
        if v then
            local light = {getVehicleLightState(vt["swiatla"][1]), getVehicleLightState(vt["swiatla"][2])}
            local light_state = {light[1], light[2]}
            
            if light_state[1] == 1 then
                if state.leftFrontLight then
                    state.leftFrontLight false
                    outputChatBox("?wiat?o lewy prz?d, 1")
                    --
                end
            end
            if light_state[2] == 1 then
                if state.rightFrontLight then
                    state.rightFrontLight false
                    outputChatBox("?wiat?o prawy prz?d, 1")
                    --
                end
            end
            
            local panel = {getVehiclePanelState(vt["panels"][1]), getVehiclePanelState(vt["panels"][2]), getVehiclePanelState(vt["panels"][3])}
            local panel_state = {panel[1], panel[2], panel[3]}
            
            if panel_state[1] == 1 then
                if state.windscreen1 then
                    state.windscreen1 false
                    outputChatBox("Szyba przednia, 1")
                    --
                end
            end
            if panel_state[1] == 2 then
                if state.windscreen2 then
                    state.windscreen2 false
                    outputChatBox("Szyba przednia, 2")
                    --                    
                end
            end            
            if panel_state[1] == 3 then
                if state.windscreen3 then
                    state.windscreen3 false
                    outputChatBox("Szyba przednia, 3")
                    --
                end
            end


            
        end
    end
)


Dzi?ki. Na ten czas wykona?em co? takiego. Teraz b?d? pr?bowa? to wszystko "upraszcza?". Chcia?bym bardziej rozbudowa? t? tablic?, ale zupe?nie nie wiem od czego zacz??.

Postaw piwo autorowi tego posta
 

 
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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