RA
pedido

[Pedido] Remover Item Do Inventario Ao Usar Magia

Por razurator, 08 de jun. de 2012 em Scripts

remover
inventario
magia
6
1.6k
razuratorR
08 de junho de 2012 às 02:14

preciso que cada vez que for usada essa magia remova uma assassin star da minha mochila ou slot de munição.

 

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -35)
addDamageCondition(condition, 3, 3000, -20)
addDamageCondition(condition, 2, 3000, -5)
setCombatCondition(combat, condition)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return
doCombat(cid, combat, var)

end

VildenV
08 de junho de 2012 às 02:37
local combat = createCombatObject()
if doRemoveItem(cid,2160) then
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -35)
addDamageCondition(condition, 3, 3000, -20)
addDamageCondition(condition, 2, 3000, -5)
setCombatCondition(combat, condition)
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
return
doCombat(cid, combat, var)
end

OneshotO
08 de junho de 2012 às 10:22

Caro Vilden,

 

Seu script está incorreto, a função doRemoveItem não iria funcionar, uma vez que como está fora do corpo da função onCastSpell, não iria encontrar um cid válido.

 

O correto seria:

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)

local condition = createConditionObject(CONDITION_PHYSICAL)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -35)
addDamageCondition(condition, 3, 3000, -20)
addDamageCondition(condition, 2, 3000, -5)
setCombatCondition(combat, condition)

function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal)
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
local item = {itemid = 2160, count = 1}
if doPlayerRemoveItem(cid, item.itemid, item.count) then
	return doCombat(cid, combat, var)
end
return doPlayerSendCancel(cid, "Você não possui ".. item.count .." ".. getItemNameById(item.itemid) ..".")
end

 

Ao criador do tópico, configure você mesmo o itemid da Assassin Star.

Editado Junho 8 por Oneshot

razuratorR
08 de junho de 2012 às 16:45

Valew cara, eu tinha visto ontem a reply do Loading... e usei ela dentro de uma function onCastSpell da maneira que você disse e deu certo mesmo assim.

 

Duvida sanada.

TnTSlinT
08 de junho de 2012 às 16:51

Membro sanou sua duvida tópico reportado

CriticalC
08 de junho de 2012 às 17:04

Duvida sanada; tópico movido.

 

Atenciosamente, Critical.