What happened to OC? - CLOSED Carnage?!


  • Content count

  • Joined

  • Last visited

  • Raffle Tickets


About mouseboyx

Extra Information

  • Gender
  • Location
    Kansas, USA
  • Occupation
  • Interests
    Guitar, Halo, Programming

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. 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
  2. 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
  3. Submission 1 Detect whether a player joins with a vpn or proxy: https://opencarnage.net/index.php?/topic/8548-detect-vpn-or-proxy/
  4. 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 https://iphub.info/. (iphub.info 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 https://github.com/srvrco/getssl#installation vpn_detector.zip
  5. 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. admin_botscores.lua
  6. 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
  7. 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 discord_proxy.zip 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 EGS_Discord.zip discord_proxy_2.zip
  8. 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.
  9. 10.2.1 is the latest version of sapp.dll 1.10 is the latest version of haloceded.exe http://hce.halomaps.org/index.cfm?fid=6797 I'm unsure which version of haloceded.exe is included in the download from http://xhalo.byethost18.com/, 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 https://www.elitegameservers.net/sapp/download you would replace or use the sapp.dll and strings.dll with the ones from https://opencarnage.net/applications/core/interface/file/attachment.php?id=1154 to get it to work on linux.
  10. 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: https://askubuntu.com/questions/177192/how-do-i-create-a-32-bit-wine-prefix
  11. 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
  12. 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
  13. The unrestricted version of Gandanur: http://www.gandanur.com/ It has a command for disabling the cd-key check, however installation of Gandanur requires replacement of haloded.exe and strings.dll. It might be possible to use gandanur along with cheat engine and keep running the command: sv_cdkeycheck 1 sv_cdkeycheck 0 sv_cdkeycheck 1 sv_cdkeycheck 0 etc... Then use cheat engine to search for a bit value in haloded.exe of something being toggled between 0 and 1 based on what you changed it to using gandanur, however the fact that gandanur requires haloded.exe to be replaced with their own version makes me think that the memory address may or may not be correct if you tried to write to the same address in the copy of haloded.exe that sapp uses. If this doesn't work then gandanur is a solution for disabling the cd key check if you don't want to use phasor or sapp. Edit: I didn't test to see whether this works, but there is a memory address specified here: https://github.com/Chalwk77/HALO-SCRIPT-PROJECTS/blob/ca1bcdf2636debc4e3622fff48614626bb7b3043/Miscellaneous/offsets.lua --PC --hashcheck_patch = 0x59c280 --CE hashcheck_patch = 0x530130 write_byte(hashcheck_patch, 0xEB) -- Disables Halo's hash check (0x74 to reenable)
  14. What's your desktop resolution and refresh rate while not running halo? Or what's the highest resolution and refresh rate that your monitor supports? I know some monitors do both 60hz and 75hz. If you run in windowed mode halo is forced to your monitor's refresh rate regardless of what's specified using -vidmode (at least I think this is true). I'm fairly certain that anything like chimera or hac2 and other things create or come with configuration files, you could locate and modify or delete those configuration files, then they will generate a default set once you run halo again. Or delete those addons along with the configuration files then re-copy a fresh set. If you uninstall halo that might not delete the configuration files associated with chimera or hac2, I think those have to be manually deleted. But it's worth a shot, however if you never edited those config files then it's kinda a long shot to delete them as a solution. There should be an .ini file in the halo root directory, and also more config files in My Documents\My Games\Halo ... there should be a "hac" and/or "chimera" folder there.
  15. If you have chimera installed then I'm not sure how to troubleshoot the issue, but if you don't have chimera then this is what I would try: If you right click and select properties of the halo shortcut either in program files or on the desktop, then add a space to the end of the target line after the quotes " " to make it look like: ... halo.exe" -vidmode 1600,900,60 it works like: -vidmode width,height,monitor hz I think using -vidmode will force vsync but it should run the game at the monitors refresh rate rather than 30 fps If your monitor is capable of more than 60hz change it to whatever it can accept at 1600x900 You can also try running it in windowed mode to see if that changes anything ... halo.exe" -window -vidmode x,y,hz or ... halo.exe" -window