I figured to generate data it would be easier to let loose some AI's rather than me playing.
Anyway, I could only see that ClulessPlus (again the latest 37) AI works with NoCarGoal (someone feel free to point me to another that does!) but I've noticed it doesn't really work how I expected as it just seemed to always focus on Passengers, and generally ignore whatever Cargos were the goal, I even thought that maybe it was because something like Steel was beyond its grasp.
So I just assumed that it wasn't setup fully to play NoCarGo but I looked into the Game Script, and it seemed like it should of been as I can see we are filtering towns/industries (g_no_car_goal.GetNUncompletedGoals()) but when I started debugging I realised that the AI wasn't communicating with the game script.
First off I noticed I get the following messages at the start, I am assuming it is complaining that the NoCarGo doesn't have the correct API in place?
Code: Select all
dbg: [script] [18] [I] 1.3 API compatibility in effect.
dbg: [script] [18] [I] Script Communcation Protocol: version: 45 - API: 1.2 - CompanyID: 16 - GS mod
e - AIAIProtocol: disable Script name: CAGO Script version: 9
dbg: [script] [18] [I] You can get the source code here : http://dev.openttdcoop.org/projects/scriptlib-scp
dbg: [script] [1] [I] SCP: Adding a new command set : NoCarGoal
dbg: [script] [1] [I] SCP: Adding new command : CurrentGoal to set NoCarGoal
dbg: [script] [1] [I] SCP: Adding new command : Setting to set NoCarGoal
dbg: [script] [1] [I] SCP: Delaying message 231, cannot speak yet with 16-GS server
dbg: [script] [1] [I] SCP: Delaying message 31, cannot speak yet with 16-GS server
dbg: [script] [1] [I] SCP: Status update: signPoolID=1024 SignID=0 Command=0 Sender=1 Receiver=16 State=5 Index=0
dbg: [script] [2] [I] Script Communcation Protocol: version: 45 - API: 1.2 - CompanyID: 2 - AI mode- AIAIProtocol: disable Script name: CLUP Script version: 37
dbg: [script] [2] [I] You can get the source code here : http://dev.openttdcoop.org/projects/scriptlib-scp
I could see that the g_no_car_goal object wasn't pulling anything back.
Code: Select all
g_no_car_goal = SCPClient_NoCarGoal(this.scp);
local test = g_no_car_goal.IsNoCarGoalGame();
AILog.Info("test = " + test);
Any ideas guys?