Goal: The script "rates" a players game with the help of an engine, assigns an "rating" to how well or bad he played the game.
This "rating" has nothing to do with the ELO rating (although it uses the same formulas). (more on this later)
Rating a game is a 3-step procedure
1) Greate a tree with rating analysis (RateGameScript_GameTree[Database])
2) Rate the player moves based on previous step (RateGameScript_RateGame[Database])
3) Extract various statistics. (RateGameScript_ReportsFromXml[Database])
Installation:
This is simple Just extract the attached zip file in the Ascripts directory (you will find it inside the Aquarium Data Folder)
The file contains various scripts (the U_BF_*****.tsc scripts are scripts with functions which you can freely use in your own scripts)
In the next 3 posts i will explain how each script works
This "rating" has nothing to do with the ELO rating (although it uses the same formulas). (more on this later)
Rating a game is a 3-step procedure
1) Greate a tree with rating analysis (RateGameScript_GameTree[Database])
2) Rate the player moves based on previous step (RateGameScript_RateGame[Database])
3) Extract various statistics. (RateGameScript_ReportsFromXml[Database])
Installation:
This is simple Just extract the attached zip file in the Ascripts directory (you will find it inside the Aquarium Data Folder)
The file contains various scripts (the U_BF_*****.tsc scripts are scripts with functions which you can freely use in your own scripts)
In the next 3 posts i will explain how each script works
Attachment: RatingGameScripts.zip (18k)
Script 1 - Evaluate "all" moves of a game(s)
1) You are asked about the database and the game (id) you want to analyse
2) You are asked to pick an engine, depth of analysis (per move)
3) How many plies you want to skip before starting the analysis, and when to stop analysis
4) How many alternatives per move do you want to be analysed (5 is the default.. so to compare results with 2D evaluation)
* The results are saved in Ascript\Data folder, which is create if it does not exist , in the gamerating.hsh tree
* If a position has already 3 alternatives and you want 5 , just 2 more are calculated , so moves analyzed are not re-analysed
* After the tree build, we do not generate moves and we do not minimax the tree. This is intentional, since a) without generate moves we can easily see if the engine selected or not the move and ofcourse b) without minimaxing we can see the evaluation of the engine at that time, since we are comparing the engine's choices to the human ones.
1) You are asked about the database and the game (id) you want to analyse
2) You are asked to pick an engine, depth of analysis (per move)
3) How many plies you want to skip before starting the analysis, and when to stop analysis
4) How many alternatives per move do you want to be analysed (5 is the default.. so to compare results with 2D evaluation)
* The results are saved in Ascript\Data folder, which is create if it does not exist , in the gamerating.hsh tree
* If a position has already 3 alternatives and you want 5 , just 2 more are calculated , so moves analyzed are not re-analysed
* After the tree build, we do not generate moves and we do not minimax the tree. This is intentional, since a) without generate moves we can easily see if the engine selected or not the move and ofcourse b) without minimaxing we can see the evaluation of the engine at that time, since we are comparing the engine's choices to the human ones.
O.K. I run the 3 scripts (with a ten-game pgn-sample.) I got reports - but the csv-file is empty.
Attachment: report.csv (705B)
Attachment: report_rating.csv (59B)
this is probably because the filters you applied got no results.
Did you use the correct name to filter?
For example if you have 10 games by Topalov,Veselin , entering as a name Topalov would suffice.
Did you use the correct name to filter?
For example if you have 10 games by Topalov,Veselin , entering as a name Topalov would suffice.
ok that's it - now it works - thx for the scripts and a Happy New Year!
P.S.
gamerating.elm and *.hsh - for what it's worth?
P.S.
gamerating.elm and *.hsh - for what it's worth?
please attach your xml file.
For example this is an xml i created by analyzing some Anand games.
For example this is an xml i created by analyzing some Anand games.
Attachment: an_d30.zip (30k)
Script 2 - Rating a game--Creating a report
The second script is about Rating the game, taking advantage of the tree created in the previous script
1) You should first create a tree with the moves you want analysed, and alternatives per move created. (the first 5 is best and is in harmony with 2d-evaluation)
2) The script runs throught the game and calculates some quantities. Among them
a) How worse has the move selected from the best move (according to the engine)
b) Rank of players choice according to the Engine
c) How difficult a position is.
(this is calculated as follows. I add the score difference from BestMove.Score - OtherMoves.Score (as long that is below a thershold, i picked 0.60 which seems to work well).
Now if this is low, it means that all alternatives are quite close, so its easier to pick the correct move (even by luck). If the difference is big (but not too big so the move is either forced or too obvious) and one move is clearly better, then the choice is important.
I also divide the sum of differences by the number of valid moves (valid moves are the number of not extremely bad move in the choice list {5 moves in our case}.... etc.
This seems to work quite well and the positions marked as difficult are most times worth the look (so here its another benefit, of finding nice test positions)
d) A Bonus is calculated when the human played better that the engine. Now this is tricky
For example i play move A and the engine says its bad. But along the way it seems that it was much better than the engine thought. I am catching this case by validating the following rule
"if the score drop 100 after X white moves and X black moves then the total error (difference of best move - played move) should be equal to the score drop. If not, then it means that the engine along the way miscalculated. (more details later)
e) A rating drop is calculated.
For this first script i set the Engine Rating to 2800. This is not correct ofcourse ,and the rating depends on the depth_of_analysis the game was analysed. It is best that the engine's rating is close to the players strength, since you cannot evaluate by comparing an engine of 3500 rating to a 1800 player. There is no valid comparison. So this is another gray area
3) You get a report that has some statistical data about the game. And a rating estimation of the players strength
4) You also get a multiple move ranking profiles, that will help you determine how the player behaves.
For example an allmove_ranking profile.
This is like 2d evaluation. You see how ofter the player plays 1-2-3...etc choices of the engine and if he fits in any profile (ofcourse for one game this is not helpful, but for more its comming :) )
You get a ranking when he has advantage , so you can see if he plays well when he has an advantage or he spoils it often
A ranking for worse positions, to see if he breaks easily or not
A ranking for difficult positions, to see how well he handles positions when choices are at stake... etc
The script creates 2 files (both found inside Ascript\Data folder)
a) a report.txt with many information about the game(s) (just open it)
b) a report.xml , that will be used in the 3rd script
The second script is about Rating the game, taking advantage of the tree created in the previous script
1) You should first create a tree with the moves you want analysed, and alternatives per move created. (the first 5 is best and is in harmony with 2d-evaluation)
2) The script runs throught the game and calculates some quantities. Among them
a) How worse has the move selected from the best move (according to the engine)
b) Rank of players choice according to the Engine
c) How difficult a position is.
(this is calculated as follows. I add the score difference from BestMove.Score - OtherMoves.Score (as long that is below a thershold, i picked 0.60 which seems to work well).
Now if this is low, it means that all alternatives are quite close, so its easier to pick the correct move (even by luck). If the difference is big (but not too big so the move is either forced or too obvious) and one move is clearly better, then the choice is important.
I also divide the sum of differences by the number of valid moves (valid moves are the number of not extremely bad move in the choice list {5 moves in our case}.... etc.
This seems to work quite well and the positions marked as difficult are most times worth the look (so here its another benefit, of finding nice test positions)
d) A Bonus is calculated when the human played better that the engine. Now this is tricky
For example i play move A and the engine says its bad. But along the way it seems that it was much better than the engine thought. I am catching this case by validating the following rule
"if the score drop 100 after X white moves and X black moves then the total error (difference of best move - played move) should be equal to the score drop. If not, then it means that the engine along the way miscalculated. (more details later)
e) A rating drop is calculated.
For this first script i set the Engine Rating to 2800. This is not correct ofcourse ,and the rating depends on the depth_of_analysis the game was analysed. It is best that the engine's rating is close to the players strength, since you cannot evaluate by comparing an engine of 3500 rating to a 1800 player. There is no valid comparison. So this is another gray area
3) You get a report that has some statistical data about the game. And a rating estimation of the players strength
4) You also get a multiple move ranking profiles, that will help you determine how the player behaves.
For example an allmove_ranking profile.
This is like 2d evaluation. You see how ofter the player plays 1-2-3...etc choices of the engine and if he fits in any profile (ofcourse for one game this is not helpful, but for more its comming :) )
You get a ranking when he has advantage , so you can see if he plays well when he has an advantage or he spoils it often
A ranking for worse positions, to see if he breaks easily or not
A ranking for difficult positions, to see how well he handles positions when choices are at stake... etc
The script creates 2 files (both found inside Ascript\Data folder)
a) a report.txt with many information about the game(s) (just open it)
b) a report.xml , that will be used in the 3rd script
Script 3
It reads the report.xml of the previous script (rategame) and asks for a player and color (so it can filter the xml file) and gets summed results.
You get to cvs files. One with the summed results and one with the rating (3 columns, RatingPerformance,AverageErrorDrop,ErrorDropWhenInDifficultPosition)
For example you can set the players name as Topalov and pick both colors so the script will go through the xml file and sum over only those games
Year filtering will come next
Any requests and ideas are of course welcomed.
It reads the report.xml of the previous script (rategame) and asks for a player and color (so it can filter the xml file) and gets summed results.
You get to cvs files. One with the summed results and one with the rating (3 columns, RatingPerformance,AverageErrorDrop,ErrorDropWhenInDifficultPosition)
For example you can set the players name as Topalov and pick both colors so the script will go through the xml file and sum over only those games
Year filtering will come next
Any requests and ideas are of course welcomed.
Hello buffos.
I installed (unzipping the file) the scripts in AScripts directory.
Then I tried to run the first script: RateGameScript_GameTree[Database].
I get "Library 'U_BF_GAME' not found" message.
That script is the same directory (AScripts).
Of course, I have been missing something.
Regards,
IceBox
I installed (unzipping the file) the scripts in AScripts directory.
Then I tried to run the first script: RateGameScript_GameTree[Database].
I get "Library 'U_BF_GAME' not found" message.
That script is the same directory (AScripts).
Of course, I have been missing something.
Regards,
IceBox
Ok... One more installation step (unfortunatelly something changed and Scripter does not look in its own directory for scripts in the scripter directory)
So do the following (once).
1) Show the scripter window (press show\hide button and then show the code window from the layout menu)
2) Go to the FIRST icon (before the '>') and select Debug-> Search Paths
3) Press + (add) and as a name add anything (for example uses) and press ok
4) Then select that last entry (uses for example if you entered that name) and press "set path"
Now search for the AquariumData\Ascripts directory and press ok.
Thats its. Now you told Ascripter to search there for any library files (that are used through uses)
You have to do it just ONCE and it is set for ever (every script... ever), not once for every script, just once
Sorry for the trouble, but using library files, makes it easier to develop bigger scripts and reuse code
Aqscripter used to look in the current directory. This is a bug. If its fixed, you will not have to go through the above procedure.
So do the following (once).
1) Show the scripter window (press show\hide button and then show the code window from the layout menu)
2) Go to the FIRST icon (before the '>') and select Debug-> Search Paths
3) Press + (add) and as a name add anything (for example uses) and press ok
4) Then select that last entry (uses for example if you entered that name) and press "set path"
Now search for the AquariumData\Ascripts directory and press ok.
Thats its. Now you told Ascripter to search there for any library files (that are used through uses)
You have to do it just ONCE and it is set for ever (every script... ever), not once for every script, just once
Sorry for the trouble, but using library files, makes it easier to develop bigger scripts and reuse code
Aqscripter used to look in the current directory. This is a bug. If its fixed, you will not have to go through the above procedure.
Done.
Thanks for sharing the scripts.
Regards,
IceBox
Thanks for sharing the scripts.
Regards,
IceBox
Hi Buffos,
I did step 1 - 4 (for AndvancedTaskCreator) and it works fine. But I have to reconfigure it every time I restart Aquarium (5.01 Build 441). Is there a config file somewhere to edit it manually?
Ciao
Achim
I did step 1 - 4 (for AndvancedTaskCreator) and it works fine. But I have to reconfigure it every time I restart Aquarium (5.01 Build 441). Is there a config file somewhere to edit it manually?
Ciao
Achim
you shouldnt have too. That is strange
I did a grep on the Aquarium direcories:
bash-3.2$ grep -iHnr Ascripts *
AScripts/AdvancedTaskCreator_v1.3.bak:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.bak:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/AdvancedTaskCreator_v1.3.tsc:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.tsc:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/Annotations.tsc:7: dbName = 'AScripts\Data\ABases\Comment.cdp';
Binary file AScripts/AquariumTreeUtils/Temp2/file.elm matches
AScripts/book_recolor.tsc:54: name := DataPath+'AScripts\data\ATrees\colored2.hsh';
AScripts/book_recolor.tsc:80: AssignFile(f, DataPath+'AScripts\data\colors.log'); Rewrite(f);
AScripts/db_Annotations.tsc:6: dbName = 'AScripts\Data\ABases\Comment.cdp';
AScripts/db_tree_combined.tsc:5: DBname = 'AScripts\data\ABases\4_e3_is_better.cdp';
AScripts/db_tree_combined.tsc:6: TreeName = 'AScripts\DATA\Atrees\cap.hsh';
AScripts/db_tree_combined.tsc:7: EPDFile = 'AScripts\data\db_tree_combined.epd';
AScripts/Files_FindFirst&Next.tsc:13: ChDir(InputPath(DataPath + 'AScripts\data\ABases'));
AScripts/OpeningBook.tsc:10: t := TSTreeScanner.Create(DataPath + 'AScripts\data\ATrees\cap.hsh');
AScripts/RateGameScript_GameTree[Database].tsc:26: ForceDirectories(Datapath+'Ascripts\Data\');
AScripts/RateGameScript_GameTree[Database].tsc:27: TreeToSave := Datapath+'Ascripts\Data\' + 'gamerating.hsh';
AScripts/RateGameScript_RateGame[Database].tsc:22: ForceDirectories(Datapath+'Ascripts\Data\');
AScripts/RateGameScript_RateGame[Database].tsc:26: ChDir(Datapath+'Ascripts\Data\');
AScripts/RateGameScript_RateGame[Database].tsc:29: reportpath:=Datapath+'Ascripts\Data\' + 'report.txt';
AScripts/RateGameScript_RateGame[Database].tsc:30: xmlpath:= Datapath+'Ascripts\Data\' +'report.xml';
AScripts/RootNodes.tsc:14: t := TSTreeScanner.Create(DataPath + 'AScripts\data\ATrees\cap.hsh', False, False);
AScripts/Tree_Browse.tsc:9: TreeName = 'AScripts\Data\ATrees\cap.hsh';
AScripts/Tree_Browse.tsc:10: LogName = 'AScripts\Data\TreeBrowse_best.log';
AScripts/Tree_copying.tsc:49: ChDir(InputPath('AScripts\Data\Atrees\'));
AScripts/Tree_EndNode.tsc:11: t := TSTreeScanner.Create(DataPath+'AScripts\data\ATrees\idea.hsh', False);
AScripts/tree_MarkNodes.tsc:32: t := TSTreeScanner.Create(DataPath+'AScripts\data\ATrees\idea.hsh');
AScripts/tree_minimax.tsc:8: TreeName = 'AScripts\data\ATrees\cap.hsh';
AScripts/tree_SearchForNovelty.tsc:4: LogName = 'AScripts\Data\NotInTree.txt';
AScripts/tree_SearchForNovelty.tsc:5: ListToProcess = 'AScripts\Data\Text\GameList.txt';
AScripts/tree_SearchForNovelty.tsc:6: TreeName = 'AScripts\data\ATrees\cap.hsh';
AScripts/tree_SearchForNovelty.tsc:7: dbName = 'AScripts\data\ABases\comment.cdp';
AScripts/TreeUtils_CheckTree.tsc:4: GoodTree = 'AScripts\Data\Atrees\cap.hsh';
AScripts/TreeUtils_CheckTree.tsc:5: BadTree = 'AScripts\Data\Atrees\idea_corrupted.hsh';
AScripts/TreeUtils_DedupeEPD.tsc:9: output_epd = 'AScripts\data\EPD\outepd.epd';
AScripts/TreeUtils_DedupeEPD.tsc:17: t:= TSTreeScanner.Create(DataPath+'AScripts\Data\Atrees\idea.hsh');
AScripts/TreeUtils_ExportSubtreeToEPD.tsc:5: TreeName = 'AScripts\Data\Atrees\cap.hsh';
AScripts/TreeUtils_ExportSubtreeToEPD.tsc:6: epdFile = 'AScripts\data\EPD\subepd.epd'
AScripts/TreeUtils_JoinTrees.tsc:4: DefaultPath = 'AScripts\data\ATrees';
AScripts/U_BF_DialogEditor.tsc:60: ForceDirectories(Datapath+'AScripts\Config\');
AScripts/U_BF_DialogEditor.tsc:62: WriteXML(root, Datapath+'AScripts\Config\' + name + '.xml');
Config/DatabaseContext.xml:33: <scripter form_visible="0" mru="Z:\Schach\Aquarium\AScripts\AdvancedTaskCreator_v1.3.tsc" search_paths=""/>
Config/DatabaseContext.xml:46: <scripter form_visible="0" mru="Z:\Schach\Aquarium\AScripts\AdvancedTaskCreator_v1.3.tsc" search_paths=""/>
Config/DatabaseContext.xml:97: <scripter form_visible="0" mru="Z:\Schach\Aquarium\AScripts\AdvancedTaskCreator_v1.3.tsc" search_paths=""/>
Config/RybkaTreeScripts.xml:62: <par name="output" value="{rp}\AScripts\AquariumTreeUtils\Temp1\file"/>
Config/RybkaTreeScripts.xml:90: <par name="input" value="{rp}\AScripts\AquariumTreeUtils\Temp2\file"/>
I'm missing the string »z:\Schach\Aquarium\AScripts which I used.
Ciao
Achim
bash-3.2$ grep -iHnr Ascripts *
AScripts/AdvancedTaskCreator_v1.3.bak:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.bak:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/AdvancedTaskCreator_v1.3.tsc:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.tsc:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/Annotations.tsc:7: dbName = 'AScripts\Data\ABases\Comment.cdp';
Binary file AScripts/AquariumTreeUtils/Temp2/file.elm matches
AScripts/book_recolor.tsc:54: name := DataPath+'AScripts\data\ATrees\colored2.hsh';
AScripts/book_recolor.tsc:80: AssignFile(f, DataPath+'AScripts\data\colors.log'); Rewrite(f);
AScripts/db_Annotations.tsc:6: dbName = 'AScripts\Data\ABases\Comment.cdp';
AScripts/db_tree_combined.tsc:5: DBname = 'AScripts\data\ABases\4_e3_is_better.cdp';
AScripts/db_tree_combined.tsc:6: TreeName = 'AScripts\DATA\Atrees\cap.hsh';
AScripts/db_tree_combined.tsc:7: EPDFile = 'AScripts\data\db_tree_combined.epd';
AScripts/Files_FindFirst&Next.tsc:13: ChDir(InputPath(DataPath + 'AScripts\data\ABases'));
AScripts/OpeningBook.tsc:10: t := TSTreeScanner.Create(DataPath + 'AScripts\data\ATrees\cap.hsh');
AScripts/RateGameScript_GameTree[Database].tsc:26: ForceDirectories(Datapath+'Ascripts\Data\');
AScripts/RateGameScript_GameTree[Database].tsc:27: TreeToSave := Datapath+'Ascripts\Data\' + 'gamerating.hsh';
AScripts/RateGameScript_RateGame[Database].tsc:22: ForceDirectories(Datapath+'Ascripts\Data\');
AScripts/RateGameScript_RateGame[Database].tsc:26: ChDir(Datapath+'Ascripts\Data\');
AScripts/RateGameScript_RateGame[Database].tsc:29: reportpath:=Datapath+'Ascripts\Data\' + 'report.txt';
AScripts/RateGameScript_RateGame[Database].tsc:30: xmlpath:= Datapath+'Ascripts\Data\' +'report.xml';
AScripts/RootNodes.tsc:14: t := TSTreeScanner.Create(DataPath + 'AScripts\data\ATrees\cap.hsh', False, False);
AScripts/Tree_Browse.tsc:9: TreeName = 'AScripts\Data\ATrees\cap.hsh';
AScripts/Tree_Browse.tsc:10: LogName = 'AScripts\Data\TreeBrowse_best.log';
AScripts/Tree_copying.tsc:49: ChDir(InputPath('AScripts\Data\Atrees\'));
AScripts/Tree_EndNode.tsc:11: t := TSTreeScanner.Create(DataPath+'AScripts\data\ATrees\idea.hsh', False);
AScripts/tree_MarkNodes.tsc:32: t := TSTreeScanner.Create(DataPath+'AScripts\data\ATrees\idea.hsh');
AScripts/tree_minimax.tsc:8: TreeName = 'AScripts\data\ATrees\cap.hsh';
AScripts/tree_SearchForNovelty.tsc:4: LogName = 'AScripts\Data\NotInTree.txt';
AScripts/tree_SearchForNovelty.tsc:5: ListToProcess = 'AScripts\Data\Text\GameList.txt';
AScripts/tree_SearchForNovelty.tsc:6: TreeName = 'AScripts\data\ATrees\cap.hsh';
AScripts/tree_SearchForNovelty.tsc:7: dbName = 'AScripts\data\ABases\comment.cdp';
AScripts/TreeUtils_CheckTree.tsc:4: GoodTree = 'AScripts\Data\Atrees\cap.hsh';
AScripts/TreeUtils_CheckTree.tsc:5: BadTree = 'AScripts\Data\Atrees\idea_corrupted.hsh';
AScripts/TreeUtils_DedupeEPD.tsc:9: output_epd = 'AScripts\data\EPD\outepd.epd';
AScripts/TreeUtils_DedupeEPD.tsc:17: t:= TSTreeScanner.Create(DataPath+'AScripts\Data\Atrees\idea.hsh');
AScripts/TreeUtils_ExportSubtreeToEPD.tsc:5: TreeName = 'AScripts\Data\Atrees\cap.hsh';
AScripts/TreeUtils_ExportSubtreeToEPD.tsc:6: epdFile = 'AScripts\data\EPD\subepd.epd'
AScripts/TreeUtils_JoinTrees.tsc:4: DefaultPath = 'AScripts\data\ATrees';
AScripts/U_BF_DialogEditor.tsc:60: ForceDirectories(Datapath+'AScripts\Config\');
AScripts/U_BF_DialogEditor.tsc:62: WriteXML(root, Datapath+'AScripts\Config\' + name + '.xml');
Config/DatabaseContext.xml:33: <scripter form_visible="0" mru="Z:\Schach\Aquarium\AScripts\AdvancedTaskCreator_v1.3.tsc" search_paths=""/>
Config/DatabaseContext.xml:46: <scripter form_visible="0" mru="Z:\Schach\Aquarium\AScripts\AdvancedTaskCreator_v1.3.tsc" search_paths=""/>
Config/DatabaseContext.xml:97: <scripter form_visible="0" mru="Z:\Schach\Aquarium\AScripts\AdvancedTaskCreator_v1.3.tsc" search_paths=""/>
Config/RybkaTreeScripts.xml:62: <par name="output" value="{rp}\AScripts\AquariumTreeUtils\Temp1\file"/>
Config/RybkaTreeScripts.xml:90: <par name="input" value="{rp}\AScripts\AquariumTreeUtils\Temp2\file"/>
I'm missing the string »z:\Schach\Aquarium\AScripts which I used.
Ciao
Achim
Buffos, I still have the same problem and I also do not have this file. Can you post the file so I could copy it?
AScripts/AdvancedTaskCreator_v1.3.bak:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.bak:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/AdvancedTaskCreator_v1.3.tsc:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.tsc:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/AdvancedTaskCreator_v1.3.bak:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.bak:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
AScripts/AdvancedTaskCreator_v1.3.tsc:347: if (Not FileExists(DataPath+'\Ascripts\Config\AdvancedTaskCreatorSettings.xml')) then
AScripts/AdvancedTaskCreator_v1.3.tsc:358: LoadSimpleDialogBox(settings1,DataPath+'Ascripts\Config\AdvancedTaskCreatorSettings.xml','Settings',true);
what file?
AdvancedTaskCreatorSettings.xml is created if it does not exist when the script is running.
I will run the script again to see if an update has broken the script.
AdvancedTaskCreatorSettings.xml is created if it does not exist when the script is running.
I will run the script again to see if an update has broken the script.
> AdvancedTaskCreatorSettings.xml is created if it does not exist when the script is running.
>
I never see this xml and also I have to reenter the path each time I try to use a script with librarys.
I'm on AqHoudini5.1.0.491
this xml should be under {datapath}\ascripts\config folder(which is created by the script)
I do not have a problem with "uses". I do not know if anyone else does. If not then probably a broken installation.
>I have to reenter the path each time I try to use a script with librarys.
I do not have a problem with "uses". I do not know if anyone else does. If not then probably a broken installation.
Hi Buffos
I did follow the instructions to set the path. When I try to run this script I still get the message library "U_BF.."missing.
Also: when I look into my system I cannot find any U_BF.. library files only script files. What do I do wrong?
I did follow the instructions to set the path. When I try to run this script I still get the message library "U_BF.."missing.
Also: when I look into my system I cannot find any U_BF.. library files only script files. What do I do wrong?
OK, I am still learning. The library files are in fact the relevant script files.
The TaskCreator now works fine for me. I am experimenting for the best settings of Alternatives/Move Selection.
I am surprised not to see additional comments on this script from other Aquarium users because I just run it a few times now and already get huge profits from it.
Only draw back is that I have to reset the path to \AScripts after every restart of Aquarium. There should be a script that does that automatically or otherwise included it in the TaskCreator script. I wish I knew how to do that..
The TaskCreator now works fine for me. I am experimenting for the best settings of Alternatives/Move Selection.
I am surprised not to see additional comments on this script from other Aquarium users because I just run it a few times now and already get huge profits from it.
Only draw back is that I have to reset the path to \AScripts after every restart of Aquarium. There should be a script that does that automatically or otherwise included it in the TaskCreator script. I wish I knew how to do that..
Did you try saving task creator after setting the path? I had the same problem and I think that's what I did to fix it. It was a while back and I don't really remember. Sorry.
Thanks keoki010.
I did now, and it seems to be the solution. Because after saving the script and reloading Aquarium the script starts OK.
I did now, and it seems to be the solution. Because after saving the script and reloading Aquarium the script starts OK.
No. This does not appear to be the solution either. After restarting the PC the issue is back..
does the script work with demo Aquarium? is anybody actually using it?
When I try to download the script I have the following error message:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Try now.
Thank you!
There are many informations in the report. If you do not understand some of them, you can just ask.
The goal is to extract as much information as possible about the habits of players.
For example how ofter he chooses the best moves, the second best... etc. How he behaves in winning positions, lost, difficult? (and ofcourse make use of the 2D evaluation tool for better preparing).
And so on....
The goal is to extract as much information as possible about the habits of players.
For example how ofter he chooses the best moves, the second best... etc. How he behaves in winning positions, lost, difficult? (and ofcourse make use of the 2D evaluation tool for better preparing).
And so on....
Hi, I am trying these scripts out with the most recent Aquarium 2012 (essentially a fresh install). I've followed all of the instructions (I think), but when I run the first script, after I submit all of the dialog boxes, basically nothing happens, although Aquarium's interface gets slow. Looking in Process Monitor, the selected engine isn't running, nor is anything going on that's using CPU, so I think there's a problem. Anything I can check? These scripts sound like just the thing I'm looking for, so I'd love to get them working.
Thanks, Jeremy
Thanks, Jeremy
Contact buffos by pm if you don't get an answer. He is the resident script guru!
I haven't checked the script with the new version yet.
I ll check it.
I ll check it.
> I haven't checked the script with the new version yet.
> I ll check it.
Thanks, I appreciate it!
Jeremy
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill