Take Binding to the next level, with Scripting!

Read tips and guides about teeworlds-related subjects (mapping, compiling, ..).
fokkonaut
Posts: 855
Joined: Wed May 13, 2015 5:59 pm
Player profile: https://ddnet.tw/players/fokkonaut

Re: About my "Spam Script"

Post by fokkonaut »

GG Kid wrote: Thu Apr 05, 2018 10:07 pm
senpa' wrote: Thu Apr 05, 2018 9:43 pm i use do a heart when shoot / open chat
thats easy,
bind t "+show_chat; chat all :heart: "
bind t "+show_chat; chat all; emote x"

bind mouse1 "+fire; emote x"

replace x with the value for the emote of your choice (or in this case for happy)
GG Kid
Posts: 266
Joined: Sun Apr 16, 2017 2:33 am
Location: U.S.A.
Player profile: https://ddnet.tw/players/Bolto/
Clan: Kerger

try me new launcher please

Post by GG Kid »

so iv'e made a little system that makes some binds easy to access, i'm calling it a "launcher" unless you can come up with something better, anyway it's just a first test to see if you people like it, so please be try it & tell me what you think, here's my post viewtopic.php?f=48&t=6603&p=66456#p66456 it can be totally customized with some effort.

P.S, if you haven't bound bind slash "chat all /" you really should.
valser
Posts: 5
Joined: Sun Aug 19, 2018 1:20 am

Re: Take Binding to the next level, with Scripting!

Post by valser »

i use chillerbot.exe
fokkonaut
Posts: 855
Joined: Wed May 13, 2015 5:59 pm
Player profile: https://ddnet.tw/players/fokkonaut

Re: Take Binding to the next level, with Scripting!

Post by fokkonaut »

valser wrote: Sat Aug 25, 2018 3:27 am i use chillerbot.exe
nobos use fake only
the original is chillerbot.png
GG Kid
Posts: 266
Joined: Sun Apr 16, 2017 2:33 am
Location: U.S.A.
Player profile: https://ddnet.tw/players/Bolto/
Clan: Kerger

Step binding, one key many uses :)

Post by GG Kid »

Hey all, time for more fun binding action. Credits to Prudrugtiq https://www.youtube.com/watch?v=NGNT8gqVzQg
Ever wanted one key to do different things every time you press it? No?! well i'll show you how anyway.

How to make staged/stepping binds that roll though a set pattern of up to 5* stages, each time you press the key it will execute a action & progress to the next stage, till the last stage where it will stay till reset with a reset key.

bind i "bind g \"echo stage1; bind g \\\"echo stage2; bind g \\\\\\\"echo stage3; bind g \\\\\\\\\\\\\\\"echo stage4\\\\\\\\\\\\\\\"\\\\\\\"\\\"\"" press I to initiate G & G to start rolling

First find the last open bind, what i mean by an open bind is it's the bind before the slashes & quotes on the end
at the end of the last 'open' bind, add your bind like ; bind g then x2 the last number of Slashes plus one, then "(DoubleQuote) then say stage5, press i to reset (the bind)
then the same amount of Slashes you put in earlier then "(DoubleQuote).

like so
bind i "bind g \"echo stage1; bind g \\\"echo stage2; bind g \\\\\\\"echo stage3; bind g \\\\\\\\\\\\\\\"echo stage4; bind g \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"say stage5, press i to reset\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\"\\\"\""

Remember that there is a there is a limit of 255 Characters in console(126 in 0.7), so make sure the whole thing got pasted or use a Character Counter
*I would say that 5 is the max stages, because 1x2+1 x5(1~3~7~15~31) =57 x2 =114 + the 12 quotation marks + the 5 binding commands(including spaces) which is 35 + the 4 ; command dividers = to 172 characters used just for the system, & only leaving 83 chars for the content/action you want to do. my current commands are very short & take an additional 52 off leaving just 31 chars to play with which could look like exec mycoolstuff.cfg;say no you. adding another stage would take 126 chars just for slashes!
More examplesShow
bind i "bind g \"say Story block 1; bind g \\\"say Story block 2; bind g \\\\\\\"say Story block 3; bind g \\\\\\\\\\\\\\\"echo press i to reset; bind g \\\\\\\\\\\\\\\"\\\\\\\"\\\"\""

