UserToDelete Posted January 21, 2015 Share Posted January 21, 2015 Ando creando un trabajo de camionero y al testarlo vi un error que no doy solucionado, trata de que el trailer al que esta sujeto al camion, no desaparece, sino que se queda sin el camion (sin el camion solamente, el trailer no desaparece), Cual puede ser el error? function destroyVehicle (jugador, seat) if seat == 0 then if isElementAttached then trailerD = getElementAttachedTo(source) outputChatBox(tostring(trailerD)) --outputs False destroyElement(trailerD) --Esta es la linea donde echa el error end destroyElement(source) end end addEventHandler("onVehicleExit", root, destroyVehicle) El error que suelta del debugscript 3 es el siguiente WARNING: [Trabajos]/vD_job_trucker/server.lua:18:Bad argument @ 'destroyElement' [Expected element at argument 1,got boolean] El trailer solitario Link to comment
Calculador Posted January 21, 2015 Share Posted January 21, 2015 · Hidden Hidden Creo que deberías usar primero está función: detachTrailerFromVehicle Y posterior a esto destruir el trailer Link to comment
UserToDelete Posted January 21, 2015 Author Share Posted January 21, 2015 addEventHandler("onClientVehicleExit", root, function (player, seat) if player == localPlayer then if seat == 0 then checkJobCamionero = getElementData(localPlayer, "trabajo") if checkJobCamionero == "camionero" then if isElementAttached then trailerD = getElementAttachedTo(source) outputChatBox(tostring(trailerD)) --outputs False --detachTrailerFromVehicle(source) end destroyElement(trailerD) destroyElement(source) setElementData(localPlayer, "trabajo", "ninguno") outputChatBox("complete") else outputChatBox("checkJob indica ningun trabajo") end else outputChatBox("no eres el conductor") end else outputChatBox("no localPlayer") end end ) Con tu codigo no funciona, ahor alo pase a cliente, y pasa lo mismo, (A veces se buggea con el tema de "setElementData" y dice al bajar del camion que no tengo trabajo El resto de las funciones que varian eso son estas: addEventHandler("onClientResourceStart", root, function () setElementData(localPlayer, "trabajo", "ninguno") end ) function startJob () checkJobL = getElementData(localPlayer, "trabajo") if checkJobL == "ninguno" then triggerServerEvent("camioneroStart", localPlayer, localPlayer) setElementData(localPlayer, "trabajo", "camionero") guiSetInputMode("allow_binds") showCursor(false) destroyElement(ventana) end end Solamente la primera vez me sale "false" y "Complete" , en el resto de los test que hago sin reiniciar el resource me sale "checkJob indica ningun trabajo" Log: Trabajo de camionero empezado checkJob indica ningun trabajo checkJob indica ningun trabajo Trabajo de camionero empezado [Comienzo el trabajo] false [bajo del primer camion la primera vez, ni el camion ni el trailer desaparecen] complete [bajo del primer camion la primera vez, ni el camion ni el trailer desaparecen] Trabajo de camionero empezado [Cojo por segunda vez] false [bajo del segundo camion, ni el camion ni el trailer desaparecen] complete [bajo del segundo camion, ni el camion ni el trailer desaparecen] checkJob indica ningun trabajo [Me subo al segundo camion y me bajo, ni el camion ni el trailer desaparecen] Trabajo de camionero empezado [Cojo el trabajo por tercera vez] checkJob indica ningun trabajo [bajo del tercer camion, ni el cambion ni el trailer desaparecen] checkJob indica ningun trabajo [subo y bajo del tercer camion, ni el cambion ni el trailer desaparecen] Link to comment
Calculador Posted January 21, 2015 Share Posted January 21, 2015 · Hidden Hidden ¿ Donde juntas el Trailer al Camion ? Link to comment
UserToDelete Posted January 21, 2015 Author Share Posted January 21, 2015 En server. Este es todo el script de servidor, se que en cliente cuando el trailer desaparezca, no lo hará para todos los jugadores, pero el argumento de fallo es el mismo. Todo server.lua function jobTruckStart(source) outputChatBox("Trabajo de camionero empezado",source, 255, 255, 0, true) playername = getPlayerName(source) camion = createVehicle ( 515,-1571.5654296875, -2745.900390625, 49, 0, 0, 45, tostring(playername)) trailer = createVehicle ( 435, 990, 990, 400, 0, 0, 45, tostring(playername) ) attachTrailerToVehicle ( camion, trailer ) warpPlayerIntoVehicle(source, camion, 0) setVehicleLocked(camion, true) end addEvent("camioneroStart", true) addEventHandler("camioneroStart", root, jobTruckStart) Debo poner el código en server con el argumento de destroy de "camión" y "trailer"? He tenido en cuenta de que "camión" y "trailer" es una global y al hacer un destroy se destruirían todos los camiones que haya en ese momento. Admito que cuando empecé este post el script era en servidor Link to comment
Tomas Posted January 21, 2015 Share Posted January 21, 2015 El problema es que si pegas el trailer desde el server side lo debes despegar desde ahí. Link to comment
Alexs Posted January 22, 2015 Share Posted January 22, 2015 · Hidden Hidden Quizá 'getVehicleTowedByVehicle' sea la función que buscas. Link to comment
Recommended Posts