Ir para conteúdo

Featured Replies

Postado

Decidi implementar o defend the king no meu OT, o problema são os vários bugs que ele têm.

 

1º Os players quando são teleportados para o sitio do castelo, não mudam o outfit,.

 

Erro na consola:

[Error - MoveEvents Interface]
data/movements/scripts/defend_tp.lua:onStepIn
Description:
attempt to index a number value
stack traceback:
       [C]: in function ' doSetCreatureOutfit'
       data/movements/scripts/defend_tp.lua:35 in function <data/movements/scripts/defend_tp.lua:3>

 

Scripts de erro: defend_tp.lua

 

dofile("config-dtk.lua")

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if item.actionid == 99887 then
   if getDefendTotalValue(control_attacker) == -1 then
            setGlobalStorageValue(control_attacker,0)
   end
   if getDefendTotalValue(control_defender) == -1 then
      setGlobalStorageValue(control_defender,0)
   end
   if getDefendTotalValue(control_total_players) == -1 then
      setGlobalStorageValue(control_total_players,0)
   end
   if block_ip == 1 then
      if getDefendPlayersInEvent() ~= FALSE then
         for _,info in pairs(getDefendPlayersInEvent()) do
             if isPlayerOnline(info.name) then
                if getPlayerIp(cid) == getIpByName(info.name) then
                   doPlayerSendCancel(cid,"Ja existe um membro com mesmo IP no evento.")
                   doTeleportThing(cid,fromPosition)
                   return TRUE
                end
             end
         end
      end
   end
   if getPlayerLevel(cid) <= min_level then
      doPlayerSendCancel(cid,"Sorry, you need level ".. min_level .." to enter in event.")
      doTeleportThing(cid,fromPosition)
      return TRUE
   end
   storage_groups = {["attacker"]=control_attacker,["defender"]=control_defender}
   if (getDefendTotalValue(control_attacker) < getDefendTotalValue(control_defender)) or (getDefendTotalValue(control_attacker) == 0) then
       doDefendTp(cid,"attacker",control_total_players,storage_groups)
        doSetCreatureOutfit(cid, outfits.attacker)
   else                                            
       doDefendTp(cid,"defender",control_total_players,storage_groups)
        doSetCreatureOutfit(cid, outfits.defender)
    
   end
   if getDefendTotalValue(control_total_players) >= max_event then
      doRemoveItem(item.uid)
      doBroadcastMessage("Event is FULL. Teleport has been closed...")
   end
   registerCreatureEvent(cid, "player_combat")
end
return TRUE
end           


function doDefendTp(cid,name_group,storage_total_player,storage_groups--[[Table]])
   setGlobalStorageValue(storage_groups[name_group],getDefendTotalValue(storage_groups[name_group])+1)
   setGlobalStorageValue(storage_total_player,getDefendTotalValue(storage_total_player)+1)
   db.executeQuery("INSERT INTO `players_dtk` VALUES('".. getCreatureName(cid):lower() .."','"..name_group.."',0,".. getPlayerTown(cid) ..");")
   doPlayerSetTown(cid, towns_id[name_group])
   doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)))
   doSendMagicEffect(getCreaturePosition(cid), 10)
   addEvent(doSendMagicEffect,1000,getCreaturePosition(cid), 36)
   --// Config rapida das palavras atacando e defendendo
   mode_player = {["attacker"]="attacker",["defender"]="defender"}
   doPlayerSendCancel(cid,"You are " .. mode_player[name_group] ..". Have now ".. getDefendTotalValue(storage_groups["attacker"]) .." attackers and ".. getDefendTotalValue(storage_groups["defender"])  .." defender")
end

Ficheiro principal: config-dtk

 

 

--[[ Defend the King v1.0
        \--=======--/
Empresa: OT Projects
        /--=======--\
Scripter respons�vel: R�mulo Souza de Almeida
]]  

--// HORARIO AUTOMATICO   (horas define em: data/globalevents/globalevents.xml)
-- Coloque: 0 para NAO executar | 1 para executar
config_week = {
        ["domingo"]=1,
        ["segunda"]=1,
        ["terca"]=1,
        ["quarta"]=1,
        ["quinta"]=1,
        ["sexta"]=1,
        ["sabado"]=1,
       }

--// Configura��es B�sicas
min_event = 1                    -- Minimo de players no evento            
max_event = 1                   -- Maximo de players no evento
tempo_espera = 0.8                 -- Tempo em minutos pelo minimo de jogadores no evento at� a lota��o maxima
tempo_round = 3                 -- Tempo em minutos para o evento iniciado.  
--// Outfits

outfits = {["attacker"]={lookType = 134, lookHead = 40, lookAddons = 3, lookLegs = 132, lookBody = 132, lookFeet = 77},  -- Outfits dos atacantes
           ["defender"]={lookType = 268, lookHead = 116, lookAddons = 3, lookLegs = 0, lookBody = 0, lookFeet = 114},    -- Outfits dos defensores
           ["default"]={lookType = 128, lookHead = 114, lookAddons = 1, lookLegs = 0, lookBody = 0, lookFeet = 114}   -- Outfit apos o evento
          }
--// Premios 
premios = {2486,2494,2656,5953,8266,5810}   -- ID dos premios
--// Configura��es de seguran�a
block_ip = 0    -- Bloquear a entrada de players com mesmo ip ao teleport? ( 0=NAO, 1=SIM )
min_level = 50  -- Level minimo para entrada no evento.

--// Configura��es de Teleport
tp_city = "room de eventos"     -- Nome da cidade que sera aberta o TP. Muito simples, usada apenas para a BroadCast, nada demais.

--///Configura��o EXTREMAMENTE IMPORTANTE
towns_id = {
["defender"] = 15,
["attacker"] = 14
}
--///////////////////////////////////////

tp_itemid = 5915    -- ID do teleport
tp_pos = {x=985,y=949,z=7,stackpos=1}      -- Posi��o que ser� criada o Teleport para o Evento
--[[

//Configura��o do gate -> Essa � uma parte importante, qualquer numeros a mais, pode falhar o sistema.

No mapa editor, colocar piso invisivel sobre o Gate que esteje acima do ground ( z maior que 7 ,por exemplo)
                                                          ____
Em position_gate coloque todos os lugares que contenha a |BASE| do Gate ( port�o ) daonde os atacantes ir�o invadir o castelo.
em position_gate_main coloque o lugar onde sera criado o monstro "Gate", para que o portao seja destruido. Ele � geralmente o muro central.
]]

gate_id = 1547      -- ID do gate, tem que ser o mesmo de monsters/gate.xml, onde: <look typeex="1547" <<aqui 
position_gate_main = {x=1605,y=1350,z=7,stackpos=253}    -- Onde o "monstro" Gate sera criado, geralmente ele � o central

position_gate = {{x=1604,y=1350,z=7,stackpos=255},  -- Base do portao.Se tiver mais portao acima do ground, favor, adicione na configura��o a seguir.
                 {x=1605,y=1350,z=7,stackpos=255},  -- Base do portao
                 {x=1606,y=1350,z=7,stackpos=255},  -- Base do portao
                 {x=1607,y=1350,z=7,stackpos=255}   -- Base do portao
                                                  -- Se for adicionar mais, adicione a mesma linha, seguindo o modelo, se for remover, remova a linha.
                 }
floor = 1        -- Andares do Gate. Ou seja, quantos andares acima, tem seu Gate?


-- //Configura��es avan�adas, mudar somente em caso de conflito com algum outro Script.
-- Storage
controle_geral = 312211              -- Verifica se o evento esta ativo
controle_atived = 134322             -- Verifica se o evento ja come�ou!
controle_player = 342315             -- Verifica se o player ja esta participando
controle_tempo = 143261             -- Verifica o tempo do evento para matar o king
controle_started = 142313            -- Verifica se o evento come�ou.
controle_king = 164231            -- Verifica se o King esta Online
controle_king_death = 343242      -- Verifica se o king morreu ou nao
controle_round = 664326     -- Verifica quantidades de rounds iniciadas
control_attacker = 542353           
control_defender = 254234           
control_total_players = 454322    
controle_walk_king = 734232         -- Rei parado, rei andando.
controle_voice = 374322
death_times = 264323                -- Player Storage
controle_in_delay = 64323
controle_convince_pid = 754233
all_storage = {controle_convince_pid,controle_geral,controle_player,controle_tempo,control_attacker,control_defender,control_total_players,controle_atived,controle_started,controle_king,controle_round,controle_walk_king,controle_voice,controle_king_death}
--##################################################################

Quando resolver este erro, posto o próximo.

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

TibiaServers.org | A sua nova lista de servidores de Tibia

[url=https://tibiaservers.org/server/evolution-ot][img]https://tibiaservers.org/dynamic_banners/76-ankrahmun.png[/img][/url]

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.9k

Informação Importante

Confirmação de Termo