Jump to content

[Ayuda] Varias Preguntas :c


DanielZ3RO

Recommended Posts

Como puedo hacer un timer para que los autos regresen a su posicion original despues de cierto tiempo

Coche1 = createVehicle ( 470, 223, 1878, 17 , 0, 0, 0, "Biohazard" ) 
Coche2 = createVehicle ( 470, 223, 1886, 17 , 0, 0, 0, "Biohazard" ) 
Coche3 = createVehicle ( 470, 223, 1894, 17 , 0, 0, 0, "Biohazard" ) 
Coche4 = createVehicle ( 470, 229, 1878, 17 , 0, 0, 0, "Biohazard" ) 
Coche5 = createVehicle ( 470, 229, 1886, 17 , 0, 0, 0, "Biohazard" ) 
Coche6 = createVehicle ( 470, 229, 1894, 17 , 0, 0, 0, "Biohazard" ) 
  
Coche7 = createVehicle ( 470, 198, 1878, 17 , 0, 0, 0, "Biohazard" ) 
Coche8 = createVehicle ( 470, 198, 1886, 17 , 0, 0, 0, "Biohazard" ) 
Coche9 = createVehicle ( 470, 198, 1894, 17 , 0, 0, 0, "Biohazard" ) 
Coche10 = createVehicle ( 470, 204, 1878, 17 , 0, 0, 0, "Biohazard" ) 
Coche11 = createVehicle ( 470, 204, 1886, 17 , 0, 0, 0, "Biohazard" ) 
Coche12 = createVehicle ( 470, 204, 1894, 17 , 0, 0, 0, "Biohazard" ) 
  
function respawnExplodedVehicle() 
    setTimer(respawnVehicle, 2000, 1, source) 
end 
addEventHandler("onVehicleExplode", getRootElement(), respawnExplodedVehicle) 

que debo hacer para que el player cuando toque el marker se congele y cuando presione el boton cerrar se descongele ( es para solucionar un error de que se crean varias ventanas cuando el jugador pasa saltando o moviendose y solo se pueden cerrar reiniciando el resource)

addEventHandler ( "onClientMarkerHit", tienda, function(jugador) 
  
    if jugador == getLocalPlayer() then 
  
        setElementFrozen ( jugador, true) 
  
        ventana = guiCreateWindow(95, 108, 654, 397, "Panel De Armas", false) 
        guiWindowSetSizable(ventana, false) 
        guiSetAlpha(ventana, 0.70) 
        boton1 = guiCreateButton(45, 49, 115, 93, "", false, ventana) 
        img1 = guiCreateStaticImage(-82, 10, 194, 148, ":Dz-tiendas/images/w1.png", false, boton1) 
        addEventHandler ( "onClientGUIClick", cerrar, Exit, false ) 
        addEventHandler ( "onClientGUIClick", boton1, arma1, false )        showCursor (true)  
    end 
end)  
  
  
  
------Funciones------ 
  
  
function Exit() 
jugador = getLocalPlayer() 
destroyElement(ventana) 
showCursor(false) 
setElementFrozen (jugador, false) 
end 

cuando inicio el resource se crea el blip y el ped, pero cuando muere no sale el mensaje, no se destruye el blip, ni da la recompensa

function boss ( ) 
      Nemesis = exports [ "slothBot" ]:spawnBot ( -1935.5480957031, 665.44055175781, 47.0, 90, 312, 0, 0, Nemesis, 0,         "chasing", true ) 
      exports.extra_health:setElementExtraHealth ( Nemesis, 2500 ) 
      outputChatBox ("NEMESIS A APARECIDO!!", getRootElement(), 255, 0, 0, true ) 
      myBlip = (createBlipAttachedTo ( Nemesis, 23 )) 
      setElementData ( Nemesis, "nemesis", true  ) 
 end 
addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), boss ) 
  
function mon ( killer ) 
givePlayerMoney( killer, math.random ( 300000, 500000 )) 
killer = getPlayerName() 
destroyElement ( myBlip ) 
      outputChatBox ("* "..killer.." AH MATADO A NEMESIS!!", getRootElement(), 255, 0, 0, true ) 
end 
addEvent("onNemesisWasted",true) 
addEventHandler("onNemesisWasted",getRootElement(), mon ) 

cuando inicio este script el jugador muere y queda con el mismo skin pero cuando un admin intenta cambiar el skin no se puede. unicamente se puede cambiar desde el freeroam

function onPlayerSpawn ( ) 
      local playeraccount = getPlayerAccount ( source ) 
      if ( playeraccount ) then 
            local playerskin = getAccountData ( playeraccount, "skin" ) 
            if ( playerskin ) then 
                  setPedSkin ( source, playerskin ) 
            end 
      end 
end 
  
function onPlayerWasted ( ) 
      local playeraccount = getPlayerAccount ( source ) 
      if ( playeraccount ) then 
            local playerskin = getPedSkin ( source ) 
            setAccountData ( playeraccount, "skin", playerskin ) 
      end 
end 
  
addEventHandler ( "onPlayerSpawn", getRootElement ( ), onPlayerSpawn ) 
addEventHandler ( "onPlayerWasted", getRootElement ( ), onPlayerWasted ) 
  

perdon por molestar tanto, se los agradezco muchisimo por la ayuda brindada

Link to comment

3 intenta

function boss ( ) 
      Nemesis = exports [ "slothBot" ]:spawnBot ( -1935.5480957031, 665.44055175781, 47.0, 90, 312, 0, 0, Nemesis, 0,"chasing", true ) 
      exports.extra_health:setElementExtraHealth ( Nemesis, 2500 ) 
      outputChatBox ("NEMESIS A APARECIDO!!", getRootElement(), 255, 0, 0, true ) 
      myBlip = (createBlipAttachedTo ( Nemesis, 23 )) 
      setElementData ( Nemesis, "nemesis", true  ) 
 end 
addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), boss ) 
  
function mon (_,killer ) 
if killer and getElementType(killer) == 'player' then 
if getElementData(source,"nemesis") then 
givePlayerMoney( killer, math.random ( 300000, 500000 )) 
local nombre = getPlayerName(killer) 
destroyElement ( myBlip ) 
      outputChatBox ("* "..nombre.." AH MATADO A NEMESIS!!", getRootElement(), 255, 0, 0, true ) 
      -- setTimer(boss,60000,1) -- respawn 
end 
end 
end 
addEventHandler("onPedWasted",getRootElement(), mon ) 

Link to comment
  • MTA Team

El evento es onBotWasted.

Usa esto:

  
function boss ( ) 
      Nemesis = exports [ "slothBot" ]:spawnBot ( -1935.5480957031, 665.44055175781, 47.0, 90, 312, 0, 0, Nemesis, 0,"chasing", true ) 
      exports.extra_health:setElementExtraHealth ( Nemesis, 2500 ) 
      outputChatBox ("NEMESIS A APARECIDO!!", getRootElement(), 255, 0, 0, true ) 
      myBlip = (createBlipAttachedTo ( Nemesis, 23 )) 
      setElementData ( Nemesis, "nemesis", true  ) 
 end 
addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), boss ) 
  
function mon ( killer ) 
if killer and getElementType(killer) == 'player' then 
if getElementData(source,"nemesis") then 
givePlayerMoney( killer, math.random ( 300000, 500000 )) 
local nombre = getPlayerName(killer) 
destroyElement ( myBlip ) 
      outputChatBox ("* "..nombre.." AH MATADO A NEMESIS!!", getRootElement(), 255, 0, 0, true ) 
       setTimer(boss,60000,1) -- respawn 
end 
end 
end 
addEventHandler("onBotWasted",getRootElement(), mon ) 

Link to comment

4

tienta

function onPlayerSpawn ( ) 
      local playeraccount = getPlayerAccount ( source ) 
      if ( playeraccount ) then 
            local playerskin = getAccountData ( playeraccount, "skin" ) 
            if ( playerskin ) then 
                  setElementModel ( source, tonumber(playerskin) ) -- si no trabajar tienta timer 
                  -- setTimer(setElementModel,500,1,source,playerskin) 
            end 
      end 
end 
  
function onPlayerWasted ( ) 
      local playeraccount = getPlayerAccount ( source ) 
      if ( playeraccount ) then 
            local playerskin = getElementModel ( source ) 
            setAccountData ( playeraccount, "skin", playerskin ) 
      end 
end 
  
addEventHandler ( "onPlayerSpawn", getRootElement ( ), onPlayerSpawn ) 
addEventHandler ( "onPlayerWasted", getRootElement ( ), onPlayerWasted ) 

Link to comment

El 1, ¿es para que regresen a su posición después de un tiempo o para que vuelvan a su posición cuando exploten?

Por que tienes que tener en cuenta que alguien puede estar usando el vehículo en el momento en el que hagas el respawn, lo mas conveniente es que crees tablas para cada vehículo y luego haces un loop para comprobar la disponibilidad que tiene el auto para respawnear.

Link to comment
  • Recently Browsing   0 members

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