B??d raczej stoi po evencie, kt?ry wywo?ujesz w funkcji, w kt?rej klikasz button rozpocz?cia pracy - poniewa? w wywo?aniu eventu masz dwa parametry: localPlayer odnosi si? do gracza po client-side, a nast?pnie true - czego si? to tyczy?
Jak resetuje skrypt to w db3 jest tylko to:
https://i.imgur.com/FxHZI9S.png
Jak klikam w rozpocznij prace w db 3 nic si? nie pokazuje.
Strona serwera wygl?da tak:
createBlip (2546.34668, 1972.65405, 10.82031)
local m1 = createMarker(2546.34668, 1972.65405, 10.82031-.9, "cylinder", 2.0, 96, 96, 96)
local vehs = {}
local code = "Autobusy"
local zone = createColCuboid(2546.34668, 1972.65405, 10.82031, 8.710205078125, 25.461059570313, 4.6140350341797)
local linie = {2,4,8}
--addEventHandler("onMarkerHit", m1, function(el, md)
--if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(el) then return end
if getElementData(el,"player:job") then return end
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Parking zaj?ty czekaj a? wyjedzie!",el) return end
local x,y,z = getElementPosition(el)
local autbus = createVehicle(431,2547.53467, 1968.14246, 10.82031, 0, 0, 90)
setElementFrozen(el,true)
local linia = math.random(1,#linie)
setElementData(autbus, "vehicle:linia",linie[linia])
setElementData(autbus, "vehicle_job_owner", el)
setElementData(autbus, "vehicle:fuel", 100000)
setElementData(autbus, "vehicle:mileage", math.random(50000,80000))
setVehicleHandling(autbus, "maxVelocity", 80.0)
setElementData(el,"player:job",code)
setTimer(warpPedIntoVehicle,2000,1,el, autbus)
setTimer(setElementFrozen,2000,1,el, false)
triggerClientEvent(el, "STARTJobBus", resourceRoot, autbus,linie[linia])
vehs[el] = autbus
end)
addEvent("STOPJobBus", true)
addEventHandler("STOPJobBus", resourceRoot, function()
local pojazd = getPedOccupiedVehicle(localPlayer)
if pojazd then
destroyElement(pojazd)
end
end)
addEvent("destroyVeh", true)
addEventHandler("destroyVeh", getRootElement(),
function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
addEvent("onPlayerQuit", true)
addEventHandler ( "onPlayerQuit", getRootElement(), function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
addEventHandler("onMarkerHit", m1, function(el, md)
if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(el) then return end
if getElementData(el,"player:job") then return end
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Parking zaj?ty czekaj a? wyjedzie!",el) return end
local x,y,z = getElementPosition(el)
local autbus = createVehicle(431,2547.53467, 1968.14246, 10.82031, 0, 0, 90)
setElementFrozen(el,true)
local linia = math.random(1,#linie)
setElementData(autbus, "vehicle:linia",linie[linia])
setElementData(autbus, "vehicle_job_owner", el)
setElementData(autbus, "vehicle:fuel", 100000)
setElementData(autbus, "vehicle:mileage", math.random(50000,80000))
setVehicleHandling(autbus, "maxVelocity", 80.0)
setElementData(el,"player:job",code)
setTimer(warpPedIntoVehicle,2000,1,el, autbus)
setTimer(setElementFrozen,2000,1,el, false)
triggerClientEvent(el, "STARTJobBus", resourceRoot, autbus,linie[linia])
vehs[el] = autbus
end)
Powinno by? dobrze.
[ Dodano: 2017-12-30, 09:53 ]
A z tym kodem b?dzie chyba tak
function rozpocznij()
if source ~= GUIEditor.button[1] then return end
triggerServerEvent("STARTJobBus", localPlayer, true)
end
GUIEditor = {
button = {},
window = {},
staticimage = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
function()
local screenW, screenH = guiGetScreenSize()
GUIEditor.window[1] = guiCreateWindow((screenW - 410) / 2, (screenH - 417) / 2, 410, 417, "Praca kierowcy autobusu", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 0.66)
GUIEditor.button[1] = guiCreateButton(10, 41, 188, 41, "Rozpocznij Prace", false, GUIEditor.window[1])
GUIEditor.button[2] = guiCreateButton(215, 41, 185, 41, "Zamknij Panel", false, GUIEditor.window[1])
GUIEditor.staticimage[1] = guiCreateStaticImage(9, 87, 391, 320, ":img/logo.png", false, GUIEditor.window[1])
end
)
addEventHandler("onClientResourceStart",resourceRoot,
function()
guiSetVisible(GUIEditor.window[1],false)
end
)
local m1 = createMarker(2546.34668, 1972.65405, 10.82031-.9, "cylinder", 2.0, 96, 96, 96)
function Poka(hit, el, md)
if not el or md then return end
getPedOccupiedVehicle(hit)
if hit ~= localPlayer then return end
guiSetVisible( GUIEditor.window[1], true)
showCursor(true)
end
addEventHandler("onClientMarkerHit", m1, Poka)
function Zamknij()
if source~=GUIEditor.button[2] then return end
guiSetVisible( GUIEditor.window[1], false)
showCursor(false)
end
addEventHandler ( "onClientGUIClick", root, Zamknij)
function Daj_Prace()
if source~=GUIEditor.button[1] then return end
triggerServerEvent("rozpocznij", localPlayer, localPlayer)
guiSetVisible( GUIEditor.window[1], false)
showCursor(false)
end
addEventHandler ( "onClientGUIClick", root, Daj_Prace)
Strona server
createBlip (2546.34668, 1972.65405, 10.82031)
local code = "Autobusy"
local zone = createColCuboid(2546.34668, 1972.65405, 10.82031, 8.710205078125, 25.461059570313, 4.6140350341797)
local linie = {2,4,8}
addEvent("rozpocznij", true)
addEventHandler("rozpocznij", root, function(l)
local vehs = {}
if getElementData(el,"player:job") then return end
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Parking zaj?ty czekaj a? wyjedzie!",el) return end
local x,y,z = getElementPosition(el)
local autbus = createVehicle(431,2547.53467, 1968.14246, 10.82031, 0, 0, 90)
warpPedIntoVehicle(client, autbus)
setElementFrozen(el,true)
local linia = math.random(1,#linie)
setElementData(autbus, "vehicle:linia",linie[linia])
setElementData(autbus, "vehicle_job_owner", el)
setElementData(autbus, "vehicle:fuel", 100000)
setElementData(autbus, "vehicle:mileage", math.random(50000,80000))
setVehicleHandling(autbus, "maxVelocity", 80.0)
setElementData(el,"player:job",code)
triggerClientEvent(el, "STARTJobBus", resourceRoot, autbus,linie[linia])
vehs[el] = autbus
end)
addEvent("STOPJobBus", true)
addEventHandler("STOPJobBus", resourceRoot, function()
local pojazd = getPedOccupiedVehicle(localPlayer)
if pojazd then
destroyElement(pojazd)
end
end)
addEvent("destroyVeh", true)
addEventHandler("destroyVeh", getRootElement(),
function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
addEvent("onPlayerQuit", true)
addEventHandler ( "onPlayerQuit", getRootElement(), function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
GUIEditor = {
button = {},
window = {},
staticimage = {}
}
addEventHandler("onClientResourceStart", resourceRoot,
function()
local screenW, screenH = guiGetScreenSize()
GUIEditor.window[1] = guiCreateWindow((screenW - 410) / 2, (screenH - 417) / 2, 410, 417, "Praca kierowcy autobusu", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 0.66)
GUIEditor.button[1] = guiCreateButton(10, 41, 188, 41, "Rozpocznij Prace", false, GUIEditor.window[1])
GUIEditor.button[2] = guiCreateButton(215, 41, 185, 41, "Zamknij Panel", false, GUIEditor.window[1])
GUIEditor.staticimage[1] = guiCreateStaticImage(9, 87, 391, 320, ":img/logo.png", false, GUIEditor.window[1])
end
)
addEventHandler("onClientResourceStart",resourceRoot,
function()
guiSetVisible(GUIEditor.window[1],false)
end
)
local m1 = createMarker(2546.34668, 1972.65405, 10.82031-.9, "cylinder", 2.0, 96, 96, 96)
function Poka(hit, el, md)
if not el or md then return end
getPedOccupiedVehicle(hit)
if hit ~= localPlayer then return end
guiSetVisible( GUIEditor.window[1], true)
showCursor(true)
end
addEventHandler("onClientMarkerHit", m1, Poka)
function Zamknij()
if source~=GUIEditor.button[2] then return end
guiSetVisible( GUIEditor.window[1], false)
showCursor(false)
end
addEventHandler ( "onClientGUIClick", root, Zamknij)
function Daj_Prace()
if source~=GUIEditor.button[1] then return end
triggerServerEvent("rozpocznij", localPlayer, localPlayer)
guiSetVisible( GUIEditor.window[1], false)
showCursor(false)
end
addEventHandler ( "onClientGUIClick", root, Daj_Prace)
----------------------------------------------------------------------
local code = "Autobusy"
local districtsBus = {
[2] = {
{1181.87, -1755.09, 13.13, 359.97, 0.00, 359.29},
},
[4] = {
{1182.00, -1727.20, 13.95, 0.13, 2.62, 359.79},
},
[8] = {
{1182.32, -1723.26, 14.00, 0.31, 2.44, 356.33},
{1285.15, -1714.45, 13.89, 358.86, 357.91, 261.59},
},
[12] = {
{1182.29, -1727.03, 13.94, 0.00, 0.00, 356.78},
{1152.00, -1585.99, 13.94, 0.00, 0.00, 359.99},
},
}
local jobTarget
local jobMarker
local jobVehicle
local linia = 2 -- 2 jest domyslna
function finishJob()
if jobMarker and isElement(jobMarker) then
destroyElement(jobMarker)
jobMarker = nil
end
if jobTarget and isElement(jobTarget) then
destroyElement(jobTarget)
jobTarget = nil
jobTarget = 0
end
if getElementData(localPlayer,"player:job") == code then
setElementData(localPlayer,"player:job",false)
end
triggerServerEvent("destroyVeh", localPlayer)
end
addEventHandler ( "onClientPlayerWasted", getLocalPlayer(),finishJob)
addEvent("finishJob",true)
addEventHandler("finishJob",root,function(plr)
if plr ~= localPlayer then return end
finishJob()
end)
function busDriver(el, md)
if el ~= localPlayer or not md then return end
local maxTarget = #districtsBus[linia]
if jobTarget > maxTarget and getPedOccupiedVehicle(el) then return end
if jobTarget == maxTarget and not getPedOccupiedVehicle(el) then return end
if jobTarget == #districtsBus[linia] then
finishJob()
playSoundFrontEnd(5)
outputChatBox("* Zako?czy?e?/a? prac?.")
else
showMarker()
playSoundFrontEnd(12)
local los=math.random(36,72)
triggerServerEvent("givePlayerMoney", localPlayer, los, 0)
outputChatBox("Za dojazd otrzymujesz "..los.." PLN")
end
end
function showMarker()
if jobMarker and isElement(jobMarker) then
destroyElement(jobMarker)
jobMarker = nil
end
jobTarget = jobTarget + 1
jobMarker = createMarker(districtsBus[linia][jobTarget][1], districtsBus[linia][jobTarget][2], districtsBus[linia][jobTarget][3], "checkpoint", 4, 0, 255, 255)
if districtsBus[linia][jobTarget+1] then
ile = districtsBus[linia][jobTarget+1]
setMarkerTarget(jobMarker, ile[1], ile[2], ile[3])
end
addEventHandler("onClientMarkerHit", jobMarker, busDriver)
end
addEvent("STARTJobBus", true)
addEventHandler("STARTJobBus", resourceRoot, function(veh,liniar)
outputChatBox("* Rozpocz??e?/a? prac?.")
jobVehicle = veh
jobTarget = 0
linia = liniar
showMarker()
end)
addEventHandler("onClientResourceStop", resourceRoot, function()
if jobVehicle and getElementData(localPlayer, "player:job") == code then
setElementData(localPlayer, "player:job", false)
end
end)
addEventHandler("onClientVehicleExit", resourceRoot, function(plr, seat)
if seat == 0 then
if plr == localPlayer then
finishJob()
outputChatBox("Zako?czy?e? prac?")
end
end
end)
addEventHandler("onClientVehicleEnter", resourceRoot, function(plr, seat)
if plr == localPlayer then
local linia = getElementData(source, "vehicle:linia")
if not linia then return end
playSound(dzwieki[linia])
end
end)
addEventHandler("onClientElementStreamIn",resourceRoot,function()
if getElementType(source) ~= "vehicle" then return end
local veh = source
local linia = getElementData(veh, "vehicle:linia")
if not linia then return end
engineApplyShaderToWorldTexture(shadery[linia], "dx4-route", veh)
end)
addEventHandler("onClientElementStreamOut",resourceRoot,function()
if getElementType(source) ~= "vehicle" then return end
local veh = source
local linia = getElementData(veh, "vehicle:linia")
if not linia then return end
engineRemoveShaderFromWorldTexture(shadery[linia], "dx4-route", veh)
end)
addEventHandler ( "onClientElementDataChange", resourceRoot,
function ( dataName )
if getElementType ( source ) == "vehicle" and dataName == "vehicle:linia" then
local linia = getElementData(source, "vehicle:linia")
if not linia then return end
engineApplyShaderToWorldTexture(shadery[linia], "dx4-route", source)
end
end)
serwer
CreateBlip (2546.34668, 1972.65405, 10.82031)
local code = "Autobusy"
local zone = createColCuboid(2546.34668, 1972.65405, 10.82031, 8.710205078125, 25.461059570313, 4.6140350341797)
local linie = {2,4,8}
addEvent("rozpocznij", true)
addEventHandler("rozpocznij", root, function(l)
local vehs = {}
if getElementData(el,"player:job") then return end
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("*Parking zaj?ty czekaj a? wyjedzie!",el) return end
local x,y,z = getElementPosition(el)
local autbus = createVehicle(431,2547.53467, 1968.14246, 10.82031, 0, 0, 90)
warpPedIntoVehicle(client, autbus)
setElementFrozen(el,true)
local linia = math.random(1,#linie)
setElementData(autbus, "vehicle:linia",linie[linia])
setElementData(autbus, "vehicle_job_owner", el)
setElementData(autbus, "vehicle:fuel", 100000)
setElementData(autbus, "vehicle:mileage", math.random(50000,80000))
setVehicleHandling(autbus, "maxVelocity", 80.0)
setElementData(el,"player:job",code)
triggerClientEvent(el, "STARTJobBus", resourceRoot, autbus,linie[linia])
vehs[el] = autbus
end)
addEvent("STOPJobBus", true)
addEventHandler("STOPJobBus", resourceRoot, function()
local pojazd = getPedOccupiedVehicle(localPlayer)
if pojazd then
destroyElement(pojazd)
end
end)
addEvent("destroyVeh", true)
addEventHandler("destroyVeh", getRootElement(),
function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
addEvent("onPlayerQuit", true)
addEventHandler ( "onPlayerQuit", getRootElement(), function()
if vehs[source] then
if isElement(vehs[source]) then destroyElement(vehs[source]) end
end
end)
[ Dodano: 2017-12-30, 10:36 ]
Dobra marker dzia??, m?j b??d ale przycisk dalej nie dzia?a:
db3
https://i.imgur.com/JQPzFrB.png
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