coderusa Posted November 11, 2023 Author Posted November 11, 2023 (edited) @Andreik I would also like to say thank you for being in so prompt in checking thru this code! Its great to have another Autoit coder's opinion and eyes on the subject, especially for finding issues! I'm curious how there are so many errors on your end when mine seems to run okay... It has to be a version issue. You did mention that it screams a bunch of errors when running RPG-EXE, what other errors are being displayed? I think I'll be uninstalling Autoit 3.3.8.1 with Scite Lite and installing current version wtih full SciTE and just going through and fixing whatever pops up. (For a version 0.02) I also think if I get on the same current version it may make things easier to understand and figure out! As I really have just been putting down code, and messing with it until it works. Now, I think updating my Autoit is the priority. Edited November 11, 2023 by coderusa
Andreik Posted November 11, 2023 Posted November 11, 2023 I'll try again tomorrow and post full console log. coderusa 1
coderusa Posted November 11, 2023 Author Posted November 11, 2023 2 minutes ago, Andreik said: I'll try again tomorrow and post full console log. Okay, in the mean time, I'll spend some time tonight updating Autoit and install the full SciTE4Autoit and start pecking away at stuff. Xandy 1
coderusa Posted November 12, 2023 Author Posted November 12, 2023 UPDATE! IF YOU HAVE DOWNLOADED THIS PROJECT SOURCE OR THE EXECUTEABLE, I HAVE MADE SOME IMPORTANT CHANGES (Thanks to @Andreik for helping me realize the issues!) I have updated my Autoit and SciTE installs to the latest full versions. Before this, the program was running normally for me, but not for people using newer versions. After updating my Autoit and SciTE installs I then experienced a plethora of issues, as described by Andreik. I fixed some of the code organization, add all "undeclared" variables to RPG-VARS.au3, and put RPG-VARS.au3 as the first included file. Also found some code discrepancies that were not notice in older Autoit. I have decided not to up the version, and it will still be v0.01 (For now). It now appears to be working normally with newest version of Autoit. PLEASE DELETE ALL SOURCE/EXE FILES THAT YOU MAY HAVE DOWNLOADED FROM GITHUB BEFORE THE TIME OF THIS POSTING, AND DOWNLOAD THE REVISION TO GET THE PROPER VERSION. I HAVE UPDATED ALL FILES IN THE GITHUB DOWNLOAD AND RECOMPILED THE EXECUTEABLES. Source Package 0.01 - GitHub Download Windows 32bit (x86) Compiled 0.01 GitHub Repository
Andreik Posted November 12, 2023 Posted November 12, 2023 (edited) It works. I mean it starts without errors but I cannot create a new character and there is nothing in the combo box to select. I suppose there should be a file game_settings somewhere, am I right? Edited November 12, 2023 by Andreik
coderusa Posted November 12, 2023 Author Posted November 12, 2023 (edited) 25 minutes ago, Andreik said: It works. I mean it starts without errors but I cannot create a new character and there is nothing in the combo box to select. I may have to make the ReadMe.txt in RPGenerator-Source-Package-0-01.zip more understandable... User GUI character creator is not finished, you are supplied with TestDummy character. You need to install the core files: 1) Put RPGSOURCE folder in C:\ - ( it MUST be C:\RPGSOURCE\ ) 2) Run Install.au3 (Running Install.exe should acheive the same result, will place the executable in C:\RPGenerator\ and shortcut on desktop, you may delete the executable and shortcut if you are only going to run off the scripts) All core files are placed in C:\Program Data\.RPG\ by the install script 3) Run RPG-EXE.au3 EDIT: If needed, you may also uninstall all files by running Uninstall.au3. Edited November 12, 2023 by coderusa Andreik 1
Andreik Posted November 12, 2023 Posted November 12, 2023 (edited) Got it to work. Tell me about the battle system. Sometimes I'm walking around the map and out of nowhere I am in the middle of a fight. If the opponent kills me I respawn at a location and when I press UP I am again in the middle of a fight and my HP is not restored, it's still zero. I also have to figure out what counter attack I need for each of my opponent attack. Anyway, nice work. Edited November 12, 2023 by Andreik TheDcoder, coderusa and Xandy 2 1
coderusa Posted November 12, 2023 Author Posted November 12, 2023 (edited) 49 minutes ago, Andreik said: Got it to work. Tell me about the battle system. Sometimes I'm walking around the map and out of nowhere I am in the middle of a fight. If the opponent kills me I respawn at a location and when I press UP I am again in the middle of a fight and my HP is not restored, it's still zero. I also have to figure out what counter attack I need for each of my opponent attack. Anyway, nice work. Thank you! When in certain areas of the map (non village areas) you are randomly thrown into battle encounters. I haven't come up with a fancy way of transitioning. The end goal will be to transition to the battle in a similar fashion as Final Fantasy games. It is definitely a little shaky, I may need to adjust the sensitivity of this. This is handled in RPG-GFX-CORE at line 185 to 193, if you feel like playing around with it. It SHOULD save your current location to $mROM_BPOS, and when battle is over it should spawn you back at that location. If you win the battle, it will display a victory screen that shows experience earned and possible prizes, after going thru that it will do the same and respawn you at the coordinates stored in $mROM_BPOS. The data stored in the variable is a token string: "Blockname,X?Y" If $mROM_BLOCKTYPE = "Wild" Then If Random(1,20,1) = 1 And $Game_Mode = "Free" Then Global $mROM_BPOS = $mROM_CURRENTBLOCK & Chr(44) & $nX & Chr(63) & $nY ;Cons("BPOS: " & $mROM_BPOS) Global $Game_Mode = "Battle" mROM_Load_("MROM-PACK-TEST", "BATTLE001") ;Cons("Battle!!") EndIf EndIf Abilities, OUTSIDE OF BATTLE: If you click the Player Stats & Abilities button in the top tool bar, it will bring up a side menu that lists your abilities and stats. You can select an ability from the lists and click the info button below each list, and ability information will be displayed in the text display. When in battle, on the left menu it will say Turn: Attack or Turn: Defense, then whichever turn you are on, the respective abilities are listed in the drop down, select an ability and click "GO". Keep an eye on your HP meter, when your HP gets low, on Turn: Attack, click the Item button and use "TestPotion" to restore HP, but forfeit that attack turn and you will then cycle to Turn: Defense. HP not being re-filled will need to be fixed. If you wish you fix that yourself it can be found in RPG-B-ARCADE in the EndBattle() function, defeat section is in the bottom ELSE bracket. In RPG-B-ARCADE, replace EndBattle() with this: Func EndBattle() If $OPP1_KO = "True" Then Global $AB_Prizes = NPC_Data($OPP1_NAME, "drop") Global $AB_Gold = NPC_Data($OPP1_NAME, "DGP") Global $AB_EXP = NPC_Data($OPP1_NAME, "dexp") Global $PlayerHP = $P1_HP Global $PlayerMP = $P1_MP ;Release Battle Memory B_GFXSet("RollCall", "0") B_GFXSet("BattleVars", "0") B_GFXSet("StatVars", "0") B_GFXSet("BattleReset", "0") BattlePanel("off") _GDIPlus_GraphicsClear($hcanvas, _color("API")) _GDIPlus_ShutDown() AB_Vic("load") Return Else B_GFXSet("RollCall", "0") B_GFXSet("BattleVars", "0") B_GFXSet("StatVars", "0") B_GFXSet("BattleReset", "0") BattlePanel("off") Global $PlayerHP = $PlayerTHP $HPMeterValue = ($PlayerHP / $PlayerTHP) * 100 GUICtrlSetData($HPMeter, $HPMeterValue) Global $Game_Mode = "Free" _mROM_LOAD("MROM-PACK-TEST", GetTok($mROM_BPOS, "1", "44"), GetTok($mROM_BPOS, "2", "44")) EndIf EndFunc This will give you full HP if you lose a battle (for now.) I have updated the EndBattle() function in my script, and will update that in the GitHub downloads. EDIT: GitHub files have been updated for the EndBattle() function fix. This will be the last revision to v0.01, after this fixes will be discussed and assessed and manually fixed, unless fatal. All revisions and fixes from this point on will be placed manually, to fix your own copy, and fixed in my copy, but won't be automatically updated, and instead released in the next version (0.02 ?) Edited November 12, 2023 by coderusa Andreik 1
TheDcoder Posted November 12, 2023 Posted November 12, 2023 I am slightly curious, why did you start working on this with an older version of AutoIt? EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
coderusa Posted November 12, 2023 Author Posted November 12, 2023 (edited) 12 hours ago, TheDcoder said: I am slightly curious, why did you start working on this with an older version of AutoIt? Edit: I started with the newest version. The IRC portion of the script wouldn't stay connected because something changed in TCP after 3.3.8.1 I havent fiddled with the IRC portion since I updated yesterday. Other people have had this issue in versions newer than 3.3.8.1, described here: Seems the only solution is to roll back to 3.3.8.1 I'll have to play around with it to see what I can do, but eh... Edited November 12, 2023 by coderusa
TheDcoder Posted November 13, 2023 Posted November 13, 2023 Oh, that's an interesting issue, never encountered it while I was working with IRC in AutoIt. coderusa 1 EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
coderusa Posted November 13, 2023 Author Posted November 13, 2023 (edited) 14 hours ago, TheDcoder said: Oh, that's an interesting issue, never encountered it while I was working with IRC in AutoIt. Its because of TCPRecv return value changed, to where it closes the connection when TCPRecv returns 0 and sets @error, if i remember correctly. Which is pivital to keeping an IRC connection open, in older versions if TCPRecv returned 0 it didnt set @error and did not automatically close the connection when returning 0, where before, if TCPRecv returned 0, you just ContinueLoop and it kept connection open. I may fiddle around with IRC stuff later this evening. I think there may be a way around this by using AutoIt3Wrapper directive by assigning 3.3.8.1 for %AutoItVer% #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% Edited November 13, 2023 by coderusa TheDcoder 1
coderusa Posted November 14, 2023 Author Posted November 14, 2023 (edited) @TheDcoder I tried your bot script, my script, and TrayIRC and none of them work properly in the newest version. In your bot script it connects but then says AUTH failed and disconnects. My script won't even connect, just returns error 10038. (socket operation on non-socket) TrayIRC says "unable to connect to server" EDIT: If i repeatedly run the script after it exits, sometimes TrayIRC will connect. (1 out of 10 tries) Even with the wrapper directive, no difference. Seems IRC is broken on newer versions. *Switches to Python* 😈 Edited November 14, 2023 by coderusa TheDcoder 1
coderusa Posted November 14, 2023 Author Posted November 14, 2023 (edited) This seems to work for IRC. If I do not use any of the old UDFs or scripts, and just write one up from scratch, it works. expandcollapse popupGlobal $server = "irc.esper.net" Global $port = "6667" Global $nick = "TestWookie" Global $channel = "#TestWookie" Opt("TCPTimeout", 1500) TCPStartUp() $sock = TCPConnect(TCPNameToIP($server), $port) Sleep(100) If $sock = -1 Then ConsoleWrite("No response from server." & @CRLF) Exit EndIf TCPSend($sock, "NICK " & $nick & @CRLF) TCPSend($sock, "USER " & $nick & " 0 0 " & $nick & @CRLF) While 1 $recv = TCPRecv($sock, 9999) If @error = -1 Then ConsoleWrite("ERROR: " & @error & @CRLF) Exit Else ConsoleWrite($recv & @CRLF) EndIf If $recv Then $sData = StringSplit($recv, @CRLF) For $i = 1 To $sData[0] Step 1 $sTemp = StringSplit($sData[$i], Chr(32)) If $sTemp[1] = "" Then ContinueLoop EndIf If $sTemp[1] = "PING" Then TCPSend($sock, "PONG " & $sTemp[2] & @CRLF) ContinueLoop EndIf If $sTemp[0] >= 2 Then If $sTemp[2] = "376" Then TCPSend($sock, "JOIN " & $channel & @CRLF) ContinueLoop EndIf EndIf Next EndIf WEnd Exit Edited November 14, 2023 by coderusa TheDcoder 1
TheDcoder Posted November 14, 2023 Posted November 14, 2023 13 hours ago, coderusa said: In your bot script it connects but then says AUTH failed and disconnects. What's the exact error message? I looked at the script and the error messages are very detailed so we can pin-point the error coderusa 1 EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
coderusa Posted November 14, 2023 Author Posted November 14, 2023 (edited) 6 hours ago, TheDcoder said: What's the exact error message? I looked at the script and the error messages are very detailed so we can pin-point the error I think yours should also be an easy fix. Also there were some variable issues, but I fixed those already, I'll have to find the original copy to get the full list.... >"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "D:\IRC Script\Bot.au3" /UserParams +>13:51:28 Starting AutoIt3Wrapper (21.316.1639.1) from:SciTE.exe (4.4.6.0) Keyboard:00000409 OS:WIN_10/2009 CPU:X64 OS:X64 Environment(Language:0409) CodePage:0 utf8.auto.check:4 +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\Admin\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\Admin\AppData\Local\AutoIt v3\SciTE >Running AU3Check (3.3.16.1) from:C:\Program Files (x86)\AutoIt3 input:D:\IRC Script\Bot.au3 +>13:51:29 AU3Check ended.rc:0 >Running:(3.3.16.1):C:\Program Files (x86)\AutoIt3\autoit3.exe "D:\IRC Script\Bot.au3" +>Setting Hotkeys...--> Press Ctrl+Alt+Break to Restart or Ctrl+BREAK to Stop. [13:51:29] >>> CAP REQ :multi-prefix sasl [13:51:29] <<< :stormlight.esper.net NOTICE * :*** Looking up your hostname... [13:51:29] <<< :stormlight.esper.net NOTICE * :*** Checking Ident [13:51:31] <<< :stormlight.esper.net NOTICE * :*** Found your hostname [13:51:34] <<< :stormlight.esper.net NOTICE * :*** No Ident response [13:51:34] <<< :stormlight.esper.net CAP * ACK :multi-prefix sasl [13:51:34] >>> AUTHENTICATE PLAIN [13:51:35] <<< AUTHENTICATE + [13:51:35] >>> AUTHENTICATE VGVzdFNjcmlwdABUZXN0U2NyaXB0AA== [13:51:35] <<< :stormlight.esper.net 904 * :SASL authentication failed That is the SciTE log. I think that in your script using the _IRC_AuthPlainSASL function is what is causing the issue here, or possibly sending the AUTH request on connection, is it really needed? The example I made doesn't have any issues connecting, even if the server asks for an AUTH. With IRC, if you do not send AUTH when asked, it will bypass the SASL and connect normally, but that is all I know on SASL. I don't use it myself. It appears that it's not an issue in autoit TCP/IP, I think its that all the documentation and UDFs are outdated. 😬 I started adding some of my own IRC functions to my Frankenstein UDF using the same code I used in the example, and they seem to work fine. May just need to update your UDF? Here are the IRC functions I've got so far. (EDIT: I also added in my Cons function, since I used it in the functions.) expandcollapse popup; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Server_Connect ; Description.....: Connect to IRC Server ; Syntax..........: IRC_Server_Connect($server, $port, $user) ; Parameters......: $server - Plain text server name "irc.server.net" ; $port - Numeric server port "6667" ; $user - User name ; Return Values...: Returns main socket identifier ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Server_Connect($server, $port, $user) $socket = TCPConnect(TCPNameToIp($server), $port) Sleep(100) If $socket = -1 Then Cons("No response from server.") Exit EndIf TCPSend($socket, "NICK " & $user & @CRLF) TCPSend($socket, "USER " & $user & " 0 0 " & $user & @CRLF) Return $socket EndFunc ;===> IRC_Server_Connect ; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Server_Ping ; Description.....: Sends PONG reply to server for Ping? Pong! ; Syntax..........: IRC_Server_Ping($socket, $msg) ; Parameters......: $socket - main socket identifier ; $msg - Ping message ; Return Values...: Failure: -1 ; Success: 1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Server_Ping($socket, $msg) TCPSend($socket, "PONG " & $msg & @CRLF) If @error Then Cons("Server has disconnected.") Return -1 EndIf Return 1 EndFunc ;===> IRC_Server_Ping ; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Join_Channel ; Description.....: Join to IRC Channel ; Syntax..........: IRC_Join_Channel($socket, $chan) ; Parameters......: $socket - main socket identifier ; $chan - Channel name ; Return Values...: Failure: -1 ; Success: 1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Join_Channel($socket, $chan) TCPSend($socket, "JOIN " & $chan & @CRLF) If @error Then Cons("Server has disconnected.") Return -1 EndIf Return 1 EndFunc ;===> IRC_Join_Channel ; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Part_Channel ; Description.....: Leaave IRC Channel ; Syntax..........: IRC_Part_Channel($socket, $chan) ; Parameters......: $socket - main socket identifier ; $chan - Channel name ; Return Values...: Failure: -1 ; Success: 1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Part_Channel($socket, $chan, $msg = "") TCPSend($socket, "PART " & $chan & " :" & $msg & @CRLF) If @error Then Cons("Server has disconnected.") Return -1 EndIf Return 1 EndFunc ;===> IRC_Part_Channel ; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Send_PrivMsg ; Description.....: Send PRIVMSG ; Syntax..........: IRC_Send_PrivMsg($socket, $target, $msg) ; Parameters......: $socket - main socket identifier ; $target - #Channel or Username ; $message - PRIVMSG text ; Return Values...: Failure: -1 ; Success: 1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Send_PrivMsg($socket, $target, $msg) TCPSend($socket, "PRIVMSG " & $target & " :" & $msg & @CRLF) If @error Then Cons("Server has disconnected.") Return -1 EndIf Return 1 EndFunc ;===> IRC_Send_PrivMsg ; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Send_Action ; Description.....: Send ACTION message ; Syntax..........: IRC_Send_Action($socket, $msg, $target) ; Parameters......: $socket - main socket identifier ; $target - #Channel or Username ; $message - ACTION text ; Return Values...: Failure: -1 ; Success: 1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Send_Action($socket, $msg, $target) TCPSend($socket, "PRIVMSG " & $target & " :�ACTION " & $msg & "�" & @CRLF) If @error Then Cons("Server has disconnected.") Return -1 EndIf Return 1 EndFunc ;===> IRC_Send_Action ; #FUNCTION# ==================================================================================================================== ; Name............: IRC_Server_Disconnect ; Description.....: QUIT from server ; Syntax..........: IRC_Server_Disconnect($socket, $msg) ; Parameters......: $socket - main socket identifier ; $msg - Quit message ; Return Values...: Failure: -1 ; Success: 1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func IRC_Server_Disconnect($socket, $msg) TCPSend($socket, "QUIT :" & $msg & @CRLF) If @error Then Cons("Server has disconnected.") Return -1 EndIf Return 1 EndFunc ;===> IRC_Server_Disconnect ; #FUNCTION# ==================================================================================================================== ; Name............: Cons ; Description.....: ConsoleWrite that includes @CRLF and only works if script is not compiled, for SciTE debugging ; Syntax..........: Cons($data) ; Parameters......: $data - Info to be written to STDOUT stream ; Return Values...: Success (Not Compiled): 1 ; Failure (Compiled): -1 ; Author..........: Neo_ (aka coderusa) ; Modified........: ; ================================================================================================================================= Func Cons($data) If Not @Compiled Then ConsoleWrite($data & @CRLF) Return 1 EndIf Return -1 EndFunc ;===> Cons Edited November 14, 2023 by coderusa
coderusa Posted November 19, 2023 Author Posted November 19, 2023 (edited) UPDATE: Still taking a break from this project, for a little while longer. Sort of, I have been working on IRC stuff, focusing on why IRC stopped working after 3.3.8.1, and now have IRC working wonderfully with the newest version of Autoit, and used to expand Frankenstein UDF, which is now available in the Autoit Examples section. The game currently comes with version 1.0, and all further versions will come with the updated version 1.1+ of Frankenstein. When I really get back into it I am going to first focus on another battle mode, where it will not be turn based and will instead be a screen with enemies, and you are able to maneuver around the screen attacking/dodging enemies, a comparison to this would be like what you see in the old Zelda games. The turn based mode will stay too, of course. Will also expand on stuff that already exists. I may attempt to try adding full screen, tho my previous attempts at this have me thinking that if I do a full screen option, it will be the only screen option. I've found it being very tricky to get dimensions and images sizes correct when switching between full screen and non-full screen. We'll see what I can come up with. Will also be going thru and refining some of the existing code. List of things I want to add later down the road: Swimming/water stuff Character survival (Eating and status ailments) More NPC interaction and locomotion Background animations in Free-mode (currently if you minimize the game and bring it back up the graphics in free roam disappear, because it's not in a constant state of animation.) Shops/Armory Toying with the idea of, if you die in the game your character is sent to the after life which contains a feiry maze full of enemies, if you navigate and survive the maze to the end you are respawned in the overworld alive again, if you die in the maze you respawn at the start. I got this idea from an old Macintosh RPG called TaskMaker. More to come... Edited November 19, 2023 by coderusa TheDcoder and Musashi 2
TheDcoder Posted November 19, 2023 Posted November 19, 2023 On 11/15/2023 at 2:29 AM, coderusa said: That is the SciTE log. I think that in your script using the _IRC_AuthPlainSASL function is what is causing the issue here, or possibly sending the AUTH request on connection, is it really needed? It's not needed if you don't wish to authenticate, and the server will definitely disconnect you if you provide invalid credentials like "TestScript" So definitely remove the function calls to Auth functions. On 11/15/2023 at 2:29 AM, coderusa said: I think its that all the documentation and UDFs are outdated. 😬 Not sure about other UDFs but the documentation on mine should be up to date according to the IRCv3.1 standard, which is fairly modern compared to the older RFCs. The IRC standards committee doesn't use version numbers anymore but everything should be backward compatible. coderusa 1 EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time) DcodingTheWeb Forum - Follow for updates and Join for discussion
coderusa Posted November 19, 2023 Author Posted November 19, 2023 Just now, TheDcoder said: Not sure about other UDFs but the documentation on mine should be up to date according to the IRCv3.1 standard, which is fairly modern compared to the older RFCs. The IRC standards committee doesn't use version numbers anymore but everything should be backward compatible. I meant more on the Autoit TCP/IP stuff, there is definitely something different in newer versions of Autoit, where the socket closes in certain instances where it should stay open, I found that if I set the TCPTimeout to 1500+ ms and add Sleep(100) afte connecting, it works around this issue. Could have just been the way I was writing/using scripts also, but either way I am glad that I got it working for me, as that would've been a major bummer for this project if IRC could not work anymore. TheDcoder 1
coderusa Posted December 7, 2023 Author Posted December 7, 2023 (edited) Still taking a break, but update: I will be returning to this project, soonish. Probably by the start of the new year (hopefully). Sorry to keep those interested waiting so long for updates to this code. I've been requested by some staff and friends on a couple IRC networks to make an IRC bot in python. This is a dual project that I am writing in autoit and python (to appeal to two crowds). The autoit version is just for fun, the python version is going to be implemented thru egg drop on their IRC networks, and whoever else may be interested in using it. What is it? Well it's a FOSS DuckHunt bot. Currently the only half-decent version of DuckHunt available for egg dropping is written in TCL (there is also a add-on for supy bot, but not that great and some other lesser known versions out there.) The original TCL version (based off the NES classic), written by Menz Agitat, (and modified versions) is quite fun, but lags profusely in larger chats when multiple users play. I am attempting to eliminate this issue by writing a new version of this in a more capable language (calling it Super DuckHunt, to follow a Nintendo-era feel). When I roll out these two scripts for beta testing, I will post information here on the forum for those interested in the autoit (or python) versions. 😎 Edited December 7, 2023 by coderusa TheDcoder 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now