Ir para conteúdo

Featured Replies

Postado

Na primeira linha estava dando erro

 function onThink not found

 

Então eu troquei o function onTtime(interval, lastExecution) por function onThink(interval, lastExecution)

 

E mesmo assim ganhei o evento sozinho sem erros no console.

m9r2.png

            Acesse já e seja o domine seu póprio destino !

  • Respostas 69
  • Visualizações 4.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • gabisa00 e pessoal que ta usando o script:   Dei uma olhada no script e achei um bug, quando o evento é fechado (por falta de players) ele só tira o valor da storage global, não mandando os jogadore

  • Amigo imagine o seguinte, você esta colocando as coordenadas erradas.   veja isso imagine que isso seja a arena.                . <- aqui é a coordenada do canto superior esquerdo            

  • Postei na pagina de pedidos pelo motivo de que isso foi o pedido de um internauta, o pedido foi feito na pagina, por isso achei que deveria relata-lo como pedido, mas tudo bem vivendo e parendendo,

Posted Images

Postado

Fica fora e coloquei o arquivo certinho, arenawar1.lua

 

Aqui meu globalevents/scripts/arenawar

function onThink(interval, lastExecution)
 
local total_players = 0
local storage = 24658 -- ALTERAR storage usado no sistema deixar todos iguais
local item_premio = 7369 -- ALTERAR item dado de premio, caso não queira dar item, coloque 2160
local item_quantidade_premio = 1 -- ALTERAR quantidade do item ganho, caso não queira dar item , coloque 0
local dinheiro_premio = 0 -- ALTERAR dinheiro dado de premio, caso não queira deixe 0
local player_escolhido = 0
local players = getPlayersOnline()
local i = 1
local pos_templo = {x =1258, y =1069 , z =6 }  -- ALTERAR coordenada da sala do seu ot server
 
if getGlobalStorageValue(storage) == 1 then
else
return TRUE
end
 
while i <= #players do
local pos_player = getPlayerPosition(players)
      local pos1_arena = {x =916 , y =973 , z =7 }   -- ALTERAR pos do canto superior esquerdo da arena
      local pos2_arena = {x =929 , y =985 , z =7 } -- ALTERAR pos do canto inferior direito da arena
if pos_player.x >= pos1_arena.x and pos_player.y >= pos1_arena.y and pos_player.x <= pos2_arena.x and pos_player.y <= pos2_arena.y then
total_players = total_players + 1
player_escolhido = players
 
end
i = i + 1
end
 
if total_players == 1 then
setGlobalStorageValue(storage, -1)
doTeleportThing(player_escolhido, pos_templo)
doPlayerAddItem(player_escolhido, item_premio, item_quantidade_premio)
doPlayerAddItem(cid,2160,dinheiro_premio)
doBroadcastMessage(""..(getPlayerName(player_escolhido)).." is the tournament winner!",22) -- ALTERAR frase para todos, do ganhador do premio
return TRUE
else
if total_players <= 0 then
setGlobalStorageValue(storage, -1)
doBroadcastMessage("All players die, is the end of tournament.",22) -- ALTERAR frase para todos, do ganhador do premio
return TRUE
end
end
 
return TRUE
end

 

Aqui meu globalevents/scripts/arenawar1

function onThink(interval, lastExecution)
 
local tempo_espera = 5 * 60 * 1000 -- ALTERAR tempo de espera na sala, 1 minuto
 
doBroadcastMessage("Evento PVP foi Ativado.",22)                 -- ALTERAR frase que aparece para todos quando usar o comando
setGlobalStorageValue(24658, 0)                                  -- ALTERAR storage usado no sistema, deixar todos iguais
addEvent(
function ()
 
 
         local pos_templo = {x =1258, y =1069 , z =6 }             -- ALTERAR coordenada do templo do seu ot server
         doBroadcastMessage("Evento Iniciado.",22)               -- ALTERAR frase quando todos forem para a arena
         setGlobalStorageValue(24658, 1)                         -- ALTERAR storage usado no sistema, deixar todos iguais
         local players = getPlayersOnline()
         local i = 1
         local total_player = 0
         
         while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x =955 , y =973 , z =7 }           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x =977 , y =979 , z =7 }           -- ALTERAR pos do canto inferior direito da sala de espera
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  total_player = total_player + 1
               end
               
               i = i + 1
         end
         
         i = 1
         if total_player <= 1 then
            doBroadcastMessage("Evento Cancelado, Players Insuficientes.",22) -- ALTERAR Frase de evento cancelado por falta de players 
            setGlobalStorageValue(24658, -1)                      -- ALTERAR storage usado no sistema, deixar todos iguais
 
            while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x =955 , y =973 , z =7 }           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x =977 , y =979 , z =7 }           -- ALTERAR pos do canto inferior direito da sala de espera
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  doTeleportThing(players, pos_templo)
               end
               
               i = i + 1
            end
 
            return TRUE
         end         
         
         while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x =955 , y =973 , z =7 }           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x =977 , y =979 , z =7 }           -- ALTERAR pos do canto inferior direito da sala de espera
               local pos_arena = {x =923 , y =978 , z =7 }            -- ALTERAR do inicio da arena
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  doTeleportThing(players, pos_arena)
                  doPlayerSendTextMessage(players, MESSAGE_STATUS_CONSOLE_BLUE, "Batalhe pela sua vida.")   -- ALTERAR frase que vai aparecer para o player quando ele entrar na arena
               end
               
               i = i + 1
         end
 
