coloquei na area errada, se alguem tiver como trocar pra supporte scripting agradesço
- Fórum
- OTServ
- Suporte
- Resolvidos
- [Resolvido] Bug no spell Heavy Slam
Você deve colocar essa tabela em algum arquivo da lib:
ironBody = {
name = "Bronzong", --Nome do pokémon.
outfit = xxx, --Outfit.
duration = 5, --Duração.
chance = 35, --Chance, em %, de ativar a passiva.
cooldown = 15, --Cooldown para usá-la novamente.
}
Você deve colocar essa tabela em algum arquivo da lib:
ironBody = { name = "Bronzong", --Nome do pokémon. outfit = xxx, --Outfit. duration = 5, --Duração. chance = 35, --Chance, em %, de ativar a passiva. cooldown = 15, --Cooldown para usá-la novamente. }
sim eu coloquei, mesmo assim fica dando esse erro, nem faço ideia de o pq tb coloquei aquele arquevo no goback
Editado Fevereiro 19 por josegvb
que base se ta usando? pda?
Cara, você não coloca a tabela que eu mandei dentro de passiveschances. Sendo mais preciso, deixe-a separada no arquivo.
Cara, você não coloca a tabela que eu mandei dentro de passiveschances. Sendo mais preciso, deixe-a separada no arquivo.
valeu, tira 1 ultima duvida pfv, enquanto esse msm post,
onde tem que adicionar essa funçao?
function jump(cid, rounds)
Coloque o código da função em qualquer arquivo da lib (pode ser 050-function.lua, para melhor organização, ou até mesmo abaixo da tabela do Iron Body).
Coloque o código da função em qualquer arquivo da lib (pode ser 050-function.lua, para melhor organização, ou até mesmo abaixo da tabela do Iron Body).
pronto ficou dahora, unica coisa que esta faltando é q a spell Heavy Slam nao esta puxando os bixos, e tb vi que o cara la falou pra você enquanto o Earthquake (que os pokes sao elevados a cada vez q eles toman 1 hit do quake mas fecharam o topico la e isso nao tive resposta =x coloquei aqui mas é o onix quem se eleva 1x kkk
O Heavy Slam empurra, não puxa. Se você instalou os códigos corretamente e a base usada é a mesma, então a spell está funcionando como deveria.
Quanto ao Earthquake e outras spells elevarem outras criaturas, faça o seguinte:
Em qualquer arquivo da lib, coloque a seguinte tabela e configura nela as magias que realizem tal efeito:
JUMP_SPELLS = {"Earthquake"}
Depois, em newStatusSyst.lua (data/lib), no código da função:
function doMoveDano2(cid, pid, element, min, max, ret, spell)
Abaixo de:
if isSummon(cid) and (ehMonstro(pid) or (isSummon(pid) and canAttackOther(cid, pid) == "Can") or (isPlayer(pid) and canAttackOther(cid, pid) == "Can" and #getCreatureSummons(pid) <= 0)) and pid ~= cid then
if canAtk then --alterado v1.6
coloque:
if isInArray(JUMP_SPELLS, spell) then
jump(pid, 1)
end
Por fim, abaixo destas linhas:
elseif ehMonstro(cid) and (isSummon(pid) or (isPlayer(pid) and #getCreatureSummons(pid) <= 0)) and pid ~= cid then
if canAtk then --alterado v1.6
coloque:
if isInArray(JUMP_SPELLS, spell) then
jump(pid, 1)
end
Assim, as spells que usam a função doMoveInArea2 poderão levantar outras criaturas atacáveis. Entretanto, outras magias não poderiam ser generalizadas assim, porque as funções usadas são originárias das sources.
Para mudar isso, você teria que, em alguns casos, modificar individualmente o código das spells ou complementar funções usadas, em outros casos (como da função doDanoWithProtect, usada em várias magias em área).
funfando 99% @@zipter98, unico erro é que quando o pokemon entra na area to Earhtquake, logo apos entrar ele fica Parado, e nem se meche ate a spell parar, ele ainda fica tacando cd e tals porem para de se mexer e paresce q for alguma stun sla

e olha a configuraçao do item

É por causa que o tempo que o pokémon fica levantado coincide com o intervalo entre cada tick do Earthquake. Talvez diminuindo o primeiro conseguimos corrigir este problema.
Nestas linhas, altere o número 200 até encontrar um valor agradável (quanto menor, mais rápido):
end, rounds == 1 and 200 or (i + 2) * 100) end, i * (rounds == 1 and 200 or 100))
Editado Fevereiro 20 por zipter98
@@zipter98, entao

function jump(cid, rounds)
doChangeSpeed(cid, -getCreatureSpeed(cid))
doCreatureSetNoMove(cid, true)
for i = 1, rounds do
addEvent(function()
if isCreature(cid) then
local pos = getThingPos(cid)
local item = doCreateItem(15545, 1, pos)
addEvent(function()
local it = getTileItemById(pos, 15545).uid
if it > 0 then
doRemoveItem(it)
end
if i == rounds then
doRegainSpeed(cid)
doCreatureSetNoMove(cid, false)
end
end, rounds == 1 and 2 or (i + 2) * 100)
end
end, i * (rounds == 1 and 2 or 100))
end
end
testei 150, 110, 50, 10 e ate 2 e ficou assim
Remova estas linhas:
doChangeSpeed(cid, -getCreatureSpeed(cid)) doCreatureSetNoMove(cid, true) doRegainSpeed(cid) doCreatureSetNoMove(cid, false)
Remova estas linhas:
doChangeSpeed(cid, -getCreatureSpeed(cid)) doCreatureSetNoMove(cid, true) doRegainSpeed(cid) doCreatureSetNoMove(cid, false)
100%
mandei 1 duvida enquanto 1 spell no PM, se tiver como ajudar la agradesço muito ^^ adorei esse sistema, ficou igual a pxg msm





info
Grupo: Marquês
Registrado: 23/09/12
Posts: 1k
Reputação: +87
Gênero: Masculino
oi, preciso 1 ajuda enquanto esse spell q achei aki no forum
http://www.xtibia.com/forum/topic/235078-pedido-heavy-slam-e-passiva-iron-body/
coloquei tudo certo, testei de mil formas porem quando eu ligo o servidor, os bixos nao levam dano algum e fica spamando esse erro no log, alem de nao aparescer a cdBar
Editado Fevereiro 19 por josegvb