SphereCommunity
@Hit and Eventplayer in sphere.ini - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: @Hit and Eventplayer in sphere.ini (/Thread-Hit-and-Eventplayer-in-sphere-ini)



@Hit and Eventplayer in sphere.ini - Anymore - 11-23-2017 03:50 AM

Hei guis i have some questions.

1) If i want to do a script that allow the players to cast a spell on the target hitted, when the target been hitted how can i do that? and as well if i wish the player cast a spell on himself when hit another player how can i do that? ( try whit self and in game work, but not in sphere script???)

ON=@Hit
IF (<TAG.EVOLUTION> == 2 ) && (<TAG.EVUL.STAGE>>0 )
IF (RAND(100) < 100)
CAST 27
SRC.SELF
I.SYSMESSAGE You curse your enemy!!
ENDIF
ENDIF
RETURN 1



Second questions, i sow in sphere.ini there is this section:

EventsPlayer = blablabla

i try to insert 2 event like that : EventsPlayer = e_event1 | e_event2 but sphere give me error regarding the " | " how can I insert more event here?


RE: @Hit and Eventplayer in sphere.ini - darksun84 - 11-23-2017 03:57 AM

For the first question do like this:

Code:
//In @Hit SRC is the defender, while default object (I, but you don't need to type I.whatever) is the attacker
ON=@Hit
IF (<TAG.EVOLUTION> == 2 ) && (<TAG.EVUL.STAGE>>0 )
IF (RAND(100) < 100)
//Defender(SRC) will be effected by the curse spell
SRC.spelleffect 27,<magery>,<uid>,0
SYSMESSAGE You curse your enemy!!
//Attacker will be effected by the bless spell (example)
spelleffect 17,<magery>,<uid>,0
SYSMESSAGE You bless yourself.
ENDIF
ENDIF
RETURN 1
For the second question separate the events with a ,
Code:
EventsPlayer = e_event1,e_event2



RE: @Hit and Eventplayer in sphere.ini - Anymore - 11-23-2017 04:25 AM

thnks!
So i add the event like that e_event1,e_event2,e_event3
but sphre is running just the first one and there isn't any error message, some idea?


RE: @Hit and Eventplayer in sphere.ini - darksun84 - 11-23-2017 04:51 AM

Can you post the events code? Also try to restart the server


RE: @Hit and Eventplayer in sphere.ini - Anymore - 11-23-2017 05:00 AM

[EVENTS e_critic]
ON=@Hit
IF (<TAG.EVOLUTION> == 2 ) && (<TAG.EVUL.STAGE>>0 )
IF (RAND(100) < 100)
I.SYSMESSAGE You did a critical hit!
SRC.EFFECT=3,i_fx_curse,6,31,0
SRC.DAMAGE {10 25}
SFX=snd_spell_curse
ENDIF
ELIF (RAND(100) < 100)
I.SYSMESSAGE You did a critical hit!
SRC.EFFECT=3,i_fx_curse,6,31,0
SRC.DAMAGE {10 25}
SFX=snd_spell_curse
ENDIF
RETURN 1

[EVENTS e_curse]
ON=@Hit
IF (<TAG.EVOLUTION> == 2 ) && (<TAG.EVUL.STAGE>>0 )
IF (RAND(100) < 100)
//Defender(SRC) will be effected by the curse spell
SRC.spelleffect 27,<magery>,<uid>,0
SYSMESSAGE You curse your enemy!!
ENDIF
ENDIF
RETURN 1

[EVENTS e_bless]
ON=@Hit
IF (<TAG.EVOLUTION> == 2 ) && (<TAG.EVUL.STAGE>>0 )
IF (RAND(100) < 100)
spelleffect 17,<magery>,<uid>,0
SYSMESSAGE You bless yourself.
ENDIF
ENDIF
RETURN 1


RE: @Hit and Eventplayer in sphere.ini - darksun84 - 11-23-2017 05:20 AM

You shouldn't use return 1 in this case.
The return 1 at the end of the first event called will halt the execution of the next events.


RE: @Hit and Eventplayer in sphere.ini - Anymore - 11-23-2017 05:34 AM

(11-23-2017 05:20 AM)darksun84 Wrote:  You shouldn't use return 1 in this case.
The return 1 at the end of the first event called will halt the execution of the next events.

Copy that i will try and i will update you here, i have another question if i wish to increase a stat over the skill cap, like an item +stat how it's work? i try this:

src.str += 10

but sphere gonna drop my str at 0, i'm running sphere 0.56c in linux.


RE: @Hit and Eventplayer in sphere.ini - darksun84 - 11-23-2017 05:48 AM

Try with src.modstr