Ok!
Thank you for the help, I will fix my code accordigly.
Controlflow of Open-Ended When-Conditions Not working
-
- First blood
- Posts: 17
- Joined: Thu Jun 08, 2023 8:47 am
-
- First blood
- Posts: 17
- Joined: Thu Jun 08, 2023 8:47 am
Re: Controlflow of Open-Ended When-Conditions Not working
It is still not working.
Now the Bot seems to stop running after these position is checked (It is not going further to check BTN or BBvSB_MR), but it starts playing by some Default.ohf file.
Have I done some mistake with the WHEN Others Fold FORCE?
Code: Select all
// 25BB+
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.25
WHEN list_3way_BB_vs_SB_LIMP__PUSH__25BB_r25 RaiseMax FORCE
WHEN randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r25 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.50
WHEN list_3way_BB_vs_SB_LIMP__PUSH__25BB_r50 RaiseMax FORCE
WHEN list_3way_BB_vs_SB_LIMP__ISO__25BB_r50 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.75
WHEN list_3way_BB_vs_SB_LIMP__PUSH__25BB_r75 RaiseMax FORCE
WHEN list_3way_BB_vs_SB_LIMP__ISO__25BB_r75 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0
WHEN list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseTo 3 FORCE
WHEN Others Check FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises >= 1
WHEN list_3way_BB_vs_SB_LIMP__ISO_TO_BROKE_25BB RaiseMax FORCE
WHEN Others Fold FORCE
// 24BB
WHEN userBBvsSBLimp3WayEffStack24 AND Raises = 0 AND randomround <= 0.25
WHEN list_3way_BB_vs_SB_LIMP__PUSH__24BB_r25 RaiseMax FORCE
WHEN list_3way_BB_vs_SB_LIMP__ISO__24BB_r25 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack24 AND Raises = 0 AND randomround <= 0.50
WHEN list_3way_BB_vs_SB_LIMP__PUSH__24BB_r50 RaiseMax FORCE
WHEN list_3way_BB_vs_SB_LIMP__ISO__24BB_r50 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack24 AND Raises = 0 AND randomround <= 0.75
WHEN list_3way_BB_vs_SB_LIMP__ISO__24BB_r75 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack24 AND Raises = 0
WHEN list_3way_BB_vs_SB_LIMP__ISO__24BB RaiseTo 3 FORCE
WHEN Others Check FORCE
WHEN userBBvsSBLimp3WayEffStack24 AND Raises >= 1
WHEN list_3way_BB_vs_SB_LIMP__ISO_TO_BROKE_24BB RaiseMax FORCE
WHEN Others Fold FORCE
Have I done some mistake with the WHEN Others Fold FORCE?
Code: Select all
userBBvsSBLimp3WayEffStack25 = 0.000
userBBvsSBLimp3WayEffStack25 = 0.000
userBBvsSBLimp3WayEffStack25 = 0.000
userBBvsSBLimp3WayEffStack25 = 0.000
userBBvsSBLimp3WayEffStack25 = 0.000
userBBvsSBLimp3WayEffStack25 = 0.000
userBBvsSBLimp3WayEffStack24 = 0.000
userBBvsSBLimp3WayEffStack24 = 0.000
userBBvsSBLimp3WayEffStack24 = 0.000
userBBvsSBLimp3WayEffStack24 = 0.000
userBBvsSBLimp3WayEffStack24 = 0.000
userBBvsSBLimp3WayEffStack23 = 0.000
userBBvsSBLimp3WayEffStack23 = 0.000
userBBvsSBLimp3WayEffStack23 = 0.000
userBBvsSBLimp3WayEffStack23 = 0.000
userBBvsSBLimp3WayEffStack23 = 0.000
userBBvsSBLimp3WayEffStack22 = 0.000
userBBvsSBLimp3WayEffStack22 = 0.000
userBBvsSBLimp3WayEffStack22 = 0.000
userBBvsSBLimp3WayEffStack22 = 0.000
userBBvsSBLimp3WayEffStack22 = 0.000
userBBvsSBLimp3WayEffStack21 = 0.000
userBBvsSBLimp3WayEffStack21 = 0.000
userBBvsSBLimp3WayEffStack21 = 0.000
userBBvsSBLimp3WayEffStack21 = 0.000
userBBvsSBLimp3WayEffStack21 = 0.000
userBBvsSBLimp3WayEffStack20 = 0.000
userBBvsSBLimp3WayEffStack20 = 0.000
userBBvsSBLimp3WayEffStack20 = 0.000
userBBvsSBLimp3WayEffStack20 = 0.000
userBBvsSBLimp3WayEffStack20 = 0.000
userBBvsSBLimp3WayEffStack19 = 0.000
userBBvsSBLimp3WayEffStack19 = 0.000
userBBvsSBLimp3WayEffStack19 = 0.000
userBBvsSBLimp3WayEffStack19 = 0.000
userBBvsSBLimp3WayEffStack19 = 0.000
userBBvsSBLimp3WayEffStack18 = 0.000
userBBvsSBLimp3WayEffStack18 = 0.000
userBBvsSBLimp3WayEffStack18 = 0.000
userBBvsSBLimp3WayEffStack18 = 0.000
userBBvsSBLimp3WayEffStack18 = 0.000
userBBvsSBLimp3WayEffStack17 = 0.000
userBBvsSBLimp3WayEffStack17 = 0.000
userBBvsSBLimp3WayEffStack17 = 0.000
userBBvsSBLimp3WayEffStack17 = 0.000
userBBvsSBLimp3WayEffStack17 = 0.000
userBBvsSBLimp3WayEffStack16 = 0.000
userBBvsSBLimp3WayEffStack16 = 0.000
userBBvsSBLimp3WayEffStack16 = 0.000
userBBvsSBLimp3WayEffStack16 = 0.000
userBBvsSBLimp3WayEffStack16 = 0.000
userBBvsSBLimp3WayEffStack15 = 0.000
userBBvsSBLimp3WayEffStack15 = 0.000
userBBvsSBLimp3WayEffStack15 = 0.000
userBBvsSBLimp3WayEffStack15 = 0.000
userBBvsSBLimp3WayEffStack15 = 0.000
userBBvsSBLimp3WayEffStack14 = 0.000
userBBvsSBLimp3WayEffStack14 = 0.000
userBBvsSBLimp3WayEffStack14 = 0.000
userBBvsSBLimp3WayEffStack14 = 0.000
userBBvsSBLimp3WayEffStack14 = 0.000
userBBvsSBLimp3WayEffStack13 = 0.000
userBBvsSBLimp3WayEffStack13 = 0.000
userBBvsSBLimp3WayEffStack13 = 0.000
userBBvsSBLimp3WayEffStack13 = 0.000
userBBvsSBLimp3WayEffStack13 = 0.000
userBBvsSBLimp3WayEffStack12 = 0.000
userBBvsSBLimp3WayEffStack12 = 0.000
userBBvsSBLimp3WayEffStack12 = 0.000
userBBvsSBLimp3WayEffStack12 = 0.000
userBBvsSBLimp3WayEffStack12 = 0.000
userBBvsSBLimp3WayEffStack11 = 0.000
userBBvsSBLimp3WayEffStack11 = 0.000
userBBvsSBLimp3WayEffStack11 = 0.000
userBBvsSBLimp3WayEffStack11 = 0.000
userBBvsSBLimp3WayEffStack11 = 0.000
userBBvsSBLimp3WayEffStack10 = 0.000
userBBvsSBLimp3WayEffStack10 = 0.000
userBBvsSBLimp3WayEffStack10 = 0.000
userBBvsSBLimp3WayEffStack10 = 0.000
userBBvsSBLimp3WayEffStack10 = 0.000
userBBvsSBLimp3WayEffStack9half = 0.000
userBBvsSBLimp3WayEffStack9half = 0.000
userBBvsSBLimp3WayEffStack9half = 0.000
userBBvsSBLimp3WayEffStack9half = 0.000
userBBvsSBLimp3WayEffStack9half = 0.000
userBBvsSBLimp3WayEffStack9 = 0.000
userBBvsSBLimp3WayEffStack9 = 0.000
userBBvsSBLimp3WayEffStack9 = 0.000
userBBvsSBLimp3WayEffStack9 = 0.000
userBBvsSBLimp3WayEffStack9 = 0.000
userBBvsSBLimp3WayEffStack8half = 0.000
userBBvsSBLimp3WayEffStack8half = 0.000
userBBvsSBLimp3WayEffStack8half = 0.000
userBBvsSBLimp3WayEffStack8half = 0.000
userBBvsSBLimp3WayEffStack8half = 0.000
userBBvsSBLimp3WayEffStack8 = 0.000
userBBvsSBLimp3WayEffStack8 = 0.000
userBBvsSBLimp3WayEffStack8 = 0.000
userBBvsSBLimp3WayEffStack8 = 0.000
userBBvsSBLimp3WayEffStack8 = 0.000
userBBvsSBLimp3WayEffStack7half = 0.000
userBBvsSBLimp3WayEffStack7half = 0.000
userBBvsSBLimp3WayEffStack7half = 0.000
userBBvsSBLimp3WayEffStack7half = 0.000
userBBvsSBLimp3WayEffStack7half = 0.000
userBBvsSBLimp3WayEffStack7 = 0.000
userBBvsSBLimp3WayEffStack7 = 0.000
userBBvsSBLimp3WayEffStack7 = 0.000
userBBvsSBLimp3WayEffStack7 = 0.000
userBBvsSBLimp3WayEffStack7 = 0.000
userBBvsSBLimp3WayEffStack6half = 0.000
userBBvsSBLimp3WayEffStack6half = 0.000
userBBvsSBLimp3WayEffStack6half = 0.000
userBBvsSBLimp3WayEffStack6half = 0.000
userBBvsSBLimp3WayEffStack6half = 0.000
userBBvsSBLimp3WayEffStackBelow6half = 0.000
userBBvsSBLimp3WayEffStackBelow6half = 0.000
DefaultPreflop = -1000009.000 [Line 2/22, DefaultBot.ohf]
isomaha = 0.000
istournament = 1.000
Termita_SNG_Preflop = -1000009.000 [Line 19/45, Termita_SNG.ohf]
TotalInvested = 0.083 [Line 1/137, OpenPPL_Library_Bets_Pots_And_Stacks.ohf]
IsPreflop = 1.000 [Line 1/72, OpenPPL_Library_Verbosity.ohf]
[...]
Re: Controlflow of Open-Ended When-Conditions Not working
i would say, that something is wrong with your "user" variables, because all of them are zero (from your log).
also, though "WHEN Others Check FORCE" is not a mistake, usually we use "WHEN Others Fold FORCE", because bot should never fold, when "check" is possible anyway
also, though "WHEN Others Check FORCE" is not a mistake, usually we use "WHEN Others Fold FORCE", because bot should never fold, when "check" is possible anyway
-
- First blood
- Posts: 17
- Joined: Thu Jun 08, 2023 8:47 am
Re: Controlflow of Open-Ended When-Conditions Not working
It is correct, they must be 0, the Bot was playing from the BTN.
The problem is that when I use such syntax the Bot stop reading the script and switches to something else
DefaultPreflop = -1000001.000 [Line 2/22, DefaultBot.ohf]
The logic for BTN is not even read as it is further below in the script.
So, I have done some testing, the bot logic breaks as soon as it finds indented code syntax.
My old code structure works perfectly, the Bot logic is linear and I do not encounter any bug
Ex.
As soon as I change a single line and insert indented code, it breaks:
The problem is that when I use such syntax the Bot stop reading the script and switches to something else
DefaultPreflop = -1000001.000 [Line 2/22, DefaultBot.ohf]
The logic for BTN is not even read as it is further below in the script.
So, I have done some testing, the bot logic breaks as soon as it finds indented code syntax.
My old code structure works perfectly, the Bot logic is linear and I do not encounter any bug
Ex.
Code: Select all
// 25BB+
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r25 RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r25 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r50 RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r50 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.75 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r75 RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.75 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r75 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND NOT list_3way_BB_vs_SB_LIMP__ISO__25BB Check FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises >= 1 AND list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises >= 1 AND NOT list_3way_BB_vs_SB_LIMP__ISO__25BB Fold FORCE
As soon as I change a single line and insert indented code, it breaks:
Code: Select all
// 25BB+
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.25
WHEN list_3way_BB_vs_SB_LIMP__PUSH__25BB_r25 RaiseMax FORCE
WHEN randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r25 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r50 RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r50 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.75 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r75 RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.75 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r75 RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseTo 3 FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND NOT list_3way_BB_vs_SB_LIMP__ISO__25BB Check FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises >= 1 AND list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseMax FORCE
WHEN userBBvsSBLimp3WayEffStack25 AND Raises >= 1 AND NOT list_3way_BB_vs_SB_LIMP__ISO__25BB Fold FORCE
-
- First blood
- Posts: 17
- Joined: Thu Jun 08, 2023 8:47 am
Re: Controlflow of Open-Ended When-Conditions Not working
After further testing I am 100% sure that indentation breaks the reading of bot logic.
I have done a very simple test adding a basic controlflow condition:
The reading stops there and another file is loaded to carry on the play.
EDIT: Also tried with parenthesis or copy/pasting some open-ended when-condition from KOR profile. Nothing works
I have done a very simple test adding a basic controlflow condition:
The reading stops there and another file is loaded to carry on the play.
Code: Select all
userBBvsSBLimp3Way = 0.000
userBBvsSBLimp3Way = 0.000
userBBvsSBLimp3Way = 0.000
userBBvsSBLimp3Way = 0.000
FirstCallerPosition = -1.000 [Line 13/202, OpenPPL_Library_Position_Symbols.ohf]
EarlyPosition1Calling = 0.000 [Line 1/76, OpenPPL_Library_Technical_Position_Symbols.ohf]
callbits1 = 0.000
callbits_preflop = 0.000
ep1chair = -1.000
EarlyPosition2Calling = 0.000 [Line 1/79, OpenPPL_Library_Technical_Position_Symbols.ohf]
ep2chair = -1.000
EarlyPosition3Calling = 0.000 [Line 1/82, OpenPPL_Library_Technical_Position_Symbols.ohf]
ep3chair = -1.000
MiddlePosition1Calling = 0.000 [Line 1/85, OpenPPL_Library_Technical_Position_Symbols.ohf]
mp1chair = -1.000
MiddlePosition2Calling = 0.000 [Line 1/88, OpenPPL_Library_Technical_Position_Symbols.ohf]
mp2chair = -1.000
MiddlePosition3Calling = 0.000 [Line 1/91, OpenPPL_Library_Technical_Position_Symbols.ohf]
mp3chair = -1.000
CutOffCalling = 0.000 [Line 1/94, OpenPPL_Library_Technical_Position_Symbols.ohf]
cutoffchair = -1.000
ButtonCalling = 0.000 [Line 1/97, OpenPPL_Library_Technical_Position_Symbols.ohf]
buttonchair = 3.000
SmallBlindCalling = 0.000 [Line 1/100, OpenPPL_Library_Technical_Position_Symbols.ohf]
smallblindchair = 6.000
HINT_No_FirstCaller = -1.000 [Line 1/359, OpenPPL_Library_Constants.ohf]
DefaultPreflop = -1000009.000 [Line 2/22, DefaultBot.ohf]
isomaha = 0.000
istournament = 1.000
Termita_SNG_Preflop = -1000009.000 [Line 19/45, Termita_SNG.ohf]
TotalInvested = 0.125 [Line 1/137, OpenPPL_Library_Bets_Pots_And_Stacks.ohf]
IsPreflop = 1.000 [Line 1/72, OpenPPL_Library_Verbosity.ohf]
betround = 1.000
preflop = 1.000
Ante = 0.125 [Line 2/68, OpenPPL_Library_Ante_Others_IsFinalTable.ohf]
[...]
Re: Controlflow of Open-Ended When-Conditions Not working
you are forgetting to add:
after your opened blocks
For example:
And because of it, your code blocks continue to fall under previous open-ended conditions and everything is messed up
Code: Select all
WHEN Others
For example:
Code: Select all
// 25BB+
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.25
WHEN list_3way_BB_vs_SB_LIMP__PUSH__25BB_r25 RaiseMax FORCE
WHEN randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r25 RaiseTo 3 FORCE
WHEN Others
WHEN userBBvsSBLimp3WayEffStack25 AND Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r50 RaiseMax FORCE
etc....
-
- First blood
- Posts: 17
- Joined: Thu Jun 08, 2023 8:47 am
Re: Controlflow of Open-Ended When-Conditions Not working
It is working now!
Thank you
I had to change the structure to something more tidy and easy to read, but I am very happy with the result
Thank you

I had to change the structure to something more tidy and easy to read, but I am very happy with the result
Code: Select all
// 25BB+
WHEN userBBvsSBLimp3WayEffStack25
WHEN Raises = 0 AND randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r25 RaiseMax FORCE
WHEN Raises = 0 AND randomround <= 0.25 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r25 RaiseTo 3 FORCE
WHEN Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r50 RaiseMax FORCE
WHEN Raises = 0 AND randomround <= 0.50 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r50 RaiseTo 3 FORCE
WHEN Raises = 0 AND randomround <= 0.75 AND list_3way_BB_vs_SB_LIMP__PUSH__25BB_r75 RaiseMax FORCE
WHEN Raises = 0 AND randomround <= 0.75 AND list_3way_BB_vs_SB_LIMP__ISO__25BB_r75 RaiseTo 3 FORCE
WHEN Raises = 0 AND list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseTo 3 FORCE
WHEN Raises >= 1 AND list_3way_BB_vs_SB_LIMP__ISO__25BB RaiseMax FORCE
WHEN Others