Zandronum Chat @ irc.zandronum.com
#zandronum
Get the latest version: 3.0
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003775Zandronum[All Projects] Bugpublic2020-03-25 04:542020-04-21 16:27
Reportersosleepy 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformLinuxOSUbuntu x86_64OS VersionEoan
Product Version3.0 
Target VersionFixed in Version 
Summary0003775: Bots should not attempt to chat when bot_allowchat is false
DescriptionSummary is self-explanatory.
Attached Filespng file icon screenshot.png [^] (100,432 bytes) 2020-03-26 17:29


? file icon bots.pk3 [^] (15,709 bytes) 2020-04-21 07:45
? file icon sausgbot.botc [^] (25,995 bytes) 2020-04-21 07:45
? file icon dfultbot.botc [^] (21,719 bytes) 2020-04-21 07:46
? file icon fatbot.botc [^] (25,105 bytes) 2020-04-21 07:46
? file icon humanbot.botc [^] (25,129 bytes) 2020-04-21 07:46
? file icon crashbot.botc [^] (25,601 bytes) 2020-04-21 07:47
? file icon debotc_defs.bts [^] (6,443 bytes) 2020-04-21 16:27

- Relationships

-  Notes
User avatar (0021235)
sosleepy (reporter)
2020-03-25 07:12

The bot stops to chat when botcmd_Delay() is called, but the solution is not modifying that function. The cleanest approach is to prevent the chat command from being pushed to the stack, and I have no idea where and how that happens.
User avatar (0021236)
sosleepy (reporter)
2020-03-25 18:40

Bot commands are issued by BOTCMD_RunCommand() (duh), called by CSkullBot::ParseScript, the command is determined by the value of sdwBuffer.
User avatar (0021237)
sosleepy (reporter)
2020-03-25 18:57

BOTCMD_e is an enum passed as an argument to BOTCMD_RunCommand(), the following values are relevant: BOTCMD_DELAY (2), BOTCMD_SAY (49), BOTCMD_SAYFROMFILE (50), BOTCMD_SAYFROMCHATFILE (51), BOTCMD_BEGINCHATTING (52), BOTCMD_STOPCHATTING (53), BOTCMD_CHATSECTIONEXISTS (54), BOTCMD_CHATSECTIONEXISTSINFILE (55), BOTCMD_GETLASTCHATSTRING (56), BOTCMD_GETLASTCHATPLAYER (57), BOTCMD_GETCHATFREQUENCY (58), BOTCMD_SAYFROMLUMP (89), BOTCMD_SAYFROMCHATLUMP (90), BOTCMD_CHATSECTIONEXISTSINLUMP (91), BOTCMD_CHATSECTIONEXISTSINCHATLUMP (92).
User avatar (0021240)
WubTheCaptain (reporter)
2020-03-26 11:54
edited on: 2020-03-26 11:56

Quote
Bots should not attempt to chat when bot_allowchat is false

Quote
Summary is self-explanatory.

This is as intended, no issue here.
If they do attempt to chat while bot_allowchat is false, that would be an issue.

User avatar (0021241)
sosleepy (reporter)
2020-03-26 17:30

Screenshot added with the bug happening.
User avatar (0021242)
Vicious Pariah (reporter)
2020-03-27 00:24
edited on: 2020-03-27 01:27

I do recall this being a longstanding glitch with it. The bot full-stops (ceases all movement) to "chat" but it would seem that instead of preventing them from stopping; the only difference is no chat actually goes through. They should not stop.

User avatar (0021245)
Torr Samaho (administrator)
2020-03-29 19:34

Yeah, this is a bug, but I fear it's a bug in the (compiled) bot script, not in our bot VM. Properly fixing it would need to fix the script, which would need a bot script compiler, which we don't have, since Carn lost the source ages ago.
User avatar (0021246)
sosleepy (reporter)
2020-03-29 19:48

