AI Code

Discussion about the game and its default mods.
Post Reply
HE95
Posts: 7
Joined: Mon May 18, 2020 11:08 pm

AI Code

Post by HE95 »

Hi i'm just asking about developing or adding a new Cvar to the game, i want to find a way to the ai to give him additional cash, i tried to modify the truck by changing the cost from 500 to -5000 it works and added TRUK to ai but when you take it down the game crushes.
So the best thing is to give the extras ressources by adding an exact command: /givecashai
thanks for helping

abcdefg30
Posts: 641
Joined: Mon Aug 18, 2014 6:00 pm

Re: AI Code

Post by abcdefg30 »

The best solution would likely be adding a "CashTrickler" trait that is conditional and enabled by the "GrantConditionOnBotOwner" trait.
For example adding something like the following would give the normal AI $50 every 5 seconds:

Code: Select all

CashTrickler:
	Amount: 50
	RequiresCondition: enable-normal-ai
	Interval: 125

HE95
Posts: 7
Joined: Mon May 18, 2020 11:08 pm

Re: AI Code

Post by HE95 »

This is a great solution, i'm trying to find Mods.Common.traits for hours but nothing found, even try to execute OpenRa.Mods.Common dont know how it works, could you help me with this ? otherwise thanks for the answer

abcdefg30
Posts: 641
Joined: Mon Aug 18, 2014 6:00 pm

Re: AI Code

Post by abcdefg30 »

You'd have to add that to the code in "ai.yaml" under "Player:".

HE95
Posts: 7
Joined: Mon May 18, 2020 11:08 pm

Re: AI Code

Post by HE95 »

OpenRA engine version release-20200202
Red Alert mod version release-20200202
Date: 2020-05-22 09:46:46Z
Operating System: Windows (Microsoft Windows NT 6.2.9200.0)
Runtime Version: .NET CLR 4.0.30319.42000
Exception of type `System.NullReferenceException`: La référence d'objet n'est pas définie à une instance d'un objet.
à OpenRA.Mods.Common.Traits.CashTrickler.Created(Actor self)
à OpenRA.Actor.Created()
à OpenRA.Player..ctor(World world, Client client, PlayerReference pr)
à OpenRA.Mods.Common.Traits.CreateMPPlayers.OpenRA.Traits.ICreatePlayers.CreatePlayers(World w)
à OpenRA.World..ctor(ModData modData, Map map, OrderManager orderManager, WorldType type)
à OpenRA.Game.StartGame(String mapUID, WorldType type)
à OpenRA.Game.LoadShellMap()
à OpenRA.Mods.Common.LoadScreens.BlankLoadScreen.StartGame(Arguments args)
à OpenRA.Game.InitializeMod(String mod, Arguments args)
à OpenRA.Game.Initialize(Arguments args)
à OpenRA.Game.InitializeAndRun(String[] args)
à OpenRA.WindowsLauncher.RunGame(String[] args)

HE95
Posts: 7
Joined: Mon May 18, 2020 11:08 pm

Re: AI Code

Post by HE95 »

Code: Select all

[Player:
	CashTrickler:
		Amount: 50
		RequiresCondition: enable-rush-ai
		Interval: 125
	ModularBot@RushAI:
		Name: Rush AI
		Type: rush
	ModularBot@NormalAI:
		Name: Normal AI
		Type: normal
	ModularBot@TurtleAI:
		Name: Turtle AI

abcdefg30
Posts: 641
Joined: Mon Aug 18, 2014 6:00 pm

Re: AI Code

Post by abcdefg30 »

Odd, that shouldn't crash at all. I'll have a look at it.

HE95
Posts: 7
Joined: Mon May 18, 2020 11:08 pm

Re: AI Code

Post by HE95 »

The same issue with the last release...

abcdefg30
Posts: 641
Joined: Mon Aug 18, 2014 6:00 pm

Re: AI Code

Post by abcdefg30 »

I see, CashTrickler doesn't work on player actors right now (engine bug), sorry for being misleading here. For now you can try putting that trait on a dummy actor, or just putting on for example the construction yard so that AIs get money while that still exists.

abcdefg30
Posts: 641
Joined: Mon Aug 18, 2014 6:00 pm

Re: AI Code

Post by abcdefg30 »

Fwiw, I have filed OpenRA/OpenRA#18182 so we'll hopefully have this error resolved for upcoming releases.

HE95
Posts: 7
Joined: Mon May 18, 2020 11:08 pm

Re: AI Code

Post by HE95 »

Thanks, for now i just created a new unit similar to the TRUK replaced by CASH, added to the Ai squadmanager cash: 10 cost: -5000 with cloak, the take down of the truck crash because of the player exp, i fix it... i hope this issue of the cashtrilckler will be fixed in the next release...

Post Reply