Search the Community: Showing results for tags 'Mechanics'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


    • Site Matters
    • Member Introductions
    • Chimera: General
    • SAPP: General
    • Halo CE: General
    • Halo CE: Development
    • Halo PC: General
    • Halo PC: Development
    • Halo MCC: General
    • Halo MCC: Development
    • General Gaming
    • Tech Chatter
    • Off-Topic


There are no results to display.

Found 105 results

  1. NOTE: No client changes are performed; the code to handle all of this is already in the clients. When a server issues a challenge to a connecting client, it also informs that client of the encoding class to be used for communication. The encoding class determines the number of bits used to encode certain fields; sightjacking and spectating fall victim to the encoding class used for public servers, but we can get buttery-smooth results if we force the encoding class: (The player that recorded this footage had ~200 ping to this server) TECHNICAL DETAILS It is a common misconception that the global sv_public only controls whether or not the server advertises on the master server list; it also used to select the encoding class and connection class (determines throttling limits). sv_public 0 sets the encoding class to the LAN encoding class in addition connection class four, the effects of which are demonstrated above. sv_public 1 sets the encoding class to the internet encoding class. The attached script effectively forces sv_public 0 only for the purposes of determining encoding and connection class - the global is not modified and when used for other purposes (e.g. determining whether or not to advertise on the master server list) sv_public behaves as normal. The changes have the following effects on encoding behaviour (from internet to LAN encoding class): angular_velocity number of bits per component increased from 16 to 31 (fixed-width encoding in range [-8, 8]) relevant fields: equipment_update.angular_velocity vehicle_update.angular_velocity vehicle_new.angular_velocity projectile_new.angular_velocity equipment_new.angular_velocity local_player_vehicle_update.angular_velocity remote_player_vehicle_update.angular_velocity remote_player_total_update_vehicle.vehicle_data.angular_velocity translational_velocity number of bits per component increased from 16 to 31 (fixed-width encoding in range [-100, 100]) relevant fields: projectile_update.translational_velocity equipment_update.translational_velocity weapon_update.translational_velocity vehicle_update.translational_velocity vehicle_new.translational_velocity biped_new.translational_velocity projectile_new.translational_velocity equipment_new.translational_velocity weapon_new.translational_velocity local_player_vehicle_update.translational_velocity remote_player_vehicle_update.vehicle_data.translational_velocity fixed_width_normal_8bit number of bits for theta (pitch) increased from 8 to 20 resolution improved from ~0.7 degrees to ~0.00017 degrees number of bits for phi (yaw) increased from 8 to 20 resolution improved from ~1.4 degrees to ~0.00034 degrees relevant fields: vehicle_update.forward and vehicle_update.up vehicle_new.forward and vehicle_new.up biped_new.forward and biped_new.up projectile_new.forward and projectile_new.up equipment_new.forward and equipment_new.up weapon_new.forward and weapon_new.up local_player_vehicle_update.forward and local_player_vehicle_update.up remote_player_action_update.facing_vector super_remote_players_action_update.facing_vector remote_player_vehicle_update.forward and remote_player_vehicle_update.up remote_player_total_update_biped.action_data.facing_vector remote_player_total_update_vehicle.vehicle_data.forward and remote_player_total_update_vehicle.vehicle_data.up fixed_width_normal_16bit number of bits for theta (pitch) increased from 16 to 20 number of bits for phi (yaw) increased from 16 to 20 relevant fields: item_accelerate.direction field type: locality_reference_position position is always encoded as an absolute position, rather than conditionally switching between a small-distance delta and absolute in the best case, improves the resolution per component from 1/64 ingame units to 4.7e-7 ingame units this change should drastically reduce the jitter observed when used with remote_player_position_update_rate 0 and similar configurations servers running HUGE maps may not want this patch, because absolute position has a range of [-5000, 5000] per component in the worst case, increases the number of bits per component from 25 to 31 relevant fields: projectile_update.position vehicle_update.position projectile_new.position local_player_vehicle_update.position remote_player_position_update.position remote_player_vehicle_update.position remote_player_total_update_biped.biped_data.position remote_player_total_update_vehicle.vehicle_data.position WARNING I do not often program in lua, so there are probably a few errors. This script should be loaded in as early as possible (e.g. in an init.txt) so that the code paths that are targeted are patched before the process runs through them. This script increases the amount of data sent and received, but the amount is probably marginal by today's standards. For admins: this script will make packet loss and throttling stand out like a sore thumb when players are turning; do not assume a player is aimbotting on the sole basis that their aim presents a lot of jerks. CREDITS Vitor, for helping me test this, providing video, and general support. buttery_smooth.lua
  2. This script provides a simple set of timer functions for use in other scripts. Simply require this script in your script to use the following functions: timer:new() timer:start() timer:stop() timer:pause() timer:resume() timer:get() Place this script in the server's root directory. See 'Example-Script' for demo usage. Example-Script.lua sapp-timer-library.lua Edit: In the description for the example script, it says that it prints the elapsed time a player has been alive. Just to clarify, what it's actually doing is calculating the total time someone has spent alive for the lifetime of that game.
  3. A custom vehicle spawner that works on any game mode. This script will spawn vehicles at pre-defined coordinates. If a vehicle has moved from its original position and isn't occupied, it will be moved back to its original position after a delay. This script was designed to fix a problem with vehicles that are created using spawn_object() or execute_command("spawn ... ") on race game types - they do not respawn at the origin x,y,z. NOTE: If you're using this on any RACE game type, you must set the game type flag "VEHICLE RESPAWN TIME" to NEVER. Custom Vehicle Spawner.lua
  4. This script automatically loads scripts on a per map, per game mode basis. See script config for more. Script Manager.lua
  5. Hunter-Prey is a custom FFA game inspired by COD: Nintendo DS variant. The flag is placed in the middle of the map. Survive for as long as possible with the flag. When the time is up or when the kill limit is reached, the player that had the flag for the longest time wins. If both time and kill limit are set to infinity, the winner is the player that had the flag for the longest time upon ending the game. Hunter-Prey.lua
  6. A simple script to prevent other players from impersonating your community members. Settings: local settings = { ------------------- -- config starts -- ------------------- -- Default action to take against people who are caught impersonating: -- Valid actions are 'kick' & 'ban' -- action = 'kick', -- Default ban time against impersonators: -- ban_time = 10, -- (In Minutes) -- Set to zero to ban permanently -- Punish reason: -- reason = 'Impersonating', -- -- Add your community members here: -- users = { -- Example: -- If a player joins the server with the name "ExampleGamerTag" and they are not on this list, -- they will be kicked or banned (depending on the action you set above). -- They must also join with the same IP address or hash as the one you have listed here. -- Each entry can have multiple IP addresses or hashes. ['ExampleGamerTag'] = { [''] = true, [''] = true, ['xxxxxxxxxxxxxxxxxxxxxxxxxxxx01'] = true, ['xxxxxxxxxxxxxxxxxxxxxxxxxxxx02'] = true, }, -- repeat the structure to add more entries ['name_here'] = { ['ip 1'] = true, ['ip 2'] = true, ['hash1'] = true, ['hash2'] = true, ['hash3'] = true, ['etc...'] = true, } } ----------------- -- config ends -- ----------------- } Anti Impersonator.lua
  7. In Sabotage, a bomb spawns in the middle of the map. Both teams have to try to destroy the opposing team's base simultaneously. The team that destroys the opposing team's base wins. The team who planted the bomb has to defend it. The opposing team has to defuse it. * Hold the crouch key while standing on the flag podium to plant or defuse the bomb. See this game in action on Halo: PC (retail) IP: Server name: Little NZ #7 | Sabotage Video Demonstrations: Sabotage.lua
  8. A fully integrated Halo 3 style ranking system for SAPP servers. Players earn credits for killing, scoring and achievements, such as sprees, kill-combos and more! Stats are permanently saved to a local database called ranks.json. Players are required to create a service record (account) in-game to use this mod. See the command syntax section on the release page for more information. RELEASE PAGE
  9. Script Name: Market, for SAPP (PC & CE) Description: Earn money for killing and scoring. Use your money to buy the following: Type Command Price Catalogue Message Camouflage m1 $60 Duration: 30 seconds God Mode m2 $200 Duration: 30 seconds Grenades m3 $30 2x of each Overshield m4 $60 Shield Percentage: Full Shield Health m5 $100 Health Percentage: Full Speed Boost m6 $60 1.3x Teleport m7 $350 Teleport with flashlight key. Damage Boost m8 $500 1.3x damage infliction All purchase commands (including teleport) have a cooldown. Default: 60 seconds each. Command to view available items for purchase: /market Command to view current balance: /money Two available admin-override commands: 1. /deposit <pid> <amount> 2. /withdraw <pid> <amount> There are two versions of this script. -------------------------------------------------------------------------------------------------------------------------------- Version 1. Balances are permanently saved to a local database. Players are required to create an account (in-game) to use this script Account Management Commands: 1. /account create <username> <password> 2. /account login <username> <password> If you have an existing account, your balance will be restored when you log into your account. Some data is cached for a period of time, based on your IP address. If your IP changes or the server is restarted, you will have to log in again. If a user doesn't log into an account after 30 days, it's considered stale and will be deleted. This script requires that the following JSON library be installed on your server. Place in the same location as strings.dll & sapp.dll: -------------------------------------------------------------------------------------------------------------------------------- Version 2. Stats are reset at the beginning of each game and there is no account creation system. This version does not require the JSON library mentioned above. -------------------------------------------------------------------------------------------------------------------------------- PICK YOUR FLAVOUR: Download Page More features are planned for this script. Keep an eye out for regular updates on the GitHub.
  10. Set your next spawn point with a custom command (COD inspired). * Set the command (default: /ti) * Change the number of uses (per game) - default 5 Tactical Insertion.lua
  11. Make frags and plasmas behave like stun grenades. When someone is damaged by a grenade, their speed is reduced to 0.5% for 5-10 seconds (depending on damage type). Plasma explosion = 5 seconds Plasma sticky = 10 seconds Frag explosion = 5 seconds Stun Grenades.lua
  12. Description: Force a player to say something. Command syntax: /fc <player> <message> Example: /fc 1 Hello World! Output: Player 1 will say "Chalwk: Hello World!" Note: For players using Chimera, fake chat messages will appear as server messages, thus will be obvious they're fake. Force-Chat.lua
  13. Frag Nation: A grenade mini-game. Each player is given two of each grenade and an empty plasma pistol. Every time you kill a player (with a grenade), you will be rewarded with a grenade. If you have no grenades, you will be limited to melee combat. Features: - Set the number of kills required to win the game. - Set the number number of grenades each player starts with. - Set the number of grenades each player is rewarded with for each kill. - Define the player's primary weapon (Default: Empty plasma pistol) * Without a weapon, you cannot throw grenades! - Set the starting ammo for the player's primary weapon. - Enable or disable object interaction for weapons, vehicles and equipment. [!] NOTE [!] This script is intended for use on STOCK maps only. Frag Nation.lua
  14. Players spawn with a sniper rifle and pistol, headshots only, 25 to win. * Other weapons & vehicles do not spawn. * You can use powerups (i.e, camo, os). * Optional infinite ammo, bottomless clip and ability to disable grenades. * Set the default score limit. Swat.lua
  15. GAME MODE ADDITIVE: Players are limited to the use of needlers. * Other weapons & vehicles do not spawn. * You can use equipment (i.e, grenades & powerups). * Optional infinite ammo and bottomless clip Needlers-Galore.lua
  16. GAME MODE ADDITIVE: Players are limited to the use of shotguns & snipers. * Other weapons & vehicles do not spawn. * You can use equipment (i.e, grenades & powerups). * Optional infinite ammo and bottomless clip Shotty-Snipes.lua
  17. Gun Game (v1.9) A simple progression-based game inspired by COD's Gun Game. Every kill rewards the player with a new weapon. The first player to reach the last weapon with 10 kills wins. [!] Note: This script is designed for maps with stock tags. See this game in action: IP: Server name: Little NZ #2 | Gun Game Gun Game.lua
  18. 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
  19. A throwback to the good old days. This is a script version of a mod made by Skelito, circa 06-09. SDTM was originally a series of modded maps with big explosions, visual improvements and even a skin pack; It was extremely popular back in the day. I have done my best to recreate it from scratch (minus the skin pack and visual improvements, as it's not a map pack), with all original custom portals and game mechanics. SDTM is designed for CTF game types but can be run on any mode. Please note: This mod is designed to run on maps with stock tags. This mod aims to make SDTM portable as players no longer need to download the modded maps to experience the thrill that SDTM has to offer. For server operators, installation instructions can be found at the bottom of the release page; Players don't need to do anything! Features: Powerful snipers that fire explosive bullets; Splash damage radius of 7-9 w/units. The rocket hog's weapon is more powerful. Shooting the ground nearby will allow you to hogatapult. Almost all weapons & vehicles have been buffed in one way or another (some insta-kill). Pistols can fire invisible bullets when you empty the mag and do not require reloading. Grenades are super powerful and can be thrown 5x further than normal. Custom hidden teleports on all stock maps. Integrated Custom teabag feature. Integrated custom vehicle spawn system. Custom pre-made game types for PC and CE (please use these!) Configuration: All config settings can be edited in ./SDTM/settings.lua Please see the RELEASE PAGE for download and installation instructions
  20. Tag

    Tag, you're it! This is a game involving two or more players. An initial game of tag is started by whacking a player - this player will become 'it' (the tagger). Their turn ends when they tag their first victim or their turn time is up; If the turn time lapses before they tag someone, a new random player will be chosen to be the new tagger. Features: - All runners have plasma rifles and the taggers have an oddball. The plasma rifle was a design choice, not a random decision, as it slows down the tagger when shot at. - You will accumulate 5 points every 10 seconds as a runner. - The score limit is 10,000. - Taggers get a 1.5x speed boost, runners have normal speed. - Tagging someone earns you 500 points. - Runners cannot earn points for killing. - This game mode is best played on medium & small maps: timberland bloodgulch damnation longest chillout carousel ratrace output prisoner wizard Beavercreek hangemhigh custom game Tag.lua
  21. A half-life implementation for Halo. Pick up and throw vehicles at each other! Works on all maps (including protected maps). To toggle Gravity Gun mode on or off, type /ggun [1/0 or true/false or on/off]. Shoot a vehicle (once) to pick it up. Shoot again to launch it Gravity Gun.lua
  22. Rage Quit: Announces a message when a player rage quits. Config: -- A player is considered raging if they quit -- before the grace period lapses after being killed: -- local grace = 5 -- Message output when a player rage quits: -- local output = '$name rage quit because of $killer' Rage Quit.lua
  23. Introducing a brand new, fully configurable Zombies game type. Current Version: 1.20 As this script is new, it's possible that there may be bugs. Please report any bugs and feedback here - script changelogs are posted on the same page. Introduction Players in zombies matches are split into two teams: Humans (red team) and Zombies (blue team). When a human dies, they switch to the zombie team. A human's goal is to remain alive (uninfected) until the end of the round, while a zombie's goal is to kill (infect) as many humans as possible. When only one human remains, that human becomes the "Last Man Standing". The Last Man Standing is given unique player traits; including a waypoint revealing their location to zombies, making survival an extreme challenge, among other traits. See more on traits in the features section below. The players who start a round as zombies are Alpha Zombies. Alpha Zombies have unique player traits to distinguish them from standard zombies. Standard Zombies are: Humans who have been infected. Players who joined after a game has already begun will get standard-zombie status. Humans who commit suicide will get standard-zombie status. Zombies have melee weapons at their disposal and are capable of killing humans in a single blow. Humans are given short - and medium-range firearms. Game Type Features: Team Balance: The players who start a round as zombies are Alpha Zombies. The script will dynamically determine how many Alpha Zombies there should be based on how many players are online. Zombies can be cured (on by default): A zombie needs 3 (default) consecutive kills to become human again. * You can configure the kill threshold. Nav Marker (off by default): When enabled, the last man standing will have a nav marker above his head. Note: The kill-in-order game type flag must be set to YES and the objectives indicator flag must also be set to NAV POINTS. Game Messages: Fully configurable game messages. Game Objects: Interaction with weapons, vehicles & equipment can be individually blocked/allowed for Red Team, Blue Team or both teams. Default: All objects are disabled for zombies except for health packs. Humans can use vehicles. Alpha Zombies will have to throw stickies on the vehicles to kill them. Teams: You can set the teams. Humans are on the red team by default. Zombies are on the blue team by default. But you can change that if you so desire. No Zombies Left? No Worries! When there are no zombies (suppose they all left), a timer will count down from 5 seconds (default). After the countdown lapses, a random Human will be selected to become a (standard) zombie. Game Start Delay The game requires a minimum of 2 (default) players online before a pre-game countdown from 5 (default) seconds is initiated. After which the map is reset and the game commences. Traits: Alpha Zombies: Speed 1.5x Health 2x Normal Health (200%) Respawn Time 1.5s Grenades 2x plasmas Weapon Plasma rifle Damage 10x normal damage Abilities Can camouflage while crouching Standard Zombies: Speed 1.4x Health Normal Health (100%) Respawn Time 2.5s Grenades 0 Weapon Skull (oddball) Damage 10x normal damage Abilities None Humans: Speed Normal speed (1) Health Normal Health (100%) Weapons Pistol, Shotgun, Assault Rifle Respawn Time 3s Grenades Two of each Damage 1x normal damage Abilities Can use Vehicles Last Man Standing: Speed 1.5x Health Normal Health (100%) Weapons Map default (no custom assignments) Respawn Time 1s Grenades Four of each Damage 2x normal damage Abilities Can use Vehicles and is capable of regenerating health by 0.0005 units per 30 ticks Please download Zombies on my GitHub release page (link below). The release contains three files: Zombies.lua (sapp script) Zombies-PC (custom game type) Zombies-CE (custom game type) DOWNLOAD PAGE
  24. Command Spy: Get notified when a player executes a command. Admins of level 1 or higher will be notified when someone executes a command originating from rcon or chat. Command Spy is enabled for all admins by default and can be turned on or off with /spy. Command(s) containing these words will not be seen: login admin_add sv_password change_password admin_change_pw admin_add_manually Example output: CMD Spy.lua
  25. Deploy super-explosive mines (disguised as health packs) while driving. - To Deploy a mine, press your flashlight key. - When an enemy walks/drives over them they explode. - You cannot die by your own mines. - Mines despawn after 60 seconds (by default). - Players spawn with 20 minutes per life. - Great for race servers. - Compatible with all game modes. This script is designed to work on maps with stock tags. Deployable Mines.lua ~edit, updated script with missing logic.