bind i "bind g \"rcon say 1; bind g \\\"rcon say 2; bind g \\\\\\\"rcon say 3; bind g \\\\\\\\\\\\\\\"rcon say 4;bind g \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"say stage4, press i to reset\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\"\\\"\"" // another example

bind i "echo you pressed i & reset the staging; bind g \"echo Stage 1(first time pressed); bind g \\\"echo Stage 2; bind g \\\\\\\"echo Stage 3; bind g \\\\\\\\\\\\\\\"echo Stage4 (last stage, press i to reset) \\\\\\\\\\\\\\\"\\\\\\\"\\\"\""
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// too long, 274 chars
syntax help //
https://www.teeworlds.com/forum/viewtopic.php?id=12261
https://softwareengineering.stackexchan ... lly-escape
A One key Bind that repeated, Connects Dummy, Teams & locks.Show
bind shift+l "bind l \"dummy_connect; bind l \\\"cl_dummy 1; say /team 27; bind l \\\\\\\"cl_dummy 0; say /team 27; bind l \\\\\\\\\\\\\\\"say /lock; echo press SHIFT+L to reset\\\\\\\\\\\\\\\"\\\\\\\"\\\"\""

// You could make it so that every time you start your client it will be at the beginning, by resetting the StepBind, closing the client, finding the string of what L is bound to in settings_ddnet.cfg & adding that to your autoexec.cfg. in this case bind l "dummy_connect; bind l \"cl_dummy 1; say /team 27; bind l \\\"cl_dummy 0; say /team 27; bind l \\\\\\\"say /lock; echo press SHIFT+L to reset\\\\\\\"\\\"\""
Fun color changing binds https://www.teeworlds.com/forum/viewtopic.php?id=12009
Index
Posts: 1133
Joined: Mon May 05, 2014 7:30 pm
Clan: Eagle

Re: Take Binding to the next level, with Scripting!

Post by Index »

You definitely take binding to the next level again ! :o
Thanks for your posts in the related threads, glad to see you are (still) active :3
GG Kid
Posts: 266
Joined: Sun Apr 16, 2017 2:33 am
Location: U.S.A.
Player profile: https://ddnet.tw/players/Bolto/
Clan: Kerger

Update log + Comments

Post by GG Kid »

Using non Windows compatible Folder names on Github was a 2IQ idea. also github! // lets do this, together.
removed poll // :(
added kamillentee's ScriptBinds viewtopic.php?p=68901#p68901 , viewtopic.php?p=68897#p68897 // i got to say man those are really advanced, i could not have wrote that hammerthrow dummy one. edit, maybe these might help https://github.com/ddnet/ddnet/pull/1086
Edit:
i found a Discord [TeeWorlds Data] that has some cool binds & scripts, here are some things i learn.
1. exec will run any File that's text regardless of the existence &or name of a suffix(Filename extension) // guess we just use .cfg to keep things easy to recognize.
2. exec supports using folders like coolbind/coolerThenU.cfg


Yes i know, i lied, your right, again. still would probably Quit if this Forum dies...
User avatar
tela
COMMUNITY Team
Posts: 10
Joined: Tue Feb 02, 2021 12:13 pm
Player profile: https://ddnet.tw/players/tela
Clan: rhombus

Re: Take Binding to the next level, with Scripting!

Post by tela »

Figured I'd post my zoom binds in here. I think most people think this is stupid but I like it.

At one point I realized that I could set my crosshair (cl_mouse_max_distance) to be at the same length as my hook. After fiddling with the setting a bit to match hook length (using +showhookcoll for reference), I realized that cl_mouse_max_distance stays the same no matter what zoom level you're at. So this crosshair matching hook length thing only works on 1 zoom level. These files make it so that crosshair matches hook length at any zoom level (well, 17 levels). With this setup you need default zoom to be set to 10 (cl_default zoom 10 or just do it in the GUI settings) which I think is the stock default. Changing cl_mouse_max_distance all the time with these files will mess with your 45 degree aim bind if you have one, so these files take care of that too. It also shows hook collision line since firing angle doesn't match gun position with the aim bind, makes it easier to see where i'm firing.

