Search the Community
Showing results for tags 'spell'.
-
Galera estou com um magia que transforma o player em uma criatura e adiciona alguns atributos só que ela não faz o player volta ao normal com sua outfit de antes então eu queria saber como fazer... E também que personagens femininos se transformassem nesse look type : 78 morar da historia arrumar o spellpara fazer o player voltar ao normal e adicionar a transformação feminina : 78 e masculina 99 local outfit = {lookType = 99} -- Roupa que ira transformar no caso seu corpo ficara em choque local tempo = 80 * 1000 -- Tempo, nesse caso esta 60 segundos Lembrando que 1000 = 1 segundo local ml = 45 -- quantos ira aumentar o skill de ML local skillshield = 20 -- quantos ira aumentar o skill de Shield local health = 50 -- A cada 1 segundo quantos aumentar de vida local storage = 150261 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 48) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 350) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 5000) setCombatCondition(combat, condition) local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo*1000) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function onCastSpell(cid, var) setPlayerStorageValue(cid, storage, os.time()+tempo) return doCombat(cid, combat, var) end
-
Bom galera eu to fazendo uma spell porem eu queria que quando o player falasse ela soltaria um efeito e depois desse efeito um delay de 3 segundos ai soltaria a spell, eu até consegui fazer os efeitos e a spell em si porem o efeito esta saindo junto com a spell não consegui adicionar o delay se alguem puder me dizer oque falta, eu agradeço. Spell local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 36) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 14) local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7) setCombatArea(combat, area) function onCastSpell(cid, var) doSendMagicEffect(getPlayerPosition(cid),5) doSendAnimatedText(getPlayerPosition(cid), '500', 3) return doCombat(cid, combat, var) end Essa é a spell em si porem eu não sei adicionar o delay me falaram para usar addEvent(onCastSpell, 600, parameters) porem quando eu uso não muda em nada e da esse erro: [Error - Spell Interface] data/spells/scripts/firehur.lua Description: (luaAddEvent) Callback parameter should be a function. Vlw..
-
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
-
Ola galerinha do xtibia é meu primeiro topico aqui estou trazendo uma spell entao vamos lá 1º Passo vá em spells.xml e cole isto: <instant name="Super Spell" words="Exordium" lvl="450" mana="1000" prem="1" selftarget="1" exhaustion="1000" needlearn="0" enabled="1" script="attack/exordium.lua"> <vocation name="Sorcerer"> <vocation name="Druid"> <vocation name="Paladin"> <vocation name="Knight"> <vocation name="Master Sorcerer"> <vocation name="Elder Druid"> <vocation name="Royal Paladin"> <vocation name="Elite Knight"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant> 2º Passo vá em data>spells>script copie um arquivo .lua e cole e renomeie 3º Passo dentro apague tudo e cole isto: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 42) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 40) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 53) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 50) setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) local combat6 = createCombatObject() setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat6, COMBAT_PARAM_EFFECT, 26) setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) local combat7 = createCombatObject() setCombatParam(combat7, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat7, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat7, COMBAT_FORMULA_LEVELMAGIC, -50.250, -85, -5.9, 0) 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, 1, 0, 0, 0, 0, 0}, {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, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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}, {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, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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}, {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, 0, 0, 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}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr4 = { {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, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr5 = { {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, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 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}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) local area5 = createCombatArea(arr5) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) 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 local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) addEvent(onCastSpell3, 300, parameters) addEvent(onCastSpell4, 400, parameters) addEvent(onCastSpell5, 500, parameters) return TRUE end Espero que gostem se gostar +Rep se nao Gostar -Rep se quiserem minha ajuda add meu msn bruno.silvamal@hotmail.com A imagem da spells
-
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 + .
- 3 replies
-
- lista de locktype para magias
- otserv
-
(and 1 more)
Tagged with:
-
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!
- 2 replies
-
- recipiente
- mar
-
(and 2 more)
Tagged with:
-
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 !!
-
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 replies
-
- spell
- id do exorihur
-
(and 3 more)
Tagged with:
-
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!
-
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
-
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!
-
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
-
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%
- 2 replies
-
- hunter mark
- spells
-
(and 7 more)
Tagged with:
-
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.
-
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.
- 3 replies
-
- magia
- talkaction
- (and 6 more)
-
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.
- 4 replies
-
- script error attempt to call
- spell
- (and 4 more)
-
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!
-
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
-
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á!
-
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>