Ir para conteúdo
  • 0

Ajudar A Completar Este Script (Ring Atacck Target Com Sd)


Bennyhappy

Pergunta

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT,CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)

function onEquip(cid, var)
doCombat(cid, combat, var)
return TRUE
end

function onDeEquip(cid, item, slot)
doSendMagicEffect(getPlayerPosition(cid), 3)
return TRUE
end

 

 

 

<movevent type="Equip" itemid="11253" slot="ring" event="script" value="ringSD.lua"/>
<movevent type="DeEquip" itemid="11253" slot="ring" event="script" value="ringSD.lua"/>

 

Eu tenho esse problema:

 

[11/07/2012 15:10:30] [Error - MoveEvents Interface]
[11/07/2012 15:10:30] data/movements/scripts/ringSD.lua:onEquip
[11/07/2012 15:10:30] Description:
[11/07/2012 15:10:30] (luaDoCombat) Variant not found

é server 8.6

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Totalmente errado.

 


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT,CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)

function onEquip(cid, item, slot)
   local target = getCreatureTarget(cid)
   if(target == 0) then
       return true
   end
   return doCombat(cid, combat, numberToVariant(target))
end

function onDeEquip(cid, item, slot)
   doSendMagicEffect(getThingPosition(cid), CONST_ME_BLOCKHIT)
   return true
end

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

  • 0

trabalho ataca o target, mas apenas no momento de colocá-lo no slot, lança um SD apenas um SD, não atacando constantemente sd, teria que adicionar ticks? o um interval="2000" ?¿

Editado por beenii
Link para o comentário
Compartilhar em outros sites

  • 0

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT,CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)

local function doCombatWithDelay(cid, combat, var, itemid)
   doCombat(cid, combat, var)
   if getPlayerSlotItem(cid, CONST_SLOT_RING) == itemid then
       addEvent(doCombatWithDelay, 1 * 1000, cid, combat, var, itemid)
   end
end

function onEquip(cid, item, slot)
   local target = getCreatureTarget(cid)
   if(target == 0) then
       return true
   end
   doCombat(cid, combat, numberToVariant(target))
   addEvent(doCombatWithDelay, 1 * 1000, cid, combat, numberToVariant(target), item.itemid)
end

function onDeEquip(cid, item, slot)
   doSendMagicEffect(getThingPosition(cid), CONST_ME_BLOCKHIT)
   return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

tenhum erro no seu script oneshot,se o player fica tirando e colocando o ring ele vai solta um monte sempara,use uma storage ou stopEvent pra para o event.

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz de cabeça o script, então não prestei atenção nisso.

 

Enfim,

 


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT,CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)

local combat_events = {}

local function doCombatWithDelay(cid, combat, var, itemid)
   if isCreature(cid) then
       doCombat(cid, combat, var)
       if getPlayerSlotItem(cid, CONST_SLOT_RING) == itemid then
           combat_events[cid] = addEvent(doCombatWithDelay, 1 * 1000, cid, combat, var, itemid)
       end
   end
end

function onEquip(cid, item, slot)
   local target = getCreatureTarget(cid)
   if(target == 0) then
       return true
   end
   doCombat(cid, combat, numberToVariant(target))
   combat_events[cid] = addEvent(doCombatWithDelay, 1 * 1000, cid, combat, numberToVariant(target), item.itemid)
end

function onDeEquip(cid, item, slot)
   doSendMagicEffect(getThingPosition(cid), CONST_ME_BLOCKHIT)
   stopEvent(combat_events[cid])
   return true
end

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

  • 0

sei, porque se eu tiver Ring colocado em seu slot, não jogue SD para o targets, apenas funsiona, quando com um target tentar colocar o ring na respectiva slot, lança dois SD mas não colocar o Ring na respectiva Slot, e repito apenas 2 SD, eu quero ter o Ring na respectiva Slot = Ring , atacar o SD jogadores (Target)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...