ITrex Posted June 16, 2014 Share Posted June 16, 2014 Van ez a Job Systemem, és a 247. sorban hibát ír ki, itt a hibaüzenet, de nem tudom mit takarhat, mi lehet a baja? wEmployment, jobList, bAcceptJob, bCancel, helye = nil wPedRightClick = nil bTalkToPed, bClosePedMenu = nil ax, ay = nil closing = nil sent=false -- local jessie = createPed( 141, 359.7158203125, 173.5419921875, 1008.3893432617) -- setPedRotation( jessie, -90 ) -- setElementDimension( jessie, 5 ) -- setElementInterior( jessie , 3 ) -- setElementData( jessie, "talk", 1, false ) -- setElementData( jessie, "name", "Jessie Smith", false ) -- setPedAnimation ( jessie, "ped", "SEAT_idle", -1, true, false, false ) -- setElementFrozen(jessie, true) -- lv vh -- createBlip(2446.7998046875, 2376.1591796875, 12.163499832153, 41, 2, 255, 0, 0, 255, 0, 300) -- local jessiekurva = createPed( 141, 359.7158203125, 173.5419921875, 1008.3893432617) -- setPedRotation( jessiekurva, -90 ) -- setElementDimension( jessiekurva, 11 ) -- setElementInterior( jessiekurva , 3 ) -- setElementData( jessiekurva, "talk", 1, false ) -- setElementData( jessiekurva, "name", "Jessie Smith", false ) -- setPedAnimation ( jessiekurva, "ped", "SEAT_idle", -1, true, false, false ) -- setElementFrozen(jessiekurva, true) -- local jessiekurva = createPed( 141, 359.7158203125, 173.5419921875, 1008.3893432617) -- setPedRotation( jessiekurva, -90 ) -- setElementDimension( jessiekurva, 11 ) -- setElementInterior( jessiekurva , 3 ) -- setElementData( jessiekurva, "talk", 1, false ) -- setElementData( jessiekurva, "name", "Jessie Smith", false ) -- setPedAnimation ( jessiekurva, "ped", "SEAT_idle", -1, true, false, false ) -- setElementFrozen(jessiekurva, true) function makeJobPed(name, job, x, y, z, r, dim, int) ped = createPed( 141, x,y,z) setPedRotation( ped, r ) setElementDimension( ped, dim ) setElementInterior( ped , int ) setElementData( ped, "munkatype", job ) setElementData( ped, "munka", 1 ) setElementData( ped, "name", name ) setElementFrozen(ped, true) end -- ls makeJobPed("Julia Richardson", "aruszallito", -2029.0400390625, -102.025390625, 35.1640625, 0, 0, 0) makeJobPed("Linette Melanie", "uttisztito1", -2096.140625, -757.4306640625, 32.171875, 90, 0, 0) makeJobPed("Fay Elizabeth", "kulcsmasolo", 2138.6513671875, -1635.140625, 389.73281860352, 348, 5, 1) makeJobPed("Clover Adriana", "epitesz", 2127.251953125, -1635.0322265625, 389.73281860352, 351, 5, 1) makeJobPed("Alice Rose", "posta", 1878.3876953125, -2456.33984375, 13.579086303711, 90, 23, 1) makeJobPed("Alice Clover", "busz", 359.7138671875, 173.609375, 1008.3893432617, 270, 180, 3) makeJobPed("Alice Cover", "sfbusz", 359.7138671875, 173.70703125, 1008.3893432617, 270, 1109, 3) makeJobPed("Jessica Rowman", "lv", 359.7138671875, 173.609375, 1008.3893432617, 270, 11, 3) makeJobPed("Jessica Adrienn", "csomagszallito", 2479, -1668, 13.5, 0, 0, 0) makeJobPed("Clover Adrienn", "pizza", 373.525390625, -117.2734375, 1001.4995117188, 177, 437, 5) --sf makeJobPed("Jessica Adrienn", "sf", -1147.169921875, 332.32421875, 14.260937690735, 90, 1065, 1) makeJobPed("Julia Sylvester", "kukas", 2481, -1669, 13.5, 0, 0, 0) function showEmploymentWindow(munka) triggerServerEvent("onEmploymentServer", getLocalPlayer()) local width, height = 300, 400 local scrWidth, scrHeight = guiGetScreenSize() local x = scrWidth/2 - (width/2) local y = scrHeight/2 - (height/2) wEmployment = guiCreateWindow(x, y, width, height, "Állás igénylés", false) jobList = guiCreateGridList(0.05, 0.05, 0.9, 0.8, true, wEmployment) local column = guiGridListAddColumn(jobList, "Állás neve", 0.6) local helye = guiGridListAddColumn(jobList, "Helye", 0.3) if munka == "aruszallito" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Áruszállító", false, false) guiGridListSetItemText(jobList, row, helye, "San Fierro", false, false) elseif munka == "uttisztito1" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Úttisztító 1", false, false) guiGridListSetItemText(jobList, row, helye, "San Fierro", false, false) elseif munka == "busz" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Busz sofőr", false, false) guiGridListSetItemText(jobList, row, helye, "Los Santos", false, false) elseif munka == "sfbusz" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Busz vezető", false, false) guiGridListSetItemText(jobList, row, helye, "San Fierro", false, false) elseif munka == "posta" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Postás", false, false) guiGridListSetItemText(jobList, row, helye, "Los Santos", false, false) elseif munka == "kulcsmasolo" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Kulcsmásoló", false, false) guiGridListSetItemText(jobList, row, helye, "LS/LV/SF", false, false) elseif munka == "epitesz" then -- kész local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Építész", false, false) guiGridListSetItemText(jobList, row, helye, "LS/LV/SF", false, false) elseif munka == "csomagszallito" then local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Csomagszállító", false, false) guiGridListSetItemText(jobList, row, helye, "Las Venturas", false, false) elseif munka == "uttisztito2" then local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Úttisztító 2", false, false) guiGridListSetItemText(jobList, row, helye, "Las Venturas", false, false) elseif munka == "pizza" then local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Pizza futár", false, false) guiGridListSetItemText(jobList, row, helye, "Las Venturas", false, false) elseif munka == "kukas" then local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Kukás", false, false) guiGridListSetItemText(jobList, row, helye, "San Fierro", false, false) elseif munka == "lv" or munka == "sf" then local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Építész", false, false) guiGridListSetItemText(jobList, row, helye, "LS/LV/SF", false, false) local row = guiGridListAddRow(jobList) guiGridListSetItemText(jobList, row, column, "Kulcsmásoló", false, false) guiGridListSetItemText(jobList, row, helye, "LS/LV/SF", false, false) end -- local frakcio = getElementData(localPlayer, "faction") -- if(frakcio == 52) then -- local row = guiGridListAddRow(jobList) -- guiGridListSetItemText(jobList, row, column, "Szerelő - Frakcióval!", false, false) -- end bAcceptJob = guiCreateButton(0.05, 0.85, 0.45, 0.1, "Kérvény benyújtása", true, wEmployment) bCancel = guiCreateButton(0.5, 0.85, 0.45, 0.1, "Mégse", true, wEmployment) showCursor(true) addEventHandler("onClientGUIClick", bAcceptJob, acceptJob) addEventHandler("onClientGUIDoubleClick", jobList, acceptJob) addEventHandler("onClientGUIClick", bCancel, cancelJob) end function clickPed(button, state, absX, absY, wx, wy, wz, element) if getElementData(getLocalPlayer(), "exclusiveGUI") then return end if (element) and (getElementType(element)=="ped") and (button=="right") and (state=="down") and (sent==false) and (element~=getLocalPlayer()) then local gatekeeper = getElementData(element, "munka") local munkatype = getElementData(element, "munkatype") if (gatekeeper) then local x, y, z = getElementPosition(getLocalPlayer()) if (getDistanceBetweenPoints3D(x, y, z, wx, wy, wz)<=3) then if (wPedRightClick) then hidePlayerMenu() end showCursor(true) ax = absX ay = absY player = element closing = false wPedRightClick = guiCreateWindow(ax, ay, 150, 75, getElementData(element, "name"), false) bTalkToPed = guiCreateButton(0.05, 0.3, 0.87, 0.25, "Megszólítás", true, wPedRightClick) addEventHandler("onClientGUIClick", bTalkToPed, function (button, state) if(button == "left" and state == "up") then hidePedMenu() local ped = getElementData(element, "name") if (ped=="Julia Richardson") then showEmploymentWindow(munkatype) elseif (ped=="Linette Melanie") then showEmploymentWindow(munkatype) elseif (ped=="Fay Elizabeth") then showEmploymentWindow(munkatype) elseif (ped=="Alice Rose") then showEmploymentWindow(munkatype) elseif (ped=="Clover Adriana") then showEmploymentWindow(munkatype) elseif (ped=="Alice Clover") then showEmploymentWindow(munkatype) elseif (ped=="Jessica Rowman") then showEmploymentWindow(munkatype) elseif (ped=="Jessica Adrienn") then showEmploymentWindow(munkatype) elseif (ped=="Clover Adrienn") then showEmploymentWindow(munkatype) elseif (ped=="Alice Cover") then showEmploymentWindow(munkatype) elseif (ped=="Julia Sylvester") then showEmploymentWindow(munkatype) else outputChatBox("895213 - Hiba. Jelentsd a fórumon", 255, 0, 0) end end end, false) bClosePedMenu = guiCreateButton(0.05, 0.6, 0.87, 0.25, "Menü bezárása", true, wPedRightClick) addEventHandler("onClientGUIClick", bClosePedMenu, hidePedMenu, false) sent=true end end end end addEventHandler("onClientClick", getRootElement(), clickPed, true) function hidePedMenu() if (isElement(bTalkToPed)) then destroyElement(bTalkToPed) end bTalkToPed = nil if (isElement(bClosePedMenu)) then destroyElement(bClosePedMenu) end bClosePedMenu = nil if (isElement(wPedRightClick)) then destroyElement(wPedRightClick) end wPedRightClick = nil ax = nil ay = nil sent=false showCursor(false) end function acceptJob(button, state) if (button=="left") then local row, col = guiGridListGetSelectedItem(jobList) local job = getElementData(getLocalPlayer(), "job") if (row==-1) or (col==-1) then outputChatBox("Kérlek válasz 1 munkát először.", 255, 0, 0) elseif (job>0) then outputChatBox("Már van munkád, lépj ki a régi munkádból (( /quitjob )).", 255, 0, 0) else local job = 0 local jobtext = guiGridListGetItemText(jobList, guiGridListGetSelectedItem(jobList), 1) Link to comment
ITrex Posted June 17, 2014 Author Share Posted June 17, 2014 Ez van a 247. sorban: elseif (job>0) then Link to comment
csiguusz Posted June 17, 2014 Share Posted June 17, 2014 Mi áll a 247 sorban? Azért másolta be azt a sok kódot, hogy a 247. sort, meg az összes többit is mindenki megnézhesse magának. De az a kódhoz ne a sima "Code" taget használjuk, ha van külön "lua" is. Az szépen ki is színezi. A hibához: A hiba jelentése: egy számot próbáltál össehasonlítani egy logikai típussal (true/false). Gondolom alapból a "job" element data nincs beállítva ezért false a job ott. Megoládás lehet a 243. sor módosítása erre: local job = getElementData(getLocalPlayer(), "job") or 0 Link to comment
ITrex Posted June 17, 2014 Author Share Posted June 17, 2014 Köszönöm a választ! Még valami! Van a Scriptben a felmondás rész: function quitJob(source) local dimension = getElementDimension(source) if dimension == 5 or dimension == 11 or dimension == 1065 then --az biztos hogy ezzel van a gond, a player Dimenziójának megkell egyeznie a 3 érték közül valamelyikkel, de ha megegyezik akkor nem történik semmi, egy hibaüzenet sincsen csak annyi hogy nem teljesíti a script a feladatát, mi lehet a gond? local logged = getElementData(source, "loggedin") if logged == 1 then local job = getElementData(source, "job") if job == 0 then outputChatBox("Jelenleg munkanélküli vagy.", source, 255, 0, 0) else exports['pro_core']:changeProtectedElementDataEx(source, "job", 0) mysql:query_free("UPDATE characters SET job=0 WHERE id = " .. mysql:escape_string(getElementData(source, "dbid")) ) triggerClientEvent(source, "quitJob", source, job) outputChatBox("Kiléptél a jelenlegi munkádból!", source, 0, 255, 0) end end else outputChatBox("SZERVER: Felmondani csak a városháza épületén belül tudsz!", source, 255, 0, 0) end end addCommandHandler("endjob", quitJob, false, false) addCommandHandler("quitjob", quitJob, false, false) addCommandHandler("felmond", quitJob, false, false) Link to comment
csiguusz Posted June 17, 2014 Share Posted June 17, 2014 Ugyanaz működhet itt is. Itt a 6.sort kell módosítani. ( egy "or 0" kell a végére ) Link to comment
ITrex Posted June 17, 2014 Author Share Posted June 17, 2014 Feladom még mindig ír ki hibát, működésre tudnád nekem bírni ezt a scriptet? Megcsinálnád nekem? El is küldöm. Link to comment
ITrex Posted June 17, 2014 Author Share Posted June 17, 2014 Ezt a scriptet hogy tudnám működésre bírni? local blip, endblip local jobstate = 0 local route = 0 local oldroute = -1 local marker, endmarker local deliveryStopTimer = nil local localPlayer = getLocalPlayer() local routes = { { 2846.6328125, 2401.5595703125, 10.932744026184 }, { 2779.775390625, 2439.759765625, 10.942193031311 }, { 2565.994140625, 2284.89453125, 10.925252914429 }, { 2547.318359375, 2176.869140625, 10.937832832336 }, { 2308.5498046875, 2155.349609375, 10.859196662903 }, { 2102.556640625, 2079.205078125, 10.937465667725 }, { 1941.1337890625, 2091.6484375, 10.935857772827 }, { 1857.6748046875, 2079.6923828125, 10.930527687073 }, { 696.70703125, 1945.783203125, 5.6583361625671 }, { 658.3466796875, 1721.537109375, 7.1132049560547 } } local CsomagSzallito = { [413] = true } function resetCsomagSzallito() jobstate = 0 oldroute = -1 if (isElement(marker)) then destroyElement(marker) marker = nil end if (isElement(blip)) then destroyElement(blip) blip = nil end if (isElement(endmarker)) then destroyElement(endmarker) endmarker = nil end if (isElement(endcolshape)) then destroyElement(endcolshape) endcolshape = nil end if (isElement(endblip)) then destroyElement(endblip) endblip = nil end if deliveryStopTimer then killTimer(deliveryStopTimer) deliveryStopTimer = nil end jobstate = 0 route = 0 end addEventHandler("onClientChangeChar", getRootElement(), resetCsomagSzallito) function displayCsomagSzallito(notext) if (jobstate==0) then jobstate = 1 blip = createBlip(2854.6396484375, 2613.15234375, 10.8203125, 51, 2, 255, 127, 255) if not notext then outputChatBox("#FF9933Menj a csomagszállító telephelyre (Furgon ikon!).", 255, 194, 15, true) end end end addEvent("restoreCsomagSzallitoerJob", true) addEventHandler("restoreCsomagSzallitoerJob", getRootElement(), function() displayCsomagSzallito(true) end ) function startCsomagSzallitoerJob(routeid) if (jobstate==1) then local vehicle = getPedOccupiedVehicle(localPlayer) if vehicle and getVehicleController(vehicle) == localPlayer and CsomagSzallito[getElementModel(vehicle)] then outputChatBox("#FF9933Vezess a #FFFF00kijelölt#FF9933 pontra.", 255, 194, 15, true) outputChatBox("#FF9933Ha az áru, vagy a jármű #FFFF00megsérül#FF9933, a megrendelők jóval kevesebbet fognak érte fizetni.", 255, 194, 15, true) outputChatBox("#FF9933A jármű nem a saját járműved ezért, #FFFF00vigyázz rá és hozd vissza#FF9933!", 255, 194, 15, true) destroyElement(blip) local rand = math.random(1, #routes) if not (routeid == -1) then rand = routeid else end route = routes[rand] local x, y, z = route[1], route[2], route[3] blip = createBlip(x, y, z, 0, 2, 255, 200, 0) marker = createMarker(x, y, z, "checkpoint", 4, 255, 200, 0, 150) addEventHandler("onClientMarkerHit", marker, waitAtDeliveryCsomag) jobstate = 2 oldroute = rand if (routeid == -1) then triggerServerEvent("updateNextCheckpointCsomag", localPlayer, vehicle, rand) end else outputChatBox("Előbb kell egy transporter", 255, 0, 0) end end end addEvent("startCsomagSzallitoJob", true) addEventHandler("startCsomagSzallitoJob", getRootElement(), startCsomagSzallitoerJob) function waitAtDeliveryCsomag(thePlayer) local vehicle = getPedOccupiedVehicle(localPlayer) if thePlayer == localPlayer and vehicle and getVehicleController(vehicle) == localPlayer and CsomagSzallito[getElementModel(vehicle)] then if getElementHealth(vehicle) < 350 then outputChatBox("Javítasd meg a transportered.", 255, 0, 0) else deliveryStopTimer = setTimer(nextDeliveryCheckpointCsomag, 10000, 1) outputChatBox("#FF9933Várj egy kicsit, míg lepakolják az árút.", 255, 0, 0, true ) addEventHandler("onClientMarkerLeave", marker, checkwaitAtDeliveryCsomag) end end end function checkwaitAtDeliveryCsomag(thePlayer) local vehicle = getPedOccupiedVehicle(localPlayer) if vehicle and thePlayer == localPlayer and getVehicleController(vehicle) == localPlayer and CsomagSzallito[getElementModel(vehicle)] then if getElementHealth(vehicle) >= 350 then outputChatBox("Nem álltál meg a szállítási célnál.", 255, 0, 0) if deliveryStopTimer then killTimer(deliveryStopTimer) deliveryStopTimer = nil end removeEventHandler("onClientMarkerLeave", source, checkwaitAtDeliveryCsomag) end end end function nextDeliveryCheckpointCsomag() deliveryStopTimer = nil if jobstate == 2 or jobstate == 3 then local vehicle = getPedOccupiedVehicle(localPlayer) if vehicle and getVehicleController(vehicle) == localPlayer and CsomagSzallito[getElementModel(vehicle)] then destroyElement(marker) destroyElement(blip) vehicleid = tonumber( getElementData(vehicle, "dbid") ) pay = 0 spawnFinishMarkerCsomagSzallitoJob() triggerServerEvent("saveDeliveryProgressCsomag", localPlayer, vehicle, pay) else outputChatBox("#FF9933Csak teherautóban tudod befejezzni a szállítást.", 255, 0, 0, true ) -- Wrong car type. end end end function spawnFinishMarkerCsomagSzallitoJob() if jobstate == 2 then endblip = createBlip(2854.6396484375, 2613.15234375, 10.8203125, 0, 2, 255, 0, 0) endmarker = createMarker(2854.6396484375, 2613.15234375, 10.8203125, "checkpoint", 4, 255, 0, 0, 150) setMarkerIcon(endmarker, "finish") addEventHandler("onClientMarkerHit", endmarker, endDeliveryCsomag) end jobstate = 3 end addEvent("spawnFinishMarkerCsomagSzallitoJob", true) addEventHandler("spawnFinishMarkerCsomagSzallitoJob", getRootElement(), spawnFinishMarkerCsomagSzallitoJob) function loadNewCheckpointCsomagSzallitoJob() local vehicle = getPedOccupiedVehicle(localPlayer) local rand = -1 repeat rand = math.random(1, #routes) until oldroute ~= rand and getDistanceBetweenPoints2D(routes[oldroute][1], routes[oldroute][2], routes[rand][1], routes[rand][2]) > 250 route = routes[rand] oldroute = rand local x, y, z = route[1], route[2], route[3] blip = createBlip(x, y, z, 0, 2, 255, 200, 0) marker = createMarker(x, y, z, "checkpoint", 4, 255, 200, 0, 150) addEventHandler("onClientMarkerHit", marker, waitAtDeliveryCsomag) triggerServerEvent("updateNextCheckpointCsomag", localPlayer, vehicle, rand) end addEvent("loadNewCheckpointCsomagSzallitoJob", true) addEventHandler("loadNewCheckpointCsomagSzallitoJob", getRootElement(), loadNewCheckpointCsomagSzallitoJob) function endDeliveryCsomag(thePlayer) if thePlayer == localPlayer then local vehicle = getPedOccupiedVehicle(localPlayer) local id = getElementModel(vehicle) or 0 if not vehicle or getVehicleController(vehicle) ~= localPlayer or not (CsomagSzallito[id]) then outputChatBox("#FF9933Csak a transporterben tudod befejezni a szállítást.", 255, 0, 0, true ) -- Wrong car type. else local health = getElementHealth(vehicle) if health <= 800 then outputChatBox("Túlságosan össze van törve. Javíttasd meg először!", 255, 194, 15) else triggerServerEvent("giveCsomagSzallitoingMoney", localPlayer, vehicle) destroyElement(endblip) destroyElement(endmarker) endblip = nil endmarker = nil outputChatBox("(( Sikeres fuvar! A fizetséged fizetéskor lessz kiosztva! ))", 255, 194, 15) resetCsomagSzallito() displayCsomagSzallito(true) removePedFromVehicle ( localPlayer ) triggerServerEvent("resetKocsiCsomag", localPlayer, vehicle) end end end end Link to comment
csiguusz Posted June 18, 2014 Share Posted June 18, 2014 Bemásolsz ide 200 sor kódot és mellé írod, hogy bírjam működésre, nem semmi... Esetleg mi a baja mit csinál, pedig mit kéne neki? Hibaüzenet, bármi egyéb infó? Mert 200 sort nincs kedvem átnézni, megérteni hogy működik majd hibákat keresni és javítani őket. Ennyire én sem érek rá. Link to comment
ITrex Posted June 18, 2014 Author Share Posted June 18, 2014 Bocsi a tegnapiért, úgy döntöttem írok egy sajátot az a legbiztosabb Elég amatőr lesz a megvalósítás, mármint hogy egy profi megírná kb 400 sorba én kb ezerbe de hát ez van A következő kérdésem az lenne hogy az OnClientMarkerHit event mértnem működik járműnél? Úgyértem azt hogy tudnám megcsinálni hogy ha járműben vagyok akkor ha úgy megyek bele markerbe járművel akkor érzékelje? Link to comment
csiguusz Posted June 19, 2014 Share Posted June 19, 2014 getPedOccupiedVehicle tudod ellenőrizni hogy járműben ül-e a játékos vagy nem. Link to comment
ITrex Posted June 19, 2014 Author Share Posted June 19, 2014 Mégsem írtam újat, megkerestem ERRORokra a választ és már jó is Végre egy "hibátlan" Valhalla Csomagszállító script Köszi a válaszokat, eléggé sokat segítettél velük Link to comment
csiguusz Posted June 19, 2014 Share Posted June 19, 2014 Szívesen. Örülök, hogy sikerült. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now