Welcome to Open Carnage

A resource for gamers and technology enthusiasts, with unique means of rewarding content creation and support. Have a wander to see why we're worth the time!


  • Content count

  • Joined

  • Last visited

Everything posted by Devieth

  1. Try it now (updated to api_version = "")
  2. Here: -- Don't touch these. api_version = "" display = {} lines = {} -- Command to trigger text. cmd = "!info" -- line[number] = "text" .. get_var(1, "$global event variable") -- or -- line[number] = "text" lines[1] = "Server Name: ".. get_var(1, "$svname") lines[2] = "Gametype: ".. get_var(1, "$gt") lines[3] = "This is line three" lines[4] = "This is line four" -- Add more lines as needed function OnScriptLoad() register_callback(cb['EVENT_COMMAND'], "OnEventCommand") register_callback(cb['EVENT_JOIN'], "OnPlayerJoin") register_callback(cb['EVENT_TICK'], "OnEventTick") end function OnEventCommand(PlayerIndex, Command, Enviroment, Password) -- Lets get quotation marks out of our commands. local Command = string.lower(string.gsub(Command, '"', "")) if Command == cmd then -- If they are already set to true then set to false. if display[tonumber(PlayerIndex)] then display[tonumber(PlayerIndex)] = false else -- If they are not true then set to true display[tonumber(PlayerIndex)] = true end return false end end function OnPlayerJoin(PlayerIndex) -- Make sure the default is for this to be truned off. -- Also makes it so the last player in this slot's setting does not carry over. display[tonumber(PlayerIndex)] = false end function OnEventTick() for i = 1,16 do -- Check if the player is in the server. if player_present(i) then -- If they want the display then. if display[i] then -- Spam 26 blank lines (to clear console for ENG and ESP clients.) for j = 0,25 do rprint(i, " ") end -- Print info from all the lines (in order) to the player. for x = 1,#lines do rprint(i, lines[x]) end end end end end function OnScriptUnload() end
  3. You may also want to check that the player's object exists before trying to read their x,y,z (that is if you use the player object.) Alternatively you could use the static player address: local x,y,z = read_vector3d(get_player(index1) + 0xF8) Which wont cause a crash or error even if the player is dead, it will just return their last position where they were alive.
  4. Nice script, but that video's audio is something else...
  5. Its a map converted from CE to PC, just checked halomaps.org and generally the author is stated there. Ex: http://hce.halomaps.org/index.cfm?fid=3426
  6. Sounds like my script, cause that's a known issue with the current release. Sorry haven't posted an updated script yet to resolve that issue.
  7. This is a simple script that modifies the velocity of all weapons that use 'bullets' to travel their entire lifespan after being shot. This can remove that pesky 'lead' in no lead servers using big maps. It can also make the hit-registration feel more responsive. Hopefully this works on custom maps (protected or unprotected) but it relies on the 'hope' that custom mappers kept their custom weapons using Halo's default bullet speeds. Hitscan Script: Pastebin - Hitscan Note: Will not enable the the mod until EVENT_GAME_START is called. You can use "lua_call hitscan EnableHitscan" if you load the script while a game is already running though.
  8. Thank you, I'll have to keep this video saved.
  9. Didn't know if I should post this in modding but, I was wondering if anyone could find the client counterpart (address not sig) to these: stats_header = 0x5BD720 network_struct = read_dword(sig_scan("F3ABA1????????BA????????C740??????????E8????????668B0D") + 3) Asking because I tried myself and had no luck (even tried what giraffe recommended with using olydbg and also had no luck.) Could be that they don't exist on the client but I'm not sure. Edit: Found: client_network_struct = 0x7FC6A0
  10. I am looking for the address of the re-spawn time address for equipment. If anyone could point me the right way that would be great.
  11. init.txt (prevents fall damage) cheat_jetpack 1 events.txt (teleports them up) event_spawn 'm $n 0 0 50'
  12. Reading the table isn't a problem as long as it is saved the way it is shown above. Also SAPP is using LuaJIT 2.1.0-beta2. print(jit.version)
  13. I am in need of a multi-threaded ffi module that can save a Lua table (so that it does not use up HaloCE's thread why saving a large Lua table to a file.) Current Lua code writing the file: https://pastebin.com/s6aVdNkF I need it to save the file formatted like so: return { [1] = { [35] = { [1] = { [1] = "Tooth", [2] = "-1" }, [2] = { [1] = "Donut", [2] = "-1" }, [3] = { [1] = "Hambone", [2] = "-1" }, [4] = { [1] = "Goat", [2] = "-1" } } } }
  14. Update: I am still in need of an ffi module to do this due to the limitations of SAPP's Lua implementation running off of HaloCE's main thread thus causing the server to lock up until the file is finished being saved.
  15. This script will allow you to drive as a gunner (and more.) Features: - Drive as gunner - Drive as passenger If there is no driver: (and drive as passenger is false) - Set passenger in driver seat If there is a driver: - Set passenger in gunner seat Download - Seat Mod
  16. Wont sync properly.
  17. I been holding onto this script for a while now and thought it might be a good idea to let people have it. Anyway all this does is force the player trying to execute a lag spawn not to crouch (which is required to cause the velocity de-sync after spawning.) Download: Pastebin - Anti-Lagspawn
  18. This script will allow you to ban players via their names. There is two ways you can ban them by their name, first is if they are in the server you can just enter their index number (1-16) and the second is buy manually typing in their name. Players who are name banned with be given default hash bans lasting 1 minute (this is to prevent re-joing by spamming connect <ip:port> <password> which would allow them to rejoin with a default name.) Commands: Ban player index (1-16) or string (no spaces.) nameban <index or string> <reason (only for index bans) > Unbans the ban index of a player (found with namebans.) nameunban <index> Lists all current namebans namebans Download: Pastebin - nameban
  19. Fixed, re-download.
  20. This will work as long as they only have one weapon. api_version = "" function OnScriptLoad() register_callback(cb['EVENT_DIE'], "OnPlayerDeath") end function OnScriptUnload() end function OnPlayerDeath(VictimIndex, KillerIndex) local m_object = get_dynamic_player(VictimIndex) if m_object ~= 0 then local m_weaponID = read_dword(m_object + 0x118) local weapon_address = get_object_memory(m_weaponID) if weapon_address ~= 0 then local weapon_tag = lookup_tag(read_dword(weapon_address)) if weapon_tag ~= 0 then local tag = read_string(read_dword(weapon_tag + 0x10)) if tag ~= "weapons\\ball\ball" or tag ~= "weapons\\flag\\flag" then destroy_object(m_weaponID) end end end end end If you need it to check for other weapons let me know. Also since I'm not just using the mapIds it may not work on protected maps, but if you need that I'll re-write it using that then.
  21. Here is the script that was used in that video (also has more options than the version by Shaft.) seat_mod.lua
  22. Here is health regen. regen.lua
  23. This is a script by 002. So if you want to report a bug in his script you should go to the release page of the script and let him know. Anyway if you only want it to report backtaps then this is all you need. Anything else requires a bit more. Edit: This replaces the entire other script if its what you want, just copy/paste it into notepad and save it as a .lua file. MESSAGE = "%s was killed in one hit by %s!"-- Message to display api_version = "" function OnScriptLoad() register_callback(cb['EVENT_DAMAGE_APPLICATION'],"OnDamage") end function OnScriptUnload() end function OnDamage(PlayerIndex, Causer, MetaID, Damage, HitString, Backtap) if Backtap then say_all(string.format(MESSAGE, get_var(PlayerIndex, "$name"), get_var(Causer, "$name"))) end end
  24. Please send your script so we know what we are trying to help you with.
  25. Wouldn't it be better to do this in "OnDamageAppliaton" instead of modding the map every time?