Ir para conteúdo
  • Cadastre-se

Posts Recomendados


Nome do Script:

magia que da varios hits
Tipo do Script:

mas quero que essa magia necessite de um item para ser usada(ex:arqueiro vai dar rajada de 10 flexas tem que consumir 10 flexas, mago vai dar varios hits em area e uma magia que precisa de uma pedra poderosa.)
Versão Utilizada:

9.1
Servidor Utilizado:

Cristal Server
Nível de Experiência:

kkkkk

sei editar se explicar mas se soubece fazer nao tava pedindo=nivel idiota
Informações Extras:

e lua uma magia no resto sei mudar parametros so quero essa parte de ter que usar um item

Link para o post
Compartilhar em outros sites

Nome do Script:

magia que da varios hits

Tipo do Script:

mas quero que essa magia necessite de um item para ser usada(ex:arqueiro vai dar rajada de 10 flexas tem que consumir 10 flexas, mago vai dar varios hits em area e uma magia que precisa de uma pedra poderosa.)

Versão Utilizada:

9.1

Servidor Utilizado:

Cristal Server

Nível de Experiência:

kkkkk

sei editar se explicar mas se soubece fazer nao tava pedindo=nivel idiota

Informações Extras:

e lua uma magia no resto sei mudar parametros so quero essa parte de ter que usar um item

 

Spell Paladin

Crie um arquivo chamado spellpally.lua na pasta data/spells/scripts/attack

local cfg = {
          effectSpell = CONST_ANI_ONYXARROW,
          itemId = 7365,
          count = 1,
          countNeed = 10
}
 
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, cfg.effectSpell)
setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 6)
 
function onCastSpell1(parameters)
          doCombat(parameters.cid, combat, parameters.var)
          doPlayerRemoveItem(parameters.cid, cfg.itemId, cfg.count)
end
 
function onCastSpell(cid, var)
          local parameters = {cid = cid, var = var}
          if getPlayerItemCount(parameters.cid, cfg.itemId) >= cfg.countNeed then
                    addEvent(onCastSpell1, 100, parameters)
                    addEvent(onCastSpell1, 300, parameters)
                    addEvent(onCastSpell1, 500, parameters)
                    addEvent(onCastSpell1, 700, parameters)
                    addEvent(onCastSpell1, 900, parameters)
                    addEvent(onCastSpell1, 1000, parameters)
                    addEvent(onCastSpell1, 1200, parameters)
                    addEvent(onCastSpell1, 1400, parameters)
                    addEvent(onCastSpell1, 1500, parameters)
                    return addEvent(onCastSpell1, 1700, parameters)
          else
                    doPlayerSendTextMessage(cid, 18, 'You need '.. cfg.countNeed ..' '.. getItemNameById(cfg.itemId) ..' to use this spell')
          end
end

 

Configurando

 

local cfg = {
          effectSpell = CONST_ANI_ONYXARROW,
          itemId = 7365,
          count = 1,
          countNeed = 10
}

effectSpell                             //Efeito do spell

itemId                                    //Item que vai exigir e sumir quando soltar a spell

count                                     //Quantidade de item que irá sumir quando soltar a spell

countNeed                            //Quantidade de item que irá pedir para soltar a spell (no caso a spell vai dar 10 hits então o valor será 10)

 

Adicione a seguinte linha no arquivo spells.xml que se encontra na pasta data/spells

 

<instant name="Divine Arrow" words="exevo mas arrow" lvl="30" mana="40" prem="0" range="7" needtarget="1" exhaustion="4000" groups="1,2000" icon="57" blockwalls="1" needlearn="0" event="script" value="attack/spellpally.lua">
          <vocation id="3"/>
          <vocation id="7"/> 
</instant>

 

Spell Mage

Crie um arquivo chamado spellmage.lua na pasta data/spells/scripts/attack e cole isso

 

 
local cfg = {
          effectSpell1 = CONST_ME_BIGCLOUDS,
          effectSpell2 = CONST_ME_SMALLPLANTS,
          effectSpell3 = CONST_ME_ICETORNADO,
          item = 2260
          count = 1
}
 
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, cfg.effectSpell1)
setAttackFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 8)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
setCombatParam(combat2, COMBAT_PARAM_EFFECT, cfg.effectSpell2)
setAttackFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 10)
local combat3 = createCombatObject()
setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
setCombatParam(combat3, COMBAT_PARAM_EFFECT, cfg.effectSpell3)
setAttackFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 6, 12)
 
local area1 = createCombatArea(AREA_SQUARE1X1)
setCombatArea(combat1, area1)
local area2 = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat2, area2)
local area3 = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat3, area3)
 
function onCastSpell1(parameters)
          doCombat(parameters.cid, combat1, parameters.var)
end
function onCastSpell2(parameters)
          doCombat(parameters.cid, combat2, parameters.var)
end
function onCastSpell3(parameters)
          doCombat(parameters.cid, combat3, parameters.var)
end
 