Googling around I found these:
https://zandronum.com/forum/viewtopic.php?p=114212#p114212 [^]
https://github.com/TarCV/botc [^]
User avatar (0021248)
Vicious Pariah (reporter)
2020-04-03 00:26

I don't know if this reply helps at all, but apparently the "Sanity Check" failed. Here's an interesting piece I found from the repo, considering it's the last update made to this project since then:

https://circleci.com/gh/TarCV/botc/43?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link [^]

This is just a wild guess, but maybe this doesn't actually help to actually decompile the old botcode completely, but it's pretty close. I don't really remember much of Dusk's plan for the bot compiler, and how closely related it is to Carn's, but here is the decompiler:

https://github.com/TarCV/debotc/ [^]

I'm really not the best person to give advice or feedback, but I'm sure the dev team will probably look it over as best they can, whilst I try my best to understand it myself. So, I mean, in the meantime you could work with the decompiler if you want, I guess.

The best case scenario is this: we're actually not going to try to decompile a bot that used Dusk's bot compiler,https://bitbucket.org/crimsondusk/botc [^] but rather one of the "original" compiled bots, and see what kinds of errors it throws. And then from there you could "guess?" what kind of voodoo Carn put there? Even then it's not really a scenario that you can progress from, since we're still without Carn's version.

Oh and I've noticed my messages are like really long while everyone else's is probably like a couple sentences at most. Woops. :(
User avatar (0021251)
sosleepy (reporter)
2020-04-04 07:55

The bot code is decompiled already, the problem is now fixing and completing the compiler, linked in 0021246. Not an easy task since it is written in C++ and I only know C. I have some notes written here <https://github.com/TarCV/botc/issues/2>, but that bug doesn't get much in the way to compile something, it just makes the compiler crash if there is an unknown variable.
User avatar (0021277)
sosleepy (reporter)
2020-04-21 07:49

This is a quick fix, proper way to do this is through ACS or implementing an extra bot command to both the compilerhttps://github.com/TarCV/botc [^] (with its fixhttps://github.com/TarCV/botc/pull/14 [^]) and Zandronum. All I did was comment out the calls to delay(), compiled them and zipped inside bots.pk3.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: Vicious Pariah zeber
Opponents: WubTheCaptain

- Issue History
Date Modified Username Field Change
2020-03-25 04:54 sosleepy New Issue
2020-03-25 07:12 sosleepy Note Added: 0021235
2020-03-25 18:40 sosleepy Note Added: 0021236
2020-03-25 18:57 sosleepy Note Added: 0021237
2020-03-26 11:54 WubTheCaptain Note Added: 0021240
2020-03-26 11:54 WubTheCaptain Note Edited: 0021240 View Revisions
2020-03-26 11:55 WubTheCaptain Note Edited: 0021240 View Revisions
2020-03-26 11:56 WubTheCaptain Note Edited: 0021240 View Revisions
2020-03-26 17:29 sosleepy File Added: screenshot.png
2020-03-26 17:30 sosleepy Note Added: 0021241
2020-03-27 00:24 Vicious Pariah Note Added: 0021242
2020-03-27 01:27 Vicious Pariah Note Edited: 0021242 View Revisions
2020-03-29 19:34 Torr Samaho Note Added: 0021245
2020-03-29 19:48 sosleepy Note Added: 0021246
2020-04-03 00:26 Vicious Pariah Note Added: 0021248
2020-04-04 07:55 sosleepy Note Added: 0021251
2020-04-21 07:45 sosleepy File Added: bots.pk3
2020-04-21 07:45 sosleepy File Added: sausgbot.botc
2020-04-21 07:46 sosleepy File Added: dfultbot.botc
2020-04-21 07:46 sosleepy File Added: fatbot.botc
2020-04-21 07:46 sosleepy File Added: humanbot.botc
2020-04-21 07:47 sosleepy File Added: crashbot.botc
2020-04-21 07:49 sosleepy Note Added: 0021277
2020-04-21 16:27 sosleepy File Added: debotc_defs.bts






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker