Welcome, Guest. Please login or register.
June 27, 2022, 02:32:09 AM
Home Help Login Register
News:
Shanky Technologies: The poker bot that works!

Shanky Technologies Poker Bot Support Forum  |  General Category  |  PPL Support (Moderator: sngbot)  |  Topic: valid use of uservariables 0 Members and 1 Guest are viewing this topic.
Pages: [1] Print
Author Topic: valid use of uservariables  (Read 5403 times)
zacred
zeros
*

Karma: 0
Posts: 40


« on: December 12, 2011, 07:33:04 PM »

After I have added some uservariables to control my preflop raise size some of my code does not seem to be executed OK. Does this look correct? What happens the next orbit?


when stilltoact = 4 and raises = 0
  when
    hand = AA or hand = KK or hand = QQ or hand = JJ or hand = TT or hand = 99 or hand = 88 or hand = 77 or hand = 66 or hand = 55 or hand = 44 or hand = 33 or hand = 22 or
   hand = AK or hand = AQ or hand = AJ or hand = AT or hand = KQ or hand = KJ or hand = QJ or
    hand = A9 suited or hand = KT suited or hand = QT suited or hand = JT suited or
   random <= 71 and (hand = A7 suited or hand = A8 suited)
   UserRaise
   when UserRaise and calls = 0
     raise 2 force
   when UserRaise and calls = 1
     raise 3 force
  when others
    fold force
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 373
Posts: 34618



WWW
« Reply #1 on: December 12, 2011, 07:48:14 PM »

It is a mess. I was going to try and fix it but have no idea what you are trying to do.

1. You have 'and's and 'or's together outside of brackets, no good - fix by bracketing the 'or' conditions

2. However you also have random <= 71 as one of the 'or' conditions, that means 71% of the time you will raise no matter what two cards you hold, so why bother defining all those hole cards?

3. You then add a specific two A-suited hands as 'and' conditions to the same statement, so the whole thing is invalid anyway because a hand cannot be AA and A7 suited at the same time (actually the codeline is valid and will load OK, it would only be true when you hold A7 suited or A8 suited 71% of the time randomly)

when (hand = AA or hand = KK or hand = QQ or hand = JJ or hand = TT or hand = 99 or hand = 88 or hand = 77 or hand = 66 or hand = 55 or hand = 44 or hand = 33 or hand = 22 or hand = AK or hand = AQ or hand = AJ or hand = AT or hand = KQ or hand = KJ or hand = QJ or hand = A9 suited or hand = KT suited or hand = QT suited or hand = JT suited or random <= 71) and (hand = A7 suited or hand = A8 suited) UserRaise
Logged

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

Karma: 0
Posts: 40


« Reply #2 on: December 12, 2011, 08:06:12 PM »

Thanks for your answer Egor, swift and helpful as usual!

Quote
have no idea what you are trying to do.

I am trying to raise differently depending on number of callers. The code itself seems to do what it's supposed to, it's the second orbit that doesn't seem to worked (not posted here)


1. What's wrong with this if you know that AND always goes before OR? I like to work without brackets because the code looks a lot more cleaner without it

2. This sounds strange. It says
 
Code:
... or random <= 71 AND (hand = A7 suited or hand = A8 suited)
Doesn't this mean that when random <= 1 AND I have any of these suited hands I'll raise?

Perhaps it's easier if I send you a screenshot with the correct Line indenting and color code. Can I send it by email?
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 373
Posts: 34618



WWW
« Reply #3 on: December 12, 2011, 08:16:17 PM »

I think I figured it out now:

when hand = AA or hand = KK or hand = QQ or hand = JJ or hand = TT or hand = 99 or hand = 88 or hand = 77 or hand = 66 or hand = 55 or hand = 44 or hand = 33 or hand = 22 or hand = AK or hand = AQ or hand = AJ or hand = AT or hand = KQ or hand = KJ or hand = QJ or hand = A9 suited or hand = KT suited or hand = QT suited or hand = JT suited or (random <= 71 and (hand = A7 suited or hand = A8 suited)) UserRaise

..that will actually work, assuming what you want to apply the random factor to the A7 and A8 suited hands - but you must include the random factor inside the brackets - remember, you cannot have both and's and or's together outside of brackets, one or the other must all be inside brackets

you have not included any second orbit code in that codeblock, you can do that by adding some codelines at the top for when raises = 1 etc., the way you have it now (or rather, how I have fixed it) it will just keep raising
Logged

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

Karma: 0
Posts: 40


« Reply #4 on: December 12, 2011, 08:41:10 PM »

OK, didn't know I had to include brackets there (I don't have to in other programming languages so I just assumed it worked the same way). I guess I can take a look at this to make sure it's not an issue anywhere else. Anyway does it look OK after the variable is set?


I'll jump to the real problem if you think above is correct:
It never ever reraise a 3bet on the button even though UserBotSteal is true. I can't find anything wrong here so I suspect that something in regards to the userraise breaks the line (like it continues on the same place or something in the next orbit?)


preflop
 
when hand = Q9 suited or hand = J9 suited or hand = T9 suited or hand = T8 suited or hand = 98 suited or hand = 97 suited or hand = 87 suited or hand = 86 suited or hand = 76 suited
     UserHaveSuitedConnector