Obviously change your inp_mousesens to match your preference in each of these files.

here's a link to a zip of all these cfg files

Basically I do 'bind 1 exec binds\zoom\zoom_d.cfg" in console, and use 1 as my 'default zoom' bind. Sets mouse 4 and 5 to zoom in/out and lctrl for 45 degree aim. There is one issue, and as far as I know it's impossible to fix. When you leave a map at any zoom level besides default, and join a new one, it reverts you to your default zoom setting, but obviously it keeps the same cl_mouse_max_distance setting that you had before, so zoom/crosshair will be 'out of sync'. You can just get in the habit of pressing 1 whenever this happens. AFAIK there's no way to run a command when you join a map automatically.

I realize this is pretty ridiculous, but hey idk a better way
zoom_d.cfgShow
zoom
cl_mouse_max_distance 380
bind mouse4 "zoom-; exec binds\zoom\zoom_m0.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 380; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
unbind mouse5
zoom_m0.cfgShow
cl_mouse_max_distance 330
bind mouse4 "zoom-; exec binds\zoom\zoom_m1.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_d.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 330; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m1.cfgShow
cl_mouse_max_distance 286
bind mouse4 "zoom-; exec binds\zoom\zoom_m2.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_d.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 286; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m2.cfgShow
cl_mouse_max_distance 248
bind mouse4 "zoom-; exec binds\zoom\zoom_m3.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m1.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 248; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m3.cfgShow
cl_mouse_max_distance 215
bind mouse4 "zoom-; exec binds\zoom\zoom_m4.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m2.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 215; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m4.cfgShow
cl_mouse_max_distance 185
bind mouse4 "zoom-; exec binds\zoom\zoom_m5.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m3.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 185; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m5.cfgShow
cl_mouse_max_distance 162
bind mouse4 "zoom-; exec binds\zoom\zoom_m6.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m4.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 162; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m6.cfgShow
cl_mouse_max_distance 140
bind mouse4 "zoom-; exec binds\zoom\zoom_m7.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m5.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 140; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m7.cfgShow
cl_mouse_max_distance 120
bind mouse4 "zoom-; exec binds\zoom\zoom_m8.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m6.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 120; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m8.cfgShow
cl_mouse_max_distance 105
bind mouse4 "zoom-; exec binds\zoom\zoom_m9.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m7.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 105; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m9.cfgShow
cl_mouse_max_distance 90
bind mouse4 "zoom-; exec binds\zoom\zoom_m10.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m8.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 90; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m10.cfgShow
cl_mouse_max_distance 80
bind mouse4 "zoom-; exec binds\zoom\zoom_m11.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m9.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 80; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m11.cfgShow
cl_mouse_max_distance 70
bind mouse4 "zoom-; exec binds\zoom\zoom_m12.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m10.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 70; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m12.cfgShow
cl_mouse_max_distance 60
bind mouse4 "zoom-; exec binds\zoom\zoom_m13.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m11.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 60; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m13.cfgShow
cl_mouse_max_distance 51
bind mouse4 "zoom-; exec binds\zoom\zoom_m14.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m12.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 51; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m14.cfgShow
cl_mouse_max_distance 45
bind mouse4 "zoom-; exec binds\zoom\zoom_m15.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m13.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 45; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m15.cfgShow
cl_mouse_max_distance 39
bind mouse4 "zoom-; exec binds\zoom\zoom_m16.cfg"
bind mouse5 "zoom+; exec binds\zoom\zoom_m14.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 39; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
zoom_m16.cfgShow
cl_mouse_max_distance 34
unbind mouse4
bind mouse5 "zoom+; exec binds\zoom\zoom_m15.cfg"
bind lctrl "+toggle cl_mouse_max_distance 2 34; +toggle inp_mousesens 1 200; +toggle cl_show_hook_coll_own 2 1"
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests