SphereCommunity
Help with <LINK> on a Death System - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: Help with <LINK> on a Death System (/Thread-Help-with-LINK-on-a-Death-System)



Help with <LINK> on a Death System - gergecoelho - 08-03-2019 09:56 AM

Hello everyone! Can someone help in telling me what am I doing wrong in the following event system?

My objective is to have the character be teleported to an "Unconscious Room" while dead, then be teleported back to where they were reduced to 0 hit points.

However, I had to change it a bit when I remembered that someone could drag a corpse from the location it was reduced to 0 in (via a .drag command I've made available), so the ghost would resurrect without the body.

I'm having trouble using the LINK to find where the body is being moved to.

Code:
[EVENTS e_death_system]
ON=@Death
SRC.TAG.VIGOR -= 1
SRC.TAG.DOWNLOCATION = <SRC.P>
IF (<SRC.TAG.VIGOR> <= 0)
    SRC.SYSMESSAGE=You have died, only the higher powers can help your soul now.
ELSE
    SRC.SYSMESSAGE=You are unconscious and will wake up in 2 minutes.
    SRC.NEWITEM i_unconscious_timer
    SRC.EQUIP <NEW>
ENDIF

ON=@DeathCorpse
SRC.LINK=<ARGO>
SRC.GO = 5585,1085 // The "Unconscious Room"

ON=@Resurrect
SRC.GO=<LINK.P>


[ITEMDEF i_unconscious_timer]
ID=i_memory
TYPE=t_eq_script
NAME=Unconscious Timer
LAYER=layer_special

ON=@CREATE
ATTR=00014

ON=@Equip
TIMER=2*60

ON=@Timer
// CONT.GO = <CONT.TAG.DOWNLOCATION>
CONT.RESURRECT
CONT.SYSMESSAGE = You woke up.
REMOVE
RETURN 0



RE: Help with <LINK> on a Death System - gergecoelho - 08-05-2019 10:19 AM

Think I've cracked this one out. Smile

Code:
[EVENTS e_death_system]
ON=@Death
SRC.TAG.VIGOR = (<SRC.TAG.VIGOR> - 1)
SRC.TAG.DOWNLOCATION = <SRC.P>
IF (<SRC.TAG.VIGOR> <= 0)
    SRC.SYSMESSAGE=You have died, only the higher powers can help your soul now.
ELSE
    SRC.SYSMESSAGE=You are unconscious and will wake up in 2 minutes.
    SRC.NEWITEM i_unconscious_timer
    SRC.EQUIP <NEW>
ENDIF

ON=@DeathCorpse
ARGO.LINK=<SRC.UID>
IF (<SRC.TAG.VIGOR> >= 1)
    GO = 5585,1085 // The "Unconscious Room"
ENDIF

[FUNCTION drag]
SRC.SYSMESSAGE=Drag which corpse?
TARGETf _drag

[FUNCTION _drag]
REF1=<ARGO>
IF (<REF1.TYPE> == T_CORPSE) && (<REF1.DISTANCE> < 4) && (<SRC.TARG.CANSEELOS>)
    REF1.P = <SRC.P>
    REF1.UPDATE
    REF1.LINK.TAG.DOWNLOCATION = <P>
ELSE
    SRC.SYSMESSAGE=Use this command to drag nearby corpses you can see.
ENDIF



RE: Help with <LINK> on a Death System - Coruja - 08-06-2019 11:31 AM

@Death is called when the char still alive and ready to die, so there's no corpse created yet

To get the corpse ref you must use ARGO on @DeathCorpse, which is called when the char is already dead and the corpse is already created