TJBot (TrickJump Bot) for Enemy Territory 2.60b and ETJump

  • admin

    tjbot spray

    A crossplateform TrickJump Bot for Wolfenstein: Enemy Territory 2.60b and ETJump

    Features / Commands

    • /+jumpbot, /-jumpbot enable/disable automatic mouve mouse to the perfect angle
    • /+autojump, /-autojump automatic +moveup (jump) activation
    • /originget diplays current origin (similar to viewpos command)
    • /originset <x> <y> sets new desired XY origin
    • /+origin, /-origin start/stop trying to move to desired XY origin
    • /angle <deg> set new horizontal view angle to specified value
    • /startdump <filename>, /stopdump to dump view angles, origin and velocity every frame into a file
    • /+viewhack, /-viewhack rotates view camera by 180 degs for jumping backwards
    • /ms_print, /ms_reset prints/resets horizontal maxspeed
    • /+ps_print, /-ps_print enable/disable printing predicted playerstate view angles, origin and velocity every frame in the console
    • /spray prints tjbot spray


    • Enable /+sprint to make sure to always sprint, the tjbot does not work while not sprinting

    • Bind a key to enable jumpbot: /bind shift +jumpbot, or if you want a toggle key

      set jmp1 "set jmp vstr jmp2; +jumpbot; echo ^ej^7umpbot ^eon"
      set jmp2 "set jmp vstr jmp1; -jumpbot; echo ^ej^7mpbot ^eoff"
      set jmp "vstr jmp1"
      bind MOUSE2 "vstr jmp"
    • Set your FPS to 125 and enable fixed player movements

      com_maxfps 125
      set pmove_fixed 1
    • TrickJump!

    (You can examine example script jump.cfg to see how to script)

    Ideas list

    • Move scripting from engine to hack because when the engine is evaluting a
      script it can not be stopped etc
    • Add relangle (relative angle) command (current angle command can set only absolute view


    • There are probably some minor bugs because I did not have time to do complete
      testing so far
    • Ice calculations are wrong, jumpbot is always one frame late


    TJBot Github Repository

    Linux Dependencies

    64 bits only

    sudo apt install gcc-multilib
    sudo apt install gcc



    Open tjbot.sln with Visual Studio


    cmake .



    Inject tjbot.dll to et.exe with the DLL injector of your choice
    You can also use tjbot.exe in the Release section, you just need to run it before running ET




    et|Setup for the math

  • admin

    Updated to support ETJump 2.2.0

  • Hi Annihil,
    great work.

    Worked well when I executed the .exe but after that I wanted to build it on my own via Visual Studio - I cloned it via git into an workspace and everything were right, just some deprecated stuff (compile worked) but I cant build it cause everytime I get the " LINK1561 Error". So VisualStudio is missing a Linker (main w/e). I ve to say im new to C and usally work with Java/ Inteli.

    Any idea why I fail?

    Help would be appreciated:)

  • admin

    This error occurs because it is trying to build a .exe instead of a .dll

    1. Right-click the Project tjbot (not the Solution) in the Solution Explorer panel.
    2. Then click Properties → Configuration Properties → General → Configuration Type → Dynamic Library (.dll)

  • @Annihil thanks now I get a dll. :)
    They only "warning" left is "this is no valid WIN32-applicaiton".
    But I get a .dll file with same size like urs.

    But when I inject it to my et.exe it doesnt work - ur .dll works.
    Am I still missing something after executing the release?

    kind regards

  • admin

    Perfect :)
    This can be du to the fact that the offset #define CG_OFFSET 0x01DBEAB0 in the source code is for ETJump 2.2.0 Alpha.
    It won't work for other ETJump versions, you need to find the correct offset yourself...

  • @Annihil alright. I ll try to figure it out. Thanks :)

  • @Annihil

    Hello Annihil,

    Thank you for sharing the source code.
    I confirmed that the .dll you built works fine with ETJump 2.2.0 Win32.
    But, the .dll built from the GitHub source code does not work with the same condition .

    I found that I could not get the playerstate correctly, so I just changed the define of CG_OFFSET to 0x1DA7D58.
    But, the +jumpbot still does not work correctly (other commands work fine).

    Is there anything else I need to change?
    I would appreciate it if you could explain the detail.

    kind regards

  • admin

    Hey @qivxet ,

    My pleasure :)
    Actually no, it's the only define you need to change, but 0x1DA7D58 is not correct.
    I would like to help you, but may I ask why you need to recompile it?
    If it's to disable the spray every 10 minutes, it's not in my interest to give the correct offset, I hope you understand ...

  • @Annihil

    Thank you for your response.

    I have played ET trickjump for several years, and I'm only interested in the theoretical aspect of it (therefore the spray is not the issue for me.).
    To better understanding of TJ, I would like to know the source code which works as expected and confirm it.
    I'm glad if you'd understand.

    best regards,

  • admin

    Oh okay, then if it's just for that, I can assure you that this is the source code that works for the TJBot, the math are correct :)

  • @Annihil
    I'm still having the problem, but thank you anyway.

    EDIT: I could find the correct CG_OFFSET and confirmed the math.
    Thank you again for your valuable comment.

  • @Annihil

    The original author of the tjbot calculations is et|Setup.

  • admin

    @NoName that's true, that's why I credited him ;)

  • it is possible to deactivate the spray?

  • admin

    @zimkoli No it's not, that's a way to credit me :)

  • Sup,

    will there be a Version for etjump 2.3.0?

    thanks in advance

  • @achimachim I don't think there will be ever any update for this cheat the developer is not online that much :(

  • admin

    I added support to etjump 2.3.0 in v1.1 😊