SphereCommunity
can't rescurrect - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: can't rescurrect (/Thread-can-t-rescurrect)

Pages: 1 2


RE: can't rescurrect - Barnabus - 05-11-2012 11:14 PM

Oh that would be a nice feature to break it all down some more.
Thanks for the info Crusader... You know your stuff dude...

What do you think of this post http://forum.spherecommunity.net/showthread.php?tid=1309.
Would you be interested in helping with that at all?


RE: can't rescurrect - Crusader - 05-11-2012 11:23 PM

i'm actually very rusty... last time i scripted something was in 2008-09 ^^' so i don't think i could be of some help :| I'm more good in giving advice coz i remember how sphere works but i don't remember the syntax very well ^^''
i actually saw both of ur works (only images/description, not script of treasure map and tax system) and they looks good, but i'll give a more deeper look lately.

Actually i have a question about the dragon slayed in the picture in the cartography page....is it custom or is from the base anims files? coz i can't really recognize it O_o'


RE: can't rescurrect - Barnabus - 05-11-2012 11:36 PM

Oh that Dragon lol Hmmmm Im patched up to 7.0.19 and its in there... Heres the chardef, Im afraid i dont remeber who was responsible for it most likely it was RanXerox. The dragon is from "Stygian Abyss"

There is quite a few new dragons heres the SCP with them in.

http://ancientl2.dyndns.biz/Dragonkind.scp

Oh Sorry Alias*** Dont worry we havnt diverted your post Big Grin
and we are still here to help you with your problem in safe areas.

All you have to do is to find your players event script, and add that code to the spell select trigger.. Lets know how you get on!




K Alias following your PM... I want you to check that you do not have

ON=@SpellSelect anywhere else in your pack, besides the spell scp.
If you dont have any tools to do a mass search in the scp's try.

http://www.wingrep.com/ from Huw Millington
Its a great tool for searching multiple files for a word or sentence...

I want to show you an example of my combat event, beacuse the script you sent me does not seem to have any spell triggers in it, below is an example of my combat event I have removed some of the code to make it shorter.

Code:
[EVENTS e_AncientRealmsCombat]
ON=@ITEMEQUIPTEST
    RETURN <f_combat_PlayerEquipTest <UID>,<ACT>>

ON=@ITEMEQUIP
    RETURN <f_combat_PlayerEquip <UID>,<ACT>>
            
ON=@ITEMUNEQUIP
    RETURN <f_combat_PlayerUnEquip <UID>,<ACT>>

ON=@SKILLSTART
    CALL f_moongateInterupt <UID>
    CALL f_CheckForPlayerFlags <UID>

ON=@HITTRY
    
ON=@HIT

ON=@SpellSelect
    REF1=<SERV.UID.<ARGO.UID>> // Caster or Wand
    REF2=<SERV.UID.<UID>>       // Caster
    ARGN3=03
    IF <f_SpellcastCheckRegionLawsOnPreCast <REF2.UID>, <ARGN1>>||<f_combat_CheckForSpellPrevention <REF2.UID>, <ARGN1>>
        ACTION=-1
        RETURN 1
    ELSE
        IF <REF2.MANA> > <ARGN2>
            REF2.CTAG.ManaUse=<EVAL <REF2.MANA> - <ARGN2>>
            RETURN 6
        ELSE
            ACTION=-1
            RETURN 1
        ENDIF
    ENDIF
    IF (<ARGN1> > 199) && (<ARGN1> < 211)
        IF <TITHING> < <DEF.SCP.SPELL.<ARGN1>.TITHING>
            SYSMESSGAE @55,,1 <DEF.SCP.magery_notithing>
            RETURN 1
        ENDIF
    ENDIF
    RETURN 0
        
