Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    73

Tudo que zipter98 postou

  1. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  2. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  3. Tópico atendido e movido para a seção de pedidos entregues.
  4. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  5. Poderia enviar o quê está escrito na linha 24 de catch system.lua?
  6. Seria interessente se você enviasse o quê se encontra na linha 4621 de pokemon moves.lua. Sobre as storages, não sei. Talvez sim. Vou revisar o código do Protection aqui. Qualquer coisa, reescrevo-o. #EDIT: Código reescrito. Aqui, pelo menos, está funcionando perfeitamente. elseif spell == "Protection" then local area = heal --Área do Protection. local pos = getPosfromArea(cid, area) local n = 0 local duel_sto_1 = xxx --Storage de duel. local duel_sto_2 = xxx --Storage de duel. local pvp_sto_1 = xxx --Storage de PvP. local pvp_sto_2 = xxx --Storage de PvP. local duration = 8 --Duração do buff. local eff = 117 local ret = {} local function isMonster(cid) if isCreature(cid) then if not isPlayer(cid) and not isSummon(cid) and not ehNPC(cid) then return true else return false end end return nil end if isSummon(cid) then ret.id = cid ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) local owner = getCreatureMaster(cid) ret.id = owner doCondition2(ret) elseif isMonster(cid) then ret.id = cid ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end while n < #pos do n = n + 1 local posis = {x = pos[n].x, y = pos[n].y, z = pos[n].z, stackpos = 253} local thing = getThingFromPosWithProtect(posis) if isCreature(thing) then if isSummon(cid) then local owner = getCreatureMaster(cid) if isSummon(thing) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), duel_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), duel_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), pvp_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), pvp_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end end elseif isPlayer(thing) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(thing, duel_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(thing, duel_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(thing, pvp_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(thing, pvp_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end end end end end end
  7. Também esqueci de mencionar isso: Em some functions.lua, procurem por: function doReduceStatus(cid, off, def, agi) if not isCreature(cid) then return true end E troquem por: function doReduceStatus(cid, off, def, agi) if not isCreature(cid) then return true elseif not pokes[getCreatureName(cid)] then return true end
  8. Ué, mas não é assim que o Protection funciona? ._.
  9. zipter98

    PokeVB

    Atualização! •Missão da Equipe Rocket adicionada abaixo do Cassino de Viridian. •Adicionadas duas novas outfits. •Remakes adicionados para os seguintes pokémons: Feraligatr, Meganium, Typhlosion, Jynx, Forretress, Electivire e Magmortar. •Reativada evolução de Electabuzz e Magmar. Link do novo client, aqui.
  10. Nada. Sanado, movido.
  11. Há uma maneira mais simples e menor de fazer isso: tabelas. Aqui está o seu código (não lhe culpo se não entender, não sou bom com explicações): local tabela_de_exemplo = { [1] = {item, "mensagem"}, --[valor da storage] = {id do item, mensagem}, [2] = {item, "mensagem"}, [3] = {item, "mensagem"}, } if tabela_de_exemplo[getPlayerStorageValue(cid, storage)] then --Se o valor da storage "storage" do jogador for igual à algum dos valores entre colchetes da tabela_de_exemplo, então: local tab = tabela_de_exemplo[getPlayerStorageValue(cid, storage)] doPlayerAddItem(cid, tab[1], 1) --O jogador receberá o item com ID programado no índice 1 da tabela equivalente ao valor da storage do jogador entre colchetes na tabela_de_exemplo. doPlayerSendTextMessage(cid, 27, tab[2]) --Será enviada ao jogador uma mensagem programada no índice 2 da tabela equivalente ao valor da storage do jogador entre colchetes na tabela_de_exemplo. else --Caso contrário: return doPlayerSendCancel(cid, "Mensagem") --Enviará uma mensagem. end Entende-se como cid quem executou a ação. PS: Não entendi muito bem a parte de "storages que o jogador tem". Assim, é possível entender como keys, e não values. Porém, suponho que seu objetivo fosse a segunda opção.
  12. @nociam Cara, como alguém vai adicionar essa função no PDA sem as sources?
  13. Área incorreta, tópico movido. Mais cuidado da próxima vez.
  14. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  15. Área incorreta, tópico movido. Mais cuidado da próxima vez. PS: Para pedidos e/ou dúvidas relacionados à servidores derivados (como Pokémon, no seu caso), opte por postar em Pedidos e dúvidas - Servidores derivados.
  16. zipter98

    Scripter de items

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  17. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  18. De onde essa variável boost do parâmetro da função tonumber surgiu? boost = tonumber(boost)
  19. Corrigido o "erro" do Revenge. Sobre o Protection, quando possível, darei uma olhada. #EDIT: Em some functions.lua, procure por: function doRaiseStatus(cid, off, def, agi, time) if not isCreature(cid) then return true end Troque por: function doRaiseStatus(cid, off, def, agi, time) if not isCreature(cid) then return true elseif not pokes[getCreatureName(cid)] then return true end
  20. Corrigi o erro do Protection, foi falta de atenção mesmo. Sobre a área do Revenge, a área splash pega exatamente em volta.
  21. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  22. Fiz as duas spells bem rápido aqui, então qualquer erro, só postar. Revenge: PS: Como não foi informado o intervalo de tempo entre os ataques, coloquei 500 milésimos. elseif spell == "Revenge" then local effs = {92, 93, 99, 94, 93} for i = 1, #effs do addEvent(function() if not isCreature(cid) then return true end doAreaCombatHealth(cid, FIGHTINGDAMAGE, getThingPosWithDebug(cid), splash, -min, -max, 0) doSendMagicEffect(getThingPos(cid), effs[i]) end, i * 500) end Protection: elseif spell == "Protection" then local duel_sto_1 = xxx --Storage de duel. local duel_sto_2 = xxx --Storage de duel. local pvp_sto_1 = xxx --Storage de PvP. local pvp_sto_2 = xxx --Storage de PvP. local duration = 8 --Duração do buff. local eff = 117 local ret = {} local function isMonster(cid) if isCreature(cid) then if not isPlayer(cid) and not isSummon(cid) and not ehNPC(cid) then return true else return false end end return nil end local spec = getSpectators(getThingPos(cid), 5, 5, false) for i = 1, #spec do if isSummon(cid) then local owner = getCreatureMaster(cid) if isSummon(spec[i]) or isPlayer(spec[i]) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_2) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_1) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_1) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_2) >= 1 then table.remove(spec, i) end end elseif isMonster(spec[i]) then table.remove(spec, i) end end end for i = 1, #spec do ret.id = spec[i] ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end Depois, em newStatusSyst.lua, procure por semelhantes à esta seguinte condição, e adicione: elseif buff == "Protection" then doRaiseStatus(cid, 0, 2, 0, a) --Estará buffando a mesma quantia de def que o Harden. Altere no valor "2".
  23. Corrigi esse bug ontem.
  24. Ahã. Ele se encontra no meu primeiro comentário (optei por editá-lo, ao invés de mandar 1 código por comentário).
  25. Entenderei isso como dúvida sanada. Movido.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...