Shanky Technologies Poker Bot Support Forum

General Category => PPL Support => Topic started by: Egor on November 02, 2010, 07:24:38 PM



Title: Omaha Coding Info
Post by: Egor on November 02, 2010, 07:24:38 PM
It's pretty much the same deal with one important exception about how suited hands are described. The word suited goes after the card that you want suited and which other card in the hand it is suited to is irrelevant.

This hand:

A3 suited

...in the Holdem Bot is A 3 of the same suit. However in the Omaha bots this hand is 3 suited to any other card. To correctly state this hand in Omaha/8 you would need to say this:

A suited 3

Now you have a hand that includes A3 and the A is suited to any other card in the hand, not necessarily the three (for those of you unfamiliar with this game it doesn't matter which card the ace is suited to as you get to mix and match cards to make your low and high hands).

Here are some more examples:

AK suited 3

...which is a hand with AK3 and the king is suited to some card in the hand. Another way to say this would be A3K suited.

A34

...which is A34x. In Omaha/8 most of the playable hands don't need all four cards to be specified.


Title: Re: Omaha Coding Info
Post by: DANNY06 on December 22, 2010, 03:08:56 PM
Please could you tell me if this is correct then. If I wanted to raise with AA double suited with any other card, for example:  (Im just going to write the hand part of the code)
would I put:

(hand = A suited A suited) RaisePot force

If this is wrong, then its because Im completey new to this, but I find it interesting, so I want to learn.

Also, is my understanding right that to specify any card, you put and X???

in that case, would it not be (hand = AX suited AX suited) RaisePot force

Bit confused...


Title: Re: Omaha Coding Info
Post by: Egor on December 22, 2010, 06:51:16 PM
No X's

hand = A means there is an ace in the hand so it covers x

that code you wrote is how we do it at the moment - there are some issues and we are going to develop a double-suited variable soon (but honestly AA single suited is always just as playable as AA double suited)


Title: Re: Omaha Coding Info
Post by: DANNY06 on December 22, 2010, 09:33:17 PM
Oww thats good. Cant wait to see the variable. Im in the middle of trying to add from what been mentioned above into my profile at the mo.

Thanks


Title: Re: Omaha Coding Info
Post by: XLEPAS on January 31, 2011, 06:42:56 AM
so a hand like A-2-K-3 double suited

is hand=A suited 2 K suited 3 ?


Title: Re: Omaha Coding Info
Post by: Egor on January 31, 2011, 07:20:50 AM
except that it can also mean the A and the K are suited together


Title: Re: Omaha Coding Info
Post by: peamasii on January 31, 2011, 04:47:41 PM
Theoretically you could write:

When SuitsInHand = 2 and (hand =Asuited Ksuited 2suited 3suited) and not (hand=AhKh or hand=AcKc or hand=AdKd or hand=AsKs) ...

Unfortunately it will also let through hands like Ah2h3hKs. Also, you have to check for each combo of wheel cards if you want to play the whole range of A2-5suited + K2-5suited.

I suggested a way to deal with these for PLO/PLO8 is to have better variables:
1. a PLO/PLO8 variable called DoubleSuited (true or false)
2. a PLO8 variable called WheelCardsInHand which are any cards from 2 to 5 (or from A to 5, either way is fine). WheelCardsOnBoard would also be nice.
(also for high-only hands in  PLO/PLO8 there could be a variable BroadwayCardsInHand, basically any card higher than 9)
3. low straight draw PLO8 variable called HaveWheelDraw
4. both PLO and PLO8: HaveTwoFlushDraws and HaveTwoFlushNutDraws variables
Maybe if there are enough PLO/8 players requesting these they will add them to the PPL.


Title: Re: Omaha Coding Info
Post by: Egor on January 31, 2011, 06:48:38 PM
the double-suited variable is on the to-do list


Title: Re: Omaha Coding Info
Post by: peamasii on February 01, 2011, 02:53:13 PM
thanks, HaveTwoFlushDraws should also be pretty straightforward to do when possible


Title: Re: Omaha Coding Info
Post by: Egor on February 01, 2011, 06:36:30 PM
that is also already on the list


Title: Re: Omaha Coding Info
Post by: peamasii on February 07, 2011, 04:19:45 PM
Thank you  thumbsup.gif
Also, a new PLO variable could be useful if you have two inside draws to nut straights. For example, on a flop A5Q and you have KJ24 then HaveTwoStraightDraws is true (minimum 8 outs to the nuts).


Title: Re: Omaha Coding Info
Post by: Egor on February 07, 2011, 06:27:38 PM
that is the same as havestraightdraw


Title: Re: Omaha Coding Info
Post by: XLEPAS on February 08, 2011, 03:03:03 AM
havestraightdraw also can mean 4 outs straight?


Title: Re: Omaha Coding Info
Post by: Egor on February 08, 2011, 06:46:55 AM
no

but if you have a double belly buster, or two inside straightdraws in Omaha, you have 7+ outs so havestraightdraw would be true then


Title: Re: Omaha Coding Info
Post by: XLEPAS on February 08, 2011, 08:17:27 PM
can i find any manual about all omaha8 comands?



Title: Re: Omaha Coding Info
Post by: Egor on February 08, 2011, 08:33:23 PM
all the same PPL code works, if you read through the appendix in the PPL Guide with the variable descriptions you will find some that are only applicable to Omaha and/or Omaha/8, the restrictions are in blue


Title: Re: Omaha Coding Info
Post by: XLEPAS on February 08, 2011, 08:40:10 PM
thats i looking. the PPL Guide wher can i find it? any link?


Title: Re: Omaha Coding Info
Post by: Egor on February 08, 2011, 08:47:13 PM
Comes in all of the bot downloads. Will be in the same folder as the bot. It is a pdf file so you need Adobe Reader in order to open it.

It is also linked from the home page of our website bonusbots.com, scroll down a little and you will see it there in the middle. However it comes up really big on the screen that way so I would recommend accessing it from your downloaded bot files folder.


Title: Re: Omaha Coding Info
Post by: XLEPAS on February 08, 2011, 08:53:43 PM
omg the last time i realy tired find the codes myself!!!

really thanks egor!!


Title: Re: Omaha Coding Info
Post by: peamasii on February 10, 2011, 11:51:24 AM
The planned variables for HaveTwoFlushDraws and HaveDoubleSuited are really important to me, if they can be implemented soon, that would be great!  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: XLEPAS on February 21, 2011, 06:23:30 PM
when using the LowCardsOnboard = 3 or 2 can mean 3 same lows cards like a board 4 4 3 or 3 diferend low cards?


Title: Re: Omaha Coding Info
Post by: Egor on February 21, 2011, 06:39:34 PM
This is from the appendix which has all the variable definitions:

LowCardsOnBoard – The number of unique low cards on board. An ace is counted as a low card and duplicates are not
counted
. For example in Omaha/8 if the board on the turn is AA39 this will evaluate to 2. For a low to be possible in
Omaha Hi-Lo LowCardsOnBoard must be >= 3. Restrictions: Post-flop only.


Title: Re: Omaha Coding Info
Post by: peamasii on March 22, 2011, 12:07:08 PM
I'm still looking forward for the planned variables for HaveTwoFlushDraws and HaveDoubleSuited to get implemented, it would help my PLO game a lot dankk2.gif


Title: Re: Omaha Coding Info
Post by: postenjak on June 02, 2011, 09:43:21 AM
Hey peamasii, could you free up your inbox, I would like to get in touch with you.


Title: Re: Omaha Coding Info
Post by: postenjak on June 03, 2011, 11:59:40 AM
Egor, is there a command that is similar to havestraightdraw, but for opponents?

Lets say there is a flop of TJ5 rainbow, this means that it is possible for opponent to have a straightdraw.

If there is no such command, is there a workaround beside the one to code all possible flops which is a pain in the ass.

Same question goes for haveflushdraw for opponents?


Title: Re: Omaha Coding Info
Post by: Egor on June 03, 2011, 04:59:27 PM
no straight draw possible

when not (board = 23 or board = 24 or board = 25 or board = 34 or baord = 35 or board = 36 or board = 45 or board = 46 or board = 47 or board = 56 or board = 57 or board = 58 or board = 67 or board = 68 or board = 69 or board = 78 or board = 79 or board = 7T or board = 89 or board = 8T or board = 8J or board = 9T or board = 9J or board = 9Q or board = TJ or board = TQ or board = TK or board = JQ or board = JK or board = QK)


no flushdraw possible

suitsonboard = 3 (flop)
suitsonboard = 4 (turn)


Title: Re: Omaha Coding Info
Post by: postenjak on June 04, 2011, 12:55:10 PM
Is it possible to programm our own syntach at the start of profile which can be then used everytime we want instead of always using a long code.

Just like your idea of no str8 draw. We would just put a line at the start of profile:

StraightDrawPossible = when (board = 23 or board = 24 or board = 25 or board = 34 or board = 35 or board = 36 or board = 45 or board = 46 or board = 47 or board = 56 or board = 57 or board = 58 or board = 67 or board = 68 or board = 69 or board = 78 or board = 79 or board = 7T or board = 89 or board = 8T or board = 8J or board = 9T or board = 9J or board = 9Q or board = TJ or board = TQ or board = TK or board = JQ or board = JK or board = QK)

And then we would just use the StraightDrawPossible everytime we need it?


Title: Re: Omaha Coding Info
Post by: Egor on June 04, 2011, 06:41:41 PM
when not (board = 23 or board = 24 or board = 25 or board = 34 or board = 35 or board = 36 or board = 45 or board = 46 or board = 47 or board = 56 or board = 57 or board = 58 or board = 67 or board = 68 or board = 69 or board = 78 or board = 79 or board = 7T or board = 89 or board = 8T or board = 8J or board = 9T or board = 9J or board = 9Q or board = TJ or board = TQ or board = TK or board = JQ or board = JK or board = QK) UserNoStraightDraw

...or whatever you want to name it (after User)


Title: Re: Omaha Coding Info
Post by: peamasii on August 22, 2011, 12:11:57 PM
Am still hoping to see some new variables for Omaha... the mentioned ones being HaveTwoFlushDraws and HaveDoubleSuited (currently it's impossible to know if you have double suited hands), and also it would be of great help to have a count of broadway cards in hand (PLO) and wheel cards in hand (PLO8), and also HaveWheelDraw in PLO8 (it's not the same as HaveNutLowDraw).

it would help my game a lot to have these variables, and I could then finalize a lot of profile logic. please?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 01, 2012, 10:11:21 PM
how could i get the PLO bot to raise on the button with  JsuitedT98


Title: Re: Omaha Coding Info
Post by: Egor on April 01, 2012, 10:38:30 PM
when (in button or stilltoact = 2) and hand = J suited T98 raise force


Title: Re: Omaha Coding Info
Post by: tr34187 on April 02, 2012, 01:30:33 PM
thanks.


Title: Re: Omaha Coding Info
Post by: tr34187 on April 09, 2012, 12:04:38 AM
I'm still looking forward for the planned variables for HaveTwoFlushDraws and HaveDoubleSuited to get implemented, it would help my PLO game a lot dankk2.gif

was this ever implemented?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 09, 2012, 01:19:34 AM
will writing  AKQJ also include AsuitedKQJ    AKsuitedQJ     etc   etc?


Title: Re: Omaha Coding Info
Post by: Egor on April 09, 2012, 01:21:14 AM
no we never got around to implementing the above mentioned new variable idea.

yes non-suited specified hands include suited versions, but not vice-versa


Title: Re: Omaha Coding Info
Post by: tr34187 on April 09, 2012, 01:39:44 AM
site i play at has a min bet btn, half pot btn, 3/4 pot btn and a pot btn

for the 3/4 pot can i write: raisethreequarterpot and betthreequarterpot    ?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 09, 2012, 02:22:22 AM
wrote some custom ranges for hands, here is one example

when (hand = AAQJ or hand = AAQT or hand = AAJT or hand = AAJ9 or hand = KQJT or hand = QJT9 or hand = JT98) usertop1

preflop
when stilltoact = 5 userUTG
when stilltoact = 4 userMID

so for preflop action can i write:

preflop
when (userutg) and (hand = top1) raisepot force
when raise = 1 and calls =1 and folds =1 and (usermid) and (hand = top1 or hand = top2) raisepot force

will the 2nd preflop line raise both my top1 range and top2 range if utg raise, calls or folds?


Title: Re: Omaha Coding Info
Post by: Egor on April 09, 2012, 04:54:03 AM
yes that looks good (you of course still need to define the second group)

bot cannot use 3/4 pot button, you need to use raise 75% force


Title: Re: Omaha Coding Info
Post by: tr34187 on April 09, 2012, 04:10:41 PM
if i raisepot btn after everyone else has folded and only the bb calls then checks flop to me. what would i write so the bot potbets 100% of the time here.?


Title: Re: Omaha Coding Info
Post by: Egor on April 09, 2012, 05:21:26 PM
There is no way to know it was the big blind who called unless you are in the small blind position. Best you can do otherwise is narrow it down to one of the two blinds who called, for your flop code.

What you have to do is describe the situation preflop and set a user-variable, and then use that user-variable on the flop. I am happy to help with that if you tell me the position and the hand range for the preflop raise.


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 02:10:41 AM

i am using this code for preflop:

when raises = 0 and (userbtn) and  (hand = usertop3 or hand = userking1 or userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) raisepot force

so when either the sb or bb calls my raise then checks the flop to me what code can i use for a pot cbet regardless if i have hit the flop or not?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 02:15:19 AM
could you also explain if i was to write   >=1    what would that mean in the code? getting a little confused by that bit  anim_45.gif


Title: Re: Omaha Coding Info
Post by: Egor on April 10, 2012, 03:00:56 AM
>=1 means equal to or greater than one big blind


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 03:40:40 AM
does this make sense then.
will this line then allow my bot to raise pot in the cutoff (userco) with my hand groupings (usertop1 and userbun1) no matter what action is in front?

when raises >= 0 or calls >= 0 or fold >= 0 and (userco) and (hand = usertop1 or hand = userbun1) raisepot force


Title: Re: Omaha Coding Info
Post by: Egor on April 10, 2012, 05:08:26 AM
the codeline is not valid, and will not load, because of: fold >= 0

should be plural: folds >= 0

also you did not bracket your 'or' conditions, which will usually result in unwanted actions

however >= 0 is always true, so there is no need to state it - the codeline is the same as:

when (userco) and (hand = usertop1 or hand = userbun1) raisepot force


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 05:30:35 PM
got it. so how would i write this so the bot will cbet flop 100% of the time when villian checks :

i am using this code for preflop:

when raises = 0 and (userbtn) and  (hand = usertop3 or hand = userking1 or userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) raisepot force

so when either the sb or bb calls my raise then checks the flop to me what code can i use for a pot cbet regardless if i have hit the flop or not?


Title: Re: Omaha Coding Info
Post by: Egor on April 10, 2012, 06:20:11 PM
flop
when userbtn and botslastaction = raise and botsactionsonthisround = 0 and botsactionspreflop = 1 and opponents = 1 and position = last and checks = 1 and bets = 0 and raises = 0 betpot force

...however that may also include other situations where you raised preflop from the button and have one opponent on the flop; for example if there was a mid-position caller and you raised them and they called - therefore if you really want to define this situation better you need to set another user-variable for the preflop situation of raising on the button when everybody folds to you, which you can do by simply copying the line that has the preflop raise action for that situation and paste it above that line and set a user-variable instead of an action


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 06:47:41 PM
i'm a little confused about that. could you give me a example of what you mean by:

Quote
therefore if you really want to define this situation better you need to set another user-variable for the preflop situation of raising on the button when everybody folds to you, which you can do by simply copying the line that has the preflop raise action for that situation and paste it above that line and set a user-variable instead of an action


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 07:01:03 PM
also by writing:

when (raises = 1) and (userbtn) and (hand = usertop 2 or hand = userking1 or userking2 or hand = userbun2) call force

will the bot call even if there are more than one raise?


Title: Re: Omaha Coding Info
Post by: Egor on April 10, 2012, 09:46:32 PM
1. if you post the preflop codeline that does the steal-raise from the button i will show you what I mean

2. no, because you specified raises = 1 (not raises > 1 or raises >= 1) so it can only be true if raoses are precisely 1 - bear in mind the bots own actions on the current betting round are not counted in the bet/raise count


Title: Re: Omaha Coding Info
Post by: tr34187 on April 10, 2012, 10:23:38 PM
1. if you post the preflop codeline that does the steal-raise from the button i will show you what I mean



when (stilltoact = 2) and (raises = 0 and calls = 0)  and  (hand = usertop1 or hand = userbun or hand = usertop 2 or hand = usertop3 or hand = userking1 or hand = userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) raisepot force


Title: Re: Omaha Coding Info
Post by: Egor on April 11, 2012, 06:59:56 PM
when (stilltoact = 2) and (raises = 0 and calls = 0)  and  (hand = usertop1 or hand = userbun or hand = usertop 2 or hand = usertop3 or hand = userking1 or hand = userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) userstealbtn

when (stilltoact = 2) and (raises = 0 and calls = 0)  and  (hand = usertop1 or hand = userbun or hand = usertop 2 or hand = usertop3 or hand = userking1 or hand = userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) raisepot force

flop
when userstealbtn and botslastaction = raise and botsactionsonthisround = 0 and botsactionspreflop = 1 and opponents = 1 and position = last and checks = 1 and bets = 0 and raises = 0 betpot force


Title: Re: Omaha Coding Info
Post by: tr34187 on April 12, 2012, 11:24:27 PM
READING CUSTOMIZATIONS
line 16: suntax error, unexpected USERVARIABLE, expecting CARD
custom preogramming rejected due to errors
profile read from fraft.txt

Here is my full profile, what have i done wrong here?

Code:
custom
preflop
when (hand = AAKK or hand = AAQQ or hand = AAJJ or hand = AATT or hand = AAKQ or hand = AAKJ or hand = AAKT or hand = AAK9 or hand = AAQJ or hand = AAQT or hand = AAQ9 or hand = AAQ8 or hand = AAJT or hand = AAJ9 or hand = AAJ8 or hand = AAJ7 or hand = KQJT or hand = QJT9 or hand = JT98) usertop1
when (hand = AA99 or hand = AA88 or hand = AA77 or hand = AA66 or hand = AA55 or hand = AA44 or hand = AA33 or hand = AA22 or hand = AAK8 or hand = AAK7 or hand = AAK6 or hand = AAK5 or hand = AAK4 or hand = AAK3 or hand = AAK2 or hand = AAQ7 or hand = AAQ6 or hand = AAQ5 or hand = AAQ4 or hand = AAQ3 or hand = AAQ2 or hand = AAJ6 or hand = AAJ5 or hand = AAJ4 or hand = AAJ3 or hand = AAJ2 or hand = AAT or hand = AA9 or hand = AA8 or hand = AA7 or hand = AA6 or hand = AA5 or hand = AA4 or hand = AA3 or hand = AA2) usertop2
when (hand = AKQJ or hand = AKQT or hand = AKJT or hand = AQJT or hand = KQJ9 or hand = KQT9 or hand = KJT9 or hand = QJT8 or hand = QJ98 or hand = QT98 or hand = JT97 or hand = JT87 or hand = J987 or hand = T987) userbun1
when (hand = AKKQ or hand = AKKJ or hand = AKKT or hand = KKQQ or hand = KKJJ or hand = KKTT or hand = KKQJ or hand = KKQT or hand = KKQ9 or hand = KKJT or hand = KKJ9 or hand = KKT9) userking1
when (hand = AKK or hand = KKQ or hand = KKJ or hand = KKT) userking2
when (hand = T986 or hand = T976 or hand = T876 or hand = 9876 or hand = 9875 or hand = 9865 or hand = 9765 or hand = 8765 or hand = 8764 or hand = 8754 or hand = 8654 or hand = 7654 or hand = 7653 or hand = 7643 or hand = 7543 or hand = 6543 or hand = 6532 or hand = 6542 or hand = 6432 or hand = 5432) userbun2
when (hand = AKQ9 or hand = AKT9 or hand = AJT9 or hand = KQJ8 or hand = KQ98 or hand = KT98 or hand = QJT7 or hand = QJ87 or hand = Q987 or hand = JT96 or hand = JT76 or hand = J876 or hand = AKJ9 or hand = AQJ9 or hand = KQT8 or hand = KJT8 or hand = KJ98 or hand = QJ97 or hand = QT97 or hand = QT87 or hand = JT86 or hand = J986 or hand = J976) usergap1
when (hand = T985 or hand = T965 or hand = T765 or hand = T975 or hand = T875 or hand = T865 or hand = 9874 or hand = 9854 or hand = 9654 or hand = 9864 or hand = 9764 or hand = 9754 or hand = 8763 or hand = 8743 or hand = 8543 or hand = 8753 or hand = 8653 or hand = 8643 or hand = 7652 or hand = 7632 or hand = 7432 or hand = 7642 or hand = 7542 or hand = 7532) userjunk1
when (hand = AKQQ or hand = AQQJ or hand = AQQT or hand = KQQJ or hand = KQQT or hand = QQJJ or hand = QQTT or hand = QQJT or hand = QQJ9 or hand = QQT9 or hand = AKJJ or hand = AQJJ or hand = AJJT or hand = KQJJ or hand = QJJT or hand = KJJ9 or hand = JJT9 or hand = JJT8) usertop3
when (hand = AQQ9 or hand = KQQ9 or hand = QQJ8 or hand = AJJ9 or hand = KJJ9 or hand = KJJ8 or hand = KJJ7 or hand = QJJ8 or hand = QJJ7 or hand = JJT7 or hand = JJT6 or hand = JJ98 or hand = JJ97 or hand = JJ87 or hand = JJ86) userlate1
when (hand = KK or hand = QQ or hand = JJ or hand =TT) userpp1


when (stilltoact = 2) and (raises = 0 and calls = 0)  and  (hand = usertop1 or hand = userbun or hand = usertop 2 or hand = usertop3 or hand = userking1 or hand = userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) userstealbtn

when (stilltoact = 2) and (raises = 0 and calls = 0)  and  (hand = usertop1 or hand = userbun or hand = usertop 2 or hand = usertop3 or hand = userking1 or hand = userking2 or hand = userbun2 or hand = usergap1 or hand = userlate1) raisepot force

flop
when userstealbtn and botslastaction = raise and botsactionsonthisround = 0 and botsactionspreflop = 1 and opponents = 1 and position = last and checks = 1 and bets = 0 and raises = 0 betpot force


Title: Re: Omaha Coding Info
Post by: Egor on April 13, 2012, 01:02:27 AM
This is invalid code:

hand = usertop1

hand = can only be specified cards

should be:

when (stilltoact = 2) and (raises = 0 and calls = 0)  and  (usertop1 or userbun or usertop 2 or usertop3 or userking1 or userking2 or userbun2 or usergap1 or userlate1) userstealbtn


Title: Re: Omaha Coding Info
Post by: tr34187 on April 13, 2012, 07:55:26 PM
If i want to bluff the flop with the nut flush card in my hand:

when (flushonboard) and (havenutflushCARD) betpot force

would this work?




Title: Re: Omaha Coding Info
Post by: Egor on April 13, 2012, 08:13:39 PM
that is invalid code again, perhaps you should refamiliarize with the existing PPL variables - they are all listed in the appendix of the PPL Guide

if there is a flush on board (could only happen on the river) and you hold the nut flush card, that means you have the nut flush - that would not be a bluff

did you mean when there are two of one suit on the flop?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 13, 2012, 09:58:09 PM
sorry i explained it wrong. I will give you a example :

my hand :  AsJdTd5c

flop:    9s6s3s


could i write a code so the bot will bet the flop with the As representing the nut flush, sorry for all the questions  :-[


Title: Re: Omaha Coding Info
Post by: BeefHead on April 14, 2012, 01:06:55 AM
Lol it can be done but why would you it would not be very easy to code and at the end of the day . I cant see the point bluffing with any cards will get you the same out come people dont fold a high flush or any flush or sets at low stacks in omaha to one bet and bluffing a bet well same thing if im going to do it any cards will do . I would just think coding abc poker if i was you once you have a good abc profile think of coding some bluff in to it . You dont need to bluff at omaha to be a winning player . Gl  Gday 


Title: Re: Omaha Coding Info
Post by: tr34187 on April 14, 2012, 01:34:57 AM
thanks for the helpful reply but this is the most standard and unexploitable bluffs in PLO. Unless the board pairs the villian can never have the nuts, just seeing if it can be done before i try to work it out, on my laptop so havent got the PPL guide with me  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 14, 2012, 01:45:42 AM
that is invalid code again, perhaps you should refamiliarize with the existing PPL variables - they are all listed in the appendix of the PPL Guide

if there is a flush on board (could only happen on the river) and you hold the nut flush card, that means you have the nut flush - that would not be a bluff

did you mean when there are two of one suit on the flop?

sorry, meant three of one suit on the flop. going to try think more before i post, the PPL guide is at home on my desktop, i'm using my laptop right now. I'm new to this coding stuff and the PPL guide is geared towards holdem but i'll get there, sorry i'm almost done with the questions before you  anim_45.gif


Title: Re: Omaha Coding Info
Post by: Egor on April 14, 2012, 02:04:46 AM
well I don't know what you mean by "bluff" but the situation you are describing is:

flop
when flushpossible and havenutflushdraw and not (haveflush)

..you can add the bet/raise count and put in whatever action you want. If bets = 0 and raises = 0 and position = last, I don't consider betting there a bluff. Betting the with nut flush draw there is a legitimate value bet. If you are in early/mid position and bets = 0 and raises = 0 and you were the last preflop raiser, I don't consider it a bluff either, just a standard continuation bet.

Now, if bets = 1 and raises = 0 and position = last, then raising the pot there would be a good bluff with that draw. Maybe that is what you meant.


Title: Re: Omaha Coding Info
Post by: tr34187 on April 14, 2012, 02:36:57 AM
for omaha if you only have the singlesuited ace then you can not make a flush because you have to use 2 cards from your hand.
Does the omaha bot read  As 9d7d8c as a flush when the board reads:  Ks9s3s5s2s         ???????


Title: Re: Omaha Coding Info
Post by: Egor on April 14, 2012, 05:22:39 AM
You are correct, I didn't read that close enough. That is of course a Holdem only situation.

The Omaha bot knows how to play Omaha.

flop
when flushpossible and havenutflushcard and not (haveflush)


Title: Re: Omaha Coding Info
Post by: tr34187 on April 14, 2012, 09:30:33 AM
thanks egor  anim_65.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 14, 2012, 03:53:23 PM
getting a error from the bot with this line:

when Bets = 0 and (HaveNutStraightDraw) and not (PairOnflop or Flushpossible) Bet >= 50% Force

heres the error:

(http://i.imgur.com/d81dG.png)


Title: Re: Omaha Coding Info
Post by: peamasii on April 14, 2012, 05:23:22 PM
Bet 50% force  ::)


Title: Re: Omaha Coding Info
Post by: Egor on April 14, 2012, 06:38:27 PM
why are you trying to use >= sign with an action?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 15, 2012, 05:38:34 PM
Thought by putting
>= 50% force the bot would choose a random
% equal or above 50% 


Title: Re: Omaha Coding Info
Post by: Egor on April 15, 2012, 06:45:06 PM
no, if you want to bet random amounts you have to call the random element and specify the amounts, for example:

when Bets = 0 and (HaveNutStraightDraw) and not (PairOnflop or Flushpossible) and random <= 50 Bet 50% Force
when Bets = 0 and (HaveNutStraightDraw) and not (PairOnflop or Flushpossible) and random <= 50 Bet 75% Force
when Bets = 0 and (HaveNutStraightDraw) and not (PairOnflop or Flushpossible)  Betpot Force

ignoring for a moment that you have not specified raises = 0 (I will assume these lines are under an open-ended codeblock which specifies that - because if you don't, these lines will call if raises = 3 for your entire stack, remember the bots own actions are not counted in the bet/raise count so if you bet and get raised and it is your turn to act again these codelines could be read as true because bets will = 0)

here is how the random variable works - it gets ran each time you call it up (you should read the variable description in the appendix) so in the codeblock above, 50% of the time it will bet 50% of the pot, then of those 50% of the times the random variable misses it will call another 50% random variable, resulting in 25% of the total time it will bet 75% of the pot, and then the final 25% of the time (when it misses the first two random calls) it will be picked up by the catch-all at the end which bets the pot


Title: Re: Omaha Coding Info
Post by: tr34187 on April 17, 2012, 01:55:36 AM
Had a spot come up today with the bot in PLO. It bet the flop fine, then bet 60% pot on the turn and got raised pot by villian. The bot then folded even thought it only had $1 and the pot was $4. Would this be the code to force the bot to call when money behind is only 25% of total pot:

Always call when stack size is below 25% of total pot


Title: Re: Omaha Coding Info
Post by: Egor on April 17, 2012, 03:03:04 AM
I would have to see the bot-log of the hand in question. This profile already has protection codes against folding for pot-committed situations, so it could be some kind of misread situation. Only seeing the bot-log would help me diagnose it further.


Title: Re: Omaha Coding Info
Post by: tr34187 on April 17, 2012, 10:55:29 AM
it only has happened in 1 session so i will let it run for a bit and see if it happens anymore.


Title: Re: Omaha Coding Info
Post by: peamasii on April 17, 2012, 01:32:44 PM
easy fix is to put this at the top of every street postflop in PLO profile:

when totalinvested >= 125% Stacksize and BotsLastAction = raise and Stacksize < 10 raisemax force

if you've raised and the pot is already 2.5x your stack, you should go allin with any hand.
it prevents mis-folding small stack to some weak reraise bluff.


Title: Re: Omaha Coding Info
Post by: tr34187 on April 21, 2012, 03:52:15 PM
cheers  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 21, 2012, 04:05:33 PM
looking to make a user variable so the bot will bet the flop when it is checked to it. want to bet 75% fifty percent of the time. 85% twentyfive percent of the time and then check the last twentyfive percent of the time. will this work?


when (bets = 0 and raises = 0) and (opponents <= 2 and stilltoact = 0) userconbet
when (userconbet) and random <= 50 bet 75% force
when (userconbet) and random <= 50 bet 85% force
when (userconbet) check force


Title: Re: Omaha Coding Info
Post by: Egor on April 21, 2012, 06:05:37 PM
Yes that is a good structure

I would probably throw in position = last for that situation, and if playing at Cake I would include checks >= 1


Title: Re: Omaha Coding Info
Post by: tr34187 on April 22, 2012, 12:50:33 PM
what would be the problem with this line?

when (Hand = AKT5 or hand = AJ54 or hand = QJ93 or hand = KT33 or hand = AT97 or hand = QT88 or hand = KT77 or hand = KT86 or hand = KQ94 or hand = KJ64 or hand = 9973 or hand = QTT7 or hand = KQJ4 or hand = Q773 or hand = QJ92 or hand = AAA or hand = KKK or hand = K832 or hand = 9872 or hand = T864 or hand = KQ43 or hand = K543 or hand = QTT2 or hand = K765 or hand = AK87 or hand = KQ85 or hand = KJ75 or hand = KJJ5 or hand = AQ55 or hand = AJ52 or hand = KKT7 or hand = A953 or hand = KQQ8 or hand = KJ53 or hand = A944 or hand = 6632 or hand = 7754 or hand = 9843 or hand = J884 or hand = J885 or hand = QT75 hand = KT64 or hand = QT85 or hand = J733 or hand = T842 or hand = A843 or hand = K832 or hand = Q932 or hand = 9974 or hand = K832 or hand = J997 or hand = K863 or hand = AT84 or hand = J764 or hand = 7553 or hand = 8662 or hand = A652 or hand = AK87 or hand = AK85 or hand = AK84) userbtnjunk 

the message reads:

(http://i.imgur.com/8xO6Y.png)


Title: Re: Omaha Coding Info
Post by: Egor on April 22, 2012, 06:55:51 PM
My eyes are not spotting it. Could be the AAA or

.....try taking out the AAA and KKK and putting in tripsinhand


Title: Re: Omaha Coding Info
Post by: tr34187 on April 23, 2012, 12:23:57 PM
Thought it might be the AAA as well so i took it out but its still the same. Would a duplicate hand from another uservariable cause this. I have been looking for duplicates in the different groups but cant find any. The line is quite long so i split it into 2 lines and called them userbtnjunk1 and userbtnjunk2 then it shows the same error on line 19 and 20.


Title: Re: Omaha Coding Info
Post by: peamasii on April 23, 2012, 01:06:07 PM
or hand = QT75 hand = KT64  anim_03.gif


Title: Re: Omaha Coding Info
Post by: Egor on April 23, 2012, 05:26:08 PM
nice eyes pea! 

character0028.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 24, 2012, 12:54:53 PM
cheers  party0007.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 24, 2012, 12:57:06 PM
its says error on line 93 which is the last line:

when (bets = 0 and raises = 0) and (opponents <= 2 and stilltoact = 0) userconbet
when (userconbet) and (position = last) and random <= 50 bet 75% force
when (userconbet) and (position = last) and random <= 50 bet 85% force
when (userconbet) and (position = last) check force

(http://i.imgur.com/eFg9P.png)


Title: Re: Omaha Coding Info
Post by: Egor on April 24, 2012, 05:51:35 PM
check is not a valid action in the bot (it is, however, a valid value for some numeric-valued variables)

to make the bot check you need to tell it to call when bets = 0 and raises = 0 (usually this is only an issue when coding a check-raise situation)


Title: Re: Omaha Coding Info
Post by: tr34187 on April 24, 2012, 07:36:12 PM
thanks  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 24, 2012, 09:04:15 PM
the bot seems to be timing out  in preflop hands before it has time to act since i bagan tweaking my bot. would there be any reason why this would happen, postflop it is fine. i play 6 table but cut it down to 4-5 tables which seems to help a little


Title: Re: Omaha Coding Info
Post by: Egor on April 24, 2012, 09:46:20 PM
not a profile issue, probably a systems resources issue


Title: Re: Omaha Coding Info
Post by: tr34187 on April 25, 2012, 03:01:40 PM
Code:
//UTG
  when (userutg) and (usertop1 or userbun1) RaisePot Force
  when (userutg) and (usertop2 or userking1 or userking2 or userbun2) raise 75% Force
  when others fold force

//MID
  when (raises = 0) and (usermid) and (usertop1 or userbun1) RaisePot Force

will putting the '' when others fold force'' in here be okay if i want to fold everything else UTG except the uservariables. Will it affect my usermid?


Title: Re: Omaha Coding Info
Post by: Egor on April 25, 2012, 05:06:28 PM
Those look like 1-liners. I don't see an open when condition at the top of the codeblock.

That is not going to work, either way. If that is the middle of an open-ended codeblock, it will end with when others fold force. If those are all 1-liners at the top of the betting round, same result.

Instead use:

when (userutg) fold force


Title: Re: Omaha Coding Info
Post by: tr34187 on April 25, 2012, 06:16:59 PM
if i would write:

when (hand = A or hand = K) usersample

when (usersample) raisepot force



would this mean the bot would raise with  every PLO combo that has a Ace or King in it?


Title: Re: Omaha Coding Info
Post by: tr34187 on April 25, 2012, 07:32:07 PM
also where would i find the botlog for todays play because there are a few hands that arent being played the way they should.


Title: Re: Omaha Coding Info
Post by: Egor on April 25, 2012, 08:55:21 PM
Quote
when (hand = A or hand = K) usersample

when (usersample) raisepot force

would this mean the bot would raise with  every PLO combo that has a Ace or King in it?

yes

Quote
also where would i find the botlog for todays play because there are a few hands that arent being played the way they should.

this is a bit concerning - do you still not know about the bot-log, at this juncture? it is a text file recorded in the bot folder tiltled OmHi

very important to review the logs as you are developing a profile


Title: Re: Omaha Coding Info
Post by: tr34187 on April 25, 2012, 09:25:46 PM
been using holdemmanager to review the hands played plus watching the bot play. didnt think there was must point in running before i could walk with the coding so only starting to look at the bot-log now.  angel.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 26, 2012, 01:35:24 PM
currently running the bot on a intel pentium 4 CPU 3.00GHZ, 1.0 GB RAM, Windows XP.  its runs okay with 3/4 tables but anything over that it lags badly. would adding 2 GB RAM help with the lag?


Title: Re: Omaha Coding Info
Post by: Egor on April 26, 2012, 05:48:24 PM
maybe - more free disk space on the hard drive may also help


Title: Re: Omaha Coding Info
Post by: tr34187 on April 27, 2012, 02:26:31 PM
this look okay for raising when the SB limps:

when (raises = 0 and calls = 1) and (firstcallerposition = 1) and (userbb) and (usertop1 or userbun1 or usersuited1) raise 60% force


Title: Re: Omaha Coding Info
Post by: Egor on April 27, 2012, 03:51:29 PM
sure  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 28, 2012, 12:48:43 PM

why did the bot fold the turn to sure a little allin raise?


Shanky Technologies Omaha Hi Version 6.2.7: Hand: Ts Tc Ad Qc
Players = 5 hands played in session = 1
in timer: players = 5, folds in game= 3, raises = 1, checks = 0, calls = 1, bets = 0, folds = 3
casino = WilliamHill, game = Pot Limit Cash, BB = 0.04, Pot = 7 BBs, Stack = 4.96, TI = 0 BBs
In Big Blind
Default Profile: "Om Hi 4.5", Action = call
User defined variable userpp1 set to true at line 40
User defined variable userjunk2 set to true at line 44
User defined variable userBB set to true at line 51
clicking Call
Flop: 2h Qh Ah
Board: All 1 suit no possible straight

in timer: players = 5, folds in game= 3, raises = 0, checks = 0, calls = 0, bets = 0, folds = 0
casino = WilliamHill, game = Pot Limit Cash, BB = 0.04, Pot = 14 BBs, Stack = 4.82, TI = 4 BBs
opponents = 2, position = first
Default Profile: "Om Hi 4.5", Action = betpot
clicking POT
clicking POT
clicking Bet
Turn: 2h Qh Ah Th
Board: possible flush, (straight possible or not)

have 3rd top set

in timer: players = 5, folds in game= 4, raises = 0, checks = 0, calls = 0, bets = 0, folds = 0
casino = WilliamHill, game = Pot Limit Cash, BB = 0.04, Pot = 42 BBs, Stack = 4.26, TI = 18 BBs
opponents = 1, position = first
Default Profile: "Om Hi 4.5", Action = bet 65%
typing 1.09
clicking Bet
in timer: players = 2, folds in game= 1, raises = 0, checks = 0, calls = 0, bets = 1, folds = 1
casino = WilliamHill, game = Pot Limit Cash, BB = 0.04, Pot = 100 BBs, Stack = 3.17, TI = 45 BBs
Default Profile: "Om Hi 4.5", Action = call
changing action to Fold because of Raise >= 25 big blinds
clicking Fold


Title: Re: Omaha Coding Info
Post by: tr34187 on April 28, 2012, 12:56:08 PM
for this hand i had usertop2 and userjunk2 set top 50% raise for usesb


Shanky Technologies Omaha Hi Version 6.2.7: Hand: Ad Ac 9d 3d
Players = 5 hands played in session = 29
in timer: players = 5, folds in game= 3, raises = 0, checks = 0, calls = 0, bets = 0, folds = 3
casino = WilliamHill, game = Pot Limit Cash, BB = 0.04, Pot = 1 BBs, Stack = 6.21, TI = 0 BBs
In Small Blind
corrected folds = 4
Default Profile: "Om Hi 4.5", Action = raisepot
User defined variable usertop2 set to true at line 31
User defined variable userjunk2 set to true at line 44
User defined variable userSB set to true at line 50
Matching user defined condition at line 93, Action = fold force
clicking Fold


Title: Re: Omaha Coding Info
Post by: tr34187 on April 28, 2012, 04:42:55 PM
read in a few other threads that its best to have windows language in english/US. I think i'm currently in english/UK should i change to the US? i'm running windowsXP


Title: Re: Omaha Coding Info
Post by: Egor on April 28, 2012, 07:47:24 PM
For the TTAQ hand: I am a bit perplexed by that message in the bot window which overrode the profile instructions to call. That seems like an option setting on the bot may be responsible for it, but I cannot figure out which one. I will have to look into this, and maybe write some new codelines to call when pot-committed. Thanks for that.

For the AA93 hand: As you can see the default profile tried to reraise but your custom codline 93 intervened and caused it to fold instead. That is a coding issue on your end, and you should start a new topic and inlcude this hand and line 93 of your profile.

Be sure to download Notepad 2 (free, just Google it) and use that, not the free regular Notepad that comes with windows, to access codeline 93 in your profile (because regular Notepd will misreference codelines).

Your windows language must be set to English/US for all our bots.

 dankk2.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 28, 2012, 11:57:15 PM

For the AA93 hand: As you can see the default profile tried to reraise but your custom codline 93 intervened and caused it to fold instead. That is a coding issue on your end, and you should start a new topic and inlcude this hand and line 93 of your profile.



found it:

line 92: when (raises = 0 and calls = 0) and (usersb) and (dumbass forget to write in the rest of the uservariables) raise 60 % force
line 93: when (usersb) fold force

 banghead.gif   bit to much  anim_49.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on April 29, 2012, 01:02:13 PM
AsAdKsKd will the bot pick this code up as AK spades and AK diamonds?


Title: Re: Omaha Coding Info
Post by: Egor on April 29, 2012, 06:13:12 PM
AsKs will be true
AdKd will be true
AK suited will be true
AK will be true
AA will be true
KK will be true
pairinhand will be true
twopairinhand will be true

...as is every other combo of suit there


Title: Re: Omaha Coding Info
Post by: tr34187 on May 19, 2012, 04:09:32 PM

what do these mean on the bot log?

Stack = 0.64, TI = 4 BBs


Title: Re: Omaha Coding Info
Post by: Egor on May 19, 2012, 06:44:02 PM
Not the right thread for bot function questions, however:

Stack = your stacksize, reported in real-money (not big blinds)

TI = total invested, reported in big blinds (total invested in the current hand so far)


Title: Re: Omaha Coding Info
Post by: tr34187 on May 19, 2012, 07:01:32 PM
cool thanks  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: tr34187 on May 20, 2012, 12:02:04 AM
havenutflushdrawonturn

bot rejects this, what would be the correct term for PLO a(I am an idiot) up the nut flush draw on the turn?


Title: Re: Omaha Coding Info
Post by: Egor on May 20, 2012, 02:26:14 AM
why would you need that variable?

 ???

if you are coding for the Turn you can use havenutflushdraw

and if you are coding for the river, if for some reason you want to know you had the nut flush draw on the Turn, you could set a user-variable from that on the Turn


Title: Re: Omaha Coding Info
Post by: tr34187 on May 30, 2012, 05:03:17 PM
Is there a variable to explain when the flop has 3 low cards?


Title: Re: Omaha Coding Info
Post by: peamasii on May 31, 2012, 01:16:04 PM
this is the condition for all low cards on board (no aces), paired on non-paired board

When ( (LowCardsOnBoard = 3 and not board = A and not PairOnBoard) or
(LowCardsOnBoard = 2 and not board = A and PairOnBoard) )


Title: Re: Omaha Coding Info
Post by: jbj81 on September 17, 2012, 12:44:55 PM
Have been testing the Holdem Bot for about 50,000 hands and write own profile and it looks good. Now i think i should go for omaha because im an omaha expert, have been playing omaha about 10 years now. The PPL should really use little more variables for omaha, here is few suggestions:

double suited:
You could just add doublesuited key word just like the suited, but i think it's easier just add boolean variable HaveDoubleSuitedHand.

middle and bottom gap and "double gapped":
There is FourCardsWith1gapInHand variable, there should also be FourCardsWithBottomGapInHand and FourCardsWithMiddleGapInHand.
Also i could use FourCardsWithDoubleGapInHand where the two gaps are top and bottom (or top and middle) ie. QT97 or QT87. You can hit monster draws with these hands.

And last but not least it would be REALLY useful to have numeric variable for NutDraws:
Let say you got AKJT double suited and you flop top two pair with straight and nut flush draw: JT8 (straight possible on flop). In this situation you dont have the nuts but you got a lot of outs for nuts. If you got numeric variable like OutsForNutHand you could use it easily with pot odds same way as the Have16outStraightDraw variable.
Flop code xample: When OutsForNutHand >= 10 and AmountToCall <= 43% PotSize Call Force

Thanks!


Title: Re: Omaha Coding Info
Post by: jbj81 on September 17, 2012, 12:57:50 PM
Oh, and QuadsInHand would be nice!  thumbsup.gif


Title: Re: Omaha Coding Info
Post by: jbj81 on September 17, 2012, 01:14:19 PM
Is this rightly writteng for preflop "all-in"-code:
When Hand = A suited A suited and (Hand = KK or Hand = QQ or Hand = JJ or Hand = TT or Hand = KQ or Hand = KJ or Hand = KT or Hand = QJ or Hand = QT or Hand = JT) RaisePot Force


Title: Re: Omaha Coding Info
Post by: Egor on September 17, 2012, 02:52:13 PM
the codeline is valid, yes - whether you can get all-in at PL poker depends on the other opponents reraising


Title: Re: Omaha Coding Info
Post by: daham on December 11, 2016, 09:15:45 PM
Hi
couple of beginner questions  ::)
need some help understanding the suited variable.
1. A suited K means A suited with something and an K in the hand
2. AKKTs means the T is suited to any of the AAK
3. Im not sure how the suited variable is behaving when all cards are defined:
how can I define for example specifically for the hand AKs 98s, AKs 87s?
when (DoubleSuited) and (hand = A suited K and 9 suited 8 or hand = A suited K and 8 suited 7)
and can i write it like this:
when (DoubleSuited) and (hand = A suited K) and (hand = 9 suited 8 or hand = 8 suited 7)

when I formulate a hand range can I write:
when (hand = a,b,c) or when (hand = d,e,f) userTOP5


Title: Re: Omaha Coding Info
Post by: Egor on December 11, 2016, 11:17:53 PM
when doublesuited and (hand = A suited K and 9 suited 8)

...could  mean A9 suited + K8 suited, could also mean AK suited + 98 suited

there is no easy way to define the double-suiting that you are asking about, you would have to use the actual suits (c,s,d,h) and cover every possibility



Title: Re: Omaha Coding Info
Post by: tapthatace on February 02, 2020, 05:09:10 AM
Can i get some assistance with understanding why this logic isn't working please ---  I believe that the result of my code should be the following:
User defined variable User1stPoints4 set to true on line 46 --- because the hand is Jd4d but I am getting two results  -- I think line 48 shouldn't be flagged which is the User1stPoints2 custom variable BECAUSE User1stPoints4 was set.

result:
Shanky Technologies Omaha Hi Version 10.0.5 Hand: 4d 8h 6h Jd
User defined variable User1stPoints4 set to true at line 46
User defined variable User1stPoints2 set to true at line 48


Code:
when (suitsinhand = 2 or suitsinhand = 3)
  when hand = AcKc or hand = AcQc or hand = AcJc or hand = AcTc or hand = Ac9c or hand = Ac8c or hand = Ac7c or hand = Ac6c or hand = Ac5c or hand = Ac4c or hand = Ac3c or hand = Ac2c or hand = AdKd or hand = AdQd or hand = AdJd or hand = AdTd or hand = Ad9d or hand = Ad8d or hand = Ad7d or hand = Ad6d or hand = Ad5d or hand = Ad4d or hand = Ad3d or hand = Ad2d or hand = AhKh or hand = AhQh or hand = AhJh or hand = AhTh or hand = Ah9h or hand = Ah8h or hand = Ah7h or hand = Ah6h or hand = Ah5h or hand = Ah4h or hand = Ah3h or hand = Ah2h or hand = AsKs or hand = AsQs or hand = AsJs or hand = AsTs or hand = As9s or hand = As8s or hand = As7s or hand = As6s or hand = As5s or hand = As4s or hand = As3s or hand = As2s User1stPoints8

  when (not User1stPoints8) and (hand = KcQc or hand = KcJc or hand = KcTc or hand = Kc9c or hand = Kc8c or hand = Kc7c or hand = Kc6c or hand = Kc5c or hand = Kc4c or hand = Kc3c or hand = Kc2c or hand = KdQd or hand = KdJd or hand = KdTd or hand = Kd9d or hand = Kd8d or hand = Kd7d or hand = Kd6d or hand = Kd5d or hand = Kd4d or hand = Kd3d or hand = Kd2d or hand = KhQh or hand = KhJh or hand = KhTh or hand = Kh9h or hand = Kh8h or hand = Kh7h or hand = Kh6h or hand = Kh5h or hand = Kh4h or hand = Kh3h or hand = Kh2h or hand = KsQs or hand = KsJs or hand = KsTs or hand = Ks9s or hand = Ks8s or hand = Ks7s or hand = Ks6s or hand = Ks5s or hand = Ks4s or hand = Ks3s or hand = Ks2s) User1stPoints6

  when (not User1stPoints8 or not User1stPoints6) and (hand = QcJc or hand = QcTc or hand = Qc9c or hand = Qc8c or hand = Qc7c or hand = Qc6c or hand = Qc5c or hand = Qc4c or hand = Qc3c or hand = QdJd or hand = QdTd or hand = Qd9d or hand = Qd8d or hand = Qd7d or hand = Qd6d or hand = Qd5d or hand = Qd4d or hand = Qd3d or hand = QhJh or hand = QhTh or hand = Qh9h or hand = Qh8h or hand = Qh7h or hand = Qh6h or hand = Qh5h or hand = Qh4h or hand = Qh3h or hand = QsJs or hand = QsTs or hand = Qs9s or hand = Qs8s or hand = Qs7s or hand = Qs6s or hand = Qs5s or hand = Qs4s or hand = Qs3s) User1stPoints5

  when (not User1stPoints8 or not User1stPoints6 or not User1stPoints5) and (hand = JcTc or hand = Jc9c or hand = Jc8c or hand = Jc7c or hand = Jc6c or hand = Jc5c or hand = Jc4c or hand = Jc3c or hand = Jc2c or hand = JdTd or hand = Jd9d or hand = Jd8d or hand = Jd7d or hand = Jd6d or hand = Jd5d or hand = Jd4d or hand = Jd3d or hand = Jd2d or hand = JhTh or hand = Jh9h or hand = Jh8h or hand = Jh7h or hand = Jh6h or hand = Jh5h or hand = Jh4h or hand = Jh3h or hand = Jh2h or hand = JsTs or hand = Js9s or hand = Js8s or hand = Js7s or hand = Js6s or hand = Js5s or hand = Js4s or hand = Js3s or hand = Js2s) User1stPoints4

  when (not User1stPoints8 or not User1stPoints6 or not User1stPoints5 or not User1stPoints4) and (hand = Tc9c or hand = Tc8c or hand = Tc7c or hand = Tc6c or hand = Tc5c or hand = Tc4c or hand = Tc3c or hand = Tc2c or hand = 9c8c or hand = 9c7c or hand = 9c6c or hand = 9c5c or hand = 9c4c or hand = 9c3c or hand = 9c2c or hand = Td9d or hand = Td8d or hand = Td7d or hand = Td6d or hand = Td5d or hand = Td4d or hand = Td3d or hand = Td2d or hand = 9d8d or hand = 9d7d or hand = 9d6d or hand = 9d5d or hand = 9d4d or hand = 9d3d or hand = 9d2d or hand = Th9h or hand = Th8h or hand = Th7h or hand = Th6h or hand = Th5h or hand = Th4h or hand = Th3h or hand = Th2h or hand = 9h8h or hand = 9h7h or hand = 9h6h or hand = 9h5h or hand = 9h4h or hand = 9h3h or hand = 9h2h or hand = Ts9s or hand = Ts8s or hand = Ts7s or hand = Ts6s or hand = Ts5s or hand = Ts4s or hand = Ts3s or hand = Ts2s or hand = 9s8s or hand = 9s7s or hand = 9s6s or hand = 9s5s or hand = 9s4s or hand = 9s3s or hand = 9s2s) User1stPoints3

  when (not User1stPoints8 or not User1stPoints6 or not User1stPoints5 or not User1stPoints4 or not User1stPoints3) and (hand = 8c7c or hand = 8c6c or hand = 8c5c or hand = 8c4c or hand = 8c3c or hand = 8c2c or hand = 8d7d or hand = 8d6d or hand = 8d5d or hand = 8d4d or hand = 8d3d or hand = 8d2d or hand = 8h7h or hand = 8h6h or hand = 8h5h or hand = 8h4h or hand = 8h3h or hand = 8h2h or hand = 8s7s or hand = 8s6s or hand = 8s5s or hand = 8s4s or hand = 8s3s or hand = 8s2s) User1stPoints2

  when (not User1stPoints8 or not User1stPoints6 or not User1stPoints5 or not User1stPoints4 or not User1stPoints3 or not User1stPoints2) and (hand = 7c6c or hand = 7c5c or hand = 7c4c or hand = 7c3c or hand = 7c2c or hand = 6c5c or hand = 6c4c or hand = 6c3c or hand = 6c2c or hand = 5c4c or hand = 5c3c or hand = 5c2c or hand = 4c3c or hand = 4c2c or hand = 3c2c or hand = 7d6d or hand = 7d5d or hand = 7d4d or hand = 7d3d or hand = 7d2d or hand = 6d5d or hand = 6d4d or hand = 6d3d or hand = 6d2d or hand = 5d4d or hand = 5d3d or hand = 5d2d or hand = 4d3d or hand = 4d2d or hand = 3d2d or hand = 7h6h or hand = 7h5h or hand = 7h4h or hand = 7h3h or hand = 7h2h or hand = 6h5h or hand = 6h4h or hand = 6h3h or hand = 6h2h or hand = 5h4h or hand = 5h3h or hand = 5h2h or hand = 4h3h or hand = 4h2h or hand = 3h2h or hand = 7s6s or hand = 7s5s or hand = 7s4s or hand = 7s3s or hand = 7s2s or hand = 6s5s or hand = 6s4s or hand = 6s3s or hand = 6s2s or hand = 5s4s or hand = 5s3s or hand = 5s2s or hand = 4s3s or hand = 4s2s or hand = 3s2s) User1stPoints1


Title: Re: Omaha Coding Info
Post by: Egor on February 02, 2020, 05:32:47 AM

  when (not User1stPoints8 or not User1stPoints6 or not User1stPoints5 or not User1stPoints4)

no good ^^^

change to:


  when not (User1stPoints8 or User1stPoints6 or User1stPoints5 or User1stPoints4)


Title: Re: Omaha Coding Info
Post by: tapthatace on February 02, 2020, 05:43:59 AM
  when (not User1stPoints8 or not User1stPoints6 or not User1stPoints5 or not User1stPoints4)

no good ^^^

change to:


  when not (User1stPoints8 or User1stPoints6 or User1stPoints5 or User1stPoints4)

Thanks - I will make the changes and test!!


Title: Re: Omaha Coding Info
Post by: tapthatace on February 28, 2020, 05:21:27 PM
Can you assist me as to why this didn't work?

Shanky Technologies Omaha Hi Version 10.0.5 Hand: Js Jh Qs Qd
Players = 5 hands played in session = 90
in timer: players = 5, folds in game= 1, raises = 1, checks = 0, calls = 0, bets = 0, folds = 1
casino = Americas 6 Max, Pot Limit Cash, BB = 0.10, Pot = 3 BBs, Stack = 16.37, TI = 0 BBs
Amount To Call = 2 BBs
Default Profile: "Om Hi 4.5", Action = call
User defined variable userNoHutchinsonDefined set to true at line 2824
Matching user defined condition at line 2852, Action = fold force
clicking Fold

I would have expected this line of code to run which is before my line 2824

Attached is line 136 and I would have thought this would run:
when (suitsinhand = 3) and (hand = QcJcQJ or hand = QdJdQJ or hand = QhJhQJ or hand = QsJsQJ) userH40

Instead line 2824 ran which just lets me know that the hand didn't qualify for any of my criteria -- FYI userH40 should have been grouped to  userGroup2 (when (userH40 or userH39 or userH38 or userH37 or userH36 or userH35 or userH34 or userH33 or userH32) userGroup2)

Line 2824: when not(userGroup1 or userGroup2 or userGroup3 or userGroup4 or userH24 or userH23 or userH22 or userH21 or userH20 or userH18 or userH14 or userH12 or userH10 or userH8 or userH6 or userH4 or userH2 or userH0) userNoHutchinsonDefined


Title: Re: Omaha Coding Info
Post by: Egor on February 28, 2020, 05:56:02 PM
My first thought is that perhaps line 136 is being tied to an unclosed/open when condition above it somewhere?


Title: Re: Omaha Coding Info
Post by: tapthatace on February 28, 2020, 06:37:37 PM
My first thought is that perhaps line 136 is being tied to an unclosed/open when condition above it somewhere?

thanks I will review all the code prior to that line and see if I missed something -- if not when I will share the first 136 lines of code to see if someone else sees something that I am missing.


Title: Re: Omaha Coding Info
Post by: tapthatace on February 28, 2020, 06:55:56 PM
I am attaching my lines of code that come prior to the statement that didn't run -- I do not see any nested When's that I missed -- If there is something that you see please let me know AS well as if I am using something that isn't efficient.  The following code is reading the hand and then assigning it a Hutchinson value so that I can make preflop decisions based on the total hand strength



MaxSessionHands = 10000
MaxSessionTime = 720
MaxStackSize = 10000000
BathroomBreakAfter = 63
BathroomBreakTime = 2
SitOutWhenOpponentsAreLessThan = 1
MinBetOverride = 5
FoldOrGoAllInWhenOpponentsAfterFoldsLessThan = 5
FoldOrGoAllInWhenOpponentsAfterFoldsLessThanStackSize = 10000000
ApplyFoldOrAllInAfter = 0
FoldOrGoAllInWhenOpponentsAtTableLessThan = 5
FoldOrGoAllInWhenOpponentsAtTableLessThanStackSize = 10000000
AlwaysCallWhenOpponentsRaiseIsLessThan = 4
AlwaysCallWhenStackSizeIsLessThanTotalInvested = 80
Verbose = ON
AutoPlay = ON
UserDefinedGameType = 0
AutoRebuyAtUB = ON
AlwaysAskForTableName = OFF


custom
//version 1.5 updated 2/27/2010
preflop

//cash game codelines

When startingstacksize > 200% stacksize sitout force

 when (hand = AcKcAdKd or hand = AcKcAhKh or hand = AcKcAsKs or hand = AdKdAcKc or hand = AdKdAhKh or hand = AdKdAsKs or hand = AhKhAcKc or hand = AhKhAdKd or hand = AhKhAsKs or hand = AsKsAcKc or hand = AsKsAdKd or hand = AsKsAhKh) userH54
 when (hand = AcQcAdQd or hand = AcQcAhQh or hand = AcQcAsQs or hand = AdQdAcQc or hand = AdQdAhQh or hand = AdQdAsQs or hand = AhQhAcQc or hand = AhQhAdQd or hand = AhQhAsQs or hand = AsQsAcQc or hand = AsQsAdQd or hand = AsQsAhQh) userH50
 when (hand = KcQcKdQd or hand = KcQcKhQh or hand = KcQcKsQs or hand = KdQdKcQc or hand = KdQdKhQh or hand = KdQdKsQs or hand = KhQhKcQc or hand = KhQhKdQd or hand = KhQhKsQs or hand = KsQsKcQc or hand = KsQsKdQd or hand = KsQsKhQh) userH50
 when (hand = AcKcAdQd or hand = AcKcAhQh or hand = AcKcAsQs or hand = AdKdAcQc or hand = AdKdAhQh or hand = AdKdAsQs or hand = AhKhAcQc or hand = AhKhAdQd or hand = AhKhAsQs or hand = AsKsAcQc or hand = AsKsAdQd or hand = AsKsAhQh) userH48
 when (hand = AcJcAdJd or hand = AcJcAhJh or hand = AcJcAsJs or hand = AdJdAcJc or hand = AdJdAhJh or hand = AdJdAsJs or hand = AhJhAcJc or hand = AhJhAdJd or hand = AhJhAsJs or hand = AsJsAcJc or hand = AsJsAdJd or hand = AsJsAhJh) userH47
 when (hand = Ac5cAd5d or hand = Ac5cAh5h or hand = Ac5cAs5s or hand = Ad5dAc5c or hand = Ad5dAh5h or hand = Ad5dAs5s or hand = Ah5hAc5c or hand = Ah5hAd5d or hand = Ah5hAs5s or hand = As5sAc5c or hand = As5sAd5d or hand = As5sAh5h) userH47
 when (hand = Ac4cAd4d or hand = Ac4cAh4h or hand = Ac4cAs4s or hand = Ad4dAc4c or hand = Ad4dAh4h or hand = Ad4dAs4s or hand = Ah4hAc4c or hand = Ah4hAd4d or hand = Ah4hAs4s or hand = As4sAc4c or hand = As4sAd4d or hand = As4sAh4h) userH47
 when (hand = Ac3cAd3d or hand = Ac3cAh3h or hand = Ac3cAs3s or hand = Ad3dAc3c or hand = Ad3dAh3h or hand = Ad3dAs3s or hand = Ah3hAc3c or hand = Ah3hAd3d or hand = Ah3hAs3s or hand = As3sAc3c or hand = As3sAd3d or hand = As3sAh3h) userH47
 when (hand = Ac2cAd2d or hand = Ac2cAh2h or hand = Ac2cAs2s or hand = Ad2dAc2c or hand = Ad2dAh2h or hand = Ad2dAs2s or hand = Ah2hAc2c or hand = Ah2hAd2d or hand = Ah2hAs2s or hand = As2sAc2c or hand = As2sAd2d or hand = As2sAh2h) userH47
 when (suitsinhand = 3) and (hand = Ac5cA5 or hand = Ad5dA5 or hand = Ah5hA5 or hand = As5sA5) userH47
 when (hand = KcJcKdJd or hand = KcJcKhJh or hand = KcJcKsJs or hand = KdJdKcJc or hand = KdJdKhJh or hand = KdJdKsJs or hand = KhJhKcJc or hand = KhJhKdJd or hand = KhJhKsJs or hand = KsJsKcJc or hand = KsJsKdJd or hand = KsJsKhJh) userH47
 when (hand = AcQcAdJd or hand = AcQcAhJh or hand = AcQcAsJs or hand = AdQdAcJc or hand = AdQdAhJh or hand = AdQdAsJs or hand = AhQhAcJc or hand = AhQhAdJd or hand = AhQhAsJs or hand = AsQsAcJc or hand = AsQsAdJd or hand = AsQsAhJh) userH46
 when (hand = Ac7cAd5d or hand = Ac7cAh5h or hand = Ac7cAs5s or hand = Ad7dAc5c or hand = Ad7dAh5h or hand = Ad7dAs5s or hand = Ah7hAc5c or hand = Ah7hAd5d or hand = Ah7hAs5s or hand = As7sAc5c or hand = As7sAd5d or hand = As7sAh5h) userH46
 when (hand = AcKcAdJd or hand = AcKcAhJh or hand = AcKcAsJs or hand = AdKdAcJc or hand = AdKdAhJh or hand = AdKdAsJs or hand = AhKhAcJc or hand = AhKhAdJd or hand = AhKhAsJs or hand = AsKsAcJc or hand = AsKsAdJd or hand = AsKsAhJh) userH46
 when (hand = Ac5cAd4d or hand = Ac5cAh4h or hand = Ac5cAs4s or hand = Ad5dAc4c or hand = Ad5dAh4h or hand = Ad5dAs4s or hand = Ah5hAc4c or hand = Ah5hAd4d or hand = Ah5hAs4s or hand = As5sAc4c or hand = As5sAd4d or hand = As5sAh4h) userH46
 when (hand = Ac6cAd4d or hand = Ac6cAh4h or hand = Ac6cAs4s or hand = Ad6dAc4c or hand = Ad6dAh4h or hand = Ad6dAs4s or hand = Ah6hAc4c or hand = Ah6hAd4d or hand = Ah6hAs4s or hand = As6sAc4c or hand = As6sAd4d or hand = As6sAh4h) userH46
 when (hand = Ac5cAd3d or hand = Ac5cAh3h or hand = Ac5cAs3s or hand = Ad5dAc3c or hand = Ad5dAh3h or hand = Ad5dAs3s or hand = Ah5hAc3c or hand = Ah5hAd3d or hand = Ah5hAs3s or hand = As5sAc3c or hand = As5sAd3d or hand = As5sAh3h) userH46
 when (hand = Ac4cAd3d or hand = Ac4cAh3h or hand = Ac4cAs3s or hand = Ad4dAc3c or hand = Ad4dAh3h or hand = Ad4dAs3s or hand = Ah4hAc3c or hand = Ah4hAd3d or hand = Ah4hAs3s or hand = As4sAc3c or hand = As4sAd3d or hand = As4sAh3h) userH46
 when (suitsinhand = 3) and (hand = AcKcAK or hand = AdKdAK or hand = AhKhAK or hand = AsKsAK) userH46
 when (hand = Ac5cAd2d or hand = Ac5cAh2h or hand = Ac5cAs2s or hand = Ad5dAc2c or hand = Ad5dAh2h or hand = Ad5dAs2s or hand = Ah5hAc2c or hand = Ah5hAd2d or hand = Ah5hAs2s or hand = As5sAc2c or hand = As5sAd2d or hand = As5sAh2h) userH46
 when (hand = Ac3cAd2d or hand = Ac3cAh2h or hand = Ac3cAs2s or hand = Ad3dAc2c or hand = Ad3dAh2h or hand = Ad3dAs2s or hand = Ah3hAc2c or hand = Ah3hAd2d or hand = Ah3hAs2s or hand = As3sAc2c or hand = As3sAd2d or hand = As3sAh2h) userH46
 when (hand = KcQcKdJd or hand = KcQcKhJh or hand = KcQcKsJs or hand = KdQdKcJc or hand = KdQdKhJh or hand = KdQdKsJs or hand = KhQhKcJc or hand = KhQhKdJd or hand = KhQhKsJs or hand = KsQsKcJc or hand = KsQsKdJd or hand = KsQsKhJh) userH46
 when (hand = QcJcQdJd or hand = QcJcQhJh or hand = QcJcQsJs or hand = QdJdQcJc or hand = QdJdQhJh or hand = QdJdQsJs or hand = QhJhQcJc or hand = QhJhQdJd or hand = QhJhQsJs or hand = QsJsQcJc or hand = QsJsQdJd or hand = QsJsQhJh) userH45
 when (hand = AcTcAdTd or hand = AcTcAhTh or hand = AcTcAsTs or hand = AdTdAcTc or hand = AdTdAhTh or hand = AdTdAsTs or hand = AhThAcTc or hand = AhThAdTd or hand = AhThAsTs or hand = AsTsAcTc or hand = AsTsAdTd or hand = AsTsAhTh) userH44
 when (hand = AcJcAdTd or hand = AcJcAhTh or hand = AcJcAsTs or hand = AdJdAcTc or hand = AdJdAhTh or hand = AdJdAsTs or hand = AhJhAcTc or hand = AhJhAdTd or hand = AhJhAsTs or hand = AsJsAcTc or hand = AsJsAdTd or hand = AsJsAhTh) userH44
 when (hand = Ac9cAd9d or hand = Ac9cAh9h or hand = Ac9cAs9s or hand = Ad9dAc9c or hand = Ad9dAh9h or hand = Ad9dAs9s or hand = Ah9hAc9c or hand = Ah9hAd9d or hand = Ah9hAs9s or hand = As9sAc9c or hand = As9sAd9d or hand = As9sAh9h) userH44
 when (hand = AcQcAdTd or hand = AcQcAhTh or hand = AcQcAsTs or hand = AdQdAcTc or hand = AdQdAhTh or hand = AdQdAsTs or hand = AhQhAcTc or hand = AhQhAdTd or hand = AhQhAsTs or hand = AsQsAcTc or hand = AsQsAdTd or hand = AsQsAhTh) userH44
 when (hand = AcKcAdTd or hand = AcKcAhTh or hand = AcKcAsTs or hand = AdKdAcTc or hand = AdKdAhTh or hand = AdKdAsTs or hand = AhKhAcTc or hand = AhKhAdTd or hand = AhKhAsTs or hand = AsKsAcTc or hand = AsKsAdTd or hand = AsKsAhTh) userH44
 when (hand = Ac8cAd5d or hand = Ac8cAh5h or hand = Ac8cAs5s or hand = Ad8dAc5c or hand = Ad8dAh5h or hand = Ad8dAs5s or hand = Ah8hAc5c or hand = Ah8hAd5d or hand = Ah8hAs5s or hand = As8sAc5c or hand = As8sAd5d or hand = As8sAh5h) userH44
 when (hand = Ac7cAd4d or hand = Ac7cAh4h or hand = Ac7cAs4s or hand = Ad7dAc4c or hand = Ad7dAh4h or hand = Ad7dAs4s or hand = Ah7hAc4c or hand = Ah7hAd4d or hand = Ah7hAs4s or hand = As7sAc4c or hand = As7sAd4d or hand = As7sAh4h) userH44
 when (hand = AcKcAd4d or hand = AcKcAh4h or hand = AcKcAs4s or hand = AdKdAc4c or hand = AdKdAh4h or hand = AdKdAs4s or hand = AhKhAc4c or hand = AhKhAd4d or hand = AhKhAs4s or hand = AsKsAc4c or hand = AsKsAd4d or hand = AsKsAh4h) userH44
 when (hand = AcKcAd5d or hand = AcKcAh5h or hand = AcKcAs5s or hand = AdKdAc5c or hand = AdKdAh5h or hand = AdKdAs5s or hand = AhKhAc5c or hand = AhKhAd5d or hand = AhKhAs5s or hand = AsKsAc5c or hand = AsKsAd5d or hand = AsKsAh5h) userH44
 when (hand = AcKcAd3d or hand = AcKcAh3h or hand = AcKcAs3s or hand = AdKdAc3c or hand = AdKdAh3h or hand = AdKdAs3s or hand = AhKhAc3c or hand = AhKhAd3d or hand = AhKhAs3s or hand = AsKsAc3c or hand = AsKsAd3d or hand = AsKsAh3h) userH44
 when (hand = AcKcAd2d or hand = AcKcAh2h or hand = AcKcAs2s or hand = AdKdAc2c or hand = AdKdAh2h or hand = AdKdAs2s or hand = AhKhAc2c or hand = AhKhAd2d or hand = AhKhAs2s or hand = AsKsAc2c or hand = AsKsAd2d or hand = AsKsAh2h) userH44
 when (hand = Ac6cAd3d or hand = Ac6cAh3h or hand = Ac6cAs3s or hand = Ad6dAc3c or hand = Ad6dAh3h or hand = Ad6dAs3s or hand = Ah6hAc3c or hand = Ah6hAd3d or hand = Ah6hAs3s or hand = As6sAc3c or hand = As6sAd3d or hand = As6sAh3h) userH44
 when (hand = AcKcKdQd or hand = AcKcKhQh or hand = AcKcKsQs or hand = AdKdKcQc or hand = AdKdKhQh or hand = AdKdKsQs or hand = AhKhKcQc or hand = AhKhKdQd or hand = AhKhKsQs or hand = AsKsKcQc or hand = AsKsKdQd or hand = AsKsKhQh) userH44
 when (hand = KcTcKdTd or hand = KcTcKhTh or hand = KcTcKsTs or hand = KdTdKcTc or hand = KdTdKhTh or hand = KdTdKsTs or hand = KhThKcTc or hand = KhThKdTd or hand = KhThKsTs or hand = KsTsKcTc or hand = KsTsKdTd or hand = KsTsKhTh) userH44
 when (hand = KcJcKdTd or hand = KcJcKhTh or hand = KcJcKsTs or hand = KdJdKcTc or hand = KdJdKhTh or hand = KdJdKsTs or hand = KhJhKcTc or hand = KhJhKdTd or hand = KhJhKsTs or hand = KsJsKcTc or hand = KsJsKdTd or hand = KsJsKhTh) userH44
 when (hand = KcQcKdTd or hand = KcQcKhTh or hand = KcQcKsTs or hand = KdQdKcTc or hand = KdQdKhTh or hand = KdQdKsTs or hand = KhQhKcTc or hand = KhQhKdTd or hand = KhQhKsTs or hand = KsQsKcTc or hand = KsQsKdTd or hand = KsQsKhTh) userH44
 when (suitsinhand = 3) and (hand = KcQcKQ or hand = KdQdKQ or hand = KhQhKQ or hand = KsQsKQ) userH44
 when (suitsinhand = 3) and (hand = KcJcK7 or hand = KdJdK7 or hand = KhJhK7 or hand = KsJsK7) userH44
 when (hand = KcQcQdJd or hand = KcQcQhJh or hand = KcQcQsJs or hand = KdQdQcJc or hand = KdQdQhJh or hand = KdQdQsJs or hand = KhQhQcJc or hand = KhQhQdJd or hand = KhQhQsJs or hand = KsQsQcJc or hand = KsQsQdJd or hand = KsQsQhJh) userH43
 when (suitsinhand = 3) and (hand = KcQcQJ or hand = KdQdQJ or hand = KhQhQJ or hand = KsQsQJ) userH43
 when (hand = Ac8cAd8d or hand = Ac8cAh8h or hand = Ac8cAs8s or hand = Ad8dAc8c or hand = Ad8dAh8h or hand = Ad8dAs8s or hand = Ah8hAc8c or hand = Ah8hAd8d or hand = Ah8hAs8s or hand = As8sAc8c or hand = As8sAd8d or hand = As8sAh8h) userH42
 when (hand = AcTcAd9d or hand = AcTcAh9h or hand = AcTcAs9s or hand = AdTdAc9c or hand = AdTdAh9h or hand = AdTdAs9s or hand = AhThAc9c or hand = AhThAd9d or hand = AhThAs9s or hand = AsTsAc9c or hand = AsTsAd9d or hand = AsTsAh9h) userH42
 when (hand = Ac9cAd8d or hand = Ac9cAh8h or hand = Ac9cAs8s or hand = Ad9dAc8c or hand = Ad9dAh8h or hand = Ad9dAs8s or hand = Ah9hAc8c or hand = Ah9hAd8d or hand = Ah9hAs8s or hand = As9sAc8c or hand = As9sAd8d or hand = As9sAh8h) userH42
 when (hand = AcJcAd9d or hand = AcJcAh9h or hand = AcJcAs9s or hand = AdJdAc9c or hand = AdJdAh9h or hand = AdJdAs9s or hand = AhJhAc9c or hand = AhJhAd9d or hand = AhJhAs9s or hand = AsJsAc9c or hand = AsJsAd9d or hand = AsJsAh9h) userH42
 when (hand = Ac7cAd6d or hand = Ac7cAh6h or hand = Ac7cAs6s or hand = Ad7dAc6c or hand = Ad7dAh6h or hand = Ad7dAs6s or hand = Ah7hAc6c or hand = Ah7hAd6d or hand = Ah7hAs6s or hand = As7sAc6c or hand = As7sAd6d or hand = As7sAh6h) userH42
 when (hand = Ac8cAd7d or hand = Ac8cAh7h or hand = Ac8cAs7s or hand = Ad8dAc7c or hand = Ad8dAh7h or hand = Ad8dAs7s or hand = Ah8hAc7c or hand = Ah8hAd7d or hand = Ah8hAs7s or hand = As8sAc7c or hand = As8sAd7d or hand = As8sAh7h) userH42
 when (hand = AcQcAd9d or hand = AcQcAh9h or hand = AcQcAs9s or hand = AdQdAc9c or hand = AdQdAh9h or hand = AdQdAs9s or hand = AhQhAc9c or hand = AhQhAd9d or hand = AhQhAs9s or hand = AsQsAc9c or hand = AsQsAd9d or hand = AsQsAh9h) userH42
 when (hand = AcQcAd5d or hand = AcQcAh5h or hand = AcQcAs5s or hand = AdQdAc5c or hand = AdQdAh5h or hand = AdQdAs5s or hand = AhQhAc5c or hand = AhQhAd5d or hand = AhQhAs5s or hand = AsQsAc5c or hand = AsQsAd5d or hand = AsQsAh5h) userH42
 when (hand = Ac9cAd5d or hand = Ac9cAh5h or hand = Ac9cAs5s or hand = Ad9dAc5c or hand = Ad9dAh5h or hand = Ad9dAs5s or hand = Ah9hAc5c or hand = Ah9hAd5d or hand = Ah9hAs5s or hand = As9sAc5c or hand = As9sAd5d or hand = As9sAh5h) userH42
 when (hand = Ac8cAd4d or hand = Ac8cAh4h or hand = Ac8cAs4s or hand = Ad8dAc4c or hand = Ad8dAh4h or hand = Ad8dAs4s or hand = Ah8hAc4c or hand = Ah8hAd4d or hand = Ah8hAs4s or hand = As8sAc4c or hand = As8sAd4d or hand = As8sAh4h) userH42
 when (suitsinhand = 3) and (hand = AcQcAQ or hand = AdQdAQ or hand = AhQhAQ or hand = AsQsAQ) userH42
 when (hand = AcQcAd3d or hand = AcQcAh3h or hand = AcQcAs3s or hand = AdQdAc3c or hand = AdQdAh3h or hand = AdQdAs3s or hand = AhQhAc3c or hand = AhQhAd3d or hand = AhQhAs3s or hand = AsQsAc3c or hand = AsQsAd3d or hand = AsQsAh3h) userH42
 when (hand = AcQcAd4d or hand = AcQcAh4h or hand = AcQcAs4s or hand = AdQdAc4c or hand = AdQdAh4h or hand = AdQdAs4s or hand = AhQhAc4c or hand = AhQhAd4d or hand = AhQhAs4s or hand = AsQsAc4c or hand = AsQsAd4d or hand = AsQsAh4h) userH42
 when (hand = AcKcAd9d or hand = AcKcAh9h or hand = AcKcAs9s or hand = AdKdAc9c or hand = AdKdAh9h or hand = AdKdAs9s or hand = AhKhAc9c or hand = AhKhAd9d or hand = AhKhAs9s or hand = AsKsAc9c or hand = AsKsAd9d or hand = AsKsAh9h) userH42
 when (hand = Ac7cAd3d or hand = Ac7cAh3h or hand = Ac7cAs3s or hand = Ad7dAc3c or hand = Ad7dAh3h or hand = Ad7dAs3s or hand = Ah7hAc3c or hand = Ah7hAd3d or hand = Ah7hAs3s or hand = As7sAc3c or hand = As7sAd3d or hand = As7sAh3h) userH42
 when (hand = AcQcAd2d or hand = AcQcAh2h or hand = AcQcAs2s or hand = AdQdAc2c or hand = AdQdAh2h or hand = AdQdAs2s or hand = AhQhAc2c or hand = AhQhAd2d or hand = AhQhAs2s or hand = AsQsAc2c or hand = AsQsAd2d or hand = AsQsAh2h) userH42
 when (suitsinhand = 3) and (hand = AcTcA9 or hand = AdTdA9 or hand = AhThA9 or hand = AsTsA9) userH42
 when (hand = Ac6cAd2d or hand = Ac6cAh2h or hand = Ac6cAs2s or hand = Ad6dAc2c or hand = Ad6dAh2h or hand = Ad6dAs2s or hand = Ah6hAc2c or hand = Ah6hAd2d or hand = Ah6hAs2s or hand = As6sAc2c or hand = As6sAd2d or hand = As6sAh2h) userH42
 when (hand = AcKcKdJd or hand = AcKcKhJh or hand = AcKcKsJs or hand = AdKdKcJc or hand = AdKdKhJh or hand = AdKdKsJs or hand = AhKhKcJc or hand = AhKhKdJd or hand = AhKhKsJs or hand = AsKsKcJc or hand = AsKsKdJd or hand = AsKsKhJh) userH42
 when (suitsinhand = 3) and (hand = Ac9cAQ or hand = Ad9dAQ or hand = Ah9hAQ or hand = As9sAQ) userH42
 when (suitsinhand = 3) and (hand = Ac5cAQ or hand = Ad5dAQ or hand = Ah5hAQ or hand = As5sAQ) userH42
 when (hand = AcQcKdQd or hand = AcQcKhQh or hand = AcQcKsQs or hand = AdQdKcQc or hand = AdQdKhQh or hand = AdQdKsQs or hand = AhQhKcQc or hand = AhQhKdQd or hand = AhQhKsQs or hand = AsQsKcQc or hand = AsQsKdQd or hand = AsQsKhQh) userH42
 when (hand = KcTcKd9d or hand = KcTcKh9h or hand = KcTcKs9s or hand = KdTdKc9c or hand = KdTdKh9h or hand = KdTdKs9s or hand = KhThKc9c or hand = KhThKd9d or hand = KhThKs9s or hand = KsTsKc9c or hand = KsTsKd9d or hand = KsTsKh9h) userH42
 when (hand = QcTcQdTd or hand = QcTcQhTh or hand = QcTcQsTs or hand = QdTdQcTc or hand = QdTdQhTh or hand = QdTdQsTs or hand = QhThQcTc or hand = QhThQdTd or hand = QhThQsTs or hand = QsTsQcTc or hand = QsTsQdTd or hand = QsTsQhTh) userH42
 when (hand = KcJcKd9d or hand = KcJcKh9h or hand = KcJcKs9s or hand = KdJdKc9c or hand = KdJdKh9h or hand = KdJdKs9s or hand = KhJhKc9c or hand = KhJhKd9d or hand = KhJhKs9s or hand = KsJsKc9c or hand = KsJsKd9d or hand = KsJsKh9h) userH42
 when (hand = KcQcKd9d or hand = KcQcKh9h or hand = KcQcKs9s or hand = KdQdKc9c or hand = KdQdKh9h or hand = KdQdKs9s or hand = KhQhKc9c or hand = KhQhKd9d or hand = KhQhKs9s or hand = KsQsKc9c or hand = KsQsKd9d or hand = KsQsKh9h) userH42
 when (suitsinhand = 3) and (hand = KcTcK9 or hand = KdTdK9 or hand = KhThK9 or hand = KsTsK9) userH42
 when (hand = QcJcQdTd or hand = QcJcQhTh or hand = QcJcQsTs or hand = QdJdQcTc or hand = QdJdQhTh or hand = QdJdQsTs or hand = QhJhQcTc or hand = QhJhQdTd or hand = QhJhQsTs or hand = QsJsQcTc or hand = QsJsQdTd or hand = QsJsQhTh) userH42
 when (hand = KcJcQdJd or hand = KcJcQhJh or hand = KcJcQsJs or hand = KdJdQcJc or hand = KdJdQhJh or hand = KdJdQsJs or hand = KhJhQcJc or hand = KhJhQdJd or hand = KhJhQsJs or hand = KsJsQcJc or hand = KsJsQdJd or hand = KsJsQhJh) userH42
 when (hand = QcJcJdTd or hand = QcJcJhTh or hand = QcJcJsTs or hand = QdJdJcTc or hand = QdJdJhTh or hand = QdJdJsTs or hand = QhJhJcTc or hand = QhJhJdTd or hand = QhJhJsTs or hand = QsJsJcTc or hand = QsJsJdTd or hand = QsJsJhTh) userH42
 when (hand = Ac6cAd6d or hand = Ac6cAh6h or hand = Ac6cAs6s or hand = Ad6dAc6c or hand = Ad6dAh6h or hand = Ad6dAs6s or hand = Ah6hAc6c or hand = Ah6hAd6d or hand = Ah6hAs6s or hand = As6sAc6c or hand = As6sAd6d or hand = As6sAh6h) userH41
 when (hand = Ac7cAd7d or hand = Ac7cAh7h or hand = Ac7cAs7s or hand = Ad7dAc7c or hand = Ad7dAh7h or hand = Ad7dAs7s or hand = Ah7hAc7c or hand = Ah7hAd7d or hand = Ah7hAs7s or hand = As7sAc7c or hand = As7sAd7d or hand = As7sAh7h) userH41
 when (hand = Ac6cAd5d or hand = Ac6cAh5h or hand = Ac6cAs5s or hand = Ad6dAc5c or hand = Ad6dAh5h or hand = Ad6dAs5s or hand = Ah6hAc5c or hand = Ah6hAd5d or hand = Ah6hAs5s or hand = As6sAc5c or hand = As6sAd5d or hand = As6sAh5h) userH41
 when (suitsinhand = 3) and (hand = KcJcKJ or hand = KdJdKJ or hand = KhJhKJ or hand = KsJsKJ) userH41
 when (hand = JcTcJdTd or hand = JcTcJhTh or hand = JcTcJsTs or hand = JdTdJcTc or hand = JdTdJhTh or hand = JdTdJsTs or hand = JhThJcTc or hand = JhThJdTd or hand = JhThJsTs or hand = JsTsJcTc or hand = JsTsJdTd or hand = JsTsJhTh) userH41
 when (hand = KcQcQdTd or hand = KcQcQhTh or hand = KcQcQsTs or hand = KdQdQcTc or hand = KdQdQhTh or hand = KdQdQsTs or hand = KhQhQcTc or hand = KhQhQdTd or hand = KhQhQsTs or hand = KsQsQcTc or hand = KsQsQdTd or hand = KsQsQhTh) userH41
 when (hand = Ac9cAd7d or hand = Ac9cAh7h or hand = Ac9cAs7s or hand = Ad9dAc7c or hand = Ad9dAh7h or hand = Ad9dAs7s or hand = Ah9hAc7c or hand = Ah9hAd7d or hand = Ah9hAs7s or hand = As9sAc7c or hand = As9sAd7d or hand = As9sAh7h) userH40
 when (hand = Ac8cAd6d or hand = Ac8cAh6h or hand = Ac8cAs6s or hand = Ad8dAc6c or hand = Ad8dAh6h or hand = Ad8dAs6s or hand = Ah8hAc6c or hand = Ah8hAd6d or hand = Ah8hAs6s or hand = As8sAc6c or hand = As8sAd6d or hand = As8sAh6h) userH40
 when (hand = AcJcAd5d or hand = AcJcAh5h or hand = AcJcAs5s or hand = AdJdAc5c or hand = AdJdAh5h or hand = AdJdAs5s or hand = AhJhAc5c or hand = AhJhAd5d or hand = AhJhAs5s or hand = AsJsAc5c or hand = AsJsAd5d or hand = AsJsAh5h) userH40
 when (hand = AcJcAd4d or hand = AcJcAh4h or hand = AcJcAs4s or hand = AdJdAc4c or hand = AdJdAh4h or hand = AdJdAs4s or hand = AhJhAc4c or hand = AhJhAd4d or hand = AhJhAs4s or hand = AsJsAc4c or hand = AsJsAd4d or hand = AsJsAh4h) userH40
 when (hand = AcJcAd3d or hand = AcJcAh3h or hand = AcJcAs3s or hand = AdJdAc3c or hand = AdJdAh3h or hand = AdJdAs3s or hand = AhJhAc3c or hand = AhJhAd3d or hand = AhJhAs3s or hand = AsJsAc3c or hand = AsJsAd3d or hand = AsJsAh3h) userH40
 when (hand = AcJcAd2d or hand = AcJcAh2h or hand = AcJcAs2s or hand = AdJdAc2c or hand = AdJdAh2h or hand = AdJdAs2s or hand = AhJhAc2c or hand = AhJhAd2d or hand = AhJhAs2s or hand = AsJsAc2c or hand = AsJsAd2d or hand = AsJsAh2h) userH40
 when (hand = Ac4cAd2d or hand = Ac4cAh2h or hand = Ac4cAs2s or hand = Ad4dAc2c or hand = Ad4dAh2h or hand = Ad4dAs2s or hand = Ah4hAc2c or hand = Ah4hAd2d or hand = Ah4hAs2s or hand = As4sAc2c or hand = As4sAd2d or hand = As4sAh2h) userH40
 when (hand = Ac9cAd4d or hand = Ac9cAh4h or hand = Ac9cAs4s or hand = Ad9dAc4c or hand = Ad9dAh4h or hand = Ad9dAs4s or hand = Ah9hAc4c or hand = Ah9hAd4d or hand = Ah9hAs4s or hand = As9sAc4c or hand = As9sAd4d or hand = As9sAh4h) userH40
 when (hand = Ac9cAd3d or hand = Ac9cAh3h or hand = Ac9cAs3s or hand = Ad9dAc3c or hand = Ad9dAh3h or hand = Ad9dAs3s or hand = Ah9hAc3c or hand = Ah9hAd3d or hand = Ah9hAs3s or hand = As9sAc3c or hand = As9sAd3d or hand = As9sAh3h) userH40
 when (hand = Ac8cAd3d or hand = Ac8cAh3h or hand = Ac8cAs3s or hand = Ad8dAc3c or hand = Ad8dAh3h or hand = Ad8dAs3s or hand = Ah8hAc3c or hand = Ah8hAd3d or hand = Ah8hAs3s or hand = As8sAc3c or hand = As8sAd3d or hand = As8sAh3h) userH40
 when (hand = Ac9cAd2d or hand = Ac9cAh2h or hand = Ac9cAs2s or hand = Ad9dAc2c or hand = Ad9dAh2h or hand = Ad9dAs2s or hand = Ah9hAc2c or hand = Ah9hAd2d or hand = Ah9hAs2s or hand = As9sAc2c or hand = As9sAd2d or hand = As9sAh2h) userH40
 when (hand = Ac8cAd2d or hand = Ac8cAh2h or hand = Ac8cAs2s or hand = Ad8dAc2c or hand = Ad8dAh2h or hand = Ad8dAs2s or hand = Ah8hAc2c or hand = Ah8hAd2d or hand = Ah8hAs2s or hand = As8sAc2c or hand = As8sAd2d or hand = As8sAh2h) userH40
 when (hand = Ac7cAd2d or hand = Ac7cAh2h or hand = Ac7cAs2s or hand = Ad7dAc2c or hand = Ad7dAh2h or hand = Ad7dAs2s or hand = Ah7hAc2c or hand = Ah7hAd2d or hand = Ah7hAs2s or hand = As7sAc2c or hand = As7sAd2d or hand = As7sAh2h) userH40
 when (suitsinhand = 3) and (hand = AcQcAK or hand = AdQdAK or hand = AhQhAK or hand = AsQsAK) userH40
 when (suitsinhand = 3) and (hand = AcKcAQ or hand = AdKdAQ or hand = AhKhAQ or hand = AsKsAQ) userH40
 when (suitsinhand = 3) and (hand = Ac6cA5 or hand = Ad6dA5 or hand = Ah6hA5 or hand = As6sA5) userH40
 when (suitsinhand = 3) and (hand = Ac5cA6 or hand = Ad5dA6 or hand = Ah5hA6 or hand = As5sA6) userH40
 when (hand = AcKcKdTd or hand = AcKcKhTh or hand = AcKcKsTs or hand = AdKdKcTc or hand = AdKdKhTh or hand = AdKdKsTs or hand = AhKhKcTc or hand = AhKhKdTd or hand = AhKhKsTs or hand = AsKsKcTc or hand = AsKsKdTd or hand = AsKsKhTh) userH40
 when (hand = AcKcKd5d or hand = AcKcKh5h or hand = AcKcKs5s or hand = AdKdKc5c or hand = AdKdKh5h or hand = AdKdKs5s or hand = AhKhKc5c or hand = AhKhKd5d or hand = AhKhKs5s or hand = AsKsKc5c or hand = AsKsKd5d or hand = AsKsKh5h) userH40
 when (suitsinhand = 3) and (hand = AcJcA3 or hand = AdJdA3 or hand = AhJhA3 or hand = AsJsA3) userH40
 when (hand = AcKcKd4d or hand = AcKcKh4h or hand = AcKcKs4s or hand = AdKdKc4c or hand = AdKdKh4h or hand = AdKdKs4s or hand = AhKhKc4c or hand = AhKhKd4d or hand = AhKhKs4s or hand = AsKsKc4c or hand = AsKsKd4d or hand = AsKsKh4h) userH40
 when (hand = AcKcKd3d or hand = AcKcKh3h or hand = AcKcKs3s or hand = AdKdKc3c or hand = AdKdKh3h or hand = AdKdKs3s or hand = AhKhKc3c or hand = AhKhKd3d or hand = AhKhKs3s or hand = AsKsKc3c or hand = AsKsKd3d or hand = AsKsKh3h) userH40
 when (hand = AcKcKd2d or hand = AcKcKh2h or hand = AcKcKs2s or hand = AdKdKc2c or hand = AdKdKh2h or hand = AdKdKs2s or hand = AhKhKc2c or hand = AhKhKd2d or hand = AhKhKs2s or hand = AsKsKc2c or hand = AsKsKd2d or hand = AsKsKh2h) userH40
 when (hand = Kc9cKd9d or hand = Kc9cKh9h or hand = Kc9cKs9s or hand = Kd9dKc9c or hand = Kd9dKh9h or hand = Kd9dKs9s or hand = Kh9hKc9c or hand = Kh9hKd9d or hand = Kh9hKs9s or hand = Ks9sKc9c or hand = Ks9sKd9d or hand = Ks9sKh9h) userH40
 when (hand = KcTcKd8d or hand = KcTcKh8h or hand = KcTcKs8s or hand = KdTdKc8c or hand = KdTdKh8h or hand = KdTdKs8s or hand = KhThKc8c or hand = KhThKd8d or hand = KhThKs8s or hand = KsTsKc8c or hand = KsTsKd8d or hand = KsTsKh8h) userH40
 when (hand = Kc9cKd8d or hand = Kc9cKh8h or hand = Kc9cKs8s or hand = Kd9dKc8c or hand = Kd9dKh8h or hand = Kd9dKs8s or hand = Kh9hKc8c or hand = Kh9hKd8d or hand = Kh9hKs8s or hand = Ks9sKc8c or hand = Ks9sKd8d or hand = Ks9sKh8h) userH40
 when (hand = KcQcKd8d or hand = KcQcKh8h or hand = KcQcKs8s or hand = KdQdKc8c or hand = KdQdKh8h or hand = KdQdKs8s or hand = KhQhKc8c or hand = KhQhKd8d or hand = KhQhKs8s or hand = KsQsKc8c or hand = KsQsKd8d or hand = KsQsKh8h) userH40
 when (suitsinhand = 3) and (hand = QcJcQJ or hand = QdJdQJ or hand = QhJhQJ or hand = QsJsQJ) userH40


Title: Re: Omaha Coding Info
Post by: Egor on February 29, 2020, 12:19:56 AM
Quote
When startingstacksize > 200% stacksize sitout force

Are you intending to sit out after losing 2/3 of your starting stack?


Title: Re: Omaha Coding Info
Post by: tapthatace on February 29, 2020, 02:06:37 AM
Are you intending to sit out after losing 2/3 of your starting stack?

No that wasn't my intention with that -- I was thinking that when I lost 200% of my stack thinking that would mean 2 buyins

I still believe there is an error as to why it didn't read my QQJJ hand and that shouldn't be relevant to that line of code --- I was only running one table at the time so I don't believe it was a misfired because another table has the focus.


Title: Re: Omaha Coding Info
Post by: Egor on February 29, 2020, 04:03:09 AM
I am not spotting the error here. Do any of these lines ever get set true?


Title: Re: Omaha Coding Info
Post by: tapthatace on March 01, 2020, 04:45:36 PM
I am not spotting the error here. Do any of these lines ever get set true?

I feel like the answer is yes -- but I want proof so I will let you know I have a hand that qualifies -- since these are such premium hands it could take a while :-(


Title: Re: Omaha Coding Info
Post by: tapthatace on March 01, 2020, 06:25:35 PM
Line 292 has been the closest so far to run -- which runs a bit later so it isn't giving me exactly what we want in this test --- I am going to say there is no WHEN statement that is different which would stop my previous line to run.  Still hunting for a line to run which is above the line in question.  How often could the bot and the table get out of sync?  I haven't seen it very often but wondering if that is the cause of my line to not run?

when (suitsinhand = 3) and (hand = KcQcK9 or hand = KdQdK9 or hand = KhQhK9 or hand = KsQsK9) userH36


Title: Re: Omaha Coding Info
Post by: Egor on March 01, 2020, 06:29:51 PM
"out of synch" would only potentially happen when multi-tabling


Title: Re: Omaha Coding Info
Post by: tapthatace on March 02, 2020, 01:59:28 PM
This answers your question above --- it is reading code prior to that line -- Line 88 was read. 

Shanky Technologies Omaha Hi Version 10.0.5 Hand: Ac Ad Qc 2d
Players = 3 hands played in session = 9
in timer: players = 3, folds in game= 1, raises = 0, checks = 0, calls = 0, bets = 0, folds = 1
casino = Americas 6 Max, Pot Limit Cash, BB = 0.10, Pot = 5 BBs, Stack = 7.62, TI = 3 BBs
Amount To Call = 0 BBs
In Button
Default Profile: "Om Hi 4.5", Action = raisepot
User defined variable userH42 set to true at line 88
User defined variable userGroup1 set to true at line 3054
Matching user defined condition at line 3069, Action = raisepot force


Title: Re: Omaha Coding Info
Post by: Egor on March 02, 2020, 06:44:57 PM
what is line 88 please?


Title: Re: Omaha Coding Info
Post by: tapthatace on March 03, 2020, 01:42:30 PM
what is line 88 please?

when (hand = AcQcAd2d or hand = AcQcAh2h or hand = AcQcAs2s or hand = AdQdAc2c or hand = AdQdAh2h or hand = AdQdAs2s or hand = AhQhAc2c or hand = AhQhAd2d or hand = AhQhAs2s or hand = AsQsAc2c or hand = AsQsAd2d or hand = AsQsAh2h) userH42


So as I am designing my preflop ranges that I want to assign a userH score too I do this in a spreadsheet that will create the code for me based on a few things the hand makeup so here is a few examples
1. (AK)(A2) - means double suited hand and I assign a DS as the code value and then I have an Excel formula that creates the PPL code for me.
2. (KQ)KQ - means 1 suit with 2 random suits and this then executes another formula to generate the PPL code for me.
3. AA (KQ) - means the last two cards are backsuited and another formula create my PPL code.
4. (K64)4 - means first 3 cards are suited and last card is any random suit and I generate code for this PPL situation

I do this so as I identify another hand that I want to handle with my PPL code I just type the hand into a field in an excel spreadsheet and it generates my PPL making it easier and more consistent for me.  Line 88 above uses the code for Double Suited hands --- so all my DS hands use the exact same PPL code and only interchanged the cards.

Line 136 would use the code that is generated for having 1 Suit w/ ran2 and that code looks like this:
when (suitsinhand = 3) and (hand = QcJcQJ or hand = QdJdQJ or hand = QhJhQJ or hand = QsJsQJ) userH40

Here is a pic of my spreadsheet showing what I am talking about
http://prntscr.com/rax6xk (http://prntscr.com/rax6xk)



Title: Re: Omaha Coding Info
Post by: Egor on March 03, 2020, 06:41:19 PM
What I am trying to discover is whether there is a problem with (suitsinhand = 3)

I have never used it and it is possible no one ever has. Please try to see if a line that includes this ever gets set true.

 dankk2.gif


Title: Re: Omaha Coding Info
Post by: tapthatace on March 03, 2020, 06:52:48 PM
What I am trying to discover is whether there is a problem with (suitsinhand = 3)

I have never used it and it is possible no one ever has. Please try to see if a line that includes this ever gets set true.

 dankk2.gif

Sure thing -- thanks!


Title: Re: Omaha Coding Info
Post by: tapthatace on March 03, 2020, 07:25:09 PM
so I included the following code at the beginning of preflop

// test to see if suitsinhand is working as it should

When suitsinhand = 1 userSuitsInHand1
when suitsinhand = 2 userSuitsInHand2
when suitsinhand = 3 userSuitsInHand3
when suitsinhand = 4 userSuitsInHand4

It is reading the suitinhand = 3

Shanky Technologies Omaha Hi Version 10.0.5 Hand: 2d Jh 7c Ad
Players = 5 hands played in session = 1
in timer: players = 5, folds in game= 2, raises = 0, checks = 0, calls = 0, bets = 0, folds = 2
casino = Americas 6 Max, Pot Limit Cash, BB = 0.02, Pot = 2 BBs, Stack = 1.98, TI = 1 BBs
Amount To Call = 0 BBs
Default Profile: "Om Hi 4.5", Action = fold
User defined variable userSuitsInHand3 set to true at line 30


Title: Re: Omaha Coding Info
Post by: Egor on March 03, 2020, 07:46:01 PM
Well in that case I don't know where the bug is in your OG hand or even if there is one.


Title: Re: Omaha Coding Info
Post by: tapthatace on March 03, 2020, 07:46:55 PM
Shanky Technologies Omaha Hi Version 10.0.5 Hand: 6d 8h Qc Qd
Players = 5 hands played in session = 17
in timer: players = 5, folds in game= 2, raises = 0, checks = 0, calls = 2, bets = 0, folds = 2
casino = Americas 6 Max, Pot Limit Cash, BB = 0.10, Pot = 3 BBs, Stack = 10.13, TI = 0 BBs
Amount To Call = 0 BBs
In Small Blind
Default Profile: "Om Hi 4.5", Action = call
User defined variable userSuitsInHand3 set to true at line 30
User defined variable userH27 set to true at line 1730
User defined variable userGroup4 set to true at line 3065
Matching user defined condition at line 3087, Action = call force
clicking Call

line 1730: when (suitsinhand = 3) and (hand = Qc6cQ8 or hand = Qd6dQ8 or hand = Qh6hQ8 or hand = Qs6sQ8) userH27


Title: Re: Omaha Coding Info
Post by: tapthatace on March 03, 2020, 07:48:28 PM
Well in that case I don't know where the bug is in your OG hand or even if there is one.

okay thanks for all your support  -- I will continue to monitor while playing!


Title: Re: Omaha Coding Info
Post by: Maxxi7 on May 02, 2020, 06:39:03 AM
when (hand = AcQcAd2d or hand = AcQcAh2h or hand = AcQcAs2s or hand = AdQdAc2c or hand = AdQdAh2h or hand = AdQdAs2s or hand = AhQhAc2c or hand = AhQhAd2d or hand = AhQhAs2s or hand = AsQsAc2c or hand = AsQsAd2d or hand = AsQsAh2h) userH42


So as I am designing my preflop ranges that I want to assign a userH score too I do this in a spreadsheet that will create the code for me based on a few things the hand makeup so here is a few examples
1. (AK)(A2) - means double suited hand and I assign a DS as the code value and then I have an Excel formula that creates the PPL code for me.
2. (KQ)KQ - means 1 suit with 2 random suits and this then executes another formula to generate the PPL code for me.
3. AA (KQ) - means the last two cards are backsuited and another formula create my PPL code.
4. (K64)4 - means first 3 cards are suited and last card is any random suit and I generate code for this PPL situation

I do this so as I identify another hand that I want to handle with my PPL code I just type the hand into a field in an excel spreadsheet and it generates my PPL making it easier and more consistent for me.  Line 88 above uses the code for Double Suited hands --- so all my DS hands use the exact same PPL code and only interchanged the cards.

Line 136 would use the code that is generated for having 1 Suit w/ ran2 and that code looks like this:
when (suitsinhand = 3) and (hand = QcJcQJ or hand = QdJdQJ or hand = QhJhQJ or hand = QsJsQJ) userH40

Here is a pic of my spreadsheet showing what I am talking about
http://prntscr.com/rax6xk (http://prntscr.com/rax6xk)



This is interesting, mind sharing the generator ?


Title: Re: Omaha Coding Info
Post by: tapthatace on May 02, 2020, 03:56:40 PM
The following sheet will help translate the PLO hand into PPL Code.  This sheet uses the following format to explain suited cards.  When a card is within parentheses that indicates that it is suited.  Here is an example: Ah Kh Qs Jd === to write this in the above format you need to use (AK)QJ

First here is an explanation of Hutchinson Point System
http://www.poker-strategy.org/default.aspx?tabid=89 (http://www.poker-strategy.org/default.aspx?tabid=89)

To use my document you need to enter the hand column A using the above format as explained.   Once that is completed you need to determine the classification and then copy the corresponding classification columns B,C,D and then paste that next to your hand the PPL code.  I am assigning each hand to a userHXX variable which I am then grouping together later for bot actions.  You can remove the variable from the code if you want to code it to make an action directly off of that line.

Please send me an email to customer-service@tapthatace.com asking for a copy of the sheet and I will be happy to send it to you.

***********************************************************************************************************************************************************************
I am working on a script that used Hutchinson Point System preflop to determine the preflop action.  I only have about 3500 lines of code right now and still need to get another 3500 or so for it to be considered complete for starting hand ranges.  My long term plan will be to submit this project for marketplace approval.  I am just stalled right now as the OmahaBot isn't working with the network I play at.
***********************************************************************************************************************************************************************


Title: Re: Omaha Coding Info
Post by: Miracle on May 17, 2020, 10:14:19 PM
Hutchinson is not good for preflop. I can share a chart counted by the GTO solver.


Title: Re: Omaha Coding Info
Post by: tapthatace on May 17, 2020, 10:51:12 PM
please send it to me to look over


Title: Re: Omaha Coding Info
Post by: Miracle on May 17, 2020, 11:03:21 PM
It was counted by two players who play PLO500 - PLO10K
I paid money for him.
Can I hope you send me PPL the preflop code if I send you the charts?


Title: Re: Omaha Coding Info
Post by: tapthatace on May 18, 2020, 03:35:58 AM
yeah once i built it I would be happy to share it with you


Title: Re: Omaha Coding Info
Post by: Kcole72 on January 16, 2021, 04:35:03 PM
yeah you deft want to use a plo solver chart. iam wanting to be involved in a project that uses solver strat preflop from each position and GTO and solver strat for flop turn river play.
I also have the solver charts for every position 6 max and also RFI from each position.
Is there somewhere we can all discus this?
Deft dont use hutch!!!


Title: Re: Omaha Coding Info
Post by: JoeBing on January 25, 2021, 09:54:33 AM
Can we not just create a new thread on this forum? And then when each has time, we can create the hand-ranges in PPL from the hand-ranges that are posted, and all can benefit from the shared-efforts.

(Unless we create an anonymous forum elsewhere - but I see no reason to go -off-site- since everyone in this forum have the same tools and are trying to achieve the same goals).

"Non-Public" forum sections are: Report Bugs, Help!, Improving the Poker Bots, & Personal Player Journals
So if we create a new thread in the "Help!" section, only members will see what we share.

I'm seriously craving a thread where we share PPL code and workarounds we've created for PLO specific situations, and this might be the best chance for that to happen. I spend all day and night coding for PLO and would love to actually be playing the game, rather than coding for it.