when hand = k9 suited or hand = k8 suited or hand = K7 suited or hand = q8 suited or hand = q7 suited or hand = j9 suited or hand = j8 suited
    UserHaveBluffHand
When BotsActionsOnThisRound = 0 and raises = 1 user_Facing_Open_PFR         
When BotsLastAction = Raise and raises >=2 UserFacing4bet
When BotsActionsOnThisRound = 1 and raises = 1 userFacing3Bet
when raises = 0 and bets = 0 and (stilltoact = 5 or stilltoact = 4) UserBotOpenUTG
when userFacing3Bet and UserBotOpenUTG and position = last UserOppHasAA
when stacksize >= 150 and botsactionsonthisround = 0 UserDeepStack
when stacksize < 150 and botsactionsonthisround = 0 UserFullStack
when stacksize < 60 and botsactionsonthisround = 0 UserHalfStack
when stacksize < 30 and botsactionsonthisround = 0 UserShortStack
when firstraiserposition = 5 and raises = 1 and botsactionsonthisround = 0 and amounttocall > 2
  UserUTGRaiser
when (stilltoact = 2 or stilltoact = 3 or stilltoact = 1) and botsactionsonthisround = 0 and calls = 0 and raises = 0
  UserBotSteal
 
when raises >= 1 and (hand = AA or hand = KK)
  when userFacing3Bet
   raise 80% force
  when others
    raisepot force

when raises = 1 and UserBotSteal and amounttocall <= 10 // and (position = last or insmallblind)
  raise 80% force
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 373
Posts: 34618



WWW
« Reply #5 on: December 12, 2011, 09:06:06 PM »

line breaks don't matter and the profile is read fresh from the top every time it is the bot's turn to act

in the line that is read you have a comment, that is // in the middle of the line which causes the bot to stop reading any further on that line, FYI

I will need to see a bot-log example of an undesired action
Logged

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

Karma: 0
Posts: 40


« Reply #6 on: December 12, 2011, 09:14:51 PM »

Yeah, the comment is intended since I couldn't get it to work no matter how simple I made it.

Line 155 is way below the posted lines

Shanky Technologies Holdem Version 6.1.9: Hand: 9h 6s
Players = 3 have 96
raise if opponents left <= 2 and no calls and first hand cards is black else fold
hands played in session = 91
in timer: players = 3, folds in game= 1, raises = 0, checks = 0, calls = 0, bets = 0, folds = 1
casino = RS 6 Max, game = No Limit Cash, BB = 0.10, Pot = 1 BBs, Stack = 10.04, TI = 0 BBs
Default Profile: "Doodle 96", Action = raise force
User defined variable UserFullStack set to true at line 72
User defined variable UserBotSteal set to true at line 77
Matching user defined condition at line 211, Action = raise 2 force
Setting Bet/Raise amount to 0.30
clicking Raise
in timer: players = 3, folds in game= 2, raises = 1, checks = 0, calls = 0, bets = 0, folds = 2
casino = RS 6 Max, game = No Limit Cash, BB = 0.10, Pot = 14 BBs, Stack = 9.74, TI = 3 BBs
User defined variable userFacing3Bet set to true at line 68
Matching user defined condition at line 155, Action = fold force
clicking Fold
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 373
Posts: 34618



WWW
« Reply #7 on: December 12, 2011, 09:20:23 PM »

well you had 96 and so far every codeline you have posted in this thread specifies a different hand holding, so I need to know which codeline you think should have been executed

userbot steal was set to true, yes, but you have not posted a codline were an action is specified because userbotsteal is true
Logged

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

Karma: 0
Posts: 40


« Reply #8 on: December 12, 2011, 09:30:22 PM »

when raises = 1 and UserBotSteal and amounttocall <= 10 // and (position = last or insmallblind)
  raise 80% force


This is the problematic line
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 373
Posts: 34618



WWW
« Reply #9 on: December 12, 2011, 10:03:35 PM »

That line is tied to the open when condition: when raises >= 1 and (hand = AA or hand = KK)

...and is part of that codeblock - remember line breaks don't mean anything to the bot

your hand was not AA or KK so that codeline was not true
« Last Edit: December 12, 2011, 10:24:48 PM by Egor » Logged

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

Karma: 0
Posts: 40


« Reply #10 on: December 12, 2011, 10:20:06 PM »

Ahh damn, I didn't think of this. I guess it wouldn't hurt to have begin and end statements in PPL Smiley

I guess this would work then?

when raises >= 1 and (hand = AA or hand = KK)
  when userFacing3Bet
   raise 80% force
  when others
    raisepot force

when raises = 1 and UserBotSteal
  when amounttocall <= 10
    raise 80% force
Logged
zacred
zeros
*

Karma: 0
Posts: 40


« Reply #11 on: December 12, 2011, 10:36:23 PM »

I will try this out on my script and see if it works. Thanks a lot Egor, you really are #1!! thumbsup thanks
Logged
Egor
Forum Admin
Extreme Botter
*****

Karma: 373
Posts: 34618



WWW
« Reply #12 on: December 12, 2011, 10:41:37 PM »

yes that should work, assuming no other stuctural issues in the code
Logged

Please do not PM me about license issues or help stuff - email me or use the Help board. Thanks! -Egor
Pages: [1] Print 
Shanky Technologies Poker Bot Support Forum  |  General Category  |  PPL Support (Moderator: sngbot)  |  Topic: valid use of uservariables
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!