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

Wysłany: 2019-02-09, 14:40


DaVeCS

Mapper






Wiek: 31
Na forum: 3386 dni
Posty: 193
Nick w MP: DaVe

Piwa: 59

Respekt: 70,5

Witam powie mi kto? jak przerobi? prac? tramwajarza tak aby checkpointy by?y niesko?czone?

Tutaj wstawiam kod:

client:
--[[
Praca tramwaje

]]--
local code "tramwaje"
local Kursytramwaje = {
        {-2264.67525.0835.60},
        {-2264.86554.2335.50},
        {-2264.88597.1639.83},
        {-2264.91652.9249.75},
        {-2264.96721.4449.79},
        {-2264.89802.2949.86},
        {-2264.88894.7366.91},
        {-2264.88998.4279.29},
        {-2264.861113.3976.58},
        {-2272.891237.8946.27},
        {-2160.051274.2327.32},
        {-2039.961307.387.62},
        {-1908.191321.767.50},
        {-1792.881378.787.50},
        {-1686.271299.397.50},
        {-1595.231199.527.50},
        {-1584.131065.857.50},
        {-1529.82947.677.50},
        {-1641.08921.1316.97},
        {-1776.48921.1325.12},
        {-1911.54921.0035.71},
        {-2001.63869.9145.75},
        {-1881.63848.8835.50},
        {-1745.98848.8825.18},
        {-1610.50848.898.00},
        {-1540.12782.527.50},
        {-1630.59728.7514.87},
        {-1711.55670.2225.12},
        {-1795.04603.2533.79},
        {-1930.54603.2535.50},
        {-2003.41534.3535.50},
        {-2003.63399.1235.50},
        {-2004.68263.5831.81},
        {-2006.50128.3528.00},
        {-2045.2030.3835.62},
        {-2166.5512.1035.62},
        {-2223.97, -70.0835.62},
        {-2253.7338.5935.62},
        {-2251.50170.3235.62},
        {-2251.50302.3335.62},
        {-2306.47417.1835.50},
        {-2362.24507.3330.00},
        {-2269.28511.5735.51},
        
}


local jobTarget
local jobMarker
local jobVehicle
local maxTarget #Kursytramwaje
function odleglosc()
    local pojazd=getPedOccupiedVehicle(localPlayer)
    if pojazd and getTrainSpeed(pojazd)<-0.9 then
        setTrainSpeed(pojazd,-0.9)
    end
end
    
