Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''spell''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • xTibia - Notícias e Suporte
    • Regras
    • Noticias
    • Soluções
    • Projetos Patrocinados
    • Tutoriais para Iniciantes
    • Imprensa
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Downloads
    • Recursos
    • Suporte
    • Pedidos
    • Show-Off
    • Tutoriais
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Sou

  1. Fala ae galera, queria pedir a vocês, uma lista de lock type para magias; Ex: quando você manda Exura aprece um efeito eu queria mudar esse efeito. Se alguém puder postar os efeitos aleatórios de cada magia para mim eu agradeço e dou REP + .
  2. E Aew Galerinha Do XTIBIA Eu Estava Sem Fazer Nada E Resolvi Criar Uma Magia De Duplo Efeito De Cura Ao Usar A Magia O Player Vai Curar Sua Mana E Sua Vida Tudo Ao Mesmo Tempo Ok Vamos Ao Que Interessa Entre Em (Pasta Do OT/Data/Spells/Script/Healing) Crie Um Arquivo .Lua La E Renomeie Para Exclusive Healing Se Tiver Alguma Coisa Dentro Apague E Coloque Isso Dentro Legenda Vermelho ~~> É O Efeito Que Vai Sair Apos O Player Usar A Magia, Para Modificar Voces Pode Verificar Os Efeitos No Jogo Com O Comando !z Nº E Basta Mudar O "14" Para O Nº Do Efeito Desejado (OBS: Se Mudar O Efeito Mude Os 2 Numeros 14 Do Script). Amarelo ~~> TargetPos Deixe Sempre 1 Ai O Player Usa A Magia E Cura Apenas A Si Proprio Azul ~~> Em Aggressive Deixe 0 Pois Significa Que A Magia Nao É Agresiva E Podera Ser Usada Em PZ Verde ~~> É O Tanto Que A Magia Vai Healar Do Player Ai Vcs Podem Mudar. Onde Esta 100000 É O Minimo Que Magia Vai Curar E Onde Esta 150000 É O Maximo Que Ela Vai Curar. Acabando A Parte Script Vá Em (Pasta Do OT/Data/Spells.XML) Abra E Coloque Assim Na Parte De Healing Spells Legenda Vermelho ~~> Nome Da Magia Coloque Sempre O Nome Correspondente Ao Script Azul ~~> Level Necessario Para Usar Magia Verde ~~> Vocaçoes Que Poderao Usar A Magia Vlw Galera Deixe Comentarios.
  3. 1° passo vá em spells.xml e cole isto <instant name="Rainstorm" words="utito frigo mas" lvl="60" mana="450" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="utitofrigomas.lua"> <vocation id="3"/> <vocation id="7"/> 2°passo vá em data/spells/scripts copie e cole um arquivo do bloco de notas e renomei-o para utitofrigomas.lua 3°passo Dentro apague tudo e cole isso local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 42) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC , -15.0, -8, -8.5, -10) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC , -15.7, -6, -2.3, -10) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 42) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC , -7.4, -13, -12.1, -10) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC , -9.1, -6, -10.9, -10) arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 2, 0, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 2, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr4 = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {1, 1, 0, 0, 0, 2, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4,} addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 300, parameters) addEvent(onCastSpell3, 500, parameters) addEvent(onCastSpell4, 700, parameters) end Obrigado pela atenção ! espero que gostem! Méritos : Arthur Terenzi Se gostou dê +rep Se alguem quiser coloco o utito death mas , o utito vis mas , e o utito san mas é só falar ai no comentário ! A imagem ta ai
  4. Fiquei dias tentando fazer um script para usa-la perto do mar.. E nada consegui por isso vim aqui para que eu consiga finalizar o ot. Só preciso dela e de um script de Recipiente para armazenar água.. Se alguém de vocês tiver, favor, compartilhe-a comigo Obrigado pela atenção!
  5. Olá Xtibianos, eu queria uma ajuda nessa spell aqui. Eu coloquei no meu OT e não deu nenhum erro, mas se eu pronunciar mais de uma vez sendo no mesmo char ou não ele buga o servidor. Ela é uma spell onde transforma vc em um bear e da alguns atributos. Alguem poderia arrumar ou tentar me ajudar??? Desde já agradeço !!
  6. dragonfight

    Pedido De Spell

    Pessoal, peço ajuda de vocês. Preciso de uma spell que heale a life e a mana do personagem. Mas ela não pode healar se o player estiver em battle. Ela seria do tipo que se usa apenas uma vez, assim que você usa ela, o player fica paralisado e vai regenerando aos poucos. Quando estiver life e mana cheias o paralize sai. Alguém sabe fazer uma spell dificil como essa(pelo menos pra mim)? Rep + com certeza!
  7. Galera eu procuro alguem ai que tenha uma spell, DE DISTANCE EFFECT, akelas que soltam flechas ou shot type ta lgd? entao e usó preciso de uma... pra depois eu editar mais spells e TEM QUE SER de 3 tempos a spell, 1º solta fracla pra um lado 2º depois pro outros 3º e dps pro outro... só exemplo e tambem preciso saber qual o nome do "exori hur", por exemplo, o exori hur tem 3 tipos, o que solta quando com sword, com axe ou com club... eu preciso do "nome" de cada um por exemplo, shot type da sd é Sudden Death, PRECISO PRA COLOCAR EM UMA ARMA... se nao for desse jeito... alguem corri plz... e se tiverem a script da mesma arma... me passem e outra coisa acho que isso nao é da parte de script mas quem quiser ajudar... eu queria colocar no meu otserv akeles pisos, akelas paredes, do update 8.6, de zao e talz pra ficar rox, só QUE eu nao consigo achar no rme, e dependendo tem uns itens errados, no rme eu coloco direitim ai no ot é outro =/ JA PROCUREI NO RAW PALLET/OTHERS E NAO ACHEO =[ por favor tentem me responder as 3... a primeira e a segunda sao o que mais me entereção meu ot é tibia 8.6 to tentando completar um ot com um jeito de exp razoavelmente alta, entao... magias editadas...armas editadas tudo inclui nisso ae valeu gaera por favor me ajudem........ Tipo do script: Protocolo (versão do Tibia): Servidor utilizado: Nível de experiência: Adicionais/Informações:
  8. Esse comando você poderá comprar uma Magia por VIP Coins ou dinheiro tanto faz. talkaction: function onSay(cid, words, param) if param == "" then doPlayerSendTextMessage(cid,18, "!spell aurora. preco 5 vip coins. magia para magos.") end if param == "death damage" then if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 6 and (getPlayerStorageValue(cid,202050) == -1) then if doPlayerRemoveItem(cid,11192,5) then setPlayerStorageValue(cid,202050,1) doPlayerSendTextMessage(cid,25, 'you earned the spell death damage spell words Aurora.') else doPlayerSendTextMessage(cid,25, 'voce nao tem 5 vip coins.') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end else doPlayerSendTextMessage(cid,25, 'voce ja tem esta magia!') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end end end tag: <talkaction words="!spell" script="spell.lua"/> Spells: exemplo de spell: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYHIT) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -120.5, -30, -120.1, 0) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 22000) setConditionFormula(condition, -1.1, -1, -1.2, -1) setCombatCondition(combat, condition) local arr = { {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 3, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0} } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if (getPlayerStorageValue(cid,202050) == 1) then doCreatureSay(cid, "vis Damage", TALKTYPE_ORANGE_1) return doCombat(cid, combat, var) else doPlayerSendCancel(cid,"voce nao comprou esta magia.") end return TRUE end TAG: <instant name="physical damage" words="aurora" lvl="5000" mana="3000" prem="1" needweapon="0" exhaustion="1000" needlearn="0" event="script" value="attack/aurora.lua"> <vocation id="1"/> <vocation id="2"/> </instant> você poderá adicionar varias magias ao comando vou dar um exemplo aqui em baixo de como ficaria com varias magias. function onSay(cid, words, param) if param == "" then doPlayerSendTextMessage(cid,18, "!spell death damage. preco 5 vip coins. magia para magos.") doPlayerSendTextMessage(cid,18, "!spell song damage. preco 5 vip coins. magia para paladinos.") doPlayerSendTextMessage(cid,18, "!spell ultra damage. preco 5 vip coins. magia para knights.") doPlayerSendTextMessage(cid,18, "!spell holy damage. preco 10 vip coins. magia para knights e paladinos.") doPlayerSendTextMessage(cid,18, "!spell vis damage. preco 10 vip coins. magia para magos.") end if param == "death damage" then if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 6 and (getPlayerStorageValue(cid,202020) == -1) then if doPlayerRemoveItem(cid,11192,5) then setPlayerStorageValue(cid,202020,1) doPlayerSendTextMessage(cid,25, 'you earned the spell death damage spell words EXEVO MAS DEAD.') else doPlayerSendTextMessage(cid,25, 'voce nao tem 5 vip coins.') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end else doPlayerSendTextMessage(cid,25, 'voce ja tem esta magia!') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end end if param == "vis damage" then if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 5 or getPlayerVocation(cid) == 6 and (getPlayerStorageValue(cid,202050) == -1) then if doPlayerRemoveItem(cid,11192,10) then setPlayerStorageValue(cid,202050,1) doPlayerSendTextMessage(cid,25, 'you earned the spell vis damage spell words AURORA.') else doPlayerSendTextMessage(cid,25, 'voce nao tem 10 vip coins.') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end else doPlayerSendTextMessage(cid,25, 'voce ja tem esta magia!') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end end if param == "song damage" then if getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 and (getPlayerStorageValue(cid,202030) == -1) then if doPlayerRemoveItem(cid,11192,5) then setPlayerStorageValue(cid,202030,1) doPlayerSendTextMessage(cid,25, 'you earned the spell song damage spell words EXEVO SONG PALLY.') else doPlayerSendTextMessage(cid,25, 'voce nao tem 5 vip coins.') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end else doPlayerSendTextMessage(cid,25, 'voce ja tem esta magia!') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end end if param == "holy damage" then if getPlayerVocation(cid) == 7 or getPlayerVocation(cid) == 8 and (getPlayerStorageValue(cid,202060) == -1) then if doPlayerRemoveItem(cid,11192,10) then setPlayerStorageValue(cid,202060,1) doPlayerSendTextMessage(cid,25, 'you earned the spell song damage spell words CALDERA.') else doPlayerSendTextMessage(cid,25, 'voce nao tem 10 vip coins.') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end else doPlayerSendTextMessage(cid,25, 'voce ja tem esta magia!') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end end if param == "ultra damage" then if getPlayerVocation(cid) == 8 or getPlayerVocation(cid) == 4 and (getPlayerStorageValue(cid,202040) == -1) then if doPlayerRemoveItem(cid,11192,5) then setPlayerStorageValue(cid,202040,1) doPlayerSendTextMessage(cid,25, 'you earned the spell ultra damage spell words EXORI MAS GRAN.') else doPlayerSendTextMessage(cid,25, 'voce nao tem 5 vip coins.') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end else doPlayerSendTextMessage(cid,25, 'voce ja tem esta magia!') doSendAnimatedText(getPlayerPosition(cid),"failure", math.random(01,255)) end end end Créditos: Subwat
  9. LordOfGold

    Pedido De Spell

    Eae galera do Xtibia. Eu gostaria de pedir um spell que o player que a usar, só poder usar se o jogador alvo estiver virado de costas!
  10. Galera tenho 1 OT 8.6, gostaria de uma magia para paladin da seguinte maneira: Estava vendo em um topico do Xtibia, todos os effects , e vi que tem um Effect que é uma SETA AZUL , no game é o de numero 55 ou seja /z 55. Para quem ja jogou wow ou tem noçoes de hunter do WoW , existe uma spell que chama HUNTER MARK ai fica uma seta na cabeça do cara. Essa MARK que o hunter dá faz as skils dele tirarem mais no alvo, oque imaginei para a spell. Para quem nao conhece a spells , é o seguinte quando o paladin soltar a skil no cara vai ficar uma SETA AZUL (effect 55) no carinha alvo. Ai ta a ideia da spell é ficar a seta no carinha alvo, E a skill ser no estilo utito tempo san, mais SEM dar o Paralyse e o char podera se curar , ou seja so precisa almentar o skill do pally , e deixar a seta no alvo, se possivel de duraçao 5 segundos. 5 segundos para ambos , SETA e Aumento de SKILL. ficarei muito grato a quem poder me ajudar . obrigado em relaçao ao quando de skill ira aumentar pode ser apenas 20%
  11. Galera tenho 1 OT 8.6, gostaria de uma magia para paladin da seguinte maneira: Estava vendo em um topico do Xtibia, todos os effects , e vi que tem um Effect que é uma SETA AZUL , no game é o de numero 55 ou seja /z 55. Para quem ja jogou wow ou tem noçoes de hunter do WoW , existe uma spell que chama HUNTER MARK ai fica uma seta na cabeça do cara. Essa MARK que o hunter dá faz as skils dele tirarem mais no alvo, oque imaginei para a spell. Para quem nao conhece a spells , é o seguinte quando o paladin soltar a skil no cara vai ficar uma SETA AZUL (effect 55) no carinha alvo. Ai ta a ideia da spell é ficar a seta no carinha alvo, E a skill ser no estilo utito tempo san, mais SEM dar o Paralyse e o char podera se curar , ou seja so precisa almentar o skill do pally , e deixar a seta no alvo, se possivel de duraçao 10 segundos. 10 segundos para ambos , SETA e Aumento de SKILL. ficarei muito grato a quem poder me ajudar . obrigado se a duraçao nao for possivel , lembrando que a seta tem de ficar no alvo constantemente durante os 10 segundos. nao tem problema so diminuir a duraçao, em relaçao ao quando de skill ira aumentar pode ser apenas 20% pois o player podera correr e se curar.
  12. Tipo do script: Talkaction ou Spell Protocolo (versão do Tibia): 8.54 (de preferencia) Servidor utilizado: TFS Resumo das Informações: Uma Magia ou Talkaction De Controlar Um Bixo Selvagem Fazendo Ele Virar Um (Summon) e Só Poder Controlar 1 Bixo Por Vez. Queria Um Script Que Controlasse Um Bixo Selvagem. Exemplo: Exevo Mas Control e o bixo que estive-se targetado seria controlado iria virar um (summon) mais não iria poder controlar qualquer bixo só ia poder controlar os bixos que fossem sumonaveis exemplo monk, minotaur e talz. Ai a pergunta se já tem "utevo res" pra que essa magia, eu queria tirar "utevo res" e colocar um poder de controlar o bixo ficaria mais legal. Quem Conseguir Me Ajudar Eu Agradeço e Dou Rep+ Thanks All.
  13. Informações Gerais: Server: OTServ 0.6.3 Versão: 8.60 Erro: "attempt to call global 'drainSpell'(a nil value)" Introdução: Bom eu sou programador C++ e C#, iniciei há pouco tempo com LUA, então estou tendo alguns probleminhas. Eu desenvolvi uma Spell que funciona perfeitamente. O Código está abaixo: spellCompleta.lua -- Arquivo spells/scripts/spellCompleta.lua - funcionando - OK. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 11000) == 1 then stopSpell(cid) end addEvent(startSpell, 3000, cid) setPlayerStorageValue(cid, 11000, 1) drainSpell(cid) return doCombat(cid, combat, var) end function startSpell(cid) doSendMagicEffect(getCreaturePosition(cid), 2) doCreatureChangeOutfit(cid, {lookType = 28}) end function stopSpell(cid) setPlayerStorageValue(cid, 11000, 0) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureChangeOutfit(cid, {lookType = 29}) end function drainSpell(cid) if isPlayer(cid) then if getPlayerStorageValue(cid, 11000) == 1 and getPlayerMana(cid) > 0 then doPlayerAddMana(cid, -1) addEvent(drainSpell, 3000, cid) elseif getPlayerMana(cid) == 0 then doSendMagicEffect(getCreaturePosition(cid), 2) stopSpell(cid) doPlayerSendCancel(cid, "Spell has been interrupted. You're out of mana.") end end end Situação: Eu pretendo desenvolver a Spell1, Spell2, Spell3 e assim por diante, e todas elas são no mesmo modelo, pois todas elas precisam ter o mesmo: startSpell, StopSpell e drainSpell. Então por lógica, criei um Script separado para deixar tais funções, ele se chama standardSpell. Neste exemplo eu removo a function "drainSpell" do arquivo "spell1.lua", e coloco ela somente no arquivo standardSpell. spell1.lua -- Arquivo spells/scripts/spell1.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) if getPlayerStorageValue(cid, 11000) == 1 then stopSpell(cid) end addEvent(startSpell, 3000, cid) setPlayerStorageValue(cid, 11000, 1) drainSpell(cid) return doCombat(cid, combat, var) end function startSpell(cid) doSendMagicEffect(getCreaturePosition(cid), 2) doCreatureChangeOutfit(cid, {lookType = 28}) end function stopSpell(cid) setPlayerStorageValue(cid, 11000, 0) doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureChangeOutfit(cid, {lookType = 29}) end standardSpell.lua -- Arquivo spells/scripts/standardSpell.lua function drainSpell(cid) if isPlayer(cid) then if getPlayerStorageValue(cid, 11000) == 1 and getPlayerMana(cid) > 0 then doPlayerAddMana(cid, -1) addEvent(drainSpell, 3000, cid) elseif getPlayerMana(cid) == 0 then doSendMagicEffect(getCreaturePosition(cid), 2) stopSpell(cid) doPlayerSendCancel(cid, "Spell has been interrupted. You're out of mana.") end end end Ao remover o drainSpell do arquivo "spell1.lua" e adicioná-lo no "standardSpell.lua" eu passo a receber o seguinte erro: "attempt to call global 'drainSpell'(a nil value)". Conclusão: Gostaria de saber o porquê deste erro e como fazer para criar e utilizar funções "genéricas", que serão chamados/utilizadas por diversos scripts. Obs: O código está um pouco menor e simplificado por Spell1, Spell2 para ser mais prático e objetivo. Obs2: Coloquei em anexo o código com a spell normal funcionando, e o código com ela dividida em "spell1.lua" e "standardSpell.lua". Obg e att, Luís.
  14. Pekelan

    Bug Spell 8.5

    a magia esta asim : tipo tinha um elemento "ex : fire" e dps danger onde esta em vermelho era tipo asim "firedanger" + asim quando soltava o poder o efeito saia da script que eu queria + quando leva o dano sai como se tivese levado um fire , ai eu peguei o codigo do !x " que foi 22 + agora ele ta do geito que eu quero o problema e que nao ta amostrando o rit "rita ele rita" tipo chega a tira o life + nao chega a amostra quanto tiro , alguem poderia min ajuda? e o de laranja teve uns que eu botei numero ( e teve unas magias que eu botei numero nos 2) e todas as que eu modifiquei estao sofrendo o messmo efeito desculpe pelos erros de portugues
  15. OcruxBiel

    [Spell]Ajuda?

    Tipo do script: Spell Protocolo (versão do Tibia): 8.60 Servidor utilizado: Speedy War Nível de experiência: Intermediário Adicionais/Informações: Queria um spells que só ataca-se se tivesse tal item. Ex: O Exori Gran, só sai se você ter um axe, sword, ou club na mão. queria igual só que eu escolhe-se o item, Ex: Energy (spell), só sai se eu tiver uma Wand Of Vortex (item) na mão. Rep+ Agradeço Desde Já!
  16. Bom pessoal segue o meu primeiro tópico. O objetivo desse tópico não é ensinar fazer spell, mais sim mostrar os efeitos que pode ser adicionado em cada spell, mais para que tivesse mais facilidade de visualização resolvi colocar uma magia como exemplo. 1° criando uma spell (eu usei essa como exemplo, mais você pode colocar o efeito em qualquer outra spell) Entre na pasta data/spell/scripts e crie um arquivo com o nome de efeitos.lua e cole o seguinte código: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 26) -- coloque aqui no lugar do "26" o numero do seu efeito -- setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -70.3, -30, -75.7, 0) arr = { {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack * 3, level / 5 return -(skillTotal * 1.2 + levelTotal), -(skillTotal * 4 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Depois vai em data/spell e procure pelo arquivo spell.xml e adicione a seguinte tag: <instant name="efeito" words="teste efeito" lvl="100" mana="400" prem="1" needweapon="0" exhaustion="1200" needlearn="0" script="efeitos.lua"> <vocation name="Sorcerer"/> <vocation name="Master Sorcerer"/> <vocation name="Druid"/> <vocation name="Elder Druid"/> <vocation name="paladin"/> <vocation name="royal paladin"/> </instant> Após feito isso, pronto! sua magia está criada, agora basta trocar onde se encontra o "26" e colocar o numero do efeito que deseja. exemplo: - onde está assim: - voce pode deixar assim: Agora basta logar o seu GOD e digitar /reload spells e testar o seu efeito de acordo com a lista a seguir: Efeito: 1 Efeito: 2 Efeito: 3 Efeito: 4 Efeito: 5 Efeito: 65 Segue a baixo algumas imagens postado pelo Antharaz (créditos 100% a ele) nesse post: http://www.xtibia.co...e-como-usa-los/ lista: efeito 1 = círculos efeito 3 = ataque cruzado efeito 4 = ataque x com fumaça efeito 5 = explosão efeito 6 = explosão com bola de fogo efeito 7 = explosão de pequenos circulos efeito 8 = explosao de veneno efeito 9 = ataque fisico (tipo exori) efeitos basicos: efeito 10 = vis efeito 11 = choque efeito 12 = estrela azul efeito 13 = estrela vermelha efeito 14 = estrela verde efeito 15 = flam efeito 17 = mort efeito 41 = frigo Efeito 18 = ataque em x verde Efeitos especiais: efeito 23 = musica azul efeito 24 = musica branca efeito 25 = bolhas efeito 33 = Monstro marinho (rox) efeito 34 = fumaça efeito 35 = coração efeito 52 = gelo efeito 53 = com agua efeito 55 = espelho com monstro efeito 61 = assasin efeito 62 = sangue efeito 65 = fantasma efeito 66 = morcego efeito 300 = chuva de pedras bom Antes de postar eu procurei sobre tópicos que representava os mesmo assunto, acabei encontrando alguns até mesmo interessante, mais como eu já tinha tirado as imagens antes resolvi postar. nesse caso irei direcionar os créditos as pessoas que eu encontrei com o mesmo assunto, caso falte alguém por favor me avise que eu irei colocar os créditos. Espero que goste desde já agredeço!
  17. Spells 8.7 Estava criando uns spells para meu otserver(atari server) Então... resolvi postar alguns das magias que eu criei pra ele... Exclusivo para o !! TOTALMENTE NOVAS!! magias de área e de 3 fases LETS GO!! Sorcerer Características: - tira 112 de mana - apartir do magic lvl: 11 - apartir do lvl: 70 -exaustion: 2000 -soul: 0 -damage: de 50-220 Sprite: VAMOS AOS SCRIPTS! 1º- na sua pasta data/spells/script ... você cria um novo arquivo LUA e coloca isso lá dentro... Depois... é só salvar...com o nome que você quiser...(eu salvei com atari mas vis) 2º- Vá em data/spells e abra o spells.xml ... e cole isso la dentro... <instant name="Ultra Power" words="atari mas vis" lvl="70" mana="112" prem="0" range="3" casterTargetOrDirection="0" blockwalls="1" exhaustion="2000" groups="1" groupexhaustions="2000" icon="100" needlearn="0" event="script" value="atari mas vis.lua"> <vocation id="1"/> <vocation id="5"/> </instant> AGORA VOU ENSINAR A EDITAR DO SEU JEITO... <instant name="Ultra Power" words="atari mas vis" lvl="70" mana="112" prem="0" range="3" casterTargetOrDirection="0" blockwalls="1" exhaustion="2000" groups="1" groupexhaustions="2000" icon="100" needlearn="0" event="script" value="atari mas vis.lua"> <vocation id="1"/> <vocation id="5"/> </instant> Vamos começar... em azul: o nome da sua spell em verde: as palavras que serão ditas em vermelho: o nome do arquivo das spells(aquele que nós criamos nos script) e em amarelo: são as características -lvl -mana -exaustion(se mudar tem que mudar o "groupexaustion" também) -casterTargetOrDirection: 0-não...1- sim -icon: sempre bom colocar um que não tenha(ou seja evitemos os duplicados) Agora vocês já sabem editar... então vamos a outra vocation... Paladin Características: - tira 112 de mana - apartir do magic lvl: 11 - apartir do lvl: 70 -exaustion: 2000 -soul: 0 -damage: de 50-220 (obs: coloquei às mesmas pra não confundir) Sprite: 1º- vá nos scripts e crie um arquivo lua... e coloque isso lá dentro... 2º- salve... e vá em spells.xml e adicione a tag... <instant name="Ultra san" words="atari mas san" lvl="70" mana="110" prem="0" range="3" casterTargetOrDirection="0" blockwalls="1" exhaustion="2000" groups="1" groupexhaustions="2000" icon="101" needlearn="0" event="script" value="atari mas san.lua"> <vocation id="3"/> <vocation id="7"/> </instant> PRONTO!!! Agora é só testar... vlw... aew pessoal... esse foi meu primeiro tutorial... depois vou colocar mais spells... de knight e druid dessa vez... SE ESSE CONTEÚDO AJUDOU VOCÊ DÁ UM REP+... AEW créditos Criação das spells: eu e ao @Beeki por ter resolvido o problema das exaustion... TEH+ PESSOAL...
  18. Olá Estou postando uma atualização das spells do Tibia 9.10 Acredito que tenha todas as magias da versão nova exceto Inflict Wound que na versão nova do TFS não funcionou. Um amigo acabou me passando algumas magias de Maldição (Ignite, Curse, etc) e não disse se ele fez ou pegou de uma distro ou pack (não sei se estão corretas). Portanto 5% dos creditos dessa spell fica para quem fez. Apenas refiz as magias de Healing e Attack. Qualquer erro me reportem. Que tentarei arrumar o mais rapido possivel. Baseado no calculo do http://www.tibia-stats.com Changelog: Versão 2.0: - Versão 100% apenas em TFS 0.4 + (Deragon Server e derivados) - Adicionado Cures e Recoverys spells.zip
  19. Va na Pasta do seu OT e Procura um Pasta ChamadaSpells! *Lá Vc colocar O seguinte Codigo : ----------------------------------------------------------------------- <instant name="gran trap" words="exevo gran trap" lvl="110" mana="100" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" script="trap.lua"> <vocation name="Master Sorcerer" /> <vocation name="Elder Druid" /> <vocation name="Royal Paladin" /> <vocation name="Elite Knight" /> </instant> ----------------------------------------------------------------------- Agora vanas Pasta Scripts! *Lá Vc colocar o seguinte codigo Salve Como trap.lua! ----------------------------------------------------------------------- local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 1498) local arr1 = { {0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 1, 0, 2, 0, 1, 0}, {0, 1, 0, 0, 0, 1, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(onCastSpell1, 100, parameters) end ------------------------------------------------------------------------ Galera Obrigado :smile_positivo:
  20. Fala galerinha do Xtibia bom, criei essa spells aqui para meu ot, mais como sou bomzinho vou passa pra vocês.. ela não é muito apelona, porque meu ot é 100x, mais vocês que sabem .. bom vamos lá crie uma arquivo chamado kingexori.lua em data\spells\scripts\attack depois cole isso dentro dele kingexori.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatFormula(combat, COMBAT_FORMULA_SKILL, -2.5, 0, -3.5, 0) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) --setConditionParam(condition, CONDITION_PARAM_SPEED, -400) setConditionFormula(condition, -0.9, 0, -0.9, 0) setCombatCondition(combat, condition) local arr = { {0, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 2, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end Agora em data/spells.xml, cole isso: <instant name="King Exori" words="king exori" lvl="150" mana="600" prem="1" needweapon="1" exhaustion="1000" needlearn="0" script="attack/king exori.lua"> <vocation name="Knight"/> <vocation name="Elite Knight"/> </instant>
×
×
  • Criar Novo...