-
Total de itens
2553 -
Registro em
-
Última visita
-
Dias Ganhos
72
Tudo que zipter98 postou
-
elseif spell == "Mamaragan" then local ret = {} ret.id = 0 ret.cd = 9 ret.eff = 136 ret.check = 0 ret.spell = spell ret.cond = "Stun" local pos = getThingPosWithDebug(cid) local areas = {rock1, rock2, rock1, rock3, rock1, rock4, rock1, rock5} for i = 0, 7 do addEvent(doMoveInArea2, i*320, cid, 170, areas[i+1], ELECTRICDAMAGE, min, max, spell, ret) addEvent(doMoveInArea2, i*330, cid, 170, areas[i+1], ELECTRICDAMAGE, 0, 0, spell) end
-
local w = { [1] = {ef = 36, sh = 24, dmg = COMBAT_FIREDAMAGE}, [2] = {ef = 42, sh = 24, dmg = COMBAT_ICEDAMAGE}, [3] = {ef = 45, sh = 24, dmg = COMBAT_POISONDAMAGE}, [4] = {ef = 11, sh = 24, dmg = COMBAT_ENERGYDAMAGE} } local combat_area = createCombatArea{ {1, 1, 1}, {1, 2, 1}, {1, 1, 1}, } function onUseWeapon(cid, var) min, max = 1080 , 16123 -- dano minimo e maximo target = getCreatureTarget(cid) if target ~= 0 then wx = w[math.random(1, #w)] doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh) addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), combat_area, -min, -max, wx.ef) end return true end
-
Tópico movido para dúvidas / pedidos resolvidos.
-
[Encerrado] Erro Script waterfall.lua (Cyan)
tópico respondeu ao Kalashnikov Jr de zipter98 em Tópicos Sem Resposta
Tópico Movido Este tópico foi movido de "OTServ → Scripting → Scripts Prontos → Outros" para "OTServ → Suporte → Suporte Servidores derivados". -
Tópico movido para dúvidas / pedidos resolvidos.
-
dúvida Effect diferente para pokémons diferentes
pergunta respondeu ao Rumplestiltiskin de zipter98 em Scripts
Tópico movido para dúvidas / pedidos resolvidos. -
Eu não dei ideia alguma.
-
Tópico Movido Este tópico foi movido de "OTServ → Downloads → Servidores → Servidores → OTserv 8.6x e 8.7x" para "OTServ → Downloads → Mapas → Aprovados → Mapas 8.6x e 8.7x".
-
É, imaginei que isso fosse acontecer. Editei meu comentário anterior com as correções (tanto na modificação do NPC quanto no creatureevent).
-
No código do NPC, troque: local stoTime = 96588 local stoKill = 96589 local stoName = 96590 por: local stoTime = 96586 local stoKill = 96585 local stoName = 96587 E, para evitar futuros erros, troque seu creatureevent por este: local function isSummon(cid) if not isCreature(cid) then return false end if getCreatureMaster(cid) ~= cid then return true end return false end function onDeath(cid, corpse, deathList) local stoTime = 96586 local stoKill = 96585 local stoName = 96587 local task = { ["dragon"] = {kill = "Dragon", qnt = 1500, exp = 1000000}, ["dragon lord"] = {kill = "Dragon Lord", qnt = 1000, exp = 800000}, ["hydra"] = {kill = "Hydra", qnt = 800, exp = 700000}, ["frost dragon"] = {kill = "Frost Dragon", qnt = 600, exp = 500000}, ["dragon guardian"] = {kill = "Dragon Guardian", qnt = 500, exp = 400000}, ["thunder dragon"] = {kill = "Thunder Dragon", qnt = 400, exp = 300000}, ["multi"] = {kill = "Multi", qnt = 600, exp = 200000}, ["demodras"] = {kill = "Demodras", qnt = 300, exp = 200000}, } for a = 1, #deathList do local pk = deathList[a] local myTask = task[string.lower(getPlayerStorageValue(pk, stoName))] local left = math.ceil((getPlayerStorageValue(pk, stoTime) - os.time())/(24 * 60 * 60)) if myTask and getCreatureName(cid) == getPlayerStorageValue(pk, stoName) and not isSummon(cid) then if left > 0 and getPlayerStorageValue(pk, stoKill) > 0 then setPlayerStorageValue(pk, stoKill, getPlayerStorageValue(pk, stoKill) - 1) local sto = getPlayerStorageValue(pk, stoKill) local jaMatou = math.abs(getPlayerStorageValue(pk, stoKill)-myTask.qnt) if sto == 0 then doPlayerSendTextMessage(pk, 22, "["..myTask.kill.." Task Finalizada] ("..myTask.qnt.."/"..myTask.qnt..")") else doPlayerSendTextMessage(pk, 22, "["..myTask.kill.." Task] ("..jaMatou.."/"..myTask.qnt..")") end end end end return true end
-
OK, já sabemos onde o erro está. Agora, veremos qual é o erro. local function isSummon(cid) if not isCreature(cid) then return false end if getCreatureMaster(cid) ~= cid then return true end return false end function onDeath(cid, corpse, deathList) local stoTime = 96586 local stoKill = 96587 local stoName = 96587 local task = { ["dragon"] = {kill = "Dragon", qnt = 1500, exp = 1000000}, ["dragon lord"] = {kill = "Dragon Lord", qnt = 1000, exp = 800000}, ["hydra"] = {kill = "Hydra", qnt = 800, exp = 700000}, ["frost dragon"] = {kill = "Frost Dragon", qnt = 600, exp = 500000}, ["dragon guardian"] = {kill = "Dragon Guardian", qnt = 500, exp = 400000}, ["thunder dragon"] = {kill = "Thunder Dragon", qnt = 400, exp = 300000}, ["multi"] = {kill = "Multi", qnt = 600, exp = 200000}, ["demodras"] = {kill = "Demodras", qnt = 300, exp = 200000}, } for a = 1, #deathList do local pk = deathList[a] local myTask = task[string.lower(getPlayerStorageValue(pk, stoName))] local left = math.ceil((getPlayerStorageValue(pk, stoTime) - os.time())/(24 * 60 * 60)) print(myTask or "Task não existente: "..getPlayerStorageValue(pk, stoName)) print("Task do jogador "..getPlayerStorageValue(pk, stoName)) print("Nome do monstro: "..getCreatureName(cid)) if myTask and getCreatureName(cid) == getPlayerStorageValue(pk, stoName) and not isSummon(cid) then print("Primeira condição sendo executada.") if left > 0 and getPlayerStorageValue(pk, stoKill) > 0 then print("Segunda condição sendo executada.") setPlayerStorageValue(pk, stoKill, getPlayerStorageValue(pk, stoKill) - 1) local sto = getPlayerStorageValue(pk, stoKill) local jaMatou = math.abs(getPlayerStorageValue(pk, stoKill)-myTask.qntdade) if sto == 0 then doPlayerSendTextMessage(pk, 22, "["..myTask.kill.." Task Finalizada] ("..myTask.qntdade.."/"..myTask.qnt..")") else doPlayerSendTextMessage(pk, 22, "["..myTask.kill.." Task] ("..jaMatou.."/"..myTask.qntdade..")") end end end end return true end
-
Sim, o que me leva a indagar do porquê não tem aparecido erro algum na distro. É sempre informado no console quando uma variável inexistente é declarada. Mesmo assim, a storage responsável por armazenar os dados da task é ainda alterada.
-
Por gentileza, informe se alguma mensagem é imprimida na distro. Assim, saberemos onde exatamente se encontra o erro. local function isSummon(cid) if not isCreature(cid) then return false end if getCreatureMaster(cid) ~= cid then return true end return false end function onDeath(cid, corpse, deathList) print("Script sendo executado.") local stoTime = 96586 local stoKill = 96587 local stoName = 96587 local task = { ["dragon"] = {kill = "Dragon", qnt = 1500, exp = 1000000}, ["dragon lord"] = {kill = "Dragon Lord", qnt = 1000, exp = 800000}, ["hydra"] = {kill = "Hydra", qnt = 800, exp = 700000}, ["frost dragon"] = {kill = "Frost Dragon", qnt = 600, exp = 500000}, ["dragon guardian"] = {kill = "Dragon Guardian", qnt = 500, exp = 400000}, ["thunder dragon"] = {kill = "Thunder Dragon", qnt = 400, exp = 300000}, ["multi"] = {kill = "Multi", qnt = 600, exp = 200000}, ["demodras"] = {kill = "Demodras", qnt = 300, exp = 200000}, } for a = 1, #deathList do print("Loop iterando jogadores sendo executado.") local pk = deathList[a] local myTask = task[string.lower(getPlayerStorageValue(pk, stoName))] local left = math.ceil((getPlayerStorageValue(pk, stoTime) - os.time())/(24 * 60 * 60)) if myTask and getCreatureName(cid) == getPlayerStorageValue(pk, stoName) and not isSummon(cid) then print("Primeira condição sendo executada.") if left > 0 and getPlayerStorageValue(pk, stoKill) > 0 then print("Segunda condição sendo executada.") setPlayerStorageValue(pk, stoKill, getPlayerStorageValue(pk, stoKill) - 1) local sto = getPlayerStorageValue(pk, stoKill) local jaMatou = math.abs(getPlayerStorageValue(pk, stoKill)-myTask.qntdade) if sto == 0 then doPlayerSendTextMessage(pk, 22, "["..myTask.kill.." Task Finalizada] ("..myTask.qntdade.."/"..myTask.qnt..")") else doPlayerSendTextMessage(pk, 22, "["..myTask.kill.." Task] ("..jaMatou.."/"..myTask.qntdade..")") end end end end return true end
-
Você provavelmente está usando um creatureevent executado quando um monstro morre, com uma de suas características a modificação de valores em duas tabelas da database que estão faltando no seu servidor (killed_monsters e player_advances). Talvez seja um onDeath ou um onKill. Recomendaria dar uma olhada nos códigos de data/creaturescripts/scripts e procurar por aqueles que ou chamam a função db.executeQuery ou db.query. Se você não os estiver usando, basta deletá-los que o erro não mais acontecerá. Caso contrário, responda a pergunta do Adriano.
-
[Resolvido] [PDA] Player Em Pz Usando Ataque
pergunta respondeu ao FlamesAdmin de zipter98 em Resolvidos
Tópico movido para dúvidas / pedidos resolvidos. -
pedido [Encerrado] [Pedido] Spell Pokemon
tópico respondeu ao carlos fabian de zipter98 em Tópicos Sem Resposta
Tópico movido para dúvidas / pedidos resolvidos. -
[Resolvido] [PDA] Player Em Pz Usando Ataque
pergunta respondeu ao FlamesAdmin de zipter98 em Resolvidos
Troque: if getTileInfo(getThingPos(mypoke)).protection then por: if getTileInfo(getThingPos(cid)).protection then -
Troque: doTransformItem(item.uid, 7697) por: if item.uid > 0 then doTransformItem(item.uid, 7697) end
-
Caso o código do Adriano ainda não funcione, peço que me responda uma coisa: você possui as sources do seu servidor? Gostaria de tentar uma coisa diferente.
-
action Ajuda para converter um Script para outra base²
tópico respondeu ao kaleudd de zipter98 em Lixeira Pública
Os status do PDA sem level são calculados de maneira diferente da versão com esta característica. Os fatores que influenciam na fórmula do cálculo de defesa, vida, ataque e etc são poucos, como boost e nível do jogador, visto que os status de cada pokémon são constantes. Já na versão com level, os atributos são variáveis, sendo avançar de nível um fator que os alteram. Mas como ninguém se importa com esta explicação, vou direto ao ponto: você quer que os atributos sejam aumentos por valores fixos ou percentuais? Por exemplo, um aumento de ataque em 10% ou um aumento de defesa em 300 (para o segundo caso, eu recomendaria um estudo sobre as fórmulas de status para ter uma melhor noção dos valores apropriados). -
action Sistema: Cassino Slots
tópico respondeu ao gonorreiaswat de zipter98 em Actions e Talkactions
Gostei do resultado apresentado no vídeo. Sério, ficou muito legal. Tópico aprovado e movido para a área adequada. Obrigado pelo conteúdo. ) -
[Resolvido] Remover Créditos estranhos no Console
pergunta respondeu ao SirUndead de zipter98 em Resolvidos
Tópico movido para dúvidas / pedidos resolvidos. -
pedido [Pedido] monstro só ataca player com storage (10 reps)
pergunta respondeu ao Jefferson14789 de zipter98 em Scripts
Você não vai conseguir fazer isso sem modificações nas sources. http://www.xtibia.com/forum/topic/236635-ontarget-tambem-executado-por-monstros/ -
Troque: db.query por: db.executeQuery Esta correção também serve para aquele código que você mostrou no tópico.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.