function onCastSpell(cid, var)
          local parameters = {cid = cid, var = var}
          if getPlayerItemCount(cid, cfg.item) >= cfg.count then
                    doPlayerRemoveItem(parameters.cid, cfg.item, cfg.count)
                    addEvent(onCastSpell1, 100, parameters)
                    addEvent(onCastSpell2, 600, parameters)
                    return addEvent(onCastSpell3, 1100, parameters)
          else
                    doPlayerSendTextMessage(cid, 18, 'You need '.. cfg.count ..' '.. getItemNameById(cfg.item) ..'.')
          end
end

 

Configurando

 

local cfg = {
          effectSpell1 = CONST_ME_BIGCLOUDS,
          effectSpell2 = CONST_ME_SMALLPLANTS,
          effectSpell3 = CONST_ME_ICETORNADO,
          item = 2260
}

effectSpell                             //Efeito do spell

item                                       //Item necessário para usar a spell

count                                     //Quantidade que irá consumir

 

No arquivo spells.xml que se encontra na pasta data/spells adicione essa linha

 

<instant name="Combo Max" words="exevo mas combo" lvl="90" mana="1500" prem="0" selftarget="1" exhaustion="8000" groups="4,4000" icon="118" needlearn="0" event="script" value="attack/spellmage.lua">
          <vocation id="1"/>
          <vocation id="2"/>
          <vocation id="5"/>
          <vocation id="6"/>
</instant>

 

Efeitos para Spell

Efeito a Distancia

SPEAR = 0

BOLT = 1

ARROW = 2

FIRE = 3

ENERGY = 4

POISONARROW = 5

BURSTARROW = 6

THROWINGSTAR = 7

THROWINGKNIFE = 8

SMALLSTONE = 9

DEATH = 10

LARGEROCK = 11

SNOWBALL = 12

POWERBOLT = 13

POISON = 14

INFERNALBOLT = 15

HUNTINGSPEAR = 16

ENCHANTEDSPEAR = 17

REDSTAR = 18

GREENSTAR = 19

ROYALSPEAR = 20

SNIPERARROW = 21

ONYXARROW = 22

PIERCINGBOLT = 23

WHIRLWINDSWORD = 24

WHIRLWINDAXE = 25

WHIRLWINDCLUB = 26

ETHEREALSPEAR = 27

ICE = 28

EARTH = 29

HOLY = 30

SUDDENDEATH = 31

FLASHARROW = 32

FLAMMINGARROW = 33

SHIVERARROW = 34

ENERGYBALL = 35

SMALLICE = 36

SMALLHOLY = 37

SMALLEARTH = 38

EARTHARROW = 39

EXPLOSION = 40

CAKE = 41

AWEAPONTYPE = 254

 

Efeito Direto no Player

DRAWBLOOD = 0

LOSEENERGY = 1

POFF = 2

BLOCKHIT = 3

EXPLOSIONAREA = 4

EXPLOSIONHIT = 5

FIREAREA = 6

YELLOW_RINGS = 7

GREEN_RINGS = 8

HITAREA = 9

TELEPORT = 10

ENERGYHIT = 11

MAGIC_BLUE = 12

MAGIC_RED = 13

MAGIC_GREEN = 14

HITBYFIRE = 15

HITBYPOISON = 16

MORTAREA = 17

SOUND_GREEN = 18

SOUND_RED = 19

POISONAREA = 20

SOUND_YELLOW = 21

SOUND_PURPLE = 22

SOUND_BLUE = 23

SOUND_WHITE = 24

BUBBLES = 25

CRAPS = 26

GIFT_WRAPS = 27

FIREWORK_YELLOW = 28

FIREWORK_RED = 29

FIREWORK_BLUE = 30

STUN = 31

SLEEP = 32

WATERCREATURE = 33

GROUNDSHAKER = 34

HEARTS = 35

FIREATTACK = 36

ENERGYAREA = 37

SMALLCLOUDS = 38

HOLYDAMAGE = 39

BIGCLOUDS = 40

ICEAREA = 41

ICETORNADO = 42

ICEATTACK = 43

STONES = 44

SMALLPLANTS = 45

CARNIPHILA = 46

PURPLEENERGY = 47

YELLOWENERGY = 48

HOLYAREA = 49

BIGPLANTS = 50

CAKE = 51

GIANTICE = 52

WATERSPLASH = 53

PLANTATTACK = 54

TUTORIALARROW = 55

TUTORIALSQUARE = 56

MIRRORHORIZONTAL = 57

MIRRORVERTICAL = 58

SKULLHORIZONTAL = 59

SKULLVERTICAL = 60

ASSASSIN = 61

STEPSHORIZONTAL = 62

BLOODYSTEPS = 63

STEPSVERTICAL = 64

YALAHARIGHOST = 65

BATS = 66

 

Testado e está 100% funcional.

Dúvidas? Me avise.

 

(OBS: Estou criando a spell do mage, daqui a pouco eu posto)

 

Att.

Giovani Rodrigo

Editado por GiovaniRodrigo (veja o histórico de edições)
Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites

a magia do paly funcionou mas a do mage nao esta consumindo os itens

Não consome pois não configurei para consumir, achei que só precisava do item e não removia.

Vou editar, copia a magia do mage de novo.

 

Att.

Giovani Rodrigo

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Link para o post
Compartilhar em outros sites
  • 1 year later...

Obrigado Giovane não teria como por para quando sair o effect dependesse da arma que estiver utilizando ? XD  :thinking:

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo