Thanks
OjitroC, but I think, that "MenuName" work only with SHuman bots by Sektor2111, I would like to use default bots and advisable old bots from Unreal.u/UnrealShare.u, because tested UnrealShare.DeathmatchGame mode for myself.
Tested a SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Name") for to change bots spawn name - not work for me.
First try:
[SwarmSpawn.SS]
CheckRate=0.66
bDebugMode=True
bRandMode=False
SwarmInfo[0]=(SwarmClass="UnrealI.MaleOneBot",Qty=1,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Kurgan (Bot)"))
SwarmInfo[1]=(SwarmClass="UnrealI.MaleTwoBot",Qty=1,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Ash (Bot)"))
SwarmInfo[2]=(SwarmClass="UnrealShare.FemaleOneBot",Qty=1,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Gina"))
SwarmInfo[3]=(SwarmClass="UnrealI.SkaarjPlayerBot",Qty=1,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Skaarj"))
Log:
ScriptLog: SwarmSpawn: Begin PreCacheLists
ScriptLog: Swarm# 0 UnrealI.MaleOneBot
ScriptLog: SSet0 - Set UnrealI.MaleOneBot PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: Swarm# 1 UnrealI.MaleTwoBot
ScriptLog: SSet0 - Set UnrealI.MaleTwoBot PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: Swarm# 2 UnrealShare.FemaleOneBot
ScriptLog: SSet0 - Set UnrealShare.FemaleOneBot PlayerReplicationInfo.PlayerName Gina
ScriptLog: Swarm# 3 UnrealI.SkaarjPlayerBot
ScriptLog: SSet0 - Set UnrealI.SkaarjPlayerBot PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: SwarmSpawn: End PreCacheLists
ScriptLog: .
ScriptLog: SwarmSpawn: Begin Init - Spawnpoint count: 138 Number Swarms: 4
ScriptLog: Swarm# 0 SSet0 - Attempting: Set UnrealI.MaleOneBot PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: SwarmSpawn: Swarm #0 UnrealI.MaleOneBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealI.MaleOneBot PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: SwarmSpawn: DmCurse.MaleOneBot0 spawned....
ScriptLog: Attempted settings: DmCurse.MaleOneBot0 PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: Actual values: DmCurse.MaleOneBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: .
ScriptLog: Swarm# 1 SSet0 - Attempting: Set UnrealI.MaleTwoBot PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: SwarmSpawn: Swarm #1 UnrealI.MaleTwoBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealI.MaleTwoBot PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: SwarmSpawn: DmCurse.MaleTwoBot0 spawned....
ScriptLog: Attempted settings: DmCurse.MaleTwoBot0 PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: Actual values: DmCurse.MaleTwoBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: .
ScriptLog: Swarm# 2 SSet0 - Attempting: Set UnrealShare.FemaleOneBot PlayerReplicationInfo.PlayerName Gina
ScriptLog: SwarmSpawn: Swarm #2 UnrealShare.FemaleOneBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealShare.FemaleOneBot PlayerReplicationInfo.PlayerName Gina
ScriptLog: SwarmSpawn: DmCurse.FemaleOneBot0 spawned....
ScriptLog: Attempted settings: DmCurse.FemaleOneBot0 PlayerReplicationInfo.PlayerName Gina
ScriptLog: Actual values: DmCurse.FemaleOneBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: .
ScriptLog: Swarm# 3 SSet0 - Attempting: Set UnrealI.SkaarjPlayerBot PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: SwarmSpawn: Swarm #3 UnrealI.SkaarjPlayerBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealI.SkaarjPlayerBot PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: SwarmSpawn: DmCurse.SkaarjPlayerBot0 spawned....
ScriptLog: Attempted settings: DmCurse.SkaarjPlayerBot0 PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: Actual values: DmCurse.SkaarjPlayerBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: .
ScriptLog: SwarmSpawn: End Init - Number Active Swarms: 0
Second try:
[SwarmSpawn.SS]
CheckRate=0.66
bDebugMode=True
bRandMode=False
SwarmInfo[0]=(SwarmClass="UnrealI.MaleOneBot",Qty=0,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Kurgan (Bot)"))
SwarmInfo[1]=(SwarmClass="UnrealI.MaleTwoBot",Qty=0,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Ash (Bot)"))
SwarmInfo[2]=(SwarmClass="UnrealShare.FemaleOneBot",Qty=0,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Gina"))
SwarmInfo[3]=(SwarmClass="UnrealI.SkaarjPlayerBot",Qty=0,bSpawnOnce="True",SSet0=(SName="PlayerReplicationInfo.PlayerName",SVal="Skaarj"))
SwarmInfo[4]=(SwarmClass="UnrealI.MaleOneBot",Qty=1,bSpawnOnce="True")
SwarmInfo[5]=(SwarmClass="UnrealI.MaleTwoBot",Qty=1,bSpawnOnce="True")
SwarmInfo[6]=(SwarmClass="UnrealShare.FemaleOneBot",Qty=1,bSpawnOnce="True")
SwarmInfo[7]=(SwarmClass="UnrealI.SkaarjPlayerBot",Qty=1,bSpawnOnce="True")
Log:
ScriptLog: SwarmSpawn: Begin PreCacheLists
ScriptLog: Swarm# 0 UnrealI.MaleOneBot
ScriptLog: SSet0 - Set UnrealI.MaleOneBot PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: Swarm# 1 UnrealI.MaleTwoBot
ScriptLog: SSet0 - Set UnrealI.MaleTwoBot PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: Swarm# 2 UnrealShare.FemaleOneBot
ScriptLog: SSet0 - Set UnrealShare.FemaleOneBot PlayerReplicationInfo.PlayerName Gina
ScriptLog: Swarm# 3 UnrealI.SkaarjPlayerBot
ScriptLog: SSet0 - Set UnrealI.SkaarjPlayerBot PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: Swarm# 4 UnrealI.MaleOneBot
ScriptLog: Swarm# 5 UnrealI.MaleTwoBot
ScriptLog: Swarm# 6 UnrealShare.FemaleOneBot
ScriptLog: Swarm# 7 UnrealI.SkaarjPlayerBot
ScriptLog: SwarmSpawn: End PreCacheLists
ScriptLog: .
ScriptLog: SwarmSpawn: Begin Init - Spawnpoint count: 138 Number Swarms: 8
ScriptLog: Swarm# 0 SSet0 - Attempting: Set UnrealI.MaleOneBot PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: SwarmSpawn: Swarm #0 UnrealI.MaleOneBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealI.MaleOneBot PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: SwarmSpawn: DmCurse.MaleOneBot0 spawned....
ScriptLog: Attempted settings: DmCurse.MaleOneBot0 PlayerReplicationInfo.PlayerName Kurgan (Bot)
ScriptLog: Actual values: DmCurse.MaleOneBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: Destroying: DmCurse.MaleOneBot0
ScriptLog: .
ScriptLog: Swarm# 1 SSet0 - Attempting: Set UnrealI.MaleTwoBot PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: SwarmSpawn: Swarm #1 UnrealI.MaleTwoBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealI.MaleTwoBot PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: SwarmSpawn: DmCurse.MaleTwoBot0 spawned....
ScriptLog: Attempted settings: DmCurse.MaleTwoBot0 PlayerReplicationInfo.PlayerName Ash (Bot)
ScriptLog: Actual values: DmCurse.MaleTwoBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: Destroying: DmCurse.MaleTwoBot0
ScriptLog: .
ScriptLog: Swarm# 2 SSet0 - Attempting: Set UnrealShare.FemaleOneBot PlayerReplicationInfo.PlayerName Gina
ScriptLog: SwarmSpawn: Swarm #2 UnrealShare.FemaleOneBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealShare.FemaleOneBot PlayerReplicationInfo.PlayerName Gina
ScriptLog: SwarmSpawn: DmCurse.FemaleOneBot0 spawned....
ScriptLog: Attempted settings: DmCurse.FemaleOneBot0 PlayerReplicationInfo.PlayerName Gina
ScriptLog: Actual values: DmCurse.FemaleOneBot0 PlayerReplicationInfo.PlayerName
ScriptLog: .
ScriptLog: Destroying: DmCurse.FemaleOneBot0
ScriptLog: .
ScriptLog: Swarm# 3 SSet0 - Attempting: Set UnrealI.SkaarjPlayerBot PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: SwarmSpawn: Swarm #3 UnrealI.SkaarjPlayerBot
ScriptLog: SwarmSpawn: - Pre-Spawn class default adjustment: Set UnrealI.SkaarjPlayerBot PlayerReplicationInfo.PlayerName Skaarj
ScriptLog: .
ScriptLog: SwarmSpawn: Swarm #4 UnrealI.MaleOneBot
ScriptLog: SwarmSpawn: DmCurse.MaleOneBot1 spawned....
ScriptLog: .
ScriptLog: SwarmSpawn: Swarm #5 UnrealI.MaleTwoBot
ScriptLog: SwarmSpawn: DmCurse.MaleTwoBot1 spawned....
ScriptLog: .
ScriptLog: SwarmSpawn: Swarm #6 UnrealShare.FemaleOneBot
ScriptLog: SwarmSpawn: DmCurse.FemaleOneBot1 spawned....
ScriptLog: .
ScriptLog: SwarmSpawn: Swarm #7 UnrealI.SkaarjPlayerBot
ScriptLog: SwarmSpawn: DmCurse.SkaarjPlayerBot0 spawned....
ScriptLog: .
ScriptLog: SwarmSpawn: End Init - Number Active Swarms: 0
I think, that something wrong there "Actual values: DmCurse.MaleOneBot0 PlayerReplicationInfo.PlayerName " not have "Name" itself. In the second attempt I have "Destroying: DmCurse.MaleOneBot0". In any case, I think that is wrong way.
One more observation: if trying to add bots in game via SwarmSpawn - I doubt, that they are "really bots" for the engine. Maybe it's the monsters or real players for the engine in this situation?
For example, if starting UnrealShare.DeathmatchGame and for this game type in main UT.ini, in [UnrealShare.DeathMatchGame] section present this: "bNoMonsters=True" - SwarmSpawn not can spawn this "bots".
About "fell out of the world". On the U1 map DMLiberatiMei (in attachment) I have this situation:
[SwarmSpawn.SS]
CheckRate=2
bDebugMode=True
bRandMode=False
SwarmInfo[0]=(SwarmClass="UnrealI.MaleOneBot",Qty=1,bSpawnOnce="True")
SwarmInfo[1]=(SwarmClass="UnrealI.MaleTwoBot",Qty=1,bSpawnOnce="True")
SwarmInfo[2]=(SwarmClass="UnrealShare.FemaleOneBot",Qty=1,bSpawnOnce="True")
SwarmInfo[3]=(SwarmClass="UnrealI.SkaarjPlayerBot",Qty=1,bSpawnOnce="True")
Log:
ScriptLog: SwarmSpawn: Begin PreCacheLists
ScriptLog: Swarm# 0 UnrealI.MaleOneBot
ScriptLog: Swarm# 1 UnrealI.MaleTwoBot
ScriptLog: Swarm# 2 UnrealShare.FemaleOneBot
ScriptLog: Swarm# 3 UnrealI.SkaarjPlayerBot
ScriptLog: SwarmSpawn: End PreCacheLists
ScriptLog: .
ScriptLog: SwarmSpawn: Begin Init - Spawnpoint count: 48 Number Swarms: 4
ScriptLog: SwarmSpawn: Swarm #0 UnrealI.MaleOneBot
ScriptLog: SwarmSpawn: Swarm #1 UnrealI.MaleTwoBot
ScriptLog: SwarmSpawn: Swarm #2 UnrealShare.FemaleOneBot
ScriptLog: SwarmSpawn: Swarm #3 UnrealI.SkaarjPlayerBot
ScriptLog: SwarmSpawn: End Init - Number Active Swarms: 0
ScriptLog: SwarmSpawn: Post Init - Swarm #0 UnrealI.MaleOneBot Needs: 1
ScriptLog: SwarmSpawn: Attempting respawn of class UnrealI.MaleOneBot that 'fell out of the world'....
ScriptLog: SwarmSpawn: Post Init - Swarm #1 UnrealI.MaleTwoBot Needs: 1
ScriptLog: SwarmSpawn: Attempting respawn of class UnrealI.MaleTwoBot that 'fell out of the world'....
ScriptLog: SwarmSpawn: Post Init - Swarm #2 UnrealShare.FemaleOneBot Needs: 1
ScriptLog: SwarmSpawn: Attempting respawn of class UnrealShare.FemaleOneBot that 'fell out of the world'....
ScriptLog: SwarmSpawn: Post Init - Swarm #3 UnrealI.SkaarjPlayerBot Needs: 1
ScriptLog: SwarmSpawn: Attempting respawn of class UnrealI.SkaarjPlayerBot that 'fell out of the world'....
.... etc
ScriptLog: SwarmSpawn Post Init Aborting!!! One of your Zero Qty or bSpawnOnce classes will not spawn.
if I understand correctly - SwarmSpawn can not find a point for swap on this map? Also, I present on this map as a player and if I have time to find and pick up one item until the SwarmSpawn finishes its attempts to swap - all 4 bots spawn instantaneously at the same this "pick up point" and killing each other at the same time, sometimes one bot remained alive, it is happening very funny. For this reason, I earlier talked about the possibility spawn with time delay, order to the bot could get away from this dangerous spawn point
sektor2111 wrote:You have PlayerReplicationInfo which probably spawns a bit later for that "player". Then you'll need some timing. So to speak if you want that, it's probably a need for other actor/mutator doing that job and sorting a name from a given list. Does it really worth such thing ?
sektor2111, I have no doubt that this task is not interesting and that it is necessary to waste time. As I said above - I'm going this way just because I did not find another opportunity add bots in UnrealShare.DeathmatchGame (and any old game types which are still present in UT, and in fact - almost normal work). I believe, that the right way - to fix the current state for this old game types at the "root", I have no doubt that this is possible. Then there is no necessary to use SwarmSpawn for such an ordinary task - add bots to the game.
Guys, I can not very well write in English on technical topics, it is very difficult for me, sorry. If you do not understand something of what I wrote - you tell me, I'll try again...