ON=@SpellCast
    REF1=<SERV.UID.<SRC.UID>>
    REF2=<SERV.UID.<ACT.UID>>
    REF3=<TARGP>
    REF1.SAY <ARGN1>
    f_healingIterupt <REF1.UID>
    IF <ARGN1>==2||<ARGN1>==21
        RETURN 0
    ELSE
        IF !(<REF1.CheckLineOfSights <REF2.UID>>) && !(<f_CheckForPlayerFlags <REF1.UID>, <REF2.UID>>)
            f_moongateInterupt <REF1.UID>
            f_revealHiddenPlayer <REF1.UID>
            f_CheckForSameGuildAlignment <REF1.UID>,<REF2.UID>
            f_SpellcastCheckRegionLawsOnTarget <REF1.UID>,<ARGN1>,<TARGP>
            LOCAL.SkillName = <serv.skill.<streat <serv.spell.<argn1>.skillreq>>.key>
            ACTDIFF = <EVAL (((<<LOCAL.SkillName>> - <ARGN2>) * 2.5) + 50.0)>
        ENDIF    
        IF <ACTDIFF> < 0
            REF1.ACTION-1
            RETURN 1
        ENDIF
    ENDIF
    if <def.scp.OSISpellDiff> == 1
        local.skill = <serv.skill.<streat <serv.spell.<argn1>.skillreq>>.key>
        actdiff = <eval (((<<local.skill>> - <argn2>) * 2.5) + 50.0)>
    endif
    if !<npc>
        if <isempty <serv.spell.<argn1>.runes>>
            if <account.plevel> > 2
                if <serv.wopstaff>
                    if <isnum <def.scp.spell_<argn1>_wop>>
                    say @<serv.wopcolor>,<serv.wopfont>,2 <def.scp.spell_<argn1>_wop>
                    else
                    say @<serv.wopcolor>,<serv.wopfont> <def.scp.spell_<argn1>_wop>
                    endif
                endif
            elif <account.plevel> < 2
                if <isnum <def.spell.<argn1>.wop>>
                say @<serv.wopcolor>,<serv.wopfont>,2 <def.scp.spell_<argn1>_wop>
                else
                say @<serv.wopcolor>,<serv.wopfont> <def.scp.spell_<argn1>_wop>
                endif
            endif
        endif
    endif
    RETURN 0
    
ON=@SpellEffect
    REF1=<SERV.UID.<SRC.UID>> // Caster
    REF2=<SERV.UID.<UID>>      // Target
    LOCAL.TotalDamage=0
    REF2.TAG.PreHits=<REF2.HITS>
    IF !<f_combat_DoSpellProperties <ARGN1>>
        LOCAL.TotalDamage=<f_combat_CalculateDamageMage <REF1.UID>,<REF2.UID>,<ARGN1>>
        //LOCAL.MagicalResist=<f_combat_CheckForMagicResistance <REF2.UID>,<REF1.UID>,<ARGN1>,<EVAL <LOCAL.TotalDamage>>>
        //LOCAL.TotalDamage=<ReturnOnlyPositives <LOCAL.TotalDamage> - <LOCAL.MagicalResist>>    
        REF2.TAG.LastDamageMage=<EVAL <LOCAL.TotalDamage>>
        REF2.TAG.LastHitsMage=<LOCAL.TotalDamage>
        IF <REF1.UID>==<REF2.UID>
            IF <ARGN1>==57
                REF1.TAG.LastDamageMage=-1
                REF1.TAG.LastHitsMage=-1
            ENDIF
        ENDIF
        REF1.TAG.LastVictimUID=<REF2.UID>
        REF2.TAG.LastDamageMagic=1
        REF2.TAG.LastHitByUID=<REF1.UID>
        REF2.TAG.LastExpValue=<f_GetMyExperienceValue <REF2.UID>>
    ENDIF
    //ARGN2=<EVAL <LOCAL.TotalDamage>> // oh wow this is resist bbl to it
    RETURN 0

