Cykotitan recently created a script for me to shoot an ethereal shot when clicking the crossbow.
This time, I've decided to make an upgraded version with another crossbow, but the thing I want different about it is; I want it to shoot 2 bolts at once, .5 seconds apart.
Here's the script that I have, it shoots 1 bolt (made by Cykotitan):
This time, I've decided to make an upgraded version with another crossbow, but the thing I want different about it is; I want it to shoot 2 bolts at once, .5 seconds apart.
Here's the script that I have, it shoots 1 bolt (made by Cykotitan):
PHP:
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, 10000)
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FLASHARROW)
function onGetFormulaValues(cid, level, skill, attack, factor)
return -(((skill + 100) / 3) + (level / 5)), -((skill + 100) + (level / 5))
end
setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerMana(cid) >= 20 then
if not hasCondition(cid, CONDITION_EXHAUST) then
if getCreatureTarget(cid) > 0 then
if getPlayerSlotItem(cid, CONST_SLOT_AMMO).itemid == 2543 then
doAddCondition(cid, exhaust)
doSendMagicEffect(getThingPos(getCreatureTarget(cid)), CONST_ME_STUN)
doRemoveItem(getPlayerSlotItem(cid, CONST_SLOT_AMMO).uid, 1)
doPlayerAddSkillTry(cid, SKILL_DISTANCE, 1)
doCreatureAddMana(cid, -20)
return doCombat(cid, combat, numberToVariant(getCreatureTarget(cid)))
else
return doPlayerSendCancel(cid, 'You don\'t have any ammunition.')
end
else
return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUCANONLYUSEITONCREATURES)
end
else
return doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED)
end
else
return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA)
end
end