Welcome, Guest. Please login or register.
June 03, 2023, 10:23:35 PM
Home Help Login Register
News:

Shanky Technologies Poker Bot Support Forum  |  General Category  |  PPL Support (Moderator: sngbot)  |  Topic: New User-defined variable 0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 7 Print
Author Topic: New User-defined variable  (Read 110102 times)
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« on: April 23, 2011, 09:02:27 PM »

Version 5.9.3 of the Holdem Bot now supports a user-defined variable. The PPL Guide has not yet been updated with instructions for it. MS sent me this, which is all the info I have on it so far:

The ppl converter to support user defined variables is not ready yet so only text profiles for now. The summary is as follows:

User define variables must start with the ''user" prefix and must be followed by 1 or more numbers, alphabets or the '_' (underscore) character. Case is not important so

user123 and USER123 are the same variable. Other examples of valid variables are
UserRaises_Greater_Than_1 UserRandom

All user defined variable are set to false at the begining of each game. They are set to true if they are the action of a matching condition. Once set to true they are set to false again only when the next game begins. So the following is valid usage.

preflop
when hand=kk Userkk
when hand = kk raise

flop
when userkk and raises < 1 raisepot force

Note that the userkk variable is set in the pre-flop section and used in the flop section. Also note that unlike other matching actions where the subsequent statements in a section are not executed when an action matches, when the action to set a user defined variable matches subsequent statements are still executed. So in the preflop section above the 2nd "hand = kk" statement is looked at even though the first matches and sets Userkk to true. However note that since execution stops whenever any other action matches, if we reverse the above two statements and make them

when hand = kk raise
when hand=kk Userkk

then UserKK will NOT be set to true. So the variable will still be FALSE in the flop. Also note that pre-flop code could be executed twice or more if there are raises and our turn to play comes again and so pre-flop ppl code ( or code in any other section) could be run more than once. If a user defined variable has been set in the first pass then it will still be true in the 2nd pass. Therefore consider the following preflop code

preflop
when userKK raisemax
when hand=kk Userkk
when hand = kk raise

In this code, assuming we are dealt KK the first time preflop code is executed userkk is obviously not set so the first statement above is not executed. Then the 2nd statement sets userkk to true and then the 3rd causes a raise to happen. Then if an opponent re-raises, the preflop code is re-executed and then userkk is set so the first statement causes the bot to go all in
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #1 on: April 23, 2011, 09:08:21 PM »

I will try to add some more practical examples later when I have a strong ale in front of me.  beer
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
pharmacyst
Wide-Eyed Newbie
*

Karma: 3
Posts: 45


« Reply #2 on: April 23, 2011, 10:05:43 PM »

If this is what you were talking about in the incutoff thread in the PPL forum, an example of absolute table position after the first orbit would be greatly appreciated. Thank you very much for this new variable also. I'm looking forward to seeing what creations come of this.
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #3 on: April 23, 2011, 11:19:11 PM »

preflop
when stilltoact = 8 UserUTG
when stilltoact = 7 UserUTG1
when stilltoact = 6 UserMid1
when stilltoact = 5 UserMid2
when stilltoact = 4 UserMid3
when stilltoact = 3 UserCutoff


now you can specify your exact starting table position anywhere in the code, on any betting round, for example on the preflop round:

when raises = 1 and botslastaction = raise and (in button or UserMid3 or UserCutoff)

...you know that you got reraised after raising from a late position, so it is more likely they are reraisng weak than if you raised from an earlier position
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
pharmacyst
Wide-Eyed Newbie
*

Karma: 3
Posts: 45


« Reply #4 on: April 23, 2011, 11:35:55 PM »

Great Job!!!  bowdown Here's an extra ale for you  guiness
Logged
Bluesmaster
Experienced Botter
*****

Karma: 11
Posts: 372


Search button again!


« Reply #5 on: April 24, 2011, 12:07:28 AM »

If it fixes the re-raiser position issue after the first orbit, then it's a great add.

Thanks!

Bluesmaster
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #6 on: April 24, 2011, 12:50:08 AM »

I haven't had an ale yet so i will be back later with one and try to be creative. But situations that you define using lastraiserposition = and lastcaller position = can now be saved as a User variable and used again, so in the same manner you can know the absolute table position of an opponent on second orbit + post-flop rounds.
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
AlbanyCreek
Wide-Eyed Newbie
*

Karma: 2
Posts: 23


Shanky Bonus Bots Rock!


« Reply #7 on: April 24, 2011, 05:29:03 AM »

this sounds great!!! Kudos to MS!!!

Is there a limit to the number of user defined variable?

Are User defined variables only of type BOOLEAN?

This will open up a new level of programming... I'll be launching into this with great gusto.

Congrats on this development stage... it's a great leap forward in PPL botting (which, by the way, is a tremendous challenge to those of us infected with the programming virus)
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #8 on: April 24, 2011, 06:28:21 AM »

Any variable, numeric or boolean, can be saved as a User variable in the manner I have described. Once saved it is a simple boolean variable.
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #9 on: April 24, 2011, 07:18:42 AM »

preflop
when raises = 1 and lastraiserposition >= 6 UserEarlyRaiser


now you know an opponent opened strong from early position, so you can use this to refine plays later in the hand

flop
when havetoppair and havebestkicker and not (paironboard or straightpossible or havetwopair or haveflushdraw) and position = last and bets = 1 and raises = 1 and botsactionsonthisround = 1 andbotslastaction = raise and UserEarlyRaiser fold force


the opponent who raised in early position preflop bet the flop, you raised with TPTK, and they reraised - it is very likely they have a big overpair like AA or KK here so you can feel better about folding - prior to the user-defined variable we couldn't know with certainty on the flop that the opponent was an early position preflop raiser
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #10 on: April 24, 2011, 07:26:06 AM »

A bunch of people have, in the past, wanted an easy way to make hand groupings and just specify hand groups in their coding. This is now possible.

preflop
when (hand = AA or hand = KK or hand = QQ or hand = AK) UserG1
when (hand = 22 or hand = 33 or hand = 44 or hand = 55) UserBabies
when (hand = 5d6d or hand = 67 suited or hand = 78 suited or hand = 89 suited) UserSCons


when stacksize < 15 and UserG1 raisemax force

when (UserBabies or UserSCons) and amountocall < 23% potsize call force
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #11 on: April 24, 2011, 07:33:14 AM »

UTG or UTG+1 limp-raised, usually AA or KK

preflop
when raises = 0 and calls >= 1 and firstcallerposition >= 7 UserTrap1

when position = last and botslastaction = raise and UserTrap1 and not (hand = AA or hand = KK or stacksize < 12 or totalinvested > 80% stacksize) fold force
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #12 on: April 24, 2011, 07:43:24 AM »

On the Turn the board is low, face or ace hits the River and opponent bets:

turn
when not (board = A or board = K or board = Q or board = J or flushpossible or straightpossible) UserLowTurn

river
when bets = 1 and raises = 0 and (board = A or board = K or board = Q or board = J) and UserLowTurn and not (amounttocall < 30% potsize or amounttocall <= 2 or amounttocall > 18% stacksize or havetoppair or haveoverpair or havetwopair or havetrips or haveset or havefullhouse or havequads or haveflush or havestraight or nobettingonturn) fold force
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #13 on: April 24, 2011, 07:50:51 AM »

SNG on the bubble, in small blind, big blind has you way covered, you want to abandon all c-bets and basically back down if you miss the flop.

preflop
when opponentsattable = 3 and calls = 0 and raises = 0 and stilltoact = 1 and minstilltoactstacksize >= 300% stacksize UserStop1

flop
when UserStop1 and not (havetoppair or haveoverpair or havetwopair or haveset or havetrips or havefullhouse or havequads or havestraight or haveflush or havenutflushdraw) fold force

Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #14 on: April 24, 2011, 08:00:10 AM »

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) UserDry1
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
cmonzanja
Sellers
Serious Botter
*****

Karma: -11
Posts: 764


Join the MTT revolution


« Reply #15 on: April 24, 2011, 08:03:26 AM »

Amazing job!  thanks

cmon
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #16 on: April 24, 2011, 08:16:23 AM »

preflop
when opponentisallin UserDead1

flop
when UserDead1 and bets = 1.....


you have a live opponent betting into you and an additional opponent who is already all-in (we still don't know if the live opponent also just went all-in, but we can of course see how big their bet was)
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #17 on: April 24, 2011, 08:23:15 AM »

turn
when twopaironboard User2PB

river
when twopaironboard and User2PB.....


you know the two pair on board was there on the turn, might be safer to bet the under-fullhouse for value or call with an overpair
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Egor
Forum Admin
Extreme Botter
*****

Karma: 377
Posts: 34965



WWW
« Reply #18 on: April 24, 2011, 08:27:17 AM »

feel free to chime in on this thread, fellow PPL coders - my ale is empty - lots of creative possibilities must exist

obviously this feature will be most valuable in identifying earlier conditions on post-flop betting rounds and 2nd orbit + situations preflop

should be very useful for fixed limit profiles
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Balu66
Sellers
Botter
*****

Karma: 25
Posts: 216

Shanky Bonus Bots Rock!


« Reply #19 on: April 24, 2011, 08:54:08 AM »

that makes a lot much easier  thanks

Now I'd like to see a user defiened bot reaction time
Logged

Pages: [1] 2 3 ... 7 Print 
Shanky Technologies Poker Bot Support Forum  |  General Category  |  PPL Support (Moderator: sngbot)  |  Topic: New User-defined variable
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!