Jump to content

Yan Oliveira

Moderador
  • Posts

    2187
  • Joined

  • Last visited

  • Days Won

    57

Yan Oliveira last won the day on January 16

Yan Oliveira had the most liked content!

About Yan Oliveira

Perfil

  • Gênero
    Masculino

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Scripter

Recent Profile Visitors

8553 profile views

Yan Oliveira's Achievements

  1. Como está o arquivo XML? Provavelmente você não colocou a propriedade summonable como '1': <flag summonable="1"/> Mas é bom fazer o que o red X falou, na dúvida, copia o arquivo de outro monster que já funciona e substitui pelo novo. Mas seria bom informar qual era o problema e qual foi a solução, para que outras pessoas com os mesmos problemas no futuro consigam ver a solução.
  2. Yan Oliveira

    Vault

    Substitua o código por: function onUse(cid, item, fromPosition, itemEx, toPosition) local cidMoney = getPlayerMoney(cid) local vaultmoney = getItemAttribute(itemEx.uid, "money") if (getItemAttribute(itemEx.uid, "money") == 0) then doSetItemAttribute(itemEx.uid, "money", cidMoney) if getPlayerMoney(cid) >= 1000000 and getPlayerMoney(cid) < 10000000 then item = doPlayerAddItem(cid, 7896, 1) doItemSetAttribute(item, "money", cidMoney) elseif getPlayerMoney(cid) >= 10000000 and getPlayerMoney(cid) < 100000000 then item = doPlayerAddItem(cid, 7897, 1) doItemSetAttribute(item, "money", cidMoney) elseif getPlayerMoney(cid) >= 100000000 and getPlayerMoney(cid) <= 2000000000 then item2 = doPlayerAddItem(cid, 7898, 1) doItemSetAttribute(item2, "money", cidMoney) end doPlayerRemoveMoney(cid, cidMoney) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Voce depositou "..cidMoney.." dolares!") else item2 = doPlayerAddItem(cid, 7895, 1) doItemSetAttribute(item2, "money", 0) doPlayerAddMoney(cid, vaultmoney) end doPlayerRemoveItem(cid, itemEx, 1) doRemoveItem(itemEx.uid, 1) return true end Otimizei o código, porque tinha muita repetição nos blocos condicionais
  3. A função setCallback tem dois parâmetros: combat:setCallback(key, function) Mas eu não estou passando quatro parâmetros, estou passando a função createSpellExplosition como parâmetro. No código C++ essa função é um parâmetro. Sobre a forma como quer o script, eu entendi. E no GIF o efeito está saindo em CIRCLE 5X5 de forma aleatória, mas está dando dano quando muda a coordenada? Ou só está dando dano na primeira posição que a spell foi executada?
  4. Realmente faltou um "then" após um if e também coloquei a área errada. Substitui o código por: local function createSpellExplosion(creature, combat, variant, count) local caster = Creature(creature) if not caster or combat == nil then return true end if count > 0 then if count < 5 and (math.random(0, 1) == 0) then count = count + 1 else combat:execute(caster, variant) end addEvent(createSpellExplosion, math.random(1000, 4000), caster:getId(), combat, variant, count - 1) else return true end end local combat = Combat() combat:setFormula(COMBAT_FORMULA_DAMAGE, -100, 0, -100, 0) combat:setArea(createCombatArea(AREA_CIRCLE5X5)) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE) combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT) combat:setCallback(CALLBACK_PARAM_TARGETTILE, "createSpellExplosion") function onCastSpell(creature, variant, isHotkey) return createSpellExplosion(creature, combat, variant, count) end
  5. Isso acontece porque você definiu uma posição, mas não está atualizando, então o efeito fica estático naquela coordenada. Substitua seu código por: function createSpellExplosion(creature, combat, variant, count) local caster = Creature(creature) if not caster or combat == nil then return true end if count > 0 if count < 5 and (math.random(0, 1) == 0) then count = count + 1 else caster:getPosition():sendMagicEffect(CONST_ME_HITBYFIRE) end combat:execute(caster, variant) addEvent(createSpellExplosion, math.random(1000, 4000), caster:getId(), combat, variant, count - 1) else return true end end local combat = Combat() combat:setFormula(COMBAT_FORMULA_DAMAGE, -100, 0, -100, 0) combat:setArea(createCombatArea(CONST_ME_EXPLOSIONHIT)) combat:setCallback(CALLBACK_PARAM_TARGETTILE, "createSpellExplosion") function onCastSpell(creature, variant, isHotkey) return createSpellExplosion(creature, combat, variant, count) end
  6. Tópico movido para OFF-Topic > Barzinho do Éks > Papo Cabeça.
  7. Tópico movido para OTServ > Suporte > Clients. Já testou esse script em outro Client? Esse problema só acontece nesse OTClient específico que você está usando?
  8. Quando você diz dinheiro do bank, seria o Balance do player que fica no banco de dados, certo?
  9. Tópico movido para OTServ > Pedidos > Datapacks. Informe mais detalhes da base que você deseja encontrar.
  10. Que bom! A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para Suporte - Resolvidos. Se você tiver outras dúvidas, crie um novo tópico.
  11. Deu certo? Conseguiu resolver seu problema?
  12. Sabe dizer se essa base é baseada no Pokémon Dash Advanced ou Pokémon Dash? Porque a maioria dos poketibias usam normalmente um dos três seguintes arquivos para adicionar ataque para pokémon summon (player): Data/Lib/Configuration.lua Data/Lib/Moves.lua Data/Spells/Scripts
  13. Posta o código desses dois arquivos: data/lib/004-database.lua e data/lib/056-SecuritySystem.lua.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...