Rayzer Posted April 6, 2015 Share Posted April 6, 2015 Hola, soy relativamente "nuevo" en esto del scripting! Tengo en esta linea del Script me da error! El error es este attempt to compare number with boolean Y la linea en la que me salta este codigo es if getElementData(source, "blood") > 0 and not getElementData(source, "animal") then Espero me puedan ayudar (: Muchas gracias! Link to comment
Tomas Posted April 6, 2015 Share Posted April 6, 2015 El error quiere decir que no es posible comparar un booleano (seguramente false) con un número, puedes agregar esto para fixearlo: if getElementData(source, "blood") or 0 > 0 and not getElementData(source, "animal") then Link to comment
Rayzer Posted April 6, 2015 Author Share Posted April 6, 2015 El error quiere decir que no es posible comparar un booleano (seguramente false) con un número, puedes agregar esto para fixearlo: if getElementData(source, "blood") or 0 > 0 and not getElementData(source, "animal") then OOh ya (: se soluciono el error! Muchas gracias! Tengo un warning Bad argument @ 'destroyElement' [Expected element at argument 1, got nil] Estube buscando en google y wiki de mta, encontre un post donde tu le ayudas a un chico que tiene este mismo problema, y en la wiki encontre que destroyElement se usa así: destroyElement(Lo que quieres destruir), revise y esta colocado correctamente, solo queria saber si tiene alguna solucion al warning, aunque como ya lo dijiste en el post donde le ayudas a un chico diciendole que es raro, ya que esta puesto correctamente! pero bueno quizas ya le encontraste solucion Cx o algo jaja bueno gracias (: function weaponSwitchBack(previousWeaponID, currentWeaponID) local weapon1 = getElementData(source, "currentweapon_1") if not weapon1 then return end local ammoData1, weapID1 = getWeaponAmmoType(weapon1) local x, y, z = getElementPosition(source) local rx, ry, rz = getElementRotation(source) if previousWeaponID == weapID1 then if elementWeaponBack[source] then setElementID(player, "elementWeaponBack[source]") detachElementFromBone(elementWeaponBack[source]) destroyElement(elementWeaponBack[source]) elementWeaponBack[source] = false end elementWeaponBack[source] = createObject(getWeaponObjectID(weapID1), x, y, z) setObjectScale(elementWeaponBack[source], 0.875) if elementBackpack[source] then attachElementToBone(elementWeaponBack[source], source, 3, 0.19, -0.31, -0.1, 0, 270, -90) else attachElementToBone(elementWeaponBack[source], source, 3, 0.19, -0.11, -0.1, 0, 270, 10) end elseif currentWeaponID == weapID1 then setElementID(source, tostring(elementWeaponBack[source])) detachElementFromBone(elementWeaponBack[source]) destroyElement(elementWeaponBack[source]) elementWeaponBack[source] = false end end Link to comment
Tomas Posted April 6, 2015 Share Posted April 6, 2015 El error quiere decir que no es posible comparar un booleano (seguramente false) con un número, puedes agregar esto para fixearlo: if getElementData(source, "blood") or 0 > 0 and not getElementData(source, "animal") then OOh ya (: se soluciono el error! Muchas gracias! Tengo un warning Bad argument @ 'destroyElement' [Expected element at argument 1, got nil] Estube buscando en google y wiki de mta, encontre un post donde tu le ayudas a un chico que tiene este mismo problema, y en la wiki encontre que destroyElement se usa así: destroyElement(Lo que quieres destruir), revise y esta colocado correctamente, solo queria saber si tiene alguna solucion al warning, aunque como ya lo dijiste en el post donde le ayudas a un chico diciendole que es raro, ya que esta puesto correctamente! pero bueno quizas ya le encontraste solucion Cx o algo jaja bueno gracias (: function weaponSwitchBack(previousWeaponID, currentWeaponID) local weapon1 = getElementData(source, "currentweapon_1") if not weapon1 then return end local ammoData1, weapID1 = getWeaponAmmoType(weapon1) local x, y, z = getElementPosition(source) local rx, ry, rz = getElementRotation(source) if previousWeaponID == weapID1 then if elementWeaponBack[source] then setElementID(player, "elementWeaponBack[source]") detachElementFromBone(elementWeaponBack[source]) destroyElement(elementWeaponBack[source]) elementWeaponBack[source] = false end elementWeaponBack[source] = createObject(getWeaponObjectID(weapID1), x, y, z) setObjectScale(elementWeaponBack[source], 0.875) if elementBackpack[source] then attachElementToBone(elementWeaponBack[source], source, 3, 0.19, -0.31, -0.1, 0, 270, -90) else attachElementToBone(elementWeaponBack[source], source, 3, 0.19, -0.11, -0.1, 0, 270, 10) end elseif currentWeaponID == weapID1 then setElementID(source, tostring(elementWeaponBack[source])) detachElementFromBone(elementWeaponBack[source]) destroyElement(elementWeaponBack[source]) elementWeaponBack[source] = false end end ¿Podrías especificar cuál es la línea del error? Una simple forma de arreglarlo es comprobar si el objeto existe antes de intentar destruirlo. Link to comment
Tomas Posted April 7, 2015 Share Posted April 7, 2015 function weaponSwitchBack(previousWeaponID, currentWeaponID) local weapon1 = getElementData(source, "currentweapon_1") if not weapon1 then return end local ammoData1, weapID1 = getWeaponAmmoType(weapon1) local x, y, z = getElementPosition(source) local rx, ry, rz = getElementRotation(source) if previousWeaponID == weapID1 then if elementWeaponBack[source] then setElementID(player, "elementWeaponBack[source]") detachElementFromBone(elementWeaponBack[source]) destroyElement(elementWeaponBack[source]) elementWeaponBack[source] = false end elementWeaponBack[source] = createObject(getWeaponObjectID(weapID1), x, y, z) setObjectScale(elementWeaponBack[source], 0.875) if elementBackpack[source] then attachElementToBone(elementWeaponBack[source], source, 3, 0.19, -0.31, -0.1, 0, 270, -90) else attachElementToBone(elementWeaponBack[source], source, 3, 0.19, -0.11, -0.1, 0, 270, 10) end elseif currentWeaponID == weapID1 then setElementID(source, tostring(elementWeaponBack[source])) detachElementFromBone(elementWeaponBack[source]) if isElement(elementWeaponBack[source]) then destroyElement(elementWeaponBack[source]) end elementWeaponBack[source] = false end end Link to comment
Rayzer Posted April 7, 2015 Author Share Posted April 7, 2015 Muchas gracias ^^ Pueden cerrar este tema (: Link to comment
Recommended Posts