Ir para conteúdo

Kobrakt

Campones
  • Total de itens

    8
  • Registro em

  • Última visita

Posts postados por Kobrakt

  1. Prezados, boa tarde.

    Venho recorrer à vocês mais uma vez para sanar dúvidas de script de spells.

    Primeiramente, gostaria de criar uma spell igual ao exori mort mas que consume vida no lugar de mana. Tentei usar o código abaixo mas o servidor crasha, imagino que seja por causa do doCreatureAddHealth(cid, -10) já que a magia é target creio que isso esteja causando algum tipo de conflito.

    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
    
    function onGetFormulaValues(cid, level, skill, attack, factor)													
    local mina, minb, maxa, maxb, minl, maxl, minm, maxm = -1, -10, -1, -20, 5, 5, 1.4, 2.1
    local lvl = getPlayerLevel(cid)
    local preta = getPlayerSkillLevel(cid, 3)
    	min = ((lvl / minl + preta * minm) * 1. * mina + minb)
    	max = ((lvl / maxl + preta * maxm) * 1. * maxa + maxb) * 1.5
    	return min, max
    end
    
    setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
    
    function onCastSpell(cid, var)
    	if getCreatureHealth(cid) >= 11 then
         return doCombat(cid, combat, var), doCreatureAddHealth(cid, -10)
    	 else
    	 doPlayerSendCancel(cid, "Você não possui vida suficiente.")
    	 return false
    	 end
    end

    No outro caso, gostaria de transformar runas em magias instants e target. Como exemplo, segue o script da Fireball e Fire Bomb. (exemplo: o player casta a spell e o efeito é como se ele estivesse usando a runa centrada no target que ele está atacando).

    Fireball:

    Script Fireball:
    
    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -15, 5, 5, 1.8, 3, -20, -40)
    
    function onCastSpell(cid, var)
    	return doCombat(cid, combat, var)
    end
    
    Tag xml Fireball:
    	<conjure name="Fireball" words="adori flam" lvl="27" mana="460" soul="3" prem="1" reagentId="2260" conjureId="2302" conjureCount="5" exhaustion="1000" needlearn="1" event="function" value="conjureRune">
    		<vocation id="1"/>
    		<vocation id="5"/>
    	</conjure>
    

    Fire Bomb:

    Script Fire Bomb:
    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
    setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1492)
    
    local area = createCombatArea(AREA_SQUARE1X1)
    setCombatArea(combat, area)
    
    function onCastSpell(cid, var)
    	return doCombat(cid, combat, var)
    end
    
    Tag xml Fire Bomb:
    	<conjure name="Firebomb" words="adevo mas flam" lvl="27" mana="600" soul="4" reagentId="2260" conjureId="2305" conjureCount="2" exhaustion="1000" needlearn="1" event="function" value="conjureRune">
    		<vocation id="1"/>
    		<vocation id="2"/>
    		<vocation id="5"/>
    		<vocation id="6"/>
    	</conjure>

    Grato pela atenção!

  2. 9 minutos atrás, Poke X Ice disse:

    Boa noite, você colocou assim no if = corrreto seria assim ==

     

    segue correção:

      Ocultar conteúdo
    
    
    function onCastSpell(cid, var)
    	if getPlayerMaxMana(cid) == getPlayerMana(cid)  then
    		doPlayerSendCancel(cid, "Sua mana está cheia.")
            doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
            return false
    
    	else
    		doPlayerAddMana(cid, 1)
             doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
    	 return true
    end
    end

     

     

    Perfeito mano, era isso mesmo!

     

    Não sabia que tinha que ter dois "=".

     

    Rep+

    Tópico resolvido!

  3. Prezados, boa noite.

     

    Alguém saberia me dizer o porque da script está apresentando o erro a seguir?

     

    Sou muito leigo em script e não consigo identificar o erro. Então, se além de mostrar o erro, me explicarem o porque, eu ficaria imensamente grato!

     

    A ideia é bem simples, a spell não pode ser usado caso sua mana esteja cheia.

     

    image.png.520b535a9ea92ab980d6a107d75de4d3.png

     

    Grato pela atenção!

  4. Prezados, boa noite.

    Estou criando um servidor customizado e gostaria de colocar o avanço de skills junto com o up de Level.
    Quando o jogador upar ele ganhará pontos e pode escolher qual skill quer upar, mas não tenho ideia de como fazer isso. 

    Alguém teria algum script ou alguma idéia alternativa?

     

    Grato pela atenção!

  5. Alguém poderia me ajudar? Nenhum dos ataques especiais dos pokes selvagens causam dano ao pokes dos jogadores.

     

    Saberiam me dizer como arrumar isso?

     

    E como alterar a fonte dos números dos danos?

     

    Grato!

  • Quem Está Navegando   0 membros estão online

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