• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[weapon]Multitarget wand 'star shoter'

Fixed
change doPlayerAddManaSpent to doPlayerAddSpentMana :)
 
Last edited:
Code:
[14/12/2008 22:48:37] Lua Script Error: [Weapon Interface] 
[14/12/2008 22:48:37] data/weapons/scripts/starshoter.lua:onUseWeapon

[14/12/2008 22:48:37] data/weapons/scripts/starshoter.lua:33: attempt to call global 'doPlayerAddManaSpent' (a nil value)
[14/12/2008 22:48:37] stack traceback:
[14/12/2008 22:48:37] 	data/weapons/scripts/starshoter.lua:33: in function <data/weapons/scripts/starshoter.lua:28>
:DD

getting same problem
 
[20/12/2008 04:16:52] data/weapons/scripts/StarShoter.lua:33: attempt to call global 'doPlayerAddSpentMana' (a nil value)
[20/12/2008 04:16:52] stack traceback:
[20/12/2008 04:16:52] data/weapons/scripts/StarShoter.lua:33: in function <data/weapons/scripts/StarShoter.lua:28>



LOL i have tried all ways....


can u just post the correct way?
 
Last edited:
Use this
Code:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 0)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 0)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_HOLY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.2, -25, -0.2, -3)

local manaNeededPerTarget = 20
local hitExtraTargets = 3
local hitExtraTargetsInRange = 2

function getCreaturesInRange(position, radiusx, radiusy, showMonsters, showPlayers)
    local creaturesList = {}
    for x = -radiusx, radiusx do
        for y = -radiusy, radiusy do
            if not (x == 0 and y == 0) then
                creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z, stackpos = STACKPOS_TOP_CREATURE})
                if (creature.type == 1 and showPlayers == 1) or (creature.type == 2 and showMonsters == 1) then
                    table.insert(creaturesList, creature.uid)
                end
            end
        end
    end
    return creaturesList
end

function onUseWeapon(cid, var)
    local ret = doCombat(cid, combat, var)
    if(ret == LUA_ERROR) then
        return LUA_ERROR
    end
    doPlayerAddSpentMana(cid, manaNeededPerTarget)
    doCreatureAddMana(cid, -manaNeededPerTarget)
    
    local target = variantToNumber(var)
    local hitplayers = 0
    if(target ~= 0) then
        if(isPlayer(target) == TRUE) then
            hitplayers = 1
        end
        local nowHit = 0
        local randomId = 0
        local otherTargets = getCreaturesInRange(getCreaturePosition(target), hitExtraTargetsInRange, hitExtraTargetsInRange, 1, hitplayers)
        if(#otherTargets > 0) then
            for i = 1, hitExtraTargets do
                if(getCreatureMana(cid) > manaNeededPerTarget) then
                    randomId = math.random(1, #otherTargets)
                    nowHit = otherTargets[randomId]
                    if(isCreature(nowHit) == TRUE) then
                        table.remove(otherTargets, randomId)
                        ret = doCombat(cid, combat, numberToVariant(nowHit))
                        if(ret ~= LUA_ERROR) then
                            doPlayerAddSpentMana(cid, manaNeededPerTarget)
                            doCreatureAddMana(cid, -manaNeededPerTarget)
                        end
                    end
                    if(#otherTargets == 0) then
                        break
                    end
                else
                    break
                end
            end
        end
    end
    return TRUE
end
 
stream once again thx!
hey do u know any acc maker 8.4 gesior has tuns of erros

i know that isnt the right place but...
 
Is it protected so you cant shoot players in depot?

player 1 stands outside depot with this wand
player 2 stands outside as an sacrefiece
player 3 stands inside depot

player 1 shoots player 2, and the damage bumps over to player 3 which is inside depot.
 
#Up
You cant, because its not a animatedtext, the "you lose 20 mana" is for the action of lose mana :D

P.S.: Sorry for my english, it sux xd
 
it`s bugged :/
if player 1 stand outside pz and player 2 stand in pz
and you attack player 1 the wand attack player 2 in pz too.
 
[11/02/2009 14:30:31] Lua Script Error: [Weapon Interface]
[11/02/2009 14:30:31] data/weapons/scripts/starshoter.lua:eek:nUseWeapon

[11/02/2009 14:30:31] data/weapons/scripts/starshoter.lua:33: attempt to call global 'doPlayerAddManaSpent' (a nil value)
[11/02/2009 14:30:31] stack traceback:
[11/02/2009 14:30:31] data/weapons/scripts/starshoter.lua:33: in function <data/weapons/scripts/starshoter.lua:28>

[11/02/2009 14:30:34] Lua Script Error: [Weapon Interface]
[11/02/2009 14:30:34] data/weapons/scripts/starshoter.lua:eek:nUseWeapon

[11/02/2009 14:30:34] data/weapons/scripts/starshoter.lua:33: attempt to call global 'doPlayerAddManaSpent' (a nil value)
[11/02/2009 14:30:34] stack traceback:
[11/02/2009 14:30:34] data/weapons/scripts/starshoter.lua:33: in function <data/weapons/scripts/starshoter.lua:28>

Change for doPlayerAddSpentMana
 
Ok. When I have 0 mana that weapons still atack monsters. How to change it?

Kiedy gracz ma zero many , bron ta dalej wali i mana rosnie. Jak zmienic aby przy 0 many przestal atakowac?
 
Ok. When I have 0 mana that weapons still atack monsters. How to change it?

Kiedy gracz ma zero many , bron ta dalej wali i mana rosnie. Jak zmienic aby przy 0 many przestal atakowac?

Plz help me
 
Is there any chance to make weapon do less damage to main target or something likes that ?
 
Back
Top