Jump to content

[AYUDA] Porque marca esto? (RESUELTO)


Recommended Posts

Nose porque marca esto en el server, pero en el juego funciona bien, porfavor me podrian decir porque marca este error.

WARNING: BACKPACK.lua: 28 : Bad argument @ 'createObject' [excepted number at argument 1, got boolean]

WARNING: BACKPACK.lua: 29 : Bad argument @ 'setObjectScale' [excepted number at argument 1, got boolean]

WARNING: BACKPACK.lua: 38 : Bad argument @ 'DestroyElement' [excepted number at argument 1, got boolean]

elementWeaponbBack = {} 
function weaponSwitchbBack ( previousWeaponID, currentWeaponID ) 
    local weapon2 = getElementData(source,"currentweapon_2") 
 if not weapon2 then return end 
 local ammoData1,weapID1 = getWeaponAmmoFromName(weapon2) 
 local x,y,z = getElementPosition(source) 
 local rx,ry,rz = getElementRotation(source) 
          if previousWeaponID == weapID1 then 
           if elementWeaponbBack[source] then 
            detachElementFromBone(elementWeaponbBack[source]) 
            destroyElement(elementWeaponbBack[source]) 
            elementWeaponbBack[source] = false 
           end 
           if weapon2 == "Baseball Bat" then 
           elementWeaponbBack[source] = createObject(336,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "Shovel" then 
           elementWeaponbBack[source] = createObject(337,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "Crowbar" then 
           elementWeaponbBack[source] = createObject(333,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "Hunting Knife" then 
           elementWeaponbBack[source] = createObject(335,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "--" then 
           else 
           elementWeaponbBack[source] = createObject(getWeaponObjectID(weapID1),x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           end 
           if elementBackpack[source] then 
            attachElementToBone(elementWeaponbBack[source],source,3,-0.18,-0.05,-0.1,-0.1,0,260) 
           else 
            attachElementToBone(elementWeaponbBack[source],source,3,-0.18,-0.05,-0.1,-0.1,0,260) 
           end 
          elseif currentWeaponID == weapID1 then 
           detachElementFromBone(elementWeaponbBack[source]) 
           destroyElement(elementWeaponbBack[source]) 
           elementWeaponbBack[source] = false 
          end 
 end 
addEventHandler ( "onPlayerWeaponSwitch", getRootElement(), weaponSwitchbBack ) 

Edited by Guest
Link to comment

En la linea 28 se crea una reaccion en cadena para que las otras no funcionen bien, el problema esta en la variable getWeaponObjectID(weapID1), tienes que ver que pasa con esa funcion por que por lo que veo no existe en la wiki. O bien ver que ocurre con la variable weapID1

Link to comment
En la linea 28 se crea una reaccion en cadena para que las otras no funcionen bien, el problema esta en la variable getWeaponObjectID(weapID1), tienes que ver que pasa con esa funcion por que por lo que veo no existe en la wiki. O bien ver que ocurre con la variable weapID1

Es una función del mismo script.

Link to comment
En la linea 28 se crea una reaccion en cadena para que las otras no funcionen bien, el problema esta en la variable getWeaponObjectID(weapID1), tienes que ver que pasa con esa funcion por que por lo que veo no existe en la wiki. O bien ver que ocurre con la variable weapID1

Es una función del mismo script.

Por lo mismo, el error tiene que estar ahi, y si no lo muestra tampoco somos adivinos

Link to comment
Postea la función getWeaponObjectID.

La funcion es esta

function getWeaponObjectID (weaponID) 
    for i,weaponData in ipairs(weaponIDtoObjectID) do 
        if weaponID == weaponData[1] then 
            return weaponData[2] 
        end 
    end 
end 

La funcion parece bien pero no sabemos que es weaponIDtoObjectID

Link to comment

Pensandolo 2 veces, creo que el problema esta en que no tiene un retorno para cuando no entra al if, deberia quedar asi para el debug.

function getWeaponObjectID (weaponID) 
    for i,weaponData in ipairs(weaponIDtoObjectID) do 
        if weaponID == weaponData[1] then 
            return weaponData[2] 
        end 
    end 
    outputDebugString("No se encontro "..weaponID) 
    return false 
end 
  

Link to comment
Pensandolo 2 veces, creo que el problema esta en que no tiene un retorno para cuando no entra al if, deberia quedar asi para el debug.
function getWeaponObjectID (weaponID) 
    for i,weaponData in ipairs(weaponIDtoObjectID) do 
        if weaponID == weaponData[1] then 
            return weaponData[2] 
        end 
    end 
    outputDebugString("No se encontro "..weaponID) 
    return false 
end 
  

Es lo mismo, no se puede crear un objeto con ID booleana.

  
           else 
           if (getWeaponObjectID(weapID)) then 
           elementWeaponbBack[source] = createObject(getWeaponObjectID(weapID1),x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           end 
           end 
  

Link to comment
Pensandolo 2 veces, creo que el problema esta en que no tiene un retorno para cuando no entra al if, deberia quedar asi para el debug.
function getWeaponObjectID (weaponID) 
    for i,weaponData in ipairs(weaponIDtoObjectID) do 
        if weaponID == weaponData[1] then 
            return weaponData[2] 
        end 
    end 
    outputDebugString("No se encontro "..weaponID) 
    return false 
end 
  

Es lo mismo, no se puede crear un objeto con ID booleana.

  
           else 
           if (getWeaponObjectID(weapID)) then 
           elementWeaponbBack[source] = createObject(getWeaponObjectID(weapID1),x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           end 
           end 
  

Por ahora agrege lo que pusiste:

elementWeaponbBack = {} 
function weaponSwitchbBack ( previousWeaponID, currentWeaponID ) 
    local weapon2 = getElementData(source,"currentweapon_2") 
 if not weapon2 then return end 
 local ammoData1,weapID1 = getWeaponAmmoFromName(weapon2) 
 local x,y,z = getElementPosition(source) 
 local rx,ry,rz = getElementRotation(source) 
          if previousWeaponID == weapID1 then 
           if elementWeaponbBack[source] then 
            detachElementFromBone(elementWeaponbBack[source]) 
            destroyElement(elementWeaponbBack[source]) 
            elementWeaponbBack[source] = false 
           end 
           if weapon2 == "Baseball Bat" then 
           elementWeaponbBack[source] = createObject(336,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "Shovel" then 
           elementWeaponbBack[source] = createObject(337,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "Crowbar" then 
           elementWeaponbBack[source] = createObject(333,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "Hunting Knife" then 
           elementWeaponbBack[source] = createObject(335,x,y,z) 
           setObjectScale(elementWeaponbBack[source],0.875) 
           elseif weapon2 == "--" then 
           else 
              if (getWeaponObjectID(weapID)) then 
              elementWeaponbBack[source] = createObject(getWeaponObjectID(weapID1),x,y,z) 
              setObjectScale(elementWeaponbBack[source],0.875) 
              end 
           end 
           if elementBackpack[source] then 
            attachElementToBone(elementWeaponbBack[source],source,3,-0.18,-0.05,-0.1,-0.1,0,260) 
           else 
            attachElementToBone(elementWeaponbBack[source],source,3,-0.18,-0.05,-0.1,-0.1,0,260) 
           end 
          elseif currentWeaponID == weapID1 then 
           detachElementFromBone(elementWeaponbBack[source]) 
           destroyElement(elementWeaponbBack[source]) 
           elementWeaponbBack[source] = false 
          end 
 end 
addEventHandler ( "onPlayerWeaponSwitch", getRootElement(), weaponSwitchbBack ) 

Arreglo los dos primeros, pero sigue dando el error en la linea 40 destroyElement, no entiendo porque

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...