ON=@GetHit
    REF1=<SERV.UID.<SRC.UID>>    //Caster
    REF2=<SERV.UID.<UID>>        //Target
    f_healingIterupt <REF2.UID>
    f_moongateInterupt <REF2.UID>
    f_revealHiddenPlayer <REF2.UID>
    LOCAL.AfterHits=<REF2.HITS>
    ARGN1=0
    IF <REF2.TAG.LastDamageMagic>
        ARGN1=<EVAL <REF2.TAG.LastHitsMage>>
        ARGN1=<R<ARGN1>,<EVAL <ARGN1>+1>>
        IF <REF2.TAG.Resist>
            IF <EVAL <ARGN1>> > 5
                LOCAL.ResistPassive=<EVAL <REF2.MAGICRESISTANCE> / 250>
                SERV.B @55,,1 Passive Resist <EVAL <LOCAL.ResistPassive>>
                ARGN1=<EVAL <ARGN1> - <LOCAL.ResistPassive>>
            ENDIF
        REF1.TAG.Resist=
        ENDIF
        REF2.TAG.LastDamageMagic=
    ELSE
        ARGN1=<EVAL <REF2.TAG.LastHitsMelee>>
        ARGN1=<R<EVAL <ARGN1>-1>,<EVAL <ARGN1>+1>>
        ARGN1=<f_checkForParry <REF1.UID>,<ARGN1>>
        IF <REF2.FINDID.i_invictus_playerbuff_reactarmor>
            ARGN1=<EVAL <ARGN1> / 2>
            REF2.EFFECT=3,i_fx_sparkle,64,16,1,00029,3
        ENDIF
        IF <REF2.CTAG.StoodOnUIDSFireField>
            ARGN1=<EVAL <ARGN1> / 100>
            REF2.CTAG.StoodOnUIDSFireField=
            ARGN2=dam_fire
        ELSE
            ARGN2=dam_god
        ENDIF
        REF2.TAG.LastDamageMelee=
    ENDIF
    IF <ARGN1>
        IF <ARGN1> > 0
            f_revealHiddenPlayer <REF1.UID>
            f_revealHiddenPlayer <REF2.UID>
            IF <REF1.FLAGS>&statf_freeze
                REF1.FLAGS &= ~statf_freeze
            ENDIF
            IF <REF1.TAG.ShowDamageOnHead>
                REF2.SAY @33,,1 <ARGN1>
            ELIF <REF1.TAG.ShowDamageOnDisplay>
                IF <REF1.UID> == <REF2.UID>
                    REF1.SYSMESSAGE @63,,1 You damage yourself for <ARGN1> hit points.
                ELSE
                    REF1.SYSMESSAGE @63,,1 You damage <REF2.NAME> for <ARGN1> hit points.
                    REF2.SYSMESSAGE @33,,1 <REF1.NAME> damages you for <ARGN1> hit points.
                ENDIF
            ELSE
                REF1.SYSMESSAGE @00029,,1 Please select how you would like the damage to be displayed either Type (.ShowDamageOnHead) or (.ShowDamageOnDisplay) once selected this msg will be removed.
            ENDIF
        ELSE
            ARGN1=0
        ENDIF
    ENDIF
    ARGN3=0    
    RETURN 0
    
[EOF]

Ok so before we modify your event, make sure your spell triggers are not elsewhere, if you dont have them, we can just add them to your script
Editing your Event to include this spellselect trigger ........
Code:
[FUNCTION f_SpellcastCheckRegionLawsOnPreCast]
REF1=<SERV.UID.<ARGV[0]>>    //CASTERUID
LOCAL.SPellNo=<ARGV[1]>        //SPELLNUMBER
IF <REF1.REGION.SAFE>==1 && !<f_combat_DoSpellProperties <ARGV[1]>>
    REF1.SYSMESSAGE @00029,,1 You cannot cast harmfull spells in a safe area!
    RETURN 1
ENDIF
RETURN 0

[FUNCTION f_combat_DoSpellProperties]
IF (SERV.SPELL.<ARGV[0]>.FLAGS>&SPELLFLAG_HARM)
    RETURN 0
ELSE
    RETURN 1
ENDIF

[events e_com]  // Your Event

ON=@SpellSelect
    REF1=<SERV.UID.<ARGO.UID>> // Caster or Wand
    REF2=<SERV.UID.<UID>>       // Caster
    ARGN3=03
    IF <f_SpellcastCheckRegionLawsOnPreCast <REF2.UID>, <ARGN1>>
        ACTION=-1
        RETURN 1
    ELSE
        IF <REF2.MANA> > <ARGN2>
            REF2.CTAG.ManaUse=<EVAL <REF2.MANA> - <ARGN2>>
            RETURN 6
        ELSE
            ACTION=-1
            RETURN 1
        ENDIF
    ENDIF

ON=@GETHIT
  
  // ... ( the rest of your script )



RE: can't rescurrect - Alias - 05-12-2012 12:26 AM

Windows Grep, say i dont have any on=@skillselect


RE: can't rescurrect - Crusader - 05-12-2012 12:44 AM

in fact is spellselect Tongue


RE: can't rescurrect - Barnabus - 05-12-2012 07:39 AM

Hes been sorted, there was a little function in one of the events, preventing any cast in a safe area!

Big Grin


RE: can't rescurrect - Alias - 05-13-2012 11:36 PM

Jup thank to Barnabus problem solved! Wink


RE: can't rescurrect - Vendetta - 05-18-2012 12:23 AM

you can also use resurrect 1 to force resurrection