DarkAruna97 Posted September 2, 2014 Share Posted September 2, 2014 Hola a todos, Quisiera saber donde esta la falla en la linea 1248 como me señala el Debugscript 3 Link to comment
Sensacion Posted September 2, 2014 Share Posted September 2, 2014 probablemente "needengine" esté devolviendo "false" Link to comment
Tomas Posted September 2, 2014 Share Posted September 2, 2014 probablemente "needengine" esté devolviendo "false" Debe ser ese el problema, agrega un "or" a la variable needengine para solucionarlo. Link to comment
MTA Team 0xCiBeR Posted September 2, 2014 MTA Team Share Posted September 2, 2014 Por lo pronto te esta diciendo que "needengine" esta devolviendo un booleano, por lo que deduzco que es false.Recuerda que bool solo tiene dos datos lógicos posibles, true y false. Podría estar también devolviendo true, para eso agrega tostring(needengine) al dxDrawText. PD: De igual modo comprobaría que todo este devolviendo lo que debe devolver. Link to comment
Tomas Posted September 2, 2014 Share Posted September 2, 2014 Por lo pronto te esta diciendo que "needengine" esta devolviendo un booleano, por lo que deduzco que es false.Recuerda que bool solo tiene dos datos lógicos posibles, true y false. Podría estar también devolviendo true, para eso agrega tostring(needengine) al dxDrawText.PD: De igual modo comprobaría que todo este devolviendo lo que debe devolver. De todos modos no creo que el sirva que salga true o false , por eso decía del or Link to comment
MTA Team 0xCiBeR Posted September 2, 2014 MTA Team Share Posted September 2, 2014 En verdad si, ya que poner un or anularia completamente el elementData devolviendo lo que le quieras poner, para eso directamente define una variable como tal y no compruebes nada, la idea es buscar la causa del por que esta devolviendo un bool. Link to comment
DarkAruna97 Posted September 3, 2014 Author Share Posted September 3, 2014 probablemente "needengine" esté devolviendo "false" Debe ser ese el problema, agrega un "or" a la variable needengine para solucionarlo. En donde le coloco el "or" local veh = getPedOccupiedVehicle(getLocalPlayer()) if veh then local maxfuel = getElementData(veh, "maxfuel") local fuel = getElementData(getElementData(veh, "parent"), "fuel") local needengine = getElementData(veh, "needengines") local needtires = getElementData(veh, "needtires") local needparts = getElementData(veh, "needparts") local engine = getElementData(getElementData(veh, "parent"), "Engine_inVehicle") or 0 local tires = getElementData(getElementData(veh, "parent"), "Tire_inVehicle") or 0 local parts = getElementData(getElementData(veh, "parent"), "Parts_inVehicle") or 0 local offset = dxGetFontHeight(1.02, "default-bold") local w = dxGetTextWidth(engine .. "/" .. needengine .. " Engine", 1.02, "default-bold") if engine == needengine then r, g, b = 0, 255, 0 else r, g, b = 255, 0, 0 end dxDrawText(engine .. "/" .. needengine .. " Engine", screenWidth * 0.5 - w / 2, screenHeight * 0, screenWidth * 0.5 - w / 2, screenHeight * 0, tocolor(r, g, b, 220), 1.02, "default-bold") local w = dxGetTextWidth(tires .. "/" .. needtires .. " Tires", 1.02, "default-bold") if tires == needtires then r, g, b = 0, 255, 0 else r, g, b = 255, 0, 0 end dxDrawText(tires .. "/" .. needtires .. " Tires", screenWidth * 0.5 - w / 2, screenHeight * 0 + offset, screenWidth * 0.5 - w / 2, screenHeight * 0 + offset, tocolor(r, g, b, 220), 1.02, "default-bold") local w = dxGetTextWidth(parts .. "/" .. needparts .. " Tank Parts", 1.02, "default-bold") if parts == needparts then r, g, b = 0, 255, 0 else r, g, b = 255, 0, 0 end Link to comment
Tomas Posted September 3, 2014 Share Posted September 3, 2014 En verdad si, ya que poner un or anularia completamente el elementData devolviendo lo que le quieras poner, para eso directamente define una variable como tal y no compruebes nada, la idea es buscar la causa del por que esta devolviendo un bool. Pero el no dijo que el problema ocurra siempre, quizás sólo ocurría en casos puntuales. Link to comment
MTA Team 0xCiBeR Posted September 3, 2014 MTA Team Share Posted September 3, 2014 Para eso, verificar el origen del problema antes de invalidar todo el elementData. Para que entiendas: Esto: local err = getElementData(source,"money")or 0 Es lo mismo que poner(solo si el elementData devuelve bool): local err = 0 Si el elementData es un booleano pasa otro argumento. Por lo tanto seria definir un valor por default lo que tu dices, el problema es que de que te sirve tener un valor al default si para algo estas obteniendo un elementData. Link to comment
Tomas Posted September 3, 2014 Share Posted September 3, 2014 El pidió quitar el debug, yo le dí una alternativa. Link to comment
Recommended Posts