Jump to content

[Fuego]


user123

Recommended Posts

Posted

Hola, encontré este script en un viejo post

   addCommandHandler("fireme", 
    function (thePlayer) 
    local onFire = setTimer(setPedOnFire, 3000, 4, thePlayer, true) 
    outputChatBox("* ".. getPlayerName(thePlayer) .." #0080FFesta en #FF8000fuego#0080FF!",getRootElement(),255,255,255,true) 
    end) 

Como puedo hacer que al escribir /fireme "Jugador" , el nombre del jugador que escribí se prenda fuego

Posted

prueba con esto debe funcionar

  
 addCommandHandler("fireme", 
    function (thePlayer, _, name) 
     if not name return end 
        local player = findPlayerByName (name) 
        local onFire = setTimer(setPedOnFire, 3000, 4, player, true) 
        outputChatBox("* ".. getPlayerName(player) .." #0080FFesta en #FF8000fuego#0080FF!",getRootElement(),255,255,255,true) 
    end) 
  
  
  
function findPlayerByName (name) 
    local player = getPlayerFromName(name) 
    if player then return player end 
    for i, player in ipairs(getElementsByType("player")) do 
        if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then 
            return player 
        end 
    end 
return false 
end 

Posted

No funciona, da error en el debug

  
SCRIPT ERROR: fire\fireme.lua:4: 'then' expected near 'return' 
ERROR: Loading script failed: fire\fireme.lua:4: 'then' expected near 
  

Posted
  
 addCommandHandler("fireme", 
    function (thePlayer, _, name) 
     if not name then return end 
        local player = findPlayerByName (name) 
        local onFire = setTimer(setPedOnFire, 3000, 4, player, true) 
        outputChatBox("* ".. getPlayerName(player) .." #0080FFesta en #FF8000fuego#0080FF!",getRootElement(),255,255,255,true) 
    end) 
  
  
  
function findPlayerByName (name) 
    local player = getPlayerFromName(name) 
    if player then return player end 
    for i, player in ipairs(getElementsByType("player")) do 
        if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then 
            return player 
        end 
    end 
return false 
end 

Se le olvido poner el then.

Posted

Ahora ya sirve , gracias, otra cosa:

Por ejemplo pongo , /fireme Pepito Spam , salga en el chat : Pepito esta en fuego : Spam.

osea la razón , flood, spam, noob, hola, etc, lo que yo ponga

Posted

Utiliza esto

/fireme nombredeljugador rason

  
 addCommandHandler("fireme", 
    function (thePlayer, _, name, rason) 
     if not name then return end 
        local player = findPlayerByName (name) 
        local onFire = setTimer(setPedOnFire, 3000, 4, player, true) 
        outputChatBox("* ".. getPlayerName(player) .." #0080FFesta en #FF8000fuego#0080FF! rason ("..rason..")",getRootElement(),255,255,255,true) 
    end) 
  
  
  
function findPlayerByName (name) 
    local player = getPlayerFromName(name) 
    if player then return player end 
    for i, player in ipairs(getElementsByType("player")) do 
        if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then 
            return player 
        end 
    end 
return false 
end 

Posted
addEventHandler("onPlayerSpawn", root, function() 
if isPedOnFire(source) then return setPedOnFire(source, false) end 
end) 

El problema es que, si tengo 25 hp, y me doy prendo fuego, muero , pero al respawnear como unos 3 segundos despues aparece el fuego

Posted

Debe ser que al hacer spawn y otra persona aparece en tu mismo punto de aparición, el fuego antes apagarse se propaga al estar cerca de alguien y ambos se queman.

Si eso pasa en lugar de usar onPlayerSpawn usas onPlayerWasted; sino pues no entiendo.

Posted
Se supone que el ped se destruye al morir, debería perder el fuego por sí solo.

A mi me ha pasado que cuando muero incendiado derrepente me prendo otra vez xD.

Posted
local onFire = setTimer( 
setPedOnFire,  
3000, 
 4,   -- sera esto? 
player,  
true) 

Eso lo que hace es que se repita, porque el fuego no dura mucho tiempo.

Posted
local onFire = setTimer( 
setPedOnFire,  
3000, 
 4,   -- sera esto? 
player,  
true) 

Eso lo que hace es que se repita, porque el fuego no dura mucho tiempo.

Obviamente es eso. Al morir el timer sigue corriendo.

Usa isPedDead antes de poner al elemento en llamas y en ese caso regresas la funcion a false.

if isPedDead(thePlayer) then 
      return false 
end 

ó puedes usar killTimer en lugar de regresar la funcion a nula.

  • Recently Browsing   0 members

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