Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local monitorSize = {guiGetScreenSize()}
- local panelSize = {500, 300}
- local panelPos_x, panelPos_y = monitorSize[1]/2-panelSize[1]/2, monitorSize[2]/2-panelSize[2]/2
- local jobPed = {}
- local job_Font = dxCreateFont("files/font.TTF", 9)
- local job_Font2 = dxCreateFont("files/font.TTF", 10)
- local job_PedPos = {
- {113, 381.44741821289, 174.26916503906, 1008.3828125, "George"},
- -- {2, 2035.3885498047, -2448.5388183594, 13.611819267273, "PentiX egy köcsög buzi aki kitörölte a városháza mappot...."},
- }
- local startTick = getTickCount()
- local progress = ""
- local elements = ""
- local jobs_Table = { -- Munak neve, Munak leírása, Kép neve, munka ID
- {"Járműszállító", "Vadonatúj gépjárműveket kell leszállítanod az üzletekbe.", "vehicletransport", 1},
- {"Pizzafutár", "Szállítsd ki a frissen sült pizzát Los Santos lakosai számára.", "pizza", 2},
- --{"Árufeltöltő", "Dokkokból új alkatrészeket kell szállítanod a megrendelőknek.", "Boxicon", 3},
- --{"Buszsofőr", "A személyszállítás közúti ágazatában kell tevékenykedned, mint buszvezető.", "Boxicon", 4},
- {"Csomagszállító", "Csomagokat kell kiszállítanod megadott címekre.", "csomagszallito", 5},
- {"Favágó", "Fákat kell kivágni és eljuttatni a fatelepre.", "forest", 6},
- }
- local maxElem = 3
- local nextPage = 0
- local show = false
- function createPeds()
- for index,value in ipairs (job_PedPos) do
- if isElement(jobPed[index]) then destroyElement(jobPed[index]) end
- jobPed[index] = createPed(value[1], value[2], value[3], value[4])
- setPedRotation(jobPed[index], 260)
- setElementInterior(jobPed[index], 3)
- setElementDimension(jobPed[index], 3)
- setElementFrozen(jobPed[index], true)
- jobPed[index]:setData("ped:job", true)
- jobPed[index]:setData("ped:name",value[5])
- jobPed[index]:setData("name:tags", "Munkáltató")
- --createBlip(value[2], value[3], value[4], 62)
- --setPedAnimation ( jobPed[index], "INT_OFFICE", "OFF_Sit_Idle_Loop", -1, true, false, false )
- end
- end
- addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), createPeds)
- createPeds()
- addEventHandler ( "onClientPedDamage", getRootElement(),
- function ()
- if getElementData(source,"ped:job") then
- cancelEvent ()
- end
- end
- )
- addEventHandler("onClientClick", root, function (button, state, x, y, elementx, elementy, elementz, element)
- if element and element:getData("ped:job") and not show then
- if state == "down" and button == "left" then
- local x, y, z = getElementPosition(getLocalPlayer())
- if getDistanceBetweenPoints3D(x, y, z, elementx, elementy, elementz) <= 5 then
- startTick = getTickCount()
- progress = "OutBack"
- removeEventHandler("onClientRender", root, createPanel)
- addEventHandler("onClientRender", root, createPanel)
- removeEventHandler("onClientKey",root,keyControl)
- addEventHandler("onClientKey",root,keyControl)
- show = true
- elements = element
- end
- end
- elseif state == "down" and button == "left" and show then
- elem = 0
- for index, value in ipairs (jobs_Table) do
- if (index > nextPage and elem < maxElem) then
- elem = elem + 1
- if dobozbaVan(panelAnimX+10+480-110, panelPos_y-50+40+elem*(65), 100, 30, x, y) then
- if jobs_Table[tonumber(index)][4] == localPlayer:getData("char:job") then
- destroyPlayerJob(jobs_Table[tonumber(index)][4])
- localPlayer:setData("char:job", 0)
- outputChatBox("#00aeef[Munka]: #ffffffSikeresen leadtad a #00aeef"..jobs_Table[tonumber(index)][1].. "#ffffff munkát.", 255, 255, 255, true)
- elseif jobs_Table[tonumber(index)][4] ~= localPlayer:getData("char:job") and localPlayer:getData("char:job") == 0 then
- localPlayer:setData("char:job", jobs_Table[tonumber(index)][4])
- startPlayerJob(jobs_Table[tonumber(index)][4])
- outputChatBox("#00aeef[Munka]: #ffffffSikeresen felvetted a #00aeef"..jobs_Table[tonumber(index)][1].. "#ffffff munkát.", 255, 255, 255, true)
- else
- outputChatBox("#dc143c[Hiba]: #ffffffNeked már van munkád.", 255, 255, 255, true)
- end
- currentjob = jobs_Table[tonumber(index)][4]
- end
- end
- end
- triggerServerEvent("updateJobToServer", localPlayer, currentjob)
- end
- end)
- function createPanel()
- local jX, jY, jZ = getElementPosition(getLocalPlayer())
- local bX, bY, bZ = getElementPosition(elements)
- if (getDistanceBetweenPoints3D(jX, jY, jZ, bX, bY, bZ) > 5 ) then removeEventHandler("onClientRender", root, createPanel) removeEventHandler("onClientKey",root,keyControl) show = false return end
- Time = (getTickCount() - startTick) / 1800
- panelAnimX = interpolateBetween(0-panelSize[1],0,0,panelPos_x,0,0,Time,progress)
- dxDrawRectangle(panelAnimX, panelPos_y, panelSize[1], panelSize[2], tocolor(0, 0, 0, 170))
- dxDrawRectangle(panelAnimX, panelPos_y, panelSize[1], 25, tocolor(0, 0, 0, 230))
- dxDrawRectangle(panelAnimX, panelPos_y+panelSize[2]-25, panelSize[1], 25, tocolor(0, 0, 0, 230))
- dxDrawText("A panel bezárásához nyomd meg a #D24D57'backspace'#ffffff gombot. Görgess a további munkákért.", panelAnimX+5, panelPos_y+panelSize[2]-20, panelSize[1], 0, tocolor(255, 255, 255, 255), 1, job_Font, "left", "top", false, false, false, true)
- dxDrawText("ExtendGaming - #00aeef Munka panel", panelAnimX+5, panelPos_y+5, panelSize[1], 0, tocolor(255, 255, 255, 255), 1, job_Font, "left", "top", false, false, false, true)
- local elem = 0
- for index, value in ipairs (jobs_Table) do
- if (index > nextPage and elem < maxElem) then
- elem = elem + 1
- local text = ""
- local r, g, b = 0, 174, 235
- if value[4] == localPlayer:getData("char:job") then
- text = "Felmondás"
- r, g, b = 210, 77, 87
- else
- text = "Felvétel"
- r, g, b = 0, 174, 235
- end
- dxDrawRectangle(panelAnimX+10, panelPos_y-65+40+elem*(65), panelSize[1]-20, 60, tocolor(0, 0, 0, 170))
- dxDrawImage(panelAnimX+15, panelPos_y-60+40+elem*(65), 50, 50, "files/job_images/"..value[3]..".png",tocolor(255, 255, 255, 255))
- dxDrawText(value[1], panelAnimX+10+480/2, panelPos_y-60+40+elem*(65), panelAnimX+10+480/2, 0, tocolor(255, 255, 255, 255), 1, job_Font, "center", "top", false, false, false, true)
- dxDrawText(value[2], panelAnimX+10+60, panelPos_y-45+40+elem*(65), 0, 0, tocolor(255, 255, 255, 255), 1, job_Font, "left", "top", false, false, false, true)
- if isInSlot(panelAnimX+10+480-110, panelPos_y-50+40+elem*(65), 100, 30) then
- dxDrawRectangle(panelAnimX+10+480-110, panelPos_y-50+40+elem*(65), 100, 30, tocolor(r, g, b, 230))
- dxDrawText(text, panelAnimX+10+480-110+100/2, panelPos_y-50+40+elem*(65)+30/2, panelAnimX+10+480-110+100/2, panelPos_y-50+40+elem*(65)+30/2, tocolor(0, 0, 0, 255), 1, job_Font2, "center", "center", false, false, false, true)
- else
- dxDrawRectangle(panelAnimX+10+480-110, panelPos_y-50+40+elem*(65), 100, 30, tocolor(0, 0, 0, 230))
- dxDrawText(text, panelAnimX+10+480-110+100/2, panelPos_y-50+40+elem*(65)+30/2, panelAnimX+10+480-110+100/2, panelPos_y-50+40+elem*(65)+30/2, tocolor(255, 255, 255, 255), 1, job_Font2, "center", "center", false, false, false, true)
- end
- end
- end
- end
- function keyControl(k, s)
- if k == "mouse_wheel_up" then
- if(nextPage>0)then
- nextPage = nextPage - 1
- end
- elseif k == "mouse_wheel_down" then
- nextPage = nextPage + 1
- if(nextPage > #jobs_Table-maxElem)then
- nextPage = #jobs_Table-maxElem
- end
- elseif k == "backspace" then
- removeEventHandler("onClientRender", root, createPanel)
- removeEventHandler("onClientKey",root,keyControl)
- show = false
- end
- end
- function isInSlot(xS,yS,wS,hS)
- if(isCursorShowing()) then
- XY = {guiGetScreenSize()}
- local cursorX, cursorY = getCursorPosition()
- cursorX, cursorY = cursorX*XY[1], cursorY*XY[2]
- if(dobozbaVan(xS,yS,wS,hS, cursorX, cursorY)) then
- return true
- else
- return false
- end
- end
- end
- function dobozbaVan(dX, dY, dSZ, dM, eX, eY)
- if(eX >= dX and eX <= dX+dSZ and eY >= dY and eY <= dY+dM) then
- return true
- else
- return false
- end
- end
- function startPlayerJob(ID)
- if not localPlayer then return end
- --outputChatBox(ID)
- if (tonumber(ID) == 1) then
- startTransportJob()
- elseif (tonumber(ID) == 2) then
- startJob()
- elseif (tonumber(ID) == 3) then
- createMarkerToJob()
- elseif (tonumber(ID) == 6) then
- createMarkerFunction()
- end
- end
- function destroyPlayerJob(ID)
- if not localPlayer then return end
- if (tonumber(ID) == 1) then
- destroyTransportJob()
- elseif (tonumber(ID) == 2) then
- destroyJob()
- elseif (tonumber(ID) == 3) then
- destroyStorageBox()
- elseif (tonumber(ID) == 6) then
- destroyMarkerFunction()
- end
- end
- function munkaSpawn()
- local Loggedin = getElementData(localPlayer, "loggedin")
- if (Loggedin) then
- jelenlegiMunka = tonumber(localPlayer:getData("char:job"))
- if (jelenlegiMunka == 1) then -- Járműszállító
- startTransportJob()
- else
- destroyTransportJob()
- end
- if (jelenlegiMunka == 2) then -- Pizza
- startJob()
- else
- destroyJob()
- end
- if (jelenlegiMunka == 3) then -- Árufeltöltő
- createMarkerToJob()
- else
- destroyStorageBox()
- end
- if (jelenlegiMunka == 6) then -- Favágó
- createMarkerFunction()
- else
- destroyMarkerFunction()
- end
- end
- end
- addEventHandler ( "onClientElementDataChange", getRootElement(),
- function ( dataName )
- if getElementType ( source ) == "player" and dataName == "char:job" then
- if getElementData(source,dataName) == 1 then
- startTransportJob()
- else
- destroyTransportJob()
- end
- if getElementData(source,dataName) == 2 then
- startJob()
- else
- destroyJob()
- end
- if getElementData(source,dataName) == 3 then
- createMarkerToJob()
- else
- destroyStorageBox()
- end
- if getElementData(source,dataName) == 6 then
- createMarkerToJob()
- else
- destroyMarkerFunction()
- end
- end
- end )
- addEventHandler("onClientPlayerSpawn", localPlayer,
- function()
- setTimer(munkaSpawn, 1000, 1)
- end
- )
- addEventHandler( "onClientResourceStart", getRootElement( ),
- function ( resource )
- if (resource ~= getThisResource()) then return end
- setTimer(munkaSpawn, 1000, 1)
- end
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement