• Content count

  • Joined

  • Last visited

  • Raffle Tickets


About mouseboyx

Extra Information

  • Gender
  • Location
    Kansas, USA
  • Occupation
  • Interests
    Guitar, Halo, Programming
  • Contributed
    $50 (US) to Open Carnage
  • Raffle Victor

Contact Methods

Computer Details

  • Central Processor
    i5 6600k
  • Graphics
    RX 590
  • Memory
  • Storage
    2x500gb sata ssd
  • Display
    144hz 1080p 16:9
  • Operating System
    Ubuntu 20.04 + Windows 7
  1. Replace starting weapons with different weapons. The script must be made aware of what the actual starting weapons for the mode/map are in order for it to work. The script comes with an example of replacing generic starting equipment with sniper and rocket. It can also swap weapon slots by replacement, for example generic equipment is assault rifle as primary and pistol as secondary, you can set the replacements so that the pistol is primary and assault rifle is secondary. You can dynamically load this script or multiple different versions in the events.txt based on custom modes: event_start $mode:custom_mode_123 'lua_load "replace_starting_equipment"' event_end $mode:custom_mode_123 'lua_unload "replace_starting_equipment"' I used a function in this script from one of hrshaft's scripts from his pastebin get_tag_info() replace_starting_equipment.lua
  2. I made what you wanted, it does everything except change the player color, and can be configured to behave within ranges. It also has the option to spawn random weapons on the map, but this script only works with stock maps, because I don't know how to traverse tags, you can make it work with a custom map if you edit the weapon lists. randomize_stuff.lua
  3. I'm not going to release or make public the code that was used to create this. It's more of a demonstration of what is possible. It's a pretty roundabout way to accomplish it though, placing a 3D render of halo camera and player data as a transparent window on top of halo in windowed mode. The methods are hacky at best and that introduces latency into the cheat window, I'm sure if it was created using faster 3D rendering techniques rather than using JavaScript the latency would be reduced. I'm somewhat regretting creating this because it possibly introduces more dishonesty into the game, although I'm uncertain whether something like this already exists. I was more interested in whether it could work than whether it should be created.
  4. Is it safe to use os.clock() in an lua script for timing a recurring event in a script? If the server runs constantly will os.clock() have an overflow point? Could it keep counting seconds or milliseconds similar to the unix timestamp? Obviously this would be a pain to test, I didn't see information on this through a few google searches. I have this weapons spawning script where every 30 seconds the weapons are spawned again. It would make more sense to count the ticks and reset a variable rather than depend on os.clock() so it's easy to fix the problem if there is one, I'm just curious about os.clock() I had this script fail, due to an undetermined cause, although I'm unsure whether any of the other scripts were also still working. The information I could find about os.clock() says that it's mostly used for script benchmarking purposes. api_version = "" items={ { "weap", "weapons\\sniper rifle\\sniper rifle", 90.899, -159.633, 1.704, 1.587 ,0}, } function OnScriptLoad() register_callback(cb['EVENT_TICK'],"OnTick") register_callback(cb["EVENT_GAME_START"], "OnGameStart") end function OnGameStart() if (items) then for i = 1,#items,1 do spawn_object(items[i][1], items[i][2], items[i][3], items[i][4], items[i][5], items[i][6]) items[i][7]=tonumber(os.clock())+30 end end end function OnTick() time = os.clock() for i = 1,#items,1 do if (time>=items[i][7]) then spawn_object(items[i][1], items[i][2], items[i][3], items[i][4], items[i][5], items[i][6]) items[i][7]=tonumber(os.clock())+30 end end end
  5. This is a janky script so I'm not going to release it, but you can use it if you want. SAPP's EVENT_CHAT api is somewhat limited so this is the only way I could find to accomplish this. All chat messages are stopped unless they are / commands and then they are rebroadcasted as server messages without the server prefix. The messages are formatted to appear like player chat messages for team and all chat. Doing that makes it so specific messages to/from players can be muted on an individual basis. If somebody is trolling and you've had enough of their offensive text this could come in handy to anyone on the server. There are no administrative privileges required to run these commands: If you want to mute messages to yourself from a specific player use /deafen <player index> you can use /players to view player indexes, you can also use /undeafen to resume chat messages. There might be some holes in the logic for this but this is the only way I could think to accomplish this. Also vehicle chat isn't accounted for, it's lumped into team chat messages. selective_mute.lua
  6. Submission 1 Detect whether a player joins with a vpn or proxy:
  7. What the script does: The script will log instances of players connecting using a vpn or proxy in the haloded directory under the filename vpn_log.txt It will also announce to all admins on the server when someone joins with a vpn or proxy The script enables the command /vpn <player index> for admins to check if a player is currently playing on a vpn or proxy The setup of this script requires web hosting, the sapp http client, and requires creating a free account on ( allows 1,000 free ip lookups per day) The web hosting needs support for PHP and needs to have the Curl module for PHP installed, it would be ideal to have web hosting with an ssl certificate to enable https:// communication The readme.txt goes into detail on the setup instructions, but doesn't include detailed web server setup instructions. Look for guides on how to install a LAMP web server on a vps, or use web hosting that allows ssh access. With ssh access, this script is valuable in enabling a free ssl certificate
  8. This is a utility for admins to get real time feedback of a specific player's botscore. aimbot_ban must be enabled for this to work. If you want to measure botscores, but don't want sapp to kick or ban any players put aimbot_ban 20000 4 1 in the sapp init.txt The admin_botscores.lua script enables 2 commands: /botscore [player index] use to show the botscore of a specific player /stopbotscore use to disable botscore messages for yourself You can configure the script to either output the messages to the halo console (default), or the halo chat, whichever you prefer. Each admin player can monitor any player including themselves. Here's a video showing how it works. I'm not using any cheating software in the video. I'm trying my best as a human to track a stationary player's head through a wall. EDIT: I've uploaded admin_botscores3.lua with new features: IMPORTANT: Using this script is will not guarantee catching someone who is cheating and there are lots of false positives involved with sapp's botscore detection. Within testing we've discovered that it's quite possible for a players botscore to go above 1000 during normal play while not using any cheats. It's important to figure out how sapp's detection works before issuing punishments based on botscores or snaps. Spectating or sightjacking is still highly recommended before making decisions. Using /botscore [player index] shows up in the console as a single line instead of the previous behavior of the botscore covering up lots of the visible screen area. I added snap notifications, but this often has false positives, so don't ban or kick players just because of one or two snaps being detected. It's best to observe the system for a while to discern false positive from real positive. If you are logged in as an admin there will be an alert system for every time a players score passes an increment of 500. For example if someone snaps and their score goes to 555 instantly a message will appear to admins that their score exceeded 500. Or if someone is tracking through walls and their score goes above 500 then 1000 the script will notify twice in that case. There is also a cool down effect so if someone's score was 1010 then it slowly drops to 400 then it goes to 555 it would notify again that their bot score went past 500. admin_botscores.lua admin_botscores3.lua
  9. I used AutoHotkey to type characters ANSI 0128-0255 and ASCII 1-255 alt codes over halo chat and then save the results in a couple of files. It might be useful for someone somewhere along the line. The files have only been written to by lua file i/o operation. If you want to use these characters in a script I recommend opening them with notepad++ then saving your current script as ANSI encoding then copy and paste the characters. I don't know if this is all of the possible characters, there may be some missing. I'm curious if anyone knows, will halo will accept other encodings in addition to ascii and ansi within chat or within player names? ansi.txt ascii.txt
  10. EGS allows a one click install of the lua_http_client (Required) This proof of concept leverages that fact to communicate with an http server to which acts as a proxy to send out discord api requests. In theory this works fine, however this collection of scripts is only a test and lacks any functionality of a true solution. There's also the problem of needing to buy/rent a server instance running an https web server in order for any of this to work. You can get away with something that's $5/mo or possibly ~$30 a year if you find some really cheap vps solution, because all it needs to do is act as a proxy, or alternatively use web hosting you already have to accomplish that. The test script should be run off a local web server, all it does is echo halo's chat messages that are sent to 'All' through the discord bot, to a specific discord channel. The webserver needs to have php and the curl extension for php installed. I also included someone's JavaScript solution to authorize the bot through websockets. The php was mostly copied from stackoverflow. I'm a little bit salty that EGS has ghosted my request for uploading of a curl dll so that sapp can make these requests without a need for a proxy. This is a really roundabout solution to the problem. Edit: I was able to make a slightly better version, it allows halo admins to chat back and forth between a discord channel using an https application as a proxy and a discord bot. It's uploaded as Accidental bug in discord_get.php which bypasses the api key, fixed version uploaded as discord_proxy_2 I also included a script to make generating an api key easier
  11. Using something like: execute_command("spawn vehi vehicles\\banshee\\banshee_mp x y z r") or spawn_object() Within an lua script on game start, while a race gametype is loaded up, the vehicles stay where they are until they are moved or driven, but instead of going back to their original spawn point after they are idle they disappear. This is confusing, because using execute_command("spawn etc..") to spawn a vehicle in a slayer gametype, the vehicles behave more or less like normal vehicle spawn, they respawn to where they were positioned at the beginning when they are moved and at idle. Is there some way to keep track of which vehicles have been moved or a way of detecting when they are at idle, to create an artificial timer in lua to have them respawn? I think this is possible for detecting whether they have been driven, or are currently under control of a player, but detecting if they have been moved but never driven sounds more difficult.
  12. 10.2.1 is the latest version of sapp.dll 1.10 is the latest version of haloceded.exe I'm unsure which version of haloceded.exe is included in the download from, but I don't think you want that version, it's definitely not 1.10. That's also a very old version of sapp.dll from the looks of the web page. Edit: You can also get haloceded.exe from here, but the version of sapp.dll included with it doesn't work on linux you would replace or use the sapp.dll and strings.dll with the ones from to get it to work on linux.
  13. This doesn't answer your question, but this post ended up fixing my issues: I wasn't able to get sapp to run on ubuntu 20.04 unless I used the version of sapp linked in the above post. However, I'm using a 1.10 version of haloded.exe I'm not sure whether it would work with previous versions. What patch version of haloceded.exe are you using? I was able to run wine 5.0 with haloded 1.10 and sapp 10.2.1 on ubuntu 20.04 by using the SAPP.7z download in the above post. Make sure you run haloded in a 32bit wine prefix also:
  14. I've made 3 scripts for 3 different use cases, every one of them requires that you put: cheat_jetpack true into your sapp init.txt, or you could toggle it using events.txt on the condition that the map boardingaction is loaded. These scripts also require configuration, the coordinates that are included are only examples, so you will have to find where you want people to be teleported by using /coord from a sapp server to find the x,y,z coordinates. The teleportation is triggered when a player goes below -5 in the z coordinate space. I think the lowest point that you can walk on in boarding action is -4.78. If you fall from level 5 in the map then the falling damage will kill you before you get to -4.78, thus the requirement of cheat_jetpack true. All the scripts will only teleport on the condition that the map boardingaction is loaded, if you run another map those won't be affected. I didn't test this with antiglitch enabled, but it seems to work without antiglitch. ba_no_fall.lua One set location for players to be teleported to, doesn't matter what gametype or team or anything, everyone who falls off is teleported to that location. ba_no_fall_multiple.lua You can program in as many teleport locations you want, and one will be selected from the list using math.random() (randomly) for a player to teleport to. However red and blue teams will share the same pool of teleports that can be chosen. ba_no_fall_multiple_teams.lua Red and blue teams both have a separate pool of random places that they teleport to after falling into the abyss, they have to be programmed in separate arrays of {x,y,z} coordinates, but it works the same as ba_no_fall_multiple.lua, only it has different teleports dedicated to each team. Chalwk's github helped make these scripts possible, thanks! ba_no_fall.lua ba_no_fall_multiple.lua ba_no_fall_multiple_teams.lua
  15. I honestly have never tested changing that memory address, I was thinking that with sapp 10.2.1 the cd key check is disabled out of the box. I tried some code, this ended up crashing haloded with an exception error, but I'm using sapp 10.2.1. With 10.2.1 I never had a problem with cd key checks, I also don't know if those memory addresses or correct, or when to write to them. It could be a completely different address that is created by sapp that needs to be changed. Those addresses in offsets.lua probably pre-date halo patch 1.10 and are geared towards phasor. api_version = "" function OnScriptLoad() register_callback(cb["EVENT_GAME_START"], "OnGameStart") end function OnGameStart() --PC --hashcheck_patch = 0x59c280 --CE hashcheck_patch = 0x530130 write_byte(hashcheck_patch, 0xEB) -- Disables Halo's hash check (0x74 to reenable) end