Destroyer.- Posted June 23, 2016 Share Posted June 23, 2016 Hola, recopilando codigo que encontre del foro, estube haciendo un car shop, todo bien, hasta que me encuentro con las GUIS(Si esto es un problema para mi), Bueno al grano, cuando yo reparo con el vehiculo spawneado todo bien, pero si, spawneo un vehiculo y selecciono otro vehiculo, no me lo repara, osea bien, pero me tira un debug addEvent("FixMyVehicle", true) addEventHandler("FixMyVehicle", root, function(id) if isPedInVehicle (source) then if getPlayerMoney(source) >= tonumber(5000) then local vehicle = getVehicleByID(id) local vHealth = getElementHealth(vehicle) if( vHealth == 1000) then exports.sidechat:outputSideChat ( "El vehiculo tiene 100% de HP", source, 255, 255, 0) return end if isElement(vehicle) then takePlayerMoney ( source, 5000 ) fixVehicle(vehicle) if isVehicleDamageProof(vehicle) then setVehicleDamageProof(vehicle, false) setVehicleEngineState(vehicle, true) exports.sidechat:outputSideChat ( "Tu vehiculo "..getVehicleNameFromModel(getElementModel(vehicle)).." ha sido reparado con éxito.", source, 255, 255, 0) dbExec(db, "UPDATE VehicleList SET HP = ? WHERE Account = ? AND ID = ?", 1000, getAccountName(getPlayerAccount(source)), id) updateVehicleInfo(source) end else exports.sidechat:outputSideChat ( "El vehiculo no está creado", source, 255, 255, 0) end else exports.sidechat:outputSideChat ( "No tienes el suficiente dinero para traer este vehiculo.", source, 255, 255, 0) end else exports.sidechat:outputSideChat ( "Debes estar en el interior del vehiculo para repararlo o el auto tiene 100% HP", source, 255, 255, 0) end end) WARNING: CarShop\server.lua:306: Bad argument @ 'getElementHealth' [Expected element at argument 1, got boolean] La linea es if( vHealth == 1000) then exports.sidechat:outputSideChat ( "El vehiculo tiene 100% de HP", source, 255, 255, 0) return end y como dije solo pasa cuando creo un vehiculo, y a otro lo selecciono para repararlo, no encuentro la forma , gracias Link to comment
MTA Team 0xCiBeR Posted June 23, 2016 MTA Team Share Posted June 23, 2016 Línea 6 es: local vehicle = getVehicleByID(id) y debería ser: local vehicle = getElementByID(id) (Suponiendo que no tenes una funcion custom que maneje los ID's de los vehiculos en cuyo caso deberías comprobar el ID que estas recibiendo en los argumentos del evento.) Tambien cambia la línea que te da el error por esta: if vHealth and ( vHealth == 1000) then exports.sidechat:outputSideChat ( "El vehiculo tiene 100% de HP", source, 255, 255, 0) return end Link to comment
Destroyer.- Posted June 23, 2016 Author Share Posted June 23, 2016 Línea 6 es: local vehicle = getVehicleByID(id) y debería ser: local vehicle = getElementByID(id) (Suponiendo que no tenes una funcion custom que maneje los ID's de los vehiculos en cuyo caso deberías comprobar el ID que estas recibiendo en los argumentos del evento.) Tambien cambia la línea que te da el error por esta: if vHealth and ( vHealth == 1000) then exports.sidechat:outputSideChat ( "El vehiculo tiene 100% de HP", source, 255, 255, 0) return end si la funcion para manejar ids es esta function getVehicleByID(id) v = false for i, veh in ipairs (getElementsByType("vehicle")) do if getElementData(veh, "ID") == id then v = veh break end end return v end Me sigue tirando boolean Link to comment
Enargy, Posted June 23, 2016 Share Posted June 23, 2016 Al parecer te muestra booleano porque no hay ningún dato almacenado. function getVehicleByID(id) local v = false for i, veh in ipairs (getElementsByType("vehicle")) do if ( getVehicleID( veh ) == tonumber( id ) ) then v = veh break end end return v end Link to comment
Tomas Posted June 23, 2016 Share Posted June 23, 2016 Al parecer te muestra booleano porque no hay ningún dato almacenado. function getVehicleByID(id) local v = false for i, veh in ipairs (getElementsByType("vehicle")) do if ( getVehicleID( veh ) == tonumber( id ) ) then v = veh break end end return v end La función getVehicleID ya no existe, el quiere obtener el vehículo según su ID, no su modelo. Link to comment
Destroyer.- Posted June 23, 2016 Author Share Posted June 23, 2016 Al parecer te muestra booleano porque no hay ningún dato almacenado. function getVehicleByID(id) local v = false for i, veh in ipairs (getElementsByType("vehicle")) do if ( getVehicleID( veh ) == tonumber( id ) ) then v = veh break end end return v end La función getVehicleID ya no existe, el quiere obtener el vehículo según su ID, no su modelo. Exacto, pero al parecer cuando hay otro ID creado me tira el booleano, pero no se como repararlo Edit: Ya lo repare al parecer era problema de la variable local, saque las variables y puse la funcion directamente y andubo joya, Gracias, por la ayuda igual Link to comment
Recommended Posts