// hb_spawner #include "antistuck_h" void fnWander() { // wander around the area object oWP=GetNearestObject(OBJECT_TYPE_WAYPOINT,OBJECT_SELF,d10()); if (GetIsInCombat(OBJECT_SELF)==FALSE&&IsInConversation(OBJECT_SELF)==FALSE) { // move AssignCommand(OBJECT_SELF,ASActionMoveToObject(oWP,TRUE,1.0)); } // move DelayCommand(18.0,fnWander()); } // fnWander() void main() { object oMe=OBJECT_SELF; object oSpawn1=GetLocalObject(oMe,"oSpawn1"); object oSpawn2=GetLocalObject(oMe,"oSpawn2"); object oSpawn3=GetLocalObject(oMe,"oSpawn3"); object oSpawn4=GetLocalObject(oMe,"oSpawn4"); object oSpawn5=GetLocalObject(oMe,"oSpawn5"); string sSpawn1=GetLocalString(oMe,"sSpawn1"); string sSpawn2=GetLocalString(oMe,"sSpawn2"); string sSpawn3=GetLocalString(oMe,"sSpawn3"); int nSpawnCount=GetLocalInt(oMe,"nSpawnCount"); nSpawnCount=nSpawnCount-1; if (oSpawn1==OBJECT_INVALID&&nSpawnCount<1) { oSpawn1=CreateObject(OBJECT_TYPE_CREATURE,sSpawn1,GetLocation(oMe)); AssignCommand(oSpawn1,fnWander()); SetLocalObject(oMe,"oSpawn1",oSpawn1); nSpawnCount=2; } if (oSpawn2==OBJECT_INVALID&&nSpawnCount<1) { oSpawn2=CreateObject(OBJECT_TYPE_CREATURE,sSpawn2,GetLocation(oMe)); AssignCommand(oSpawn2,fnWander()); SetLocalObject(oMe,"oSpawn2",oSpawn2); nSpawnCount=2; } if (oSpawn3==OBJECT_INVALID&&nSpawnCount<1) { oSpawn3=CreateObject(OBJECT_TYPE_CREATURE,sSpawn3,GetLocation(oMe)); AssignCommand(oSpawn3,fnWander()); SetLocalObject(oMe,"oSpawn3",oSpawn3); nSpawnCount=2; } if (oSpawn4==OBJECT_INVALID&&nSpawnCount<1) { oSpawn4=CreateObject(OBJECT_TYPE_CREATURE,sSpawn3,GetLocation(oMe)); AssignCommand(oSpawn4,fnWander()); SetLocalObject(oMe,"oSpawn4",oSpawn4); nSpawnCount=2; } if (oSpawn5==OBJECT_INVALID&&nSpawnCount<1) { oSpawn5=CreateObject(OBJECT_TYPE_CREATURE,sSpawn3,GetLocation(oMe)); AssignCommand(oSpawn5,fnWander()); SetLocalObject(oMe,"oSpawn5",oSpawn5); nSpawnCount=2; } SetLocalInt(oMe,"nSpawnCount",nSpawnCount); }