03:27 < bridge> Someone plz review #10570? 👀 03:27 < bridge> https://github.com/ddnet/ddnet/pull/10570 08:49 < bridge> Wat should I work on today? 0=ddnet 1=ddnet++ 2=ddnet-insta 3=tclient 4=antibot 08:49 < bridge> !roll 0 4 08:49 < chillerbot> 4 08:50 < bridge> hmmm 08:51 < bridge> would u take a second opinion 08:53 < bridge> Hm? 08:55 < bridge> antibot wohoo 09:02 < ws-client> **** TIL ``Closed #2, #3`` in gh commit only closes 2 09:02 < chillerbot> https://github.com/ddnet/ddnet/issues/2 09:02 < chillerbot> https://github.com/ddnet/ddnet/issues/3 09:02 < ws-client> **** fakof bot 09:02 < ws-client> **** its a code snippet! omg 09:02 < ws-client> **** gotta fix that shit 09:49 < ws-client> **** !ping 09:49 < ws-client> **** rip 09:49 < ws-client> **** u there? 09:49 < ws-client> **** !roll 09:49 < chillerbot> 66 09:49 < ws-client> **** ``#2`` #1 09:49 < chillerbot> https://github.com/ddnet/ddnet/issues/1 09:49 < ws-client> **** ez 09:58 < ws-client> **** days until i get merge rights 09:58 < ws-client> **** !roll 09:58 < chillerbot> 30 09:58 < ws-client> **** ._. 14:02 < bridge> can i get centered multiline text? 14:02 < bridge> ` Ui()->DoLabel(&Rect, pName, FontSize, TEXTALIGN_MC, {.m_MaxWidth = 80.0f});` 14:03 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1401535871697817600/image.png?ex=6890a17f&is=688f4fff&hm=db7236159e469ea5869713343354f0947eac720c4127aee7699de6d67325dc6e& 14:05 < bridge> ah ill just let them write \n and split by that 14:42 < bridge> No, it's not implemented. Vanilla does this more cleanly by implementing the text alignment directly in the textrender instead of tacking it on in the UI by simply calculating the bounding box. 14:43 < bridge> sadge 16:27 < ws-client> **** @ChillerDragon I'm seeing ddnet-insta v2.0 and v1.6 on the servers. Where do I see the version on the Git? 17:36 < ws-client> **** @Pathos i dont understand your question :c 17:39 < ws-client> **** @ChillerDragon I can't find v2.0 on Github 17:39 < ws-client> **** it will take some time until it is fully released 17:40 < ws-client> **** the servers you see online just run the dev version 18:05 < ws-client> **** Where can I see this dev version? 18:51 < ws-client> **** @Pathos you have to compile it your self 18:52 < ws-client> **** the releases section shows only the releases i do them when the code is stable and i have time 18:52 < ws-client> **** if you just download the code and build it you have the very latest version 18:54 < bridge> my kernel now has an async executor for tasks 19:11 < ws-client> **** javascript ah kernel 19:17 < bridge> Cool 20:38 < bridge> im making a ddnet server, im trying to find a way to make a way to handle kills just like in fng there are spikes in the map 20:38 < bridge> how can i do that? 20:38 < bridge> im making a ddnet server, im trying to find a way to handle kills just like in fng there are spikes in the map 20:41 < bridge> https://github.com/ddnet-insta/ddnet-insta/blob/2bc4d37c497a35610a2c105b79483535817d6c39/src/game/server/gamemodes/instagib/base_fng.cpp 20:41 < bridge> ill probs switch to https://limine-bootloader.org/ when i got more stuff 20:41 < bridge> it even has a rust crate 20:41 < bridge> > Limine is lightweight, elegant, fast, and the reference implementation of the Limine boot protocol. 20:41 < bridge> > 20:42 < bridge> > The Limine boot protocol's main target audience is operating system and kernel developers that want to use a boot protocol which supports modern features in an elegant manner, that GRUB's aging multiboot protocols do not (or do not properly). 20:42 < bridge> the crate looks nice 20:46 < bridge> i tried to console log a message on function IGameController::OnCharacterDeath but nothing appeared after i threw my dummy in spike do i have to manually call it? 20:46 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1401637383027560628/image.png?ex=68910009&is=688fae89&hm=f689c3cf19c6a352bb0fe830a96427afdfc1769bc4cad8c31a3a0952c73dce47& 20:46 < bridge> this is the ddnet source btw 20:51 < bridge> works for me 20:53 < bridge> works for me 20:53 < bridge> so the ghost ping times out for 3 min? 20:53 < bridge> dogshit bot 20:53 < bridge> useless feature 20:53 < bridge> may i see your code? 20:53 < bridge> XDDD 20:53 < bridge> i just put breakpoint on IGameController::OnCharacterDeath 20:53 < bridge> and jumped into killtile 20:54 < bridge> and it worked 20:57 < ws-client> **** @h1dr4x any reason you rewrite fng instead of using exisiting fng mods? 20:57 < bridge> im not making fng mode 20:57 < ws-client> **** ah 20:57 < ws-client> **** what mode u make? 20:57 < bridge> block 20:58 < ws-client> **** any reason you dont use an existing block mode? 20:58 < bridge> i like to learn new things and like to build things from scratch 20:58 < ws-client> **** oke 21:03 < ws-client> **** @h1dr4x did u make it work? oO 21:04 < bridge> i think there is something wrong with printing, nothing prints even though it was printing yesterday 21:04 < bridge> thats so weird bro 21:04 < ws-client> **** how do u print 21:04 < ws-client> **** compilation worked fine? 21:05 < ws-client> **** you run the correct server binary? 21:05 < bridge> pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "chatresp", "Test"); 21:05 < bridge> yes 21:05 < bridge> yes 21:05 < ws-client> **** ye should work 21:05 < ws-client> **** btw this is easier to type ``log_info("test", "test");`` but might require ``#include `` 21:06 < bridge> ima try 21:06 < ws-client> **** also chatresp is magic stuff 21:06 < ws-client> **** more for chat messages 21:06 < ws-client> **** where u wanna print to? 21:06 < bridge> console 21:06 < bridge> it used to work yesterday 21:07 < bridge> but not today 21:07 < ws-client> **** chatresp i smore for commands 21:07 < bridge> even though didnt change anything 21:07 < ws-client> **** not for killtiles 21:07 < bridge> yeah it was for my command 21:07 < ws-client> **** killtile code is different context 21:07 < ws-client> **** idk fully how magic chatresp works 21:09 < bridge> just use a breakpoint so you know is it a logging problem or something else 21:14 < bridge> 2025-08-03 22:13:10 I register/6/ipv6: registering... 21:14 < bridge> 2025-08-03 22:13:10 E http: https://master1.ddnet.org/ddnet/15/register failed. libcurl error (6): Could not resolve host: master1.ddnet.org 21:14 < bridge> 2025-08-03 22:13:10 E register/6/ipv6: error sending request to master 21:14 < bridge> 21:14 < bridge> why am i having this error? 21:14 < bridge> url is broken by any chance? 21:14 < bridge> seems like it 21:14 < ws-client> **** i assume ur ipv6 is broken 21:15 < ws-client> **** do u have a working ipv6 ip? 21:15 < bridge> nope 21:15 < ws-client> **** then do ``sv_register ipv4`` in ur config 21:17 < bridge> it works ty 21:17 < ws-client> **** i know i am the goat 21:19 < bridge> friends, Valorant skins are being distributed by the developers Discord 21:19 < bridge> https://tinyurl.com/valorant342 21:19 < bridge> promo code: 110 21:19 < ws-client> **** <:bluekitty:346683497919807488> 21:21 < bridge> brooooo 21:21 < bridge> log_info works 21:21 < bridge> tysm 21:21 < bridge> i love you 21:21 < ws-client> **** <:poggers2:1008007455936094328> 21:23 < bridge> but now i have a problem, i throw my dummy to the spike and it shows up as 21:23 < bridge> 21:23 < bridge> 2025-08-03 22:22:08 I game: death victim='1:suspect' killer='1:suspect' weapon=-1 21:23 < bridge> 21:23 < bridge> ```cpp 21:23 < bridge> int IGameController::OnCharacterDeath(class CCharacter *pVictim, class CPlayer *pKiller, int Weapon) 21:23 < bridge> { 21:23 < bridge> 21:23 < bridge> char aBuf[256]; 21:23 < bridge> str_format(aBuf, sizeof(aBuf), "death victim='%d:%s' killer='%d:%s' weapon=%d", pVictim->GetPlayer()->GetCid(), Server()->ClientName(pVictim->GetPlayer()->GetCid()), pKiller ? pKiller->GetCid() : -1, pKiller ? Server()->ClientName(pKiller->GetCid()) : "none", Weapon); 21:23 < bridge> log_info("game", aBuf); 21:23 < bridge> 21:23 < bridge> return 0; 21:23 < bridge> } 21:23 < bridge> ``` 21:23 < bridge> like it killed itself 21:26 < ws-client> **** pVictim and pPlayer could be null at all times in ddnet code 21:27 < ws-client> **** also you dont need aBuf the log_info can do fmt 21:27 < bridge> how can i fix this? fng etc. Does it perfectly 21:28 < bridge> thanks for the tip 21:28 < ws-client> **** remove code 21:28 < ws-client> **** u do 100 things 21:28 < ws-client> **** and figure out what breaks it 21:28 < ws-client> **** or first print pVictim and pPlayer 21:28 < ws-client> **** or run with debugger 21:28 < bridge> move fast and break things 21:29 < ws-client> **** works only if u know what u do @kollpotato xd 21:29 < bridge> :( 21:29 < bridge> xd 21:29 < bridge> i never know what i am doing 21:29 < bridge> i hate formats like this, they're so damn ugly 21:29 < bridge> can we not just have clang format beautify this 21:30 < bridge> ```cpp 21:30 < bridge> str_format(aBuf, sizeof(aBuf), "death victim='%d:%s' killer='none' weapon=%d", 21:30 < bridge> pVictim->GetPlayer()->GetCid(), 21:30 < bridge> Server()->ClientName(pVictim->GetPlayer()->GetCid()), 21:30 < bridge> Weapon); 21:30 < bridge> } 21:30 < bridge> ``` or smth 21:31 < ws-client> **** did u know ``pVcitim->GetId()`` or sumsin should also work 21:31 < ws-client> **** i never do it 21:31 < ws-client> **** but i think the entitiy id is client id 21:31 < bridge> huh, Id == CId ?? 21:31 < ws-client> **** ye 21:31 < ws-client> **** i think 21:31 < ws-client> **** never done it 21:31 < ws-client> **** bu tu know 21:31 < bridge> :JustWhy: 21:31 < ws-client> **** in theory 21:32 < ws-client> **** but its too performant 21:33 < bridge> i've been suffering through typescript the past 2 weeks, done a lot of backend - now currently learning angular 21:33 < bridge> its so weird, i coded in rust and i thought rust has weird syntax 21:33 < bridge> but then you see stuff like this: 21:34 < bridge> ```html 21:34 < bridge>
21:34 < bridge> @for (item of dashboard; track $index) { 21:34 < bridge> 21:34 < bridge>
21:34 < bridge>
{{ item.label }}
21:34 < bridge> @if (loadingService.isLoading()) { 21:34 < bridge> 21:34 < bridge> } @else { 21:34 < bridge>
{{ item.value }}
21:34 < bridge> } 21:34 < bridge>
21:34 < bridge>
21:34 < bridge> } 21:34 < bridge>
21:34 < bridge> ``` 21:34 < bridge> damn its so readable 21:34 < bridge> jinja2 templates hurt my eyes 21:34 < bridge> i just dislike how html reads in general 21:34 < bridge> <><><><><> 21:34 < ws-client> **** webdev for lerato 21:34 < ws-client> **** he likes it 21:34 < ws-client> **** https://zillyhuhn.com/cs/.1754249679.png 21:34 < ws-client> **** i have bug 21:34 < bridge> xml issue 21:35 < bridge> nothing anyone can do 21:35 < bridge> ``` 21:35 < bridge>
21:35 < bridge> @for (item of dashboard; track $index) { 21:35 < bridge> 21:35 < bridge>
21:35 < bridge>
{{ item.label }}
21:35 < bridge> @if (loadingService.isLoading()) { 21:35 < bridge> 21:35 < bridge> } @else { 21:35 < bridge>
{{ item.value }}
21:35 < bridge> } 21:35 < bridge>
21:35 < bridge>
21:35 < bridge> } 21:35 < bridge>
21:35 < bridge> ``` what about now? 21:35 < ws-client> **** now its worse because you messed up quotes xd 21:35 < ws-client> **** but u cant fix it 21:36 < ws-client> **** its bug in the code snippet and anti xss code i wrote 21:36 < bridge> chillor is it safe that u store screenshots on a public server 21:36 < bridge> what if there are twinbop feet pics 21:36 < bridge> i thought its discords way of handling ````cpp` 21:36 < ws-client> **** @kollpotato <:justatest:572499997178986510>idk 21:36 < ws-client> **** isnt it? 21:36 < bridge> im gonna write a scraper 21:36 < ws-client> **** @kollpotato only i can upload 21:36 < bridge> i hope u dont mind 21:36 < bridge> https://ddnet.org/irclogs/ 21:36 < ws-client> **** @kollpotato can u figure out my pattern? 21:36 < ws-client> **** its not hard btw 21:37 < ws-client> **** its funny puzzle if u look at url 21:37 < ws-client> **** can u predict next? 21:37 < bridge> looks like unix timestamp 21:37 < bridge> a bit 21:37 < ws-client> **** wow u pro 21:37 < ws-client> **** it is 21:37 < bridge> xd 21:37 < bridge> nothing seems wrong killer always the player itself who died 21:37 < bridge> im gonna try every millisecond 21:38 < ws-client> **** ono 21:38 < bridge> but i dont want to get perma ban 21:38 < bridge> so i wont 21:38 < ws-client> **** pls pr more secure urls 21:38 < ws-client> **** https://github.com/ChillerDragon/crools/blob/master/crapshot 21:38 < ws-client> **** code here 21:39 < bridge> crapshot xdddd 21:40 < bridge> i think generating some random salt and then hashing the whole thing might work 21:40 < bridge> but then the url will be huge 21:42 < bridge> or just do uuid 21:42 < ws-client> **** ye sounds good 21:42 < bridge> there is uuidgen command 21:42 < bridge> idk where it comes from 21:43 < bridge> from linux xd 21:44 < ChillerDragon> i have uuid in pure bash if u need 21:44 < ChillerDragon> crapshot gotta be portable for all my devices 21:45 < bridge> what are ur devices 21:45 < bridge> linux, linux, linux? 21:45 < bridge> raspi os 21:53 < ws-client> **** debian, arch, macos 21:55 < bridge> i pred 21:55 < bridge> with copy pasted code from the internet 21:55 < bridge> hello 21:55 < bridge> and i also dont know how to call functions in bash xd 21:55 < bridge> im not a dev but i got a suggestion 21:56 < bridge> open an issue on github 21:56 < bridge> so devs notice 21:57 < bridge> u got a link? 21:57 < bridge> for the github thing?? 21:57 < bridge> https://github.com/ddnet/ddnet/issues 21:57 < bridge> k thanks 22:03 < ws-client> **** @kollpotato u created fixed string "uuid" xd `` ts=uuid`` 22:03 < ws-client> **** wat u want is ``ts="$(uuid)"`` 22:03 < bridge> yeah something was wrong i felt that 22:06 < bridge> fixed now 22:14 < ws-client> **** https://zillyhuhn.com/cs/.771eae76-2d75-4371-aa9d-68059339018a.png 22:14 < ws-client> **** @kollpotato poggers thanks 22:14 < bridge> yippe 22:15 < ws-client> **** testing in production 22:15 < bridge> all ur screenshots will be here https://everyuuid.com/ 22:15 < ws-client> **** leak 22:17 < ws-client> **** i guess now uuid collision can delete old images 22:22 < bridge> Use UUID version 7 I guess (timestamp + random data) 22:26 < bridge> overkill 22:26 < bridge> and how often people need their old screenshots 22:27 < bridge> i have about 30k stored from my phone and pc somewhere in the cloud and i never look at them anymore 22:28 < ws-client> **** i post them here so the irclog will be 404 but i guess thats expected eventually with self hosting 22:28 < ws-client> **** one day ill also have to free up disk space 22:30 < bridge> this is actually awesome 22:30 < bridge> u can make all the screenshots disappear on discord 22:30 < ws-client> **** i dont think so 22:30 < ws-client> **** doesnt discord download and reserve? 22:30 < bridge> it is supposed to be just a link preview 22:30 < bridge> unless u upload the file 22:30 < ws-client> **** how does it even look like? 22:31 < ws-client> **** on element it looks horrible 22:31 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1401663697725947975/image.png?ex=6891188b&is=688fc70b&hm=dcceab727ea1440469b2f0bd9885043281ea0baac1f61b9add7dc126af6b6794& 22:31 < ws-client> **** hot 22:31 < ws-client> **** and it really disappears? 22:31 < ws-client> **** lemme try 22:31 < bridge> cs stands for computer science right 22:31 < bridge> in the url 22:31 < ws-client> **** it gone 22:31 < ws-client> **** cs is short for crapshot 22:31 < ws-client> **** did discord free the image? 22:32 < bridge> uh 22:32 < bridge> no 22:32 < ws-client> **** i mean also not gone on my side without reloading the browser 22:32 < bridge> this is the url `https://images-ext-1.discordapp.net/external/agO8_kY_UIyAnvH0t-1vPHMyWzHdyOb_N0W9DnFyCvM/https/zillyhuhn.com/cs/.771eae76-2d75-4371-aa9d-68059339018a.png?format=webp&quality=lossless&width=1034&height=903` 22:33 < bridge> of ur image 22:33 < ws-client> **** ah ye 22:33 < ws-client> **** thats what i meant 22:33 < bridge> never seen that url before 22:33 < bridge> discord is on another level of data collection 22:33 < ws-client> **** i guess they stripped meta data for privacy reasons 22:33 < ws-client> **** then reencoded for performance reasons 22:34 < bridge> for security too 22:34 < ws-client> **** and then reserved for availability an dtracking reasons 22:34 < bridge> u dont wanna share ur coordinates 22:34 < ws-client> **** ye 22:34 < ws-client> **** thats something i have to keep in mind 22:34 < ws-client> **** that image service i use leaks all my meta data which basically no other online platform does 22:35 < bridge> use ffmpeg and stay safe 22:35 < bridge> wait do u use 3rd party service or ur own? 22:36 < ws-client> **** service is a big word 22:36 < ws-client> **** i use apache2 22:36 < bridge> sry im gen z idk apache 22:36 < bridge> apache means 40 year old software 22:36 < ws-client> **** https://www.youtube.com/watch?v=7sfvkQdiIlY 22:36 < ws-client> **** ono thats apache 207 22:37 < ws-client> **** https://httpd.apache.org/ 22:37 < ws-client> **** its nginx competitor basic http server 22:37 < ws-client> **** i just put the images in a folder on my vps and tell the web server to server them. Its as vanilla as it gets 22:37 < bridge> apache's "flagship product" afaik 22:37 < bridge> if an open source community could have such a thing 22:38 < bridge> foundation 22:38 < bridge> that sounds ur own service then 22:38 < ws-client> **** i thought thats their flagship https://logging.apache.org/log4j/2.x/index.html 22:38 < bridge> so i guess before uploading the image just use ffmpeg to strip data 22:38 < ws-client> **** Aware 22:38 < bridge> lol 22:39 < bridge> chiller troll 22:39 < bridge> they make maven too 22:39 < ws-client> **** @kollpotato yep that would go into the upload script which you are co maintainer on 22:39 < bridge> they have their fingers in everything 22:39 < bridge> oh no open source 22:39 < bridge> free labour 22:41 < bridge> chiller im not touching bash again 22:42 < bridge> its scary 22:42 < ws-client> **** xd 22:42 < ws-client> **** blazingly fearless 22:42 < ws-client> **** no segfaults 22:42 < ws-client> **** simple paralelism 22:42 < bridge> wow 22:42 < ws-client> **** better than go channels 22:42 < bridge> u should write a tw 0.7 client in bash 22:42 < ws-client> **** shortest syntax of all languages 22:43 < ws-client> **** sadly bash cant do udp 22:43 < ws-client> **** xd 22:43 < ws-client> **** but ppl did write mc server in bash 22:43 < bridge> so tcp works but udp doesnt 22:43 < ws-client> **** tcp is also kinda cursed 22:43 < ws-client> **** most rely on external tools 22:45 < ws-client> **** ``echo "GET /" > /dev/tcp/127.0.0.1/9090`` 22:45 < ws-client> **** is kinda epic 22:45 < ws-client> **** you can even get the response 22:45 < bridge> wtf does it really work 22:45 < ws-client> **** ye 22:46 < ws-client> **** spin up a webserver 22:46 < ws-client> **** ``echo "GET /" > /dev/tcp/127.0.0.1/8000`` 22:46 < ws-client> **** ``python -m http.server ` 22:46 < ws-client> **** aaa 22:46 < ws-client> **** ``python -m http.server`` 22:46 < bridge> yeah just did that xd 22:46 < ws-client> **** pysoner 22:46 < bridge> python is only useful for test http servers 22:46 < bridge> change my mind 22:46 < ws-client> **** xd 22:47 < bridge> ddos with bash is possible 22:47 < ws-client> **** i wrote apt in pure bash once 22:47 < ws-client> **** because there was a bug in linux system i had 22:47 < ws-client> **** that broke apt 22:47 < ws-client> **** and it needed apt to fix apt 22:47 < ws-client> **** but bash worked 22:48 < bridge> why xd 22:48 < ws-client> **** wasnt smartest way to fix it 22:48 < bridge> bash is awesome... 22:48 < bridge> 5 hours of debugging can save 5 minutes of reading documentation 22:48 < ws-client> **** fr 22:48 < bridge> fish is almost better for scripting imo 22:48 < bridge> but there's an availability issue 22:48 < bridge> not for me 22:49 < bridge> i would write python or lua for scripts 22:49 < bridge> bash just for simple commands 22:49 < ws-client> **** @Ewan just use fish to bash transpiler 22:49 < bridge> idk about that 22:49 < bridge> i only know of the other way around 22:49 < ws-client> **** i wrote one 22:49 < ws-client> **** in bash 22:49 < bridge> bass is kinda bad 22:49 < bridge> o 22:49 < ws-client> **** i think the project was so bad i deleted it from gh xd 22:49 < bridge> ok but what about all the custom fish commands and stuff 22:49 < bridge> you didn't really reimplement fish in bash 22:49 < bridge> u just translate syntax 22:50 < bridge> right 22:50 < ws-client> **** i did like 2 sed calls 22:50 < ws-client> **** called it compiler technology 22:50 < bridge> yea sadly that won't do if you fish script actually uses fish features 22:51 < bridge> are shells like js frameworks 22:52 < bridge> there are gazillion of them and everyone argues which one is better 22:52 < ws-client> **** not as bad 22:52 < ws-client> **** the is basically bash the goat 22:52 < ws-client> **** and then some zsh and fish soydevs 22:52 < ws-client> **** and some giga weird champs use ksh, pwsh or python as their shell 22:53 < ws-client> **** not to forget about dash 22:53 < bridge> if you intend for anyone but yourself to use it, bash is almost definitely the answer. if you really want it usable anywhere you just write a POSIX-compatible `sh` script 22:53 < bridge> dash 22:53 < bridge> yes 22:53 < bridge> dash is good and much faster than bash 22:53 < bridge> it's just... sh 22:53 < ws-client> **** mimimi 22:53 < ws-client> **** i need my bloated bash 22:53 < bridge> i need my bloated fish 22:53 < ws-client> **** sh is like C and bash is like C++ 22:54 < ws-client> **** everyone hates it but sometimes you just need the features 22:54 < bridge> i wonder what that makes fish 22:54 < bridge> just write syscalls directly to the kernel smh 22:54 < bridge> yea 22:54 < bridge> ez 22:54 < ws-client> **** assembly 22:54 < ws-client> **** scripting .. 22:54 < bridge> yeah, i do all my scripting in x86 22:54 < bridge> 😎 22:54 < bridge> how to compile assembly to use as a shell without a shell 22:54 < ws-client> **** sounds productive 22:54 < bridge> you don't you have to write it first! 22:55 < ws-client> **** or use hexeditor 22:55 < bridge> that'd count as writing it 22:55 < bridge> ollydbg/x64dbg are good 22:55 < bridge> the multiline ultimate assembler plugin is good and supports both 22:55 < bridge> but you need a starting binary 22:55 < bridge> i legit know someone who only knows and writes x86 22:56 < ws-client> **** @Ewan fish is python or javascript obviously 22:56 < bridge> if u wanna go the normal way then just use nasm i guess. they took all the fun out of it 22:56 < bridge> idk i'd wager it's more like rust 22:56 < ws-client> **** haha 22:56 < ws-client> **** sure 22:56 < bridge> equally capable but with different syntax 22:56 < bridge> built in rust 22:56 < bridge> cuz 22:56 < bridge> u just named 2 other actual scripting languages 22:56 < bridge> python is python and js is js on node in this case lol 22:57 < bridge> node is the best shell 22:57 < bridge> anyone ever try `#!/usr/bin/env node` 22:57 < ws-client> **** yes because fish cant compete with low level giga chad bash 22:57 < bridge> ppl do that stuff 22:57 < ws-client> **** ye sure 22:57 < bridge> how do they call other binaries 22:57 < bridge> it would look retarded 22:57 < bridge> yes 22:57 < bridge> node implements system 22:58 < bridge> like libc system/std::system 22:58 < bridge> unless other _binaries_ are also in js 22:58 < bridge> i mean 22:58 < ws-client> **** i use gdb as my main interactive shell 22:58 < ws-client> **** it can do ``cd`` 22:58 < ws-client> **** it can run ``make`` 22:58 < ws-client> **** wat else i need 22:58 < bridge> the shebang exists as a program loader feature. so while it might not be a native binary, it'd get treated as such assuming it all works 22:59 < bridge> it'd be called with node if you just called the script as its own executable 22:59 < bridge> facts, chiller 22:59 < bridge> node has autocomplete 22:59 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1401670902738976970/image.png?ex=68911f40&is=688fcdc0&hm=75542cbfb7788bc5ca65f24ebdfc9482fb038fdfa42b80f97ceaead1816f586d& 22:59 < bridge> can bash do that 23:00 < ws-client> **** im actually not sure 23:00 < ws-client> **** fish and zsh have that tho 23:00 < ws-client> **** the preview i mean 23:00 < ws-client> **** auto complete it has 23:00 < bridge> bash can 23:00 < bridge> it's work to set up 23:00 < bridge> just like zsh 23:00 < bridge> fish is the only one where it's on by default afaik 23:00 < bridge> actually the preview part can be achieved by pressing tab 23:00 < bridge> eh 23:00 < bridge> it shows you your options but it doesn't predict like that 23:01 < ws-client> **** https://github.com/ohmybash/oh-my-bash 23:01 < bridge> ^ 23:01 < ws-client> **** prolly the bloat u want 23:01 < bridge> omb 23:03 < bridge> arrays in zsh start at 1 23:04 < bridge> feels like lua 23:04 < bridge> Yeah 23:04 < bridge> And honestly it's not terrible 23:04 < bridge> Just different 23:05 < bridge> chiller will u attack him 23:05 < bridge> https://cdn.discordapp.com/attachments/293493549758939136/1401672232547127347/image.png?ex=6891207e&is=688fcefe&hm=78f8461286544ccf55de70b92ed950c12fe68e845022c967ec0167987512e3b7& 23:05 < ws-client> **** wowo 23:09 < bridge> does anyone have a solution to that? ive checked fng etc but they do nothing different 23:10 < ws-client> **** yes i told u what you can do 23:14 < bridge> there is nothing that breaks it i removed the checks and killer is always the player itself no matter what without me doing something 23:17 < bridge> And the victim? And what does the debugger say? And if you remove code to do only one thing not print multiple values? 23:18 < bridge> Remove code until it works. Then add it back again so you have the most simple piece of code that fails. If it’s not obvious to you by then you can also share it again here in the chat :) 23:18 < bridge> <20rublei> https://media.discordapp.net/attachments/1238944786551931043/1401269910113358025/image.png?ex=6890528c&is=688f010c&hm=9639d0999f6113b7a745cf82761885113980baa8ea551e587bb3e849da0e7a66&=&format=webp&quality=lossless&width=720&height=960 23:18 < bridge> <20rublei> https://media.discordapp.net/attachments/1238944786551931043/1401269947795116143/image.png?ex=68905295&is=688f0115&hm=15ab4f5437ec2c85617118fbe5adda57a358eaef589003aa0cd8c65f0f8c7a24&=&format=webp&quality=lossless&width=720&height=960 23:18 < bridge> <20rublei> https://media.discordapp.net/attachments/1238944786551931043/1400794125183483954/image.png?ex=689091b0&is=688f4030&hm=1410d3cc4acf6f82535cf0e8d2827498735f7d8cc6e971571a789267e72036de&=&format=webp&quality=lossless&width=720&height=960 23:18 < bridge> <20rublei> https://media.discordapp.net/attachments/1238944786551931043/1401666355291230340/image.png?ex=68911b04&is=688fc984&hm=4615d8927311871530d5634cf919718b07006dcb4b6b90c8d34d8a963036401b&=&format=webp&quality=lossless @everyone 23:18 < bridge> yes im throwing my dummy to the spike and victim is my dummy the killer is my dummy 23:18 < bridge> 23:18 < bridge> 2025-08-04 00:06:10 I game: kill killer='0:suspect' victim='0:suspect' weapon=-1 special=0 23:18 < bridge> 23:19 < bridge> this is what Die function prints 23:19 < bridge> i throw my dummy into spike 23:19 < bridge> and this prints 23:19 < bridge> -1 should be gameworld i assume 23:19 < bridge> So what crashes then? 23:19 < bridge> I thought the print crashes 23:19 < bridge> no its fixed 23:19 < bridge> like 23:19 < bridge> Ah okay 23:19 < bridge> in fng you know 23:19 < bridge> So what’s missing? 23:19 < bridge> when u throw someone to spike 23:19 < bridge> u get a score ur the killer right 23:19 < bridge> i want a system like it 23:20 < bridge> And that code crashes? 23:20 < bridge> no im asking how can i do it 23:20 < bridge> nothing crash 23:20 < bridge> everything fine 23:20 < bridge> Ah 23:20 < bridge> set the players score 23:20 < bridge> i dont know how to find who actually killed 23:21 < bridge> Ah 23:21 < bridge> You need to track the last person touching 23:21 < bridge> Look for LastToucher in DDNet-insta if you need inspiration 23:21 < bridge> how can i do that? maybe looping through every player and get their HookedPlay()? 23:21 < bridge> on character tick? 23:22 < bridge> how can i do that? maybe looping through every player and get their HookedPlayer()? 23:22 < bridge> Yes 23:22 < bridge> how about hammer? 23:22 < bridge> And then also the weapon hits yes 23:22 < bridge> thanks man 23:22 < bridge> appreciate it 23:22 < bridge> You can use takedamage for that 23:22 < bridge> ohh yes i saw this 23:22 < bridge> And if you also want to consider body checks you can measure player distance 23:23 < bridge> But in fng that is not the case usually 23:23 < bridge> how do they do it? 23:23 < bridge> I did that in block tho i think. Because sometimes you push someone into freeze by walking without hammer or hook 23:23 < bridge> Fng also depends on how stealing is interpreted 23:24 < bridge> Is it the last toucher or the longest tougher or the original freezer 23:24 < bridge> It’s up to you. You want to play and learn so do whatever you like :) 23:24 < bridge> Is it the last toucher or the longest toucher or the original freezer 23:24 < bridge> is there a way to detect who freeze ? 23:24 < bridge> by tile 23:24 < bridge> not laser 23:25 < bridge> freeze tiles 23:25 < bridge> Who is currently in freeze tile? 23:26 < bridge> no like who froze a player 23:26 < bridge> like i throw you into froze 23:26 < bridge> in that case it would be me 23:26 < bridge> like i throw you into freeze 23:26 < bridge> You can check character m\_FreezeTime but it’s not the tile it’s just any kind of freeze 23:26 < bridge> For the tile look for TILE\_FREEZE 23:35 < bridge> https://media.discordapp.net/attachments/1087145057829793883/1401629425904128192/1.jpg?ex=6890f8a0&is=688fa720&hm=4e9c0930718a9994859118d05084e926e1df7019c1a14aa1927314be562bc3ef&=&format=webp&width=706&height=941 https://media.discordapp.net/attachments/1321290397842014310/1397694387185516635/2.png?ex=68874515&is=6885f395&hm=f30faee412225fb2c944d5a37a683af4771e6bbabecbc27e7de147f59e3e00b4&=&format=webp&quality=lossless&width=741&height=989 https:// 23:36 < bridge> @discp 23:37 < bridge> @Discord Mod