Postado Julho 21, 2014 11 anos 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 Julho 21, 2014 11 anos 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.