Ir para conteúdo

Featured Replies

Postado

Mano tenta arruma ai no globalevents linha 36


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)         <<<<<<<<<<<<<<
 
 
doplayeradditem 
 
quando liguei meu ot deu error falo que linha 36 n sei ajuda ai
  • 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
  • Autor

arrumei, substitui esse arquivo por esse.

function onThink(interval, lastExecution)
 
local total_players = 0
local storage = 24658                        -- ALTERAR storage usado no sistema deixar todos iguais
local item_premio = 1234                     -- 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 = , y = , z = }        -- ALTERAR coordenada do templo 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 = , y = , z = }   -- ALTERAR pos do canto superior esquerdo da arena
      local pos2_arena = {x = , y = , z = }   -- 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
                if getPlayerGroupId(cid) <= 1 then
                      total_players = total_player + 1
                      player_escolhido = players
                end      
 
      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)
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você é o Vencedor do Evento.")        -- ALTERAR frase para o vencedor do premio
      doBroadcastMessage("O Player"..(getPlayerName(player_escolhido)).." é o Vencedor do Evento.",22) -- ALTERAR frase para todos, do ganhador do premio
      return TRUE
else
    if total_players <= 0 then
      setGlobalStorageValue(storage, -1)
      doBroadcastMessage("Todos os Jogadores Se mataram, fim do Evento.",22) -- ALTERAR frase para todos, do ganhador do premio
      return TRUE       
    end      
end
 
return TRUE
end

Postado

Sem erros durante a iniação do evento, teleporta certinho e talz, mas quando mato o ultimo player não recebo o premio nem sou teleportado e acontece isso:

 

[Error- Globalevent Interface]

data/globalevents/scripts/pvp.lua:onthink

data/globalevents/scripts/pvp.lua:23 attempt attempt to compare boolean with number

data/globalevents/scripts/pvp.lua:23 in function pvp.lua:1

Couldn't execute event 'arenawar'

m9r2.png

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

Postado
  • Autor

Tente isso pf.

 

function onThink(interval, lastExecution)



local total_players = 0
local storage = 24658 -- ALTERAR storage usado no sistema deixar todos iguais
local item_premio = 1234 -- 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 = , y = , z = } -- ALTERAR coordenada do templo 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 = , y = , z = } -- ALTERAR pos do canto superior esquerdo da arena
local pos2_arena = {x = , y = , z = } -- 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_player + 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)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você é o Vencedor do Evento.") -- ALTERAR frase para o vencedor do premio
doBroadcastMessage("O Player"..(getPlayerName(player_escolhido)).." é o Vencedor do Evento.",22) -- ALTERAR frase para todos, do ganhador do premio
return TRUE
else
if total_players <= 0 then
setGlobalStorageValue(storage, -1)
doBroadcastMessage("Todos os Jogadores Se mataram, fim do Evento.",22) -- ALTERAR frase para todos, do ganhador do premio
return TRUE
end
end

return TRUE
end

 

Me avise se funcionar por favor.

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

Postado

[Error- Globalevent Interface]

data/globalevents/scripts/pvp.lua:onthink

data/globalevents/scripts/pvp.lua:23 attempt to perform arithmet on global 'total_player' <a nil value>

data/globalevents/scripts/pvp.lua:23 in function pvp.lua:1

Couldn't execute event 'arenawar'

m9r2.png

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

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