SphereCommunity
Players commanding NPCs? - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Requests (/Forum-Script-Requests)
+--- Thread: Players commanding NPCs? (/Thread-Players-commanding-NPCs)



Players commanding NPCs? - x77x - 01-29-2015 05:11 AM

how can i have players be able to command npcs if they are high enough level?

with ONLY the basic commands
follow, kill, stay

a speech file duh!

first problem...
how can i bring up a attack target?

Code:
[SPEECH s_wei_infantry]
ON=*kill*
ON=*attack*
    IF (<SRC.MEMORYFINDTYPE.0400.LINK>==040004000) && (<SRC.LEVEL>>019) && (<SRC.LEVEL><025)
        SAY Yes sir!
        TARG.ATTACK
    ELSE
    IF (<SRC.MEMORYFINDTYPE.0400.LINK>==040004000) && (<SRC.LEVEL>>049)
        SAY Yes sir!
        TARG.ATTACK
    ELSE
        SAY You cannot command me!


or a function to attack?


Code:
[FUNCTION f_attack]
TARGETF
OBJ.SAY Yes sir!
OBJ.ATTACK.ARGO

[SPEECH s_wei_infantry]
ON=*kill*
ON=*attack*
    IF (<SRC.MEMORYFINDTYPE.0400.LINK>==040004000) && (<SRC.LEVEL>>019) && (<SRC.LEVEL><025)
        OBJ <UID>
        f_attack
    ELSE
    IF (<SRC.MEMORYFINDTYPE.0400.LINK>==040004000) && (<SRC.LEVEL>>049)        
        TARGETF
        SRC.ATTACK
    ELSE
        SAY You cannot command me!

16:54:ERROR:(3kuo_s_speech.scp,4)Undefined keyword 'ATTACK.ARGO'


RE: Players commanding NPCs? - x77x - 01-29-2015 07:08 AM

how about making them a pet for few minutes?


RE: Players commanding NPCs? - Jim - 01-29-2015 10:45 AM

you can try the mercenary scripts, shown at "[CHARDEF c_mercenary]" in "sphere_citizens.scp".
thers is a "HIREDAYWAGE" property, so when you say "hire", the NPC of mercenary will say something, then you put some gold on him,then he/she will be hired by your player. and then you can order him/her to do something

and the custom orders, you can use SPEECH , i think


RE: Players commanding NPCs? - x77x - 01-29-2015 11:59 AM

didnt want to hire...

just command temporarily would be nice


it almost works... just cant figure out how to make this work

OBJ.ATTACK.ARGO


RE: Players commanding NPCs? - Jim - 01-29-2015 01:57 PM

OBJ.ATTACK <ARGO> ??


RE: Players commanding NPCs? - XuN - 01-29-2015 08:08 PM

One tip, Sphere uses hexadecimal values by default so 19 = 19, 019 = 25 and 025 = 37, keep an eye on that... to see real values of hexadecimal ones you can use ingame .show eval 019 and it will give you the decimal value.


RE: Players commanding NPCs? - x77x - 01-30-2015 12:03 AM

figured it out... WORKING!



Code:
[FUNCTION f_attack]
OBJ.SAY Yes sir!
OBJ.ATTACK <ARGO>
OBJ.SAY <OBJ> will now attack <ARGO>

[SPEECH s_wei_infantry]
ON=*kill*
ON=*attack*
    IF (<SRC.MEMORYFINDTYPE.0400.LINK>==040004000) && (<SRC.LEVEL>>019) && (<SRC.LEVEL><025)
        OBJ <UID>
        TARGETF f_attack
    ELSE
    IF (<SRC.MEMORYFINDTYPE.0400.LINK>==040004000) && (<SRC.LEVEL>>049)        
        OBJ <UID>
        TARGETF f_attack
    ELSE
        SAY You cannot command me!