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

Wysłany: 2016-08-09, 16:45


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

?cie?ka odtwarza si? po w??czeniu silnika i po wy??czeniu go, jak zrobi? aby odtwarza?a si? tylko po w??czeniu silnika?
c-side:

local w,guiGetScreenSize()
czcionka dxCreateFont"cz.ttf")
local rowery = {[509]=true,[481]=true,[510]=true}

function gui()
    local v getPedOccupiedVehicle(localPlayer)
    if getVehicleOverrideLights(v) ~= 2 then
        w1 "Zapal ?wiat?a"
    else
        w1 "Zga? ?wiat?a"
    end
        
    local silnik getVehicleEngineState(v)
    playSound("silnik.mp3")    
    if silnik == false then
        w2 "Zapal silnik"
    else
        w2 "Zga? silnik"
    end
        
    local drzwi isVehicleLocked(v)
    if drzwi == true then
        w3 "Otw?rz drzwi"
    else
        w3 "Zamknij drzwi"
    end
    
    if isElementFrozen(vthen
        w4 "Spu?? r?czny"
    else
        w4 "Zaci?gnij r?czny"
    end
    
    if getVehicleDoorOpenRatio(v,0) == 0 then
        w5 "Otw?rz mask?"
    else
        w5 "Zamknij mask?"
    end
    
    if getVehicleDoorOpenRatio(v,1) == 0 then
        w6 "Otw?rz baga?nik"
    else
        w6 "Zamknij baga?nik"
    end

    r1,r2,r3,r4,r5,r6 1,1,1,1,1,1
    local wybor getElementData(localPlayer,"wybor")
    if wybor == 1 then
        r1 1.2
    elseif wybor == 2 then
        r2 1.2
    elseif wybor == 3 then
        r3 1.2
    elseif wybor == 4 then
        r4 1.2
    elseif wybor == 5 then
        r5 1.2
    elseif wybor == 6 then
        r6 1.2
    end
    
    dxDrawText(w10.00000.301.750.3278tocolor(000), r1"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w10.00000.3021.750.3278tocolor(255255255), r1"pricedown""center""top"falsefalsefalsefalsefalse)
    dxDrawText(w20.00000.351.750.3278tocolor(000), r2"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w20.00000.3521.750.3278tocolor(255255255), r2"pricedown""center""top"falsefalsefalsefalsefalse)
    dxDrawText(w30.00000.401.750.3278tocolor(000), r3"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w30.00000.4021.750.3278tocolor(255255255), r3"pricedown""center""top"falsefalsefalsefalsefalse)
    
    local sx,sy,sz getElementVelocity(v)
    local kmhs math.ceil(((sx^2+sy^2+sz^2)^(0.5))*155)
    if kmhs 20 then
        setElementData(localPlayer,"maxwybor",6)
        dxDrawText(w40.00000.451.750.3278tocolor(000), r4"pricedown""center""top"falsefalsefalsefalsefalse)
                dxDrawText(w40.00000.4521.750.3278tocolor(255255255), r4"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w50.00000.501.750.3278tocolor(000), r5"pricedown""center""top"falsefalsefalsefalsefalse)
                dxDrawText(w50.00000.5021.750.3278tocolor(255255255), r5"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w60.00000.551.750.3278tocolor(000), r6"pricedown""center""top"falsefalsefalsefalsefalse)
                dxDrawText(w60.00000.5521.750.3278tocolor(255255255), r6"pricedown""center""top"falsefalsefalsefalsefalse)
    else
        setElementData(localPlayer,"maxwybor",3)
    end
end

function wybor1(key,state)
    if state == "down" then
        if getElementData(localPlayer,"wybor") == 1 then return end
        setElementData(localPlayer,"wybor",getElementData(localPlayer,"wybor")-1)
    end
end
function wybor2(key,state)
    if state == "down" then
        if getElementData(localPlayer,"wybor") == getElementData(localPlayer,"maxwybor"then return end
        setElementData(localPlayer,"wybor",getElementData(localPlayer,"wybor")+1)
    end
end

function pokazinterakcje(value)
    local v getPedOccupiedVehicle(localPlayer)
    if and getVehicleController(v) == localPlayer then
        if rowery[getElementModel(v)] then return end
        if value == true then
            if getElementData(v,"dokupienia"then return end
            addEventHandler("onClientRender",root,gui)
            bindKey("arrow_u","both",wybor1)
            bindKey("arrow_d","both",wybor2)
        elseif value == false then
            if getElementData(v,"dokupienia"then return end
            removeEventHandler("onClientRender",root,gui)
            unbindKey("arrow_u","both",wybor1)
            unbindKey("arrow_d","both",wybor2)
        end
    end
end

bindKey("lshift""both", function(key,state)
    if state == "down" then
        pokazinterakcje(true)
        setElementData(localPlayer,"wybor",1)
    elseif state == "up" then
        wybierz()
        pokazinterakcje(false)
    end
end)

function wybierz()
    local wybrano getElementData(localPlayer,"wybor")
    local v getPedOccupiedVehicle(localPlayer)
    if not v then return end
    if and getVehicleController(v) == localPlayer then
        if wybrano == 1 then
            triggerServerEvent("?wiat?a"localPlayer)
        elseif wybrano == 2 then
            triggerServerEvent("silnik"localPlayer)
        elseif wybrano == 3 then
            triggerServerEvent("drzwi"localPlayer)
        elseif wybrano == 4 then
            triggerServerEvent("r?czny"localPlayer)
        elseif wybrano == 5 then
            triggerServerEvent("maska"localPlayer)
        elseif wybrano == 6 then
            triggerServerEvent("baga?nik"localPlayer)
        end
    end
end

function zamknij(plr,seat)
    if plr ~= localPlayer then return end
    if seat ~= 0 then return end
    removeEventHandler("onClientRender",root,gui)
    unbindKey("arrow_u","both",wybor1)
    unbindKey("arrow_d","both",wybor2)
end
addEventHandler("onClientVehicleStartExit",root,zamknij)
addEventHandler("onClientVehicleExit",root,zamknij)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 16:59


Xaar







Wiek: 25
Na forum: 5451 dni
Posty: 47
Nick w MP: PLWESOLYKOSTEK

Piwa: 82

Respekt: 60

A gdyby? przestawi? playSound do
   local silnik getVehicleEngineState(v) 
    if silnik == false then
        w2 "Zapal silnik"
    else
        w2 "Zga? silnik"
       playSound("silnik.mp3") 
    end
?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 17:01


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

daj d?wi?k podczas odpalania silnika a nie w??czania interakcji

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

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Ostatnio zmieniony przez marcin778 2016-08-09, 17:03, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 17:02


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4838 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

Daj linijke 'playSound' tam, gdzie si? uruchamia silnik.

Moze jestem slepy, moze system inaczej dzia?a, ale nie widze tutaj linijki 'setVehicleEngineState' ktora by odpalala silnik.

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 17:02


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

teraz d?wi?k otwarza si? z tysi?? razy gdy klikn? shift (interakcja si? pokazuje nawet nie wybra?em w??czenia silnika)

[ Dodano: 2016-08-09, 17:03 ]
poprawi?em kod, poprawnie dzia?a tylko gdy gasz? silnik ?cie?ka si? w??cza, oto poprawiony kod:

local w,guiGetScreenSize()
czcionka dxCreateFont"cz.ttf")
local rowery = {[509]=true,[481]=true,[510]=true}

function gui()
    local v getPedOccupiedVehicle(localPlayer)
    if getVehicleOverrideLights(v) ~= 2 then
        w1 "Zapal ?wiat?a"
    else
        w1 "Zga? ?wiat?a"
    end
        
    local silnik getVehicleEngineState(v)    
    if silnik == false then
        w2 "Zapal silnik"
    else
        w2 "Zga? silnik"
    end
        
    local drzwi isVehicleLocked(v)
    if drzwi == true then
        w3 "Otw?rz drzwi"
    else
        w3 "Zamknij drzwi"
    end
    
    if isElementFrozen(vthen
        w4 "Spu?? r?czny"
    else
        w4 "Zaci?gnij r?czny"
    end
    
    if getVehicleDoorOpenRatio(v,0) == 0 then
        w5 "Otw?rz mask?"
    else
        w5 "Zamknij mask?"
    end
    
    if getVehicleDoorOpenRatio(v,1) == 0 then
        w6 "Otw?rz baga?nik"
    else
        w6 "Zamknij baga?nik"
    end

    r1,r2,r3,r4,r5,r6 1,1,1,1,1,1
    local wybor getElementData(localPlayer,"wybor")
    if wybor == 1 then
        r1 1.2
    elseif wybor == 2 then
        r2 1.2
    elseif wybor == 3 then
        r3 1.2
    elseif wybor == 4 then
        r4 1.2
    elseif wybor == 5 then
        r5 1.2
    elseif wybor == 6 then
        r6 1.2
    end
    
    dxDrawText(w10.00000.301.750.3278tocolor(000), r1"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w10.00000.3021.750.3278tocolor(255255255), r1"pricedown""center""top"falsefalsefalsefalsefalse)
    dxDrawText(w20.00000.351.750.3278tocolor(000), r2"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w20.00000.3521.750.3278tocolor(255255255), r2"pricedown""center""top"falsefalsefalsefalsefalse)
    dxDrawText(w30.00000.401.750.3278tocolor(000), r3"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w30.00000.4021.750.3278tocolor(255255255), r3"pricedown""center""top"falsefalsefalsefalsefalse)
    
    local sx,sy,sz getElementVelocity(v)
    local kmhs math.ceil(((sx^2+sy^2+sz^2)^(0.5))*155)
    if kmhs 20 then
        setElementData(localPlayer,"maxwybor",6)
        dxDrawText(w40.00000.451.750.3278tocolor(000), r4"pricedown""center""top"falsefalsefalsefalsefalse)
                dxDrawText(w40.00000.4521.750.3278tocolor(255255255), r4"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w50.00000.501.750.3278tocolor(000), r5"pricedown""center""top"falsefalsefalsefalsefalse)
                dxDrawText(w50.00000.5021.750.3278tocolor(255255255), r5"pricedown""center""top"falsefalsefalsefalsefalse)
        dxDrawText(w60.00000.551.750.3278tocolor(000), r6"pricedown""center""top"falsefalsefalsefalsefalse)
                dxDrawText(w60.00000.5521.750.3278tocolor(255255255), r6"pricedown""center""top"falsefalsefalsefalsefalse)
    else
        setElementData(localPlayer,"maxwybor",3)
    end
end

function wybor1(key,state)
    if state == "down" then
        if getElementData(localPlayer,"wybor") == 1 then return end
        setElementData(localPlayer,"wybor",getElementData(localPlayer,"wybor")-1)
    end
end
function wybor2(key,state)
    if state == "down" then
        if getElementData(localPlayer,"wybor") == getElementData(localPlayer,"maxwybor"then return end
        setElementData(localPlayer,"wybor",getElementData(localPlayer,"wybor")+1)
    end
end

function pokazinterakcje(value)
    local v getPedOccupiedVehicle(localPlayer)
    if and getVehicleController(v) == localPlayer then
        if rowery[getElementModel(v)] then return end
        if value == true then
            if getElementData(v,"dokupienia"then return end
            addEventHandler("onClientRender",root,gui)
            bindKey("arrow_u","both",wybor1)
            bindKey("arrow_d","both",wybor2)
        elseif value == false then
            if getElementData(v,"dokupienia"then return end
            removeEventHandler("onClientRender",root,gui)
            unbindKey("arrow_u","both",wybor1)
            unbindKey("arrow_d","both",wybor2)
        end
    end
end

bindKey("lshift""both", function(key,state)
    if state == "down" then
        pokazinterakcje(true)
        setElementData(localPlayer,"wybor",1)
    elseif state == "up" then
        wybierz()
        pokazinterakcje(false)
    end
end)

function wybierz()
    local wybrano getElementData(localPlayer,"wybor")
    local v getPedOccupiedVehicle(localPlayer)
    if not v then return end
    if and getVehicleController(v) == localPlayer then
        if wybrano == 1 then
            triggerServerEvent("?wiat?a"localPlayer)
        elseif wybrano == 2 then
            triggerServerEvent("silnik"localPlayer)
                        playSound("silnik.mp3") 
        elseif wybrano == 3 then
            triggerServerEvent("drzwi"localPlayer)
        elseif wybrano == 4 then
            triggerServerEvent("r?czny"localPlayer)
        elseif wybrano == 5 then
            triggerServerEvent("maska"localPlayer)
        elseif wybrano == 6 then
            triggerServerEvent("baga?nik"localPlayer)
        end
    end
end

function zamknij(plr,seat)
    if plr ~= localPlayer then return end
    if seat ~= 0 then return end
    removeEventHandler("onClientRender",root,gui)
    unbindKey("arrow_u","both",wybor1)
    unbindKey("arrow_d","both",wybor2)
end
addEventHandler("onClientVehicleStartExit",root,zamknij)
addEventHandler("onClientVehicleExit",root,zamknij)


[ Dodano: 2016-08-09, 17:29 ]
kto? co?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-09, 19:02


AteX







Wiek: 26
Na forum: 4015 dni
Posty: 927
Nick w MP: #AteX

Piwa: 8360

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

D?wi?k odtwarza si? po wybraniu opcji w??czenia lub wy??czenia silnika. Musisz po stronie serwera, gdzie w??czany jest silnik zrobi? triggera na stron? klienta, aby w??czy? d?wi?k.

Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-10, 11:28


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

W sensie jak to zrobi??
s-side:

local rowery = {[509]=true,[481]=true,[510]=true}

addEvent("silnik",true)
addEventHandler("silnik",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        local silnik getVehicleEngineState(v)
        if silnik == false then
            setVehicleEngineState(v,true)
        else
            setVehicleEngineState(v,false)
            playSound("silnik.mp3") 
        end
    end
end)

addEvent("?wiat?a",true)
addEventHandler("?wiat?a",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        if getVehicleOverrideLights(v) ~= 2 then
            setVehicleOverrideLights(v,2)
        else
            setVehicleOverrideLights(v,1)
        end
    end
end)

addEvent("drzwi",true)
addEventHandler("drzwi",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        local drzwi isVehicleLocked(v)
        if drzwi == true then
            setVehicleLocked(v,false)
        else
            setVehicleLocked(v,true)
        end
    end
end)

addEvent("r?czny",true)
addEventHandler("r?czny",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        if isElementFrozen(vthen
            setElementFrozen(v,false)
        else
            setElementFrozen(v,true)
        end
    end
end)

addEvent("maska",true)
addEventHandler("maska",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        if getVehicleDoorOpenRatio(v,0) == 0 then
            setVehicleDoorOpenRatio(v,0,1,2000)
        else
            setVehicleDoorOpenRatio(v,0,0,2000)
        end
    end
end)

addEvent("baga?nik",true)
addEventHandler("baga?nik",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        if getVehicleDoorOpenRatio(v,1) == 0 then
            setVehicleDoorOpenRatio(v,1,1,2000)
        else
            setVehicleDoorOpenRatio(v,1,0,2000)
        end
    end
end)

addEventHandler("onVehicleEnter",root,function(plr,seat)
    if seat == 0 then
        if rowery[getElementModel(source)] then return end
        setVehicleEngineState(source,false)
    end
end)

addEventHandler("onVehicleStartExit",root,function(plr,seat)
    if seat == 0 then
        veh getPedOccupiedVehicle(plr)
        if rowery[getElementModel(veh)] then return end
        v getPedOccupiedVehicle(plr)
    end
end)

addEventHandler("onVehicleExit",root,function(plr,seat)
    if seat == 0 then
        if not v then return end
        setVehicleEngineState(v,false)
        setVehicleLocked(v,false)
        nil
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-10, 11:30


AteX







Wiek: 26
Na forum: 4015 dni
Posty: 927
Nick w MP: #AteX

Piwa: 8360

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

Po stronie serwera d?wi?ku nie odtworzysz. Musisz u?y?

Więcej informacji znajdziesz w Wikipedii MTA:

triggerClientEvent

i po stronie klienta doda? funkcj?, kt?ra zostanie wywo?ana przez ten trigger oraz odtworzy d?wi?k

Więcej informacji znajdziesz w Wikipedii MTA:

addEvent


Więcej informacji znajdziesz w Wikipedii MTA:

addEventHandler


Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-11, 21:29


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

Mo?esz si? rozpisa??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-08-11, 21:41


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

addEvent("silnik",true)
addEventHandler("silnik",root,function()
    local v getPedOccupiedVehicle(source)
    if v then
        local silnik getVehicleEngineState(v)
        if silnik == false then
            setVehicleEngineState(v,true)
        else
            setVehicleEngineState(v,false)
          triggerClientEvent("dzwiek",getRootElement(), silnik)
        end
    end
end)


client


addEvent("dzwiek",true)
addEventHandler("dzwiek"root, function()
playSound3D("silnik.mp3")
end)


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

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

 
Wysłany: 2016-08-13, 18:29


Kalizman







Wiek: 23
Na forum: 3651 dni
Posty: 1394

Piwa: 4619

Respekt: 358,8
Respekt: 358,8Respekt: 358,8Respekt: 358,8Respekt: 358,8

Dzi?ki, do zamkni?cia

Postaw piwo autorowi tego posta
 

 
Tagi: playsound
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