function finishJob()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    if jobBlip and isElement(jobBlipthen
        destroyElement(jobBlip)
        jobBlip nil
    end
    if jobTarget and isElement(jobTargetthen
        outputChatBox("Ble ble wr?c")
        destroyElement(jobTarget)
        jobTarget 0

    end
if getElementData(localPlayer,"player:jobtram") == code then
setElementData(localPlayer,"player:jobtram",false)
end
triggerServerEvent("destroyVeh"localPlayer)
removeEventHandler("onClientRender",root,odleglosc)
end
addEventHandler "onClientPlayerWasted"getLocalPlayer(),finishJob)
addEvent("finishJob",true)
addEventHandler("finishJob",root,function(plr)
if plr ~= localPlayer then return end
finishJob()
end)


function TramwajeDriver(elmd)
    if el ~= localPlayer or not md then return end
    if jobTarget maxTarget and getPedOccupiedVehicle(elthen return end
    if jobTarget == maxTarget and not getPedOccupiedVehicle(elthen return end
    --local kasapkt math.random(80,120)
    if jobTarget == #Kursytramwaje then
        --[[playSoundFrontEnd(5)
        outputChatBox("* Zako?czy?e?/a? pierwszy kurs!, ruszaj w nast?pny! Otrzyma?e? 250PLN premi")
        kasapkt=kasapkt+250
        jobTarget=0
    end
    showMarker()
    playSoundFrontEnd(12)
    triggerServerEvent("givePlayerMoney"localPlayerkasapkt)
    outputChatBox("Otrzymujesz "..kasapkt.." PLN za dojechanie do celu.")
end--]]
        finishJob()
        playSoundFrontEnd(5)
        outputChatBox("#06B200(&#10004;) #FFFFFFPomy?lnie zako?czono prac?."255,255,255true)
        --triggerEvent"onClientAddNotification"localPlayer"Pomy?lnie zako?czono prac?.""success" )
    else
                local kasa math.random(8000,9000)
                local premka math.random(45000,45000)
        showMarker()
        playSoundFrontEnd(12)
        if getElementData(localPlayer"player:premium"then
        triggerServerEvent("givePlayerMoney"localPlayerpremka)
        outputChatBox("#007aff(&#9432;) #f2ff00[PREMIUM] #FFFFFFOtrzymujesz  #06B200"..premka.." PLN."255,255,255true)
        --triggerEvent"onClientAddNotification"localPlayer"(Premium) Otrzymujesz "..premka.." PLN.""info" )
        else
        triggerServerEvent("givePlayerMoney"localPlayerkasa)
        outputChatBox("#007aff(&#9432;) #FFFFFFOtrzymujesz #06B200"..kasa.." PLN."255,255,255true)
        --triggerEvent"onClientAddNotification"localPlayer"Otrzymujesz "..kasa.." PLN.""info" )
         end
    end
end

function showMarker()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    if jobBlip and isElement(jobBlipthen
        destroyElement(jobBlip)
        jobBlip nil
    end


    jobTarget jobTarget 1
    jobMarker createMarker(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], "corona"425500)
    jobBlip createBlip(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], 41)
    if Kursytramwaje[jobTarget+1then
        ile Kursytramwaje[jobTarget+1]
        ile2 ile[1]
        ile3 ile[2]
        ile4 ile[3]
        setMarkerTarget(jobMarkerile[1], ile[2], ile[3])
    end

    addEventHandler("onClientMarkerHit"jobMarkerTramwajeDriver)
    --addEventHandler("onClientMarkerHit"jobMarkershowNextPoint)
end

addEvent("STARTJobtramwaje"true)
addEventHandler("STARTJobtramwaje"resourceRoot, function(veh)
    outputChatBox("#06B200(&#10004;) #FFFFFFRozpocze?e?/a? prace jako Maszynista, poje?dzij w okolicy."255,255,255true)
    jobVehicle veh
    jobTarget 0
    showMarker()
    addEventHandler("onClientRender",root,odleglosc)
end)

addEventHandler("onClientResourceStop"resourceRoot, function()
    if jobVehicle and getElementData(localPlayer"player:jobtram"then
        setElementData(localPlayer"player:jobtram"false)
    end
end)


addEventHandler("onClientVehicleExit"resourceRoot, function(plrseat)
    if seat == 0 then
        if plr == localPlayer then
            finishJob()
            outputChatBox("#bf0101(&#10006;) #FFFFFFZako?czy?e? prac? jako maszynista."255,255,255true)
            setElementPosition(localPlayer,-2267.62533.9035.02)
        end
    end
end)


server:
local missionText=createElement("text")
setElementData(missionText"name""Rozpocz?cie Pracy Tramwajarza\nZarobek: 45000-65000")
setElementPosition(missionText,  -2275.65521.4035.11)
local zone createColCuboid(-2276.08505.9834.02111111)
local opistrain "YRW Praca Tramwaj :D"

createBlip(-2275.65521.4035.1146,2,0,0,0,0,0,275)

-- local m1 createMarker(-1922.67,573.14,34.45"cylinder"2.2969696)
local tramwaje createMarker(-2275.65521.4035.11-0.9"cylinder"1.525500)
--createBlipAttachedTo(tramwaje46)
vehs = {}
local code "tramwaje"
veh_obj = {}

function removePreviousVehicles(plr)
    for i,v in ipairs(getElementsByType("vehicle"resourceRoot)) do
        local sby getElementData(v"zrespilGracz")
        if sby and sby == plr and getPedOccupiedVehicle(plr) ~= v then
            destroyElement(v)
        end
    end
end


addEventHandler("onMarkerHit"tramwaje, function(elmd)
    if getElementData(el"vehicle_job_owner2"then
        outputChatBox("Wyst?pi? b??d, zg?o? si? do CEO!"el)
        return
    end

    if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(elthen return end
    if getElementData(el,"player:jobtram"then return end
    if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Zajezdnia jest zaj?ta, przez pracownika poczekaj a? wyjedzie!",el) return end
    local x,y,getElementPosition(el)
    local TramwajVEH createVehicle(449, -2266.34512.9335.02, -0.000.0089.42)
    --setElementFrozen(el,true)
    setElementData(el,"tramwajemodel",getElementModel(el))
    setElementModel(el,7)
    setTrainDerailable(TramwajVEHfalse)
    setElementData(TramwajVEH,"vehicle:desc"opistrain)
    setElementData(TramwajVEH"vehicle_job_owner2"el)
    setElementData(TramwajVEH"vehicle:fuel"9000000)
    setVehicleHandling(TramwajVEH"maxVelocity"50.0)
    setElementData(TramwajVEH"vehicle:mileage"math.random(1,100))
    setElementData(el,"player:jobtram",code)
    setTimer(warpPedIntoVehicle,200,1,el,TramwajVEH)
    toggleControl(el,"enter_exit",false)
    setTimer(toggleControl,2000,1,el"enter_exit",true)
    setTimer(setElementFrozen,2000,1,elfalse)
    triggerClientEvent(el"STARTJobtramwaje"resourceRootTramwajVEH)
    vehs[el] = TramwajVEH
 end)
 
addEvent("STOPJobtramwaje"true)
addEventHandler("STOPJobtramwaje"resourceRoot, function()
    local tramwaj getPedOccupiedVehicle(client)
    if tramwaj then
        destroyElement(tramwaj)
    end
end)

addEventHandler("onPlayerVehicleExit",resourceRoot,function()
destroyElement(source)
end)


addEvent("destroyVeh"true)
addEventHandler("destroyVeh"getRootElement(),
function()
     if vehs[clientthen
          if isElement(vehs[client]) then destroyElement(vehs[client]) end
     end
    staryModel=getElementData(client,"tramwajemodel")
    if staryModel then
        setElementModel(client,staryModel)
    end
end)

addEventHandler("onElementDestroy",resourceRoot,function()
  if getElementType(source) == "vehicle" then
    if veh_obj[sourcethen destroyElement(veh_obj[source]); veh_obj[source] = nil end
   end
end)

addEvent("onPlayerQuit"true)
addEventHandler "onPlayerQuit"getRootElement(), function()
     if vehs[sourcethen
          if isElement(vehs[source]) then destroyElement(vehs[source]) end
    end
end)


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 2 piw(a):
SokowiruwkaExe, ReMaGaMe112
Wysłany: 2019-02-09, 14:52


Wilq







Wiek: 24
Na forum: 4428 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Source w evencie "onPlayerVehicleExit" to gracz.
U?ywaj?c tam
destroyElement(source)

chcesz zniszczy? gracza. =/

Musisz wy??czy? ko?czenie si? pracy po stronie klienta kiedy gracz wjedzie w okre?lony marker.

Client:
--[[
Praca tramwaje

]]--
local code "tramwaje"
local Kursytramwaje = {
        {-2264.67525.0835.60},
        {-2264.86554.2335.50},
        {-2264.88597.1639.83},
        {-2264.91652.9249.75},
        {-2264.96721.4449.79},
        {-2264.89802.2949.86},
        {-2264.88894.7366.91},
        {-2264.88998.4279.29},
        {-2264.861113.3976.58},
        {-2272.891237.8946.27},
        {-2160.051274.2327.32},
        {-2039.961307.387.62},
        {-1908.191321.767.50},
        {-1792.881378.787.50},
        {-1686.271299.397.50},
        {-1595.231199.527.50},
        {-1584.131065.857.50},
        {-1529.82947.677.50},
        {-1641.08921.1316.97},
        {-1776.48921.1325.12},
        {-1911.54921.0035.71},
        {-2001.63869.9145.75},
        {-1881.63848.8835.50},
        {-1745.98848.8825.18},
        {-1610.50848.898.00},
        {-1540.12782.527.50},
        {-1630.59728.7514.87},
        {-1711.55670.2225.12},
        {-1795.04603.2533.79},
        {-1930.54603.2535.50},
        {-2003.41534.3535.50},
        {-2003.63399.1235.50},
        {-2004.68263.5831.81},
        {-2006.50128.3528.00},
        {-2045.2030.3835.62},
        {-2166.5512.1035.62},
        {-2223.97, -70.0835.62},
        {-2253.7338.5935.62},
        {-2251.50170.3235.62},
        {-2251.50302.3335.62},
        {-2306.47417.1835.50},
        {-2362.24507.3330.00},
        {-2269.28511.5735.51},
        
}


local jobTarget
local jobMarker
local jobVehicle
local maxTarget #Kursytramwaje
function odleglosc()
    local pojazd=getPedOccupiedVehicle(localPlayer)
    if pojazd and getTrainSpeed(pojazd)<-0.9 then
        setTrainSpeed(pojazd,-0.9)
    end
end
    
function finishJob()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    if jobBlip and isElement(jobBlipthen
        destroyElement(jobBlip)
        jobBlip nil
    end
    if jobTarget and isElement(jobTargetthen
        outputChatBox("Ble ble wr?c")
        destroyElement(jobTarget)
        jobTarget 0
    end
    if getElementData(localPlayer,"player:jobtram") == code then
        setElementData(localPlayer"player:jobtram"false)
    end
    triggerServerEvent("destroyVeh"localPlayer)
    removeEventHandler("onClientRender",root,odleglosc)
    addEventHandler "onClientPlayerWasted"getLocalPlayer(), finishJob)
end

addEvent("finishJob",true)
addEventHandler("finishJob",root,function(plr)
    if plr ~= localPlayer then return end
    finishJob()
end)


function TramwajeDriver(elmd)
    if el ~= localPlayer or not md then return end
    --if jobTarget maxTarget and getPedOccupiedVehicle(elthen return end
    --if jobTarget == maxTarget and not getPedOccupiedVehicle(elthen return end
    --local kasapkt math.random(80,120)
    --if jobTarget == #Kursytramwaje then
        --[[playSoundFrontEnd(5)
        outputChatBox("* Zako?czy?e?/a? pierwszy kurs!, ruszaj w nast?pny! Otrzyma?e? 250PLN premi")
        kasapkt=kasapkt+250
        jobTarget=0
    end
    showMarker()
    playSoundFrontEnd(12)
    triggerServerEvent("givePlayerMoney"localPlayerkasapkt)
    outputChatBox("Otrzymujesz "..kasapkt.." PLN za dojechanie do celu.")
end--]]
        --finishJob()
        --playSoundFrontEnd(5)
        --outputChatBox("#06B200(&#10004;) #FFFFFFPomy?lnie zako?czono prac?."255,255,255true)
        --triggerEvent"onClientAddNotification"localPlayer"Pomy?lnie zako?czono prac?.""success" )
    --else
        local kasa math.random(8000,9000)
        local premka math.random(45000,45000)
        showMarker()
        playSoundFrontEnd(12)
        if getElementData(localPlayer"player:premium"then
            triggerServerEvent("givePlayerMoney"localPlayerpremka)
            outputChatBox("#007aff(&#9432;) #f2ff00[PREMIUM] #FFFFFFOtrzymujesz  #06B200"..premka.." PLN."255,255,255true)
            --triggerEvent"onClientAddNotification"localPlayer"(Premium) Otrzymujesz "..premka.." PLN.""info" )
        else
            triggerServerEvent("givePlayerMoney"localPlayerkasa)
            outputChatBox("#007aff(&#9432;) #FFFFFFOtrzymujesz #06B200"..kasa.." PLN."255,255,255true)
            --triggerEvent"onClientAddNotification"localPlayer"Otrzymujesz "..kasa.." PLN.""info" )
        end
    --end
end

function showMarker()
    if jobMarker and isElement(jobMarkerthen
        destroyElement(jobMarker)
        jobMarker nil
    end
    if jobBlip and isElement(jobBlipthen
        destroyElement(jobBlip)
        jobBlip nil
    end


    jobTarget jobTarget 1
    jobMarker createMarker(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], "corona"425500)
    jobBlip createBlip(Kursytramwaje[jobTarget][1], Kursytramwaje[jobTarget][2], Kursytramwaje[jobTarget][3], 41)
    if Kursytramwaje[jobTarget+1then
        ile Kursytramwaje[jobTarget+1]
        ile2 ile[1]
        ile3 ile[2]
        ile4 ile[3]
        setMarkerTarget(jobMarkerile[1], ile[2], ile[3])
    end

    addEventHandler("onClientMarkerHit"jobMarkerTramwajeDriver)
    --addEventHandler("onClientMarkerHit"jobMarkershowNextPoint)
end

addEvent("STARTJobtramwaje"true)
addEventHandler("STARTJobtramwaje"resourceRoot, function(veh)
    outputChatBox("#06B200(&#10004;) #FFFFFFRozpocze?e?/a? prace jako Maszynista, poje?dzij w okolicy."255,255,255true)
    jobVehicle veh
    jobTarget 0
    showMarker()
    addEventHandler("onClientRender",root,odleglosc)
end)

addEventHandler("onClientResourceStop"resourceRoot, function()
    if jobVehicle and getElementData(localPlayer"player:jobtram"then
        setElementData(localPlayer"player:jobtram"false)
    end
end)


addEventHandler("onClientVehicleExit"resourceRoot, function(plrseat)
    if seat == 0 then
        if plr == localPlayer then
            finishJob()
            outputChatBox("#bf0101(&#10006;) #FFFFFFZako?czy?e? prac? jako maszynista."255,255,255true)
            setElementPosition(localPlayer,-2267.62533.9035.02)
        end
    end
end)


Server:
local missionText=createElement("text")
setElementData(missionText"name""Rozpocz?cie Pracy Tramwajarza\nZarobek: 45000-65000")
setElementPosition(missionText,  -2275.65521.4035.11)
local zone createColCuboid(-2276.08505.9834.02111111)
local opistrain "YRW Praca Tramwaj :D"

createBlip(-2275.65521.4035.1146,2,0,0,0,0,0,275)

-- local m1 createMarker(-1922.67,573.14,34.45"cylinder"2.2969696)
local tramwaje createMarker(-2275.65521.4035.11-0.9"cylinder"1.525500)
--createBlipAttachedTo(tramwaje46)
vehs = {}
local code "tramwaje"
veh_obj = {}

function removePreviousVehicles(plr)
    for i,v in ipairs(getElementsByType("vehicle"resourceRoot)) do
        local sby getElementData(v"zrespilGracz")
        if sby and sby == plr and getPedOccupiedVehicle(plr) ~= v then
            destroyElement(v)
        end
    end
end


addEventHandler("onMarkerHit"tramwaje, function(elmd)
    if getElementData(el"vehicle_job_owner2"then
        outputChatBox("Wyst?pi? b??d, zg?o? si? do CEO!"el)
        return
    end

    if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(elthen return end
    if getElementData(el,"player:jobtram"then return end
    if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Zajezdnia jest zaj?ta, przez pracownika poczekaj a? wyjedzie!",el) return end
    local x,y,getElementPosition(el)
    local TramwajVEH createVehicle(449, -2266.34512.9335.02, -0.000.0089.42)
    --setElementFrozen(el,true)
    setElementData(el,"tramwajemodel",getElementModel(el))
    setElementModel(el,7)
    setTrainDerailable(TramwajVEHfalse)
    setElementData(TramwajVEH,"vehicle:desc"opistrain)
    setElementData(TramwajVEH"vehicle_job_owner2"el)
    setElementData(TramwajVEH"vehicle:fuel"9000000)
    setVehicleHandling(TramwajVEH"maxVelocity"50.0)
    setElementData(TramwajVEH"vehicle:mileage"math.random(1,100))
    setElementData(el,"player:jobtram",code)
    setTimer(warpPedIntoVehicle,200,1,el,TramwajVEH)
    toggleControl(el,"enter_exit",false)
    setTimer(toggleControl,2000,1,el"enter_exit",true)
    setTimer(setElementFrozen,2000,1,elfalse)
    triggerClientEvent(el"STARTJobtramwaje"resourceRootTramwajVEH)
    vehs[el] = TramwajVEH
 end)
 
addEvent("STOPJobtramwaje"true)
addEventHandler("STOPJobtramwaje"getResourceRootElement(), function()
    local tramwaj getPedOccupiedVehicle(client)
    if tramwaj then
        destroyElement(tramwaj)
    end
end)

addEventHandler("onPlayerVehicleExit"getResourceRootElement(), function(vehicleseat)
    if seat == 0 then
        destroyElement(vehicle)
    end
end)


addEvent("destroyVeh"true)
addEventHandler("destroyVeh"getRootElement(),
function()
    if vehs[clientthen
      if isElement(vehs[client]) then destroyElement(vehs[client]) end
    end
    staryModel=getElementData(client,"tramwajemodel")
    if staryModel then
        setElementModel(client,staryModel)
    end
end)

addEventHandler("onElementDestroy",resourceRoot,function()
  if getElementType(source) == "vehicle" then
    if veh_obj[sourcethen destroyElement(veh_obj[source]); veh_obj[source] = nil end
   end
end)

addEvent("onPlayerQuit"true)
addEventHandler "onPlayerQuit"getRootElement(), function()
     if vehs[sourcethen
          if isElement(vehs[source]) then destroyElement(vehs[source]) end
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-09, 15:01


DaVeCS

Mapper






Wiek: 31
Na forum: 3386 dni
Posty: 193
Nick w MP: DaVe

Piwa: 59

Respekt: 70,5

To co wys?a?e? dzia?a lecz chcia?bym aby po przejechaniu trasa si? rozpocz??a od nowa i tak do czasu a? gracz nie wysi?dzie.

Wilq, M?g?by? powiedzie? jak to zrobi??

[ Dodano: 2019-02-09, 16:20 ]
Sam ju? ogarn??em. Do zamkni?cia :D

Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-02-09, 21:58


Adis.exe

LUA Developer






Wiek: 23
Na forum: 3498 dni
Posty: 292
Nick w MP: Adiś.exe

Piwa: 997

Respekt: 110,3
Respekt: 110,3

[clo]

Podpis

KONTAKT:
GG: 60968224
Discord: Adiś.exe#3828

Użytkownik: 05.11.2016
GTAO Member: 20.02.2019
Support-Team: 25.07.2018
Support-Team: 19.01.2019
Test Mod: 08.02.2019

Postaw piwo autorowi tego posta
 

 
Tagi: praca :: tramwaj
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