SphereCommunity
spell flizzes because line of sight - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: spell flizzes because line of sight (/Thread-spell-flizzes-because-line-of-sight)



spell flizzes because line of sight - Claus - 03-30-2021 05:17 AM

what wrong with this?
Code:
[SPELL 578]             ///////////////////aggiugnere il cd////////////
DEFNAME=s_aimed_Shot
NAME=Magic Arrow
SOUND=snd_weapons_crossbow
CAST_TIME = 30
RUNES=IPY
RESOURCES=i_arrow
FLAGS=spellflag_dir_anim|spellflag_targ_item|spellflag_targ_char|spellflag_harm|​spellflag_damage|spellflag_fx_bolt|spellflag_resist
EFFECT_ID=i_fx_arrow
EFFECT=0
DURATION=0.0
MANAUSE=0
SKILLREQ= magery 10.0
INTERRUPT= 0.0

ON=@select
    return 6


ON=@Start
if (<act.distance> > 6)
        src.sysmessage Il bersagio e' troppo distante
    return 1
else
    src.message @,2,1, *Prendi la mira verso <act.name>*        
    SRC.NEWITEM=i_timer_GEN_COOLDOWN_5   ///// cd for new ability
    SRC.ACT.EQUIP
    return 0
endif
return 0


ON=@effect
            src.sysmessage *Prendi accuratamente la mira e colpisci il tuo nemico*
            i.hit -= 22
            i.stam -= 27
        
return 0


if i try to cast it, the spell chech first ON=@select and go to START, but then flizzes with sysmessage : "target is not in line of sight, you stopthe casting of the spell"
what can i do? if i cancel the ON=@start trigger the spell works, but i lost the "src.message @,2,1, *Prendi la mira verso <act.name>* " part, 3 seconds before the spell hit target


edit: if i'm in GM ON the spell works, in GM OFF no


RE: spell flizzes because line of sight - Kanibal - 03-30-2021 08:35 AM

Return 6 is the same as return 1 = cancel
Code:
ON=@select
return 6

Try this code
Code:
[SPELL 578]             ///////////////////aggiugnere il cd////////////
DEFNAME=s_aimed_Shot
NAME=Magic Arrow
SOUND=snd_weapons_crossbow
CAST_TIME = 30
RUNES=IPY
RESOURCES=i_arrow
FLAGS=spellflag_dir_anim|spellflag_targ_item|spellflag_targ_char|spellflag_harm|​​spellflag_damage|spellflag_fx_bolt|spellflag_resist
EFFECT_ID=i_fx_arrow
EFFECT=0
DURATION=0.0
MANAUSE=0
SKILLREQ= magery 10.0
INTERRUPT= 0.0

ON=@Start
if (<act.distance> > 6)
        src.sysmessage Il bersagio e' troppo distante
    return 1
else
    src.message @,2,1, *Prendi la mira verso <act.name>*        
    src.newitem=i_timer_GEN_COOLDOWN_5   ///// cd for new ability
    new.equip
    return 0
endif

ON=@Effect
    src.sysmessage *Prendi accuratamente la mira e colpisci il tuo nemico*
//    src.hit -= 22   <<<<<<<<<<<<<<<<<<<< ????
    src.stam -= 27
return 0



RE: spell flizzes because line of sight - Claus - 03-30-2021 05:51 PM

Use return 6 in @select for skip spellbook and reagent check;
the script that you suggest, still not works, with same problem


RE: spell flizzes because line of sight - Kanibal - 03-31-2021 08:32 AM

I dont have working sphere right now to test it, but I think this is a problem.
Code:
if (<distance> > 6)