Jump to content

Problema con argumento 'killer'


Alexs

Recommended Posts

Hola a Todos, Tengo un problema con el siguiente script:

  
function cazeria () 
cazado = getRandomPlayer() 
outputChatBox ( "Ahora hay un Precio por la cabeza de " ..getPlayerName ( cazado )..". Matenlo y Ganaran $50.000" ) 
setElementData(cazado, "estado.cazeria", "True") 
end 
addEventHandler("onResourceStart", getRootElement(), cazeria) 
  
function estacazado ( attacker ) 
local estadocz = getElementData(source, "estado.cazeria") 
     if (estadocz == "True") and (killer) then 
        givePlayerMoney ( killer, 50000 ) 
        outputChatBox ( "Lo has Matado, Ten tu Puto Dinero!", killer, 255, 0, 0, true ) 
        setElementData(cazado, "estado.cazeria", "False")  
        setTimer ( cazeria, 10000, 1) 
     elseif (estadocz == "true") and not (killer) then 
        outputChatBox ( "El Fugitivo es un Cobarde y se ha suicidado, Que Pena!" ) 
        setElementData(cazado, "estado.cazeria", "False")  
        setTimer ( cazeria, 10000, 1) 
     else 
        outputChatBox ( "Este no era el Fugitivo, deberias estar avergonzado -.-", killer, 255, 0, 0, true ) 
        setElementHealth ( killer, getElementHealth(killer) - 25 ) 
    end 
end 
addEventHandler ( "onPlayerWasted", getRootElement(), estacazado ) 
  
function cobardizo ( ) 
local estadocz2 = getElementData(source, "estado.cazeria") 
     if (estadocz2 == "true") then 
        setTimer ( cazeria, 10000, 1) 
    end 
end 
addEventHandler ( "onPlayerQuit", getRootElement(), cobardizo ) 

Esto es el script completo, pero en los outputChatBox todos leen y no solo el killer, me dice que en la linea 21 "attempt to perform arithmetic a boolean value" y hay un bug que no se por que ocurre, pero cuando el objetivo no ha muerto sigue diciendo "Ahora hay un Precio por la cabeza de " ..getPlayerName ( cazado )..". Matenlo y Ganaran $50.000" cada 30 segundos...

Link to comment
totalAmmo: an integer representing the total ammo the victim had when he died.

killer: an element representing the player or vehicle who was the killer. If there was no killer this is false.

killerWeapon: an integer representing the killer weapon or the death reason.

bodypart: an integer representing the bodypart ID the victim was hit on when he died.

Esos son los argumentos, vos pusiste mal el de "killer".

Link to comment

Corregido, Te diria Gracias pero el problema sigue solo que ahora cada 10 segundos consigue otro jugador, Que otro problema hay?

Que error se ve en la linea 21?

function cazeria () 
cazado = getRandomPlayer() 
outputChatBox ( "Ahora hay un Precio por la cabeza de " ..getPlayerName ( cazado )..". Matenlo y Ganaran $50.000" ) 
setElementData(cazado, "estado.cazeria", "True") 
end 
addEventHandler("onResourceStart", getRootElement(), cazeria) 
  
function estacazado ( totalAmmo, killer, killerWeapon, bodypart ) 
local estadocz = getElementData(source, "estado.cazeria") 
     if (estadocz == "True") and (killer) then 
        givePlayerMoney ( killer, 50000 ) 
        outputChatBox ( "Lo has Matado, Ten tu Puto Dinero!", killer, 255, 0, 0, true ) 
        setElementData(cazado, "estado.cazeria", "False")  
        setTimer ( cazeria, 10000, 1) 
     elseif (estadocz == "True") and not (killer) then 
        outputChatBox ( "El Fugitivo es un Cobarde y se ha suicidado, Que Pena!" ) 
        setElementData(cazado, "estado.cazeria", "False")  
        setTimer ( cazeria, 10000, 1) 
     else 
        outputChatBox ( "Este no era el Fugitivo, deberias estar avergonzado -.-", killer, 255, 0, 0, true ) 
        setElementHealth ( killer, getElementHealth(killer) - 25 ) 
    end 
end 
addEventHandler ( "onPlayerWasted", getRootElement(), estacazado ) 
  
function cobardizo ( ) 
local estadocz2 = getElementData(source, "estado.cazeria") 
     if (estadocz2 == "True") then 
        setTimer ( cazeria, 10000, 1) 
    end 
end 
addEventHandler ( "onPlayerQuit", getRootElement(), cobardizo ) 

 

Link to comment
  • Recently Browsing   0 members

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