Thread Rating:
- 2 Votes - 5 Average
- 1
- 2
- 3
- 4
- 5
Khaos
Master
Posts: 595
Likes Given: 166
Likes Received: 83 in 51 posts
Joined: Mar 2012
Reputation: 11
|
RE: Makemypet
(03-18-2016 06:37 AM)Anarch Cassius Wrote: I am having similar problems. None of the old scripts to generate summons manually are working and the revisions log is so jumbled as to make telling exactly what has changed almost impossible.
My versions seem to work somewhat, at least the summoning versions sometimes obey orders... but sometimes not. Also summons tend to fight each other... and if those summons belong to a GM the entire server crashes in some kind of reputation system infinite loop.
Code:
[function summon_pet]
SRC.newnpc=<ARGS>
//SRC.ACT.EVENTS -e_npc_wars
SRC.ACT.TAG.NPCAI.RACE=
SRC.act.brain=0
SRC.act.tag.owner=<src.uid>
VAR.SUID=<ACT.UID>
SRC.act.flags=00c000000
SRC.act.newitem=i_memory
SRC.ACT.ACT.COLOR=02
SRC.act.act.cont=<VAR.SUID>
SRC.act.act.link=<SRC.uid>
SRC.act.act.more2=<SRC.uid>
SRC.act.act.timer=-1
SRC.ACT.NEWITEM=i_rune_summon_creature
//SRC.ACT.ACT.LAYER=41
SRC.ACT.ACT.TYPE=t_spell
SRC.ACT.ACT.MORE2=1
SRC.ACT.ACT.MOREP=40,816
SRC.ACT.ACT.CONT=<VAR.SUID>
SRC.ACT.ACT.LINK=<SRC.UID>
SRC.ACT.ACT.TIMER=-1
SRC.ACT.ACT.ATTR=attr_decay
SRC.act.p=<src.p>
SRC.ACT.FIX
SRC.ACT.action=-1
[function f_MakeMyPet]
serv.newitem i_memory
new.color = memory_ipet
new.more1 = 04
new.more2 = <serv.time>
new.morep = <p>
new.link = <src.uid>
new.cont = <uid>
// <pet uid>.f_MakePetOf <owner uid>
[function f_MakePetOf]
serv.newitem i_memory
new.color = memory_ipet
new.more1 = 04
new.more2 = <serv.time>
new.morep = <p>
new.link = <args>
new.cont = <uid>
Has anyone actually got any working summon scripts for current Sphere?
UPDATE
Got this working as well as any of my AI work... they still fail to attack often enough but I'm tracing that bug still.
Quote:[function summon_pet]
SRC.newnpc=<ARGS>
SRC.act.tag.owner=<src.uid>
SRC.act.p=<p.POS>
//examples of "neutralizing" npc if need be
//SRC.ACT.EVENTS -e_npc_wars
//SRC.ACT.TAG0.NPCAI.RACE=
//src.act.brain=11
VAR.SUID=<ACT.UID>
//make pet
SRC.act.newitem=i_memory
SRC.act.act.color = memory_ipet
SRC.act.act.more1 = 04
SRC.act.act.more2=<serv.time>
SRC.act.act.morep=<p>
SRC.act.act.cont=<VAR.SUID>
SRC.act.act.link=<SRC.uid>
SRC.act.act.timer=-1
//make summoned
SRC.ACT.Flags |StatF_Conjured
SRC.ACT.NEWITEM=i_rune_summon_creature
SRC.ACT.ACT.LAYER=layer_spell_summon
SRC.ACT.ACT.TYPE=t_spell
SRC.ACT.ACT.MORE2=1
SRC.ACT.ACT.MOREP=40,816
SRC.ACT.ACT.CONT=<VAR.SUID>
SRC.ACT.ACT.LINK=<SRC.UID>
SRC.ACT.ACT.TIMER=<eval <src.spiritspeak>/15>+{180 240}
SRC.ACT.ACT.ATTR=attr_decay
src.act.action=-1
SRC.ACT.FIX
RETURN
The "SRC.ACT.Flags |StatF_Conjured" line gives an error but it works, it's needed to make them actually summoned. This probably has odd or unnessicary lines but it makes them act like proper summons and doesn't result in weird reputation loops breaking the world.
May I ask why you keep using act on the NewNpc?! It doesn't make a lot of sense.
Code:
Serv.NewNPC=<ArgS>
New.EVENTS -e_npc_wars
New.TAG.NPCAI.RACE=
New.brain=0// Player brain?! Why? Use defaults and use your AI over defaults
New.tag.owner=<src.uid>
Local.SUID=<New.UID>
New.Flags=00c000000
Serv.newitem=i_memory
New.COLOR=02
New.cont=<Local.SUID>
New.link=<SRC.uid>
New.more2=<SRC.uid>
New.timer=-1
Serv.NEWITEM=i_rune_summon_creature
//New.LAYER=41
New.TYPE=t_spell
New.MORE2=1
New.MOREP=40,816
New.CONT=<Local.SUID>
New.LINK=<SRC.UID>
New.TIMER=-1
New.ATTR=attr_decay
New.p=<src.p>
New.FIX
New.action=-1
Not sure what you were trying to do, but this removes all those silly ACT and those yucky global vars
|
|
03-20-2016 06:16 AM |
|
|
Messages In This Thread |
RE: Makemypet - Khaos - 03-20-2016 06:16 AM
|
User(s) browsing this thread: 1 Guest(s)