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. Hey, I am having trouble reading your script the way you wrote it (not sure how you have everything working, its just confusing to look at in general, how your matching a server bipd to something the client sees I cant warp my head around.) Anyway I'm thinking this might help you out instead of guessing the size of the object table? If not that's cool. Also instead of calling `get_object(i)` a tone of times you could just do a `local object = get_object(i)` local object_table = 0x400506B4 -- 1.10 Client address (Not for use on dedicated server.) local object_count = read_word(object_table + 0x2E) local object_base = read_dword(object_table + 0x34) for i = 0,object_count-1 do local m_object = read_dword(object_base + i * 0xC + 0x8) local m_ObjectID = read_word(object_base + i * 12) * 0x10000 + i if read_word(mobject + 0xB4) == 0 then -- bipd end end -- For the server (sapp) is mostly the same except for the object_table address which is: local object_table = read_dword(read_dword(sig_scan("8B0D????????8B513425FFFF00008D") + 2))
  2. Trying to get matte screen protectors (for glossy devices) could cut the glare (but may also cut the brightness for all devices.) For PC, next time you get something new, try to go for matte finish screens. For your laptop, there is a chance you could get a comparable matte finish screen for it off Ebay or something (but that requires some disassembly to do. More or less depending on the brand of laptop.)
  3. You can do NPC's by looping though the tags when the map loads and save friendly MetaID's to a table. The just do a `if friendly_metaIds[MetaID] then` style check to see if that MetaID is in the friendly_metaIds table.
  4. Yeah that't about it, I went in and make a much bigger change though myself which will make the crosshair color change be a bit more sensitive and accurate. ally_retical_modified_by_devieth.lua Video: Note: I did't add a distance limit here but it would be easy enough to add. Note2: This will also work through walls. IceCrow14, if you would like to look at the changes and officially add this to your script that would be cool.
  5. I was just thinking about righting this, but kept thing "haha ha, I'm to lazy hell no." Really cice, it is a little sensitive though. Update: You could do this btw. local obj_ID = read_dword(dl_player + 0x2F8 + (unit_weap_slot * 0x4)) Instead of what your doing currently with this: local obj_ID = 0 if unit_weap_slot == 0 then obj_ID = read_dword(dl_player + 0x2F8) -- Primary elseif unit_weap_slot == 1 then obj_ID = read_dword(dl_player + 0x2FC) -- Secondary elseif unit_weap_slot == 2 then obj_ID = read_dword(dl_player + 0x300) -- Tertiary elseif unit_weap_slot == 3 then obj_ID = read_dword(dl_player + 0x304) -- Quaternary end
  6. Try again, changed something, you cant use "get_var()" the way i did.
  7. Try it now (updated to api_version = "")
  8. 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] = "This is line 1" lines[2] = "This is line 2" -- 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
  9. 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.
  10. Nice script, but that video's audio is something else...
  11. 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
  12. 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.
  13. 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.
  14. Thank you, I'll have to keep this video saved.
  15. 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
  16. 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.
  17. init.txt (prevents fall damage) cheat_jetpack 1 events.txt (teleports them up) event_spawn 'm $n 0 0 50'
  18. 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)
  19. 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" } } } }
  20. 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.
  21. 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
  22. Wont sync properly.
  23. 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
  24. 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
  25. Fixed, re-download.