É pq o npc "Daifray" e o Npc "Premium" estão bugados, entre na pasta dos npcs do seu ot, procure por esses npcs e se eles nao tiverem funçao nenhuma delete-os...
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] Erro No Meu Serverr Como Arrumo?
[Encerrado] Erro No Meu Serverr Como Arrumo?
Por matadorzim, 04 de out. de 2012 em Tópicos Sem Resposta
info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked

info
Grupo: Visconde
Registrado: 07/02/12
Posts: 427
Reputação: +112

na pasta data/npc crie um arquivo chamado Premium.xml e adicione isto
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Myshelle" script="Daifray.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">
<health now="150" max="150"/>
<look type="1089" head="91" body="114" legs="86" feet="0"/>
<parameters>
</parameters>
</npc>
Na pasta data/monster.xml adicione está tag
<monster name="Crystal Onix" file="pokes/shiny onix.xml"/>
<monster name="Crystal Onix" file="pokes/crystal onix.xml"/>
Agora na pasta data/npc/script crie um arquivo chamado Daifray.lua e adicione isto
local focus = 0
local max_distance = 8
local talk_start = 0
local conv = 0
local fighting = false
local challenger = 0
local afk_limit_time = 30 -- seconds
local afk_time = 0 -- don't change
local battle_turn = 1 -- don't change
local challenger_turn = 0 -- don't change
local masterpos = {}
local time_to_fight_again = 15 -- seconds, not ms (so 30 * 60 means 30 minutes)
local can_walk = true -- true to make this npc walks randomly
local max_distance = 5 -- maximum distance this npc can get far (sqms)
local walk_delay = 5 -- every seconds make this npc walk
local cooldown_table = {}
local min_pokemons_to_battle = 1-- change to whatever you want
local number_of_pokemons = 0 -- don't change
local prizes = {
[1] = {{itemid = 2393, count = 30}, {itemid = 2392, count = 20}},
[2] = {{itemid = 2393, count = 40}, {itemid = 2392, count = 30}},
[3] = {{itemid = 2393, count = 50}, {itemid = 2392, count = 40}},
[4] = {{itemid = 2393, count = 60}, {itemid = 2392, count = 50}},
[5] = {{itemid = 2393, count = 70}, {itemid = 2392, count = 60}},
[6] = {{itemid = 2393, count = 80}, {itemid = 2392, count = 70}}}
local pokemons = {
{name = "Sudowoodo", level = 90, extralevel = 30, sex = SEX_MALE, nick = "Sudow", ball = "super"},
{name = "Steelix", level = 100, extralevel = 15, sex = SEX_FEMALE, nick = "Stee", ball = "normal"},
{name = "Drapion", level = 95, extralevel = 20, sex = SEX_MALE, nick = "Drap", ball = "great"},
{name = "Shiny Magmortar", level = 80, extralevel = 30, sex = SEX_MALE, nick = "Magg", ball = "normal"},
{name = "Tyranitar", level = 95, extralevel = 37, sex = SEX_FEMALE, nick = "Dragonix", ball = "ultra"},
{name = "Mamoswine", level = 95, extralevel = 37, sex = SEX_FEMALE, nick = "Mamoo", ball = "ultra"},
}
local function doSummonGymPokemon(npc)
local this = npc
if not isCreature(this) then return true end
if #getCreatureSummons(this) >= 1 or focus == 0 then return true end
local it = pokemons[battle_turn]
doSummonMonster(this, it.name)
local summon = getCreatureSummons(this)[1]
local balleffect = pokeballs["normal"].effect
if it.ball and pokeballs[it.ball] then
balleffect = pokeballs[it.ball].effect
end
doSendMagicEffect(getThingPos(summon), balleffect)
setPlayerStorageValue(summon, 10000, balleffect)
setPlayerStorageValue(summon, 10001, gobackmsgs[math.random(#gobackmsgs)].back:gsub("doka", it.nick ~= "" and it.nick or it.name))
setPlayerStorageValue(summon, 1007, it.nick ~= "" and it.nick or it.name)
doSetMonsterGym(summon, focus)
local name = it.nick ~= "" and it.nick or getCreatureName(this).."s "..it.name
setWildPokemonLevel(summon, it.level, getPokemonStatus(it.name, (it.extralevel + it.level)), name, 1.5)
doCreatureSay(this, gobackmsgs[math.random(#gobackmsgs)].go:gsub("doka", getPlayerStorageValue(summon, 1007)), 1)
fighting = true
battle_turn = battle_turn + 1
end
local function doWinDuel(cid, npc)
if not isCreature(cid) then return true end
local this = npc
local x = prizes[number_of_pokemons]
for n = 1, #x do
doPlayerAddItem(cid, x[n].itemid, x[n].count)
end
doCreatureSay(npc, "Parabéns! Você ganhou, aqui é o seu prêmio.", 1)
cooldown_table[getCreatureName(cid)] = os.clock() + time_to_fight_again
return true
end
function onCreatureSay(cid, type, msg)
local msg = string.lower(msg)
if focus == cid then
talk_start = os.clock()
end
if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then
if cooldown_table[getCreatureName(cid)] and cooldown_table[getCreatureName(cid)] - os.clock() > 0 then
selfSay("Hello "..getCreatureName(cid)..", I really enjoyed our last battle!")
conv = 10
else
selfSay("Olá "..getCreatureName(cid)..", voçê deseja duelar comigo? Eu posso dar prêmios se você ganhar, fale Duel para batalha")
conv = 1
end
focus = cid
talk_start = os.clock()
return true
end
if (isDuelMsg(msg) or isConfirmMsg(msg)) and (conv == 1 or conv == 10) and focus == cid then
if conv == 10 then
selfSay("Acabamos de lutar! Por favor, espere um tempo para me recuperar da última batalha!")
focus = 0
return true
end
if not hasPokemon(cid) then
selfSay("Você precisa pokemons para a batalha!")
return true
end
selfSay("Ok, me diga com quantos pokemons voçê vai lutar.")
conv = 2
return true
end
if conv == 2 and focus == cid then
if not tonumber(msg) then
selfSay("Diga-me o número de pokemons que que nós vamos batalhar.")
return true
elseif tonumber(msg) > #pokemons then
selfSay("Só tenho "..#pokemons..",de modo que o máximo é de "..#pokemons.."!")
return true
elseif tonumber(msg) < min_pokemons_to_battle or tonumber(msg) < 1 then
selfSay("Tem que ser mais do que "..min_pokemons_to_battle..".")
return true
else
number_of_pokemons = tonumber(msg)
selfSay("Ok, o primeiro que vencer "..number_of_pokemons.." leva-rá a vitória, vamos começar!")
challenger = focus
setPlayerStorageValue(cid, 990, 1)
addEvent(doSummonGymPokemon, 850, getThis())
conv = 3
return true
end
return true
end
if isNegMsg(msg) and conv == 1 and focus == cid then
focus = 0
selfSay("É melhor para você recusar uma batalha contra mim!")
return true
end
if msgcontains(msg, 'bye') and focus == cid then
selfSay('Tchau e acredito que fiz de voçê um melhor treinador!')
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
end
local afk_warning = false
local change = false
local walkdelay = 0
function onThink()
if not masterpos.x then
masterpos = getThingPos(getThis())
end
if focus == 0 then
selfTurn(2)
fighting = false
challenger = 0
change = false
challenger_turn = 0
battle_turn = 1
afk_time = 0
afk_warning = false
if #getCreatureSummons(getThis()) >= 1 then
setPlayerStorageValue(getCreatureSummons(getThis())[1], 1006, 0)
doCreatureAddHealth(getCreatureSummons(getThis())[1], -getCreatureMaxHealth(getCreatureSummons(getThis())[1]))
end
walkdelay = walkdelay - 0.5
if walkdelay <= 0 then
walkdelay = walk_delay
local pos = getThingPos(getThis())
local npos = {}
for a = 0, 3 do
if getDistanceBetween(getPosByDir(pos, a), masterpos) <= max_distance and canWalkOnPos(getPosByDir(pos, a), true, false, true, true, false) then
table.insert(npos, getPosByDir(pos, a))
end
end
if npos and #npos > 0 then
doTeleportThing(getThis(), npos[math.random(#npos)])
end
end
return true
else
if not isCreature(focus) then
focus = 0
return true
end
if fighting then
talk_start = os.clock()
if not isCreature(getCreatureTarget(getThis())) then
if #getCreatureSummons(challenger) >= 1 then
selfAttackCreature(getCreatureSummons(challenger)[1])
change = true
afk_time = 0
else
afk_time = afk_time + 0.5
if change then
change = false
challenger_turn = challenger_turn + 1
end
end
end
if afk_time > afk_limit_time then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("Eu esperei muito tempo, voltar quando estiver pronto!")
return true
end
if not afk_warning and afk_time > afk_limit_time / 2 then
selfSay("Onde está seu pokemon? Vamos lutar!")
afk_warning = true
end
if #getCreatureSummons(getThis()) == 0 then
if battle_turn > number_of_pokemons then
addEvent(doWinDuel, 1000, focus, getThis())
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
addEvent(doSummonGymPokemon, 1000, getThis())
end
if not hasPokemon(challenger) or challenger_turn > 6 or challenger_turn >= number_of_pokemons then
selfSay("Você perdeu o nosso duelo! Talvez algum outro momento você vai me derrotar.")
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
end
local npcpos = getThingPos(getThis())
local focpos = getThingPos(focus)
if npcpos.z ~= focpos.z then
setPlayerStorageValue(focus, 990, -1)
focus = 0
selfSay("Flw Parceiro.")
return true
end
if (os.clock() - talk_start) > 30 then
selfSay("Adeus e mantenha a formação!")
setPlayerStorageValue(focus, 990, -1)
focus = 0
end
if getDistanceToCreature(focus) > max_distance then
setPlayerStorageValue(focus, 990, -1)
focus = 0
return true
end
local dir = doRedirectDirection(getDirectionTo(npcpos, focpos))
selfTurn(dir)
end
return true
end
Editado Outubro 4 por KarlKalvin
info
Grupo: Herói
Registrado: 28/11/10
Posts: 3.4k
Reputação: +585
Gênero: Masculino

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.



info
Grupo: Campones
Registrado: 12/06/09
Posts: 39
Reputação: 0
Char no Tibia: matadorzim
Toda hora aparece esses erros depois que o server ja abriu o player começa a jogar, derrepende começa a subir essas mensagens!
alguem sabe resvolve?
POKEMON DASH ADVANCED!
[04/10/2012 16:18:00] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/Premium.xml).
[04/10/2012 16:18:00] Info: failed to load external entity "data/npc/Premium.xml"
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Error - LuaScriptInterface::loadFile] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Daifray.lua
[04/10/2012 16:18:00] cannot open data/npc/scripts/Daifray.lua: No such file or directory
[04/10/2012 16:18:00] [spawn::addMonster] Cannot find "Crystal Onix"
[04/10/2012 16:18:00] > Data parsing time: 0.637 seconds.
[04/10/2012 16:18:06] > Houses synchronization time: 5.557 seconds.
[04/10/2012 16:18:06] > Content unserialization time: 0.28 seconds.