end
,tempo_espera)
   
return true
end

Editado por 161996 (veja o histórico de edições)

m9r2.png

            Acesse já e seja o domine seu póprio destino !

Postado
  • Autor

 

Fica fora e coloquei o arquivo certinho, arenawar1.lua

 

Aqui meu globalevents/scripts/arenawar

function onThink(interval, lastExecution)
 
local total_players = 0
local storage = 24658 -- ALTERAR storage usado no sistema deixar todos iguais
local item_premio = 7369 -- ALTERAR item dado de premio, caso não queira dar item, coloque 2160
local item_quantidade_premio = 1 -- ALTERAR quantidade do item ganho, caso não queira dar item , coloque 0
local dinheiro_premio = 0 -- ALTERAR dinheiro dado de premio, caso não queira deixe 0
local player_escolhido = 0
local players = getPlayersOnline()
local i = 1
local pos_templo = {x =1258, y =1069 , z =6 }  -- ALTERAR coordenada da sala do seu ot server
 
if getGlobalStorageValue(storage) == 1 then
else
return TRUE
end
 
while i <= #players do
local pos_player = getPlayerPosition(players)
      local pos1_arena = {x =916 , y =973 , z =7 }   -- ALTERAR pos do canto superior esquerdo da arena
      local pos2_arena = {x =929 , y =985 , z =7 } -- ALTERAR pos do canto inferior direito da arena
if pos_player.x >= pos1_arena.x and pos_player.y >= pos1_arena.y and pos_player.x <= pos2_arena.x and pos_player.y <= pos2_arena.y then
total_players = total_players + 1
player_escolhido = players
 
end
i = i + 1
end
 
if total_players == 1 then
setGlobalStorageValue(storage, -1)
doTeleportThing(player_escolhido, pos_templo)
doPlayerAddItem(player_escolhido, item_premio, item_quantidade_premio)
doPlayerAddItem(cid,2160,dinheiro_premio)
doBroadcastMessage(""..(getPlayerName(player_escolhido)).." is the tournament winner!",22) -- ALTERAR frase para todos, do ganhador do premio
return TRUE
else
if total_players <= 0 then
setGlobalStorageValue(storage, -1)
doBroadcastMessage("All players die, is the end of tournament.",22) -- ALTERAR frase para todos, do ganhador do premio
return TRUE
end
end
 
return TRUE
end

 

Aqui meu globalevents/scripts/arenawar1

function onThink(interval, lastExecution)
 
local tempo_espera = 5 * 60 * 1000 -- ALTERAR tempo de espera na sala, 1 minuto
 
doBroadcastMessage("Evento PVP foi Ativado.",22)                 -- ALTERAR frase que aparece para todos quando usar o comando
setGlobalStorageValue(24658, 0)                                  -- ALTERAR storage usado no sistema, deixar todos iguais
addEvent(
function ()
 
 
         local pos_templo = {x =1258, y =1069 , z =6 }             -- ALTERAR coordenada do templo do seu ot server
         doBroadcastMessage("Evento Iniciado.",22)               -- ALTERAR frase quando todos forem para a arena
         setGlobalStorageValue(24658, 1)                         -- ALTERAR storage usado no sistema, deixar todos iguais
         local players = getPlayersOnline()
         local i = 1
         local total_player = 0
         
         while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x =955 , y =973 , z =7 }           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x =977 , y =979 , z =7 }           -- ALTERAR pos do canto inferior direito da sala de espera
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  total_player = total_player + 1
               end
               
               i = i + 1
         end
         
         i = 1
         if total_player <= 1 then
            doBroadcastMessage("Evento Cancelado, Players Insuficientes.",22) -- ALTERAR Frase de evento cancelado por falta de players 
            setGlobalStorageValue(24658, -1)                      -- ALTERAR storage usado no sistema, deixar todos iguais
 
            while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x =955 , y =973 , z =7 }           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x =977 , y =979 , z =7 }           -- ALTERAR pos do canto inferior direito da sala de espera
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  doTeleportThing(players, pos_templo)
               end
               
               i = i + 1
            end
 
            return TRUE
         end         
         
         while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x =955 , y =973 , z =7 }           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x =977 , y =979 , z =7 }           -- ALTERAR pos do canto inferior direito da sala de espera
               local pos_arena = {x =923 , y =978 , z =7 }            -- ALTERAR do inicio da arena
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  doTeleportThing(players, pos_arena)
                  doPlayerSendTextMessage(players, MESSAGE_STATUS_CONSOLE_BLUE, "Batalhe pela sua vida.")   -- ALTERAR frase que vai aparecer para o player quando ele entrar na arena
               end
               
               i = i + 1
         end
 
end
,tempo_espera)
   
return true
end

 

 

Vou lhe pedir um grande favor, refaça tudo com os arquivos que eu disponibilizo aqui no inicio do tópico, ou seja, apague tudo e refaça de verdade, teste ele para mim, usando o comando, como foi feito inicialmente, se tudo ocorrer corretamente adicione essas coisas, lembre-se de modificar tudo novamente para evitar que o bug aconteça, aguardando resposta. 

 

isso no globalevents/globalevents.xml

<globalevent name="arenawar1" interval="Mudartempo" event="script" value="arenawar1.lua"/>

 

e isso no globalevents/scripts/arenawar1.lua

function onThink(cid, words, param)
 
local tempo_espera = 60 * 1000 -- ALTERAR tempo de espera na sala, 1 minuto
 
doBroadcastMessage("Evento PVP foi Ativado.",22)                 -- ALTERAR frase que aparece para todos quando usar o comando
setGlobalStorageValue(24658, 0)                                  -- ALTERAR storage usado no sistema, deixar todos iguais
addEvent(
function ()
 
 
         local pos_templo = {x = 156, y = 56, z = 7}             -- ALTERAR coordenada do templo do seu ot server
         doBroadcastMessage("Evento Iniciado.",22)               -- ALTERAR frase quando todos forem para a arena
         setGlobalStorageValue(24658, 1)                         -- ALTERAR storage usado no sistema, deixar todos iguais
         local players = getPlayersOnline()
         local i = 1
         local total_player = 0
         
         while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x = 152, y = 47, z = 7}           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x = 155, y = 49, z = 7}           -- ALTERAR pos do canto inferior direito da sala de espera
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  total_player = total_player + 1
               end
               
               i = i + 1
         end
         
         i = 1
         if total_player <= 1 then
            doBroadcastMessage("Evento Cancelado, Players Insuficientes.",22) -- ALTERAR Frase de evento cancelado por falta de players 
            setGlobalStorageValue(24658, -1)                      -- ALTERAR storage usado no sistema, deixar todos iguais
 
            while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x = 152, y = 47, z = 7}           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x = 155, y = 49, z = 7}           -- ALTERAR pos do canto inferior direito da sala de espera
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  doTeleportThing(players, pos_templo)
               end
               
               i = i + 1
            end
 
            return TRUE
         end         
         
         while i <= #players do
               local pos_player = getPlayerPosition(players)
               local pos1_espera = {x = 152, y = 47, z = 7}           -- ALTERAR pos do canto superior esquerdo da sala de espera
               local pos2_espera = {x = 155, y = 49, z = 7}           -- ALTERAR pos do canto inferior direito da sala de espera
               local pos_arena = {x = 160, y = 54, z = 7}             -- ALTERAR do inicio da arena
               if pos_player.x >= pos1_espera.x and pos_player.y >= pos1_espera.y and pos_player.x <= pos2_espera.x and pos_player.y <= pos2_espera.y then
                  doTeleportThing(players, pos_arena)
                  doPlayerSendTextMessage(players, MESSAGE_STATUS_CONSOLE_BLUE, "Batalhe pela sua vida.")   -- ALTERAR frase que vai aparecer para o player quando ele entrar na arena
               end
               
               i = i + 1
         end
 
end
,tempo_espera)
   
return true
end

Editado por gabisa00 (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo