GithubHelp home page GithubHelp logo

chalwk77 / halo-script-projects Goto Github PK

View Code? Open in Web Editor NEW
32.0 12.0 13.0 21.1 MB

:white_check_mark: Halo PC|CE - Add-ons for Phasor V2+ and SAPP :new_zealand:

License: Other

Lua 99.93% Batchfile 0.02% Less 0.05%
coding programming lua scripting halo sapp phasor scripts features pc ce custom edition

halo-script-projects's Introduction

Logo


Hi there. I'm Chalwk, a passionate independent game developer and open-source enthusiast from New Zealand. You'll find me doing various coding projects, from software engineering through research and development to creative coding.

The HSP (Halo Script Projects) GitHub repository is the platform to which I upload all of my Lua scripts for SAPP and Phasor.

What is SAPP & Phasor?

Powerful server extensions for the Halo: PC (retail) and Halo: CE (Custom Edition) dedicated server.

I have been writing Lua scripts for 13 years; Making everything from custom games, utilities, libraries and other server additives.

❤️ SUPPORT ME️ ❤️

If my work has helped you in any way, show your support and buy me a coffee ☕
You can further support me by clicking the 👁️ watch and ⭐ star buttons at the top of this page.

paypal


Check out my:

  • SAPP SCRIPTS
    Collection of Lua scripts for the Halo PC (retail) and Halo CE (Custom Edition) SAPP dedicated server.

  • PHASOR SCRIPTS
    Collection of Lua scripts for the Halo PC (retail) and Halo CE (Custom Edition) Phasor dedicated server.

  • RELEASES
    Collection of much larger SAPP projects. These are much more complex than the scripts in the SAPP SCRIPTS folder.

  • CHIMERA SCRIPTS
    Not currently public. Sorry! Check back here soon.

  • HSP WIKI

What's hot right now?

  1. VPS Setup Instructions

  2. Multi-Server (for PC & CE)

  3. Server templates for PC & CE

SAPP LINKS:

  • Forums: weblink (Unfortunately, the public forum has been taken offline, but you can still download SAPP from the home page)
  • Documentation: weblink

PHASOR LINKS:

  • Forums: weblink (In accordance with Section 25(a) of the ProBoards Terms of Service, this forum has been taken offline)
  • V1 Documentation: weblink
  • V2 Documentation: weblink

Recommended Communities:

Website Discord
Open Carnage link
Chimera link
Halo Net link
XG Gaming link
POQ Clan link
JeriCraft link

Contributors: weblink

Contributors are those whom have directly contributed code or allowed me to use portions of their code from existing projects. In which case, their names will be credited in the relevant scripts (at the top) and their names will be listed in the CONTRIBUTING.md file.


Code of Conduct: weblink

Pledge, standards and responsibilities, etc.


Contact Me:

Email: [email protected]
Discord: Chalwk (formally Chalwk#9284)


halo-script-projects's People

Contributors

chalwk77 avatar edgardanielgd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

halo-script-projects's Issues

Commands Script [feature request]

Since you can control multiple vehicles at once if you spam /enter [vehicle], I'll make a new command that turns this idea of "Multi-Control" ON|OFF. If the server admin has this feature turned off, it will delete your previous vehicle, otherwise it wont, and you will be able to control all of the vehicles that you spawn.

Note, you will only be physically in one vehicle, however.

~ [edit]
added, sort of. It's just a 'boolean' at the moment.

TO DO

  • Kill Zones needs to be refactored

terminate timers once with a local function

FIG - TO DO LIST.

Post your feature requests here, and I'll try to implement them.

To do list:

  • Custom Weapon Spawns (bsed on gametype and map)
  • Custom Spawn System

Team Balance

Script For: Halo CE/PC

Extension: SAPP

SAPP Version: 10.2.1

Script Run On Custom Maps: Yes

Will the script need to be map and/or gametype specific? No

Details

(Team Balance)

The error is reproduced when the equipment balance is made.

This is the script:

https://opencarnage.net/index.php?/topic/3761-team-autobalance/

To avoid creating a new script could you update this?

Error:

LuaTimer >> SwitchPlayerIfPossible >> Lua Error: [string "team_balance"]:56: attempt to concatenate local 'smaller_team' (a nil value)

Thanks in advance!!.

Server Fun Plus - Trolling Mod [INDEV]

Features:
  • force chat: force a player to say something
  • fake join: pretend player joins the game
  • fake quit: pretend player left the game
  • random tp: teleport player to a random location on the map
  • rocket: turn a player into a rocket
  • slap: slap target player
  • spam: spam a message to the designated player
  • zap: zap target player (deals X damage)
  • god: broadcast a message as god
  • explode: explode the target player

Ideas inspired by this mod for minecraft:
https://www.spigotmc.org/resources/adminfunplus.16371/

This will be my own adaptation of the same mod but for halo.

Anti Camp [script]

Description:

This script will warn all campers first and then teleport them back to their base.

Progress:
Alt text

SWITCH | Zombie Mod for HPC|CE

SWITCH | Zombie Mod for HPC|CE

Progress:
Alt text

link to mod | Project Tracker


This game mode is loosely based on a popular game mode called "turned" - exclusive to Zombies in Call of Duty: Black Ops II.

All players will spawn as zombies. The first player to reach the 'cure' (a vision spectrum cube) becomes the human. Each round is 5 minutes long. The player who is the human at the end of the match will get bonus points to add onto their score. The player with the most points at the end wins.

The human player must kill the zombies with guns that change after every kill, similar to Gun Game. If the human is killed by a zombie, the human will spawn as one of the zombies and the zombie that killed the human will take their place as the lone survivor. Zombies can obtain a special ability called "Zombie Vision", which allows the zombies to see the human (via nav marker).

Force Field [INDEV]

Force Field

NOT READY FOR DOWNLOAD.

Description:
Force Field, when activated, will propel enemies backward if they enter your force-field bubble.
It will also prevent harm from small-arms projectiles, however, will be temporarily deactivated if hit by, for example, a rocket.

Progress:
Alt text

link to mod | Project Tracker


HPC SyncAdmins: To Do list

Script Status:

Alt text

  • File Encoding
  • Minor Tweaks

This script does not function properly due to
SAPP encoding the admins.txt and users.txt files in UCS-2 LE BOM.

It does however, work perfectly fine if the remote files are in ANSI/UTF-8 format.

Player Vanish [issue tracker]

Player Vanish

Description: Vanish yourself (or others) on demand!

Command syntax: /vanish.command on|off [me | id | */all]

Features:

  • God Mode (option to toggle on|off)
  • Speed Boost (option to toggle on|off)
  • Boost (option to toggle on|off)
  • Customizable Messages
  • Optionally save vanish-status on quit (vanish upon return)

Progress:
Alt text

link to mod | Project Tracker


Script Requests & Features

If ya'll have a request for a script or a specific feature, please submit a comment here and I'll get right on it!

Base Game Settings

Base Game Settings

Progress:
Alt text

link to mod | Project Tracker


TO DO LIST:

  • Sort aliases into pages (15 rows / 6 columns)
  • Refactor Color Reservation

FIX:

  • [BUG] Infinity Ammo: (t[2]) not targeting correct player.
  • [BUG] listPlayers() function occasionally displays duplicate names.
  • [BUG] Lurker's invulnerability feature fails on some custom maps.
  • [BUG] Players in Lurker Mode can score while in the hill on KOTH gametypes.
  • [BUG] Alias System occasionally fails to add a new entry

LEVEL UP (beta v1.0) - Intermittent Crashes

Something appears to be intermittently crashing the server, and I am unsure as to the circumstances causing this. From what I have observed so far, it appears to happen when someone is blown up by a rocket launcher.

This issue will remain open until I have found the cause of the problem and resolved it.

Crash Player

EventCallback >> OnPlayerPrejoin >> Lua Error: [string "CrashPlayer"]:120: attempt to perform arithmetic on global 'ce' (a nil value)

This error occurs when I place a Hash in HashList, load the script and enter a player.

Note: I'm sorry if you do not explain me correctly.

EXTENSION: SAPP

SAPP VERSION: 10.2.1

Script version: the current version

HPC Killer Reward: TO DO LIST

Script Status:

Alt text

+ [!] TO DO LIST:
  • Item Drops based on Kill-Threshold
  • Custom Drop Tables
  • Item drops Based on Map
  • Item drops Based on Game-Type
  • Rewrite: NonGlobalKillsRequired
  • Rewrite: GlobalSettings
  • Rewrite: GlobalNoKills
  • Add: WeaponsAndEquipment [function]
  • Add: JustEquipment [function]
  • Add: JustWeapons [function]

LEVEL UP (beta v1.0) - feature request

In addition to receiving ammo after surviving "allocated_time" without dying, have the possibility of receiving active camouflage or overshield.

  • Possibility of Powerups (feature)

Target Shooting Game for SAPP (PC|CE)

Target Shooting Game for SAPP (PC|CE)

Progress:
Alt text

link to mod | Project Tracker


Description:

All players will be limited to movement on one side of the map.
There will be a barrier that you cannot cross. If you do cross this barrier then you will be teleported within the bounds of the playable area.

The game will consist of several "stages".

On large maps there may be 5 or more stages.

Stage 1:

  • Shoot all 5 targets within 5 seconds - advance to stage 2.
    Stage 2 will begin when all players have shot their targets. Players who couldn't complete this task in the time required will be eliminated and put into spectator mode (subject to change).

Stage 2:

  • Shoot 10 targets in 8 seconds - advance to stage 3 (and so on).
    If you shoot multiple targets in a very short amount of time you will get a combo score.

The player with the most "shots on target" in conjunction with their score wins

The targets themselves will be "Cyborgs" and they pop up at random locations at random intervals within the aforementioned barrier (bounds).

Game Mechanics

  • Some targets will reward more points than others?
  • Custom weapon layout?
  • No Grenades!
  • PvP will be disabled and you will not be able to harm other players.
  • Combo Scoring implementation
  • Stage time limit

Dropped Weapon Deleter

Script For: Halo CE/PC

Extension: SAPP

SAPP Version: 10.2.1

Script Run On Custom Maps: Yes

Will the script need to be map and/or gametype specific? No

Details

(delete when dying and leave the server).

Choose Remove Pomegranates.

Do not Remove flag/oddball in ctf.

For his do not explain correctly here a script with my specifications:

https://opencarnage.net/applications/core/interface/file/attachment.php?id=302

I stopped using it because after the players entered and left the server it gave an error.

To avoid creating a new script could you update this?

Error:

EventCallback >> OnTick >> Lua Error: [string "dropweapondeleted"]:71: attempt to perform arithmetic on local 'metaid' (a nil value)

(Removes the weapon from the live players)

Thanks in advance!!.

Chat History (utility mod)

Chat History (utility mod)

Progress:
Alt text

link to mod | Project Tracker


Planned features:

  • Lookup chat/command logs for a given user (online or offline)
  • Lookup chat/command logs for hash
  • Lookup chat/command logs for ip-address

Bonus feature:
Execute the last chat command you entered with "!c".

Command Syntax:

Chat Logs: /ch -chat [player id || ip || hash] [timeDiff]
Aliases: /chathistory <player id || ip || hash> [timeDiff]

Command Logs: /ch -command [player id || ip || hash] [timeDiff]
Aliases: /commandhistory <player id || ip || hash> [timeDiff]

Time Format

Any commands which denote a [timeDiff] argument can be used as follows:
10s = 10 seconds
10m = 10 minutes
10h = 10 hours
10d = 10 days
10mo = 10 months
10y = 10 years

Player Vanish Script

  • To mark your selection, put an 'x' between the brackets: [x]

Will the script be for Halo PC, CE or BOTH?

  • Halo PC
  • Halo Custom Edition
  • Both (cross compatibility)

What server extension are you using?

  • SAPP

    • What version of SAPP are you using?
      • 10.2.1
      • 10.1
      • 10.0
      • 9.8.1
      • Earlier version?
      • Unsure

    You can get this information from your sapp.log file.
    When SAPP loads it will create an entry into this file with a line that looks like this:
    2017-05-25 12:30:0 LOAD SAPP was loaded, Version 10.0 CE

  • PHASOR

    • What version of PHASOR are you using?
      • 2.0+ (latest)
      • 10059
      • 10058
      • 10057
      • Unsure

Will the script be run on a custom map? (non stock)

  • Yes
  • No
  • Unsure

Will the script need to be map and/or gametype specific?

  • Yes
  • No
  • Unsure

Script Details:

  • Please be as descriptive as possible so I know how to help you.

write your description here...

Hello, basically, what this script does, is vanishes the player who enable it with a command while scrim_mode on, other players cannot see the player but the player can kill normally, and it can also boost the player where he aims at, I'm really interested in a script like that, it already exists but I'm not sure who is his creator, I've played scrims recently and the player who has it has used it and it's impossible to kill him, it would be really great if you could create it, please, I've also got a fragment of screenshot of the script, hope it helps as reference of the original script.

script

Thank you so much.

LEVEL UP (beta v1.0)

Personal Reference

Known Issue:
Occasionally the flag will re-spawn and you cannot pick it up. I am still trying to figure out why. This was discovered a few minutes ago so I'll get that fixed asap.

LEVEL UP (indev)

TO DO LIST:

  • Display kill counter except for Level [1] + ignore very last kill for all other levels.

  • Announce no frags/plasmas

    Scenario:
    Assuming they're Level 5:
    Player kills 2 people (3 remaining), show the following output:
    Kills Remaining: 2/5

    Player hasn't killed anyone yet, show the following output:
    Kills Remaining: 5/5

    Ignore 5th kill because the LEVEL UP message will be displayed, and so on.

    Alternatively, the output could be:
    Player has killed 3 people, show the following output:
    Total Kills: 3/5

Trophy Hunter - INDEV

Description:

When you kill someone, a skull-trophy will fall at your victims death location.
To claim your kill and score, you have to retrieve the skull.
To deny a kill, pick up someone else's skull-trophy.

To Do:

  • CTF Compatibility
  • Full-Spectrum-Vision cubes instead of oddballs

Phase: Bug Testing

Progress:
Alt text

Velocity Multi-Mod (attractive mod) for HPC|CE

Velocity Multi-Mod

NOT READY FOR DOWNLOAD.

Progress: (6.5%)

Progress is calculated by the number of features currently implemented (and finished), divided by the total number of planned features, multiplied by 100.

Expected lines of code: 8000, Current lines: 611

link to mod | Project Tracker

Planned Features:

  • Admin Chat
  • Admin Join Messages
  • Alias System
  • Anti Impersonator
  • Auto Message
  • Block Object Pickups
  • Chat Censor
  • Chat IDs
  • Chat Logging
  • Color Changer
  • Color Reservation
  • Command Spy
  • Console Logo
  • Custom Weapons
  • Cute
  • Enter Vehicle
  • Garbage Collection
  • Get Coords
  • Give
  • Infinity Ammo
  • Item Spawner
  • Lurker
  • Welcome Messages
  • Mute System
  • Player List
  • Portal Gun
  • Private Messaging System
  • Respawn On Demand
  • Respawn Time
  • Suggestions Box
  • Teleport Manager

SAPP bug?

Turns out this is an issue with HALO, not SAPP or PHASOR.

Can be resolved with a listener function and pattern matching.

api_version = "1.11.0.0"

function OnScriptLoad()
    register_callback(cb['EVENT_COMMAND'], "OnServerCommand")
end

function OnScriptUnload() end

function OnServerCommand(PlayerIndex, Command, Environment)
    local t = tokenizestring(Command)
    if Environment == 1 then
        local data = "hello"
        if t[2] ~= nil then
            cprint("t[1] was " .. tostring(t[1]) .. " and t[2] was " .. tostring(t[2]) .. "", 2+8)
            if t[2] == data then
                -- This will never be true because arg2 (t[2]) is always returned in double quotes when executed from RCON!
                cprint("Entry: " .. tostring(t[2]))
            end
        end
    end
end

function tokenizestring(input, separator)
    if separator == nil then separator = "%s" end
    local token = { }; i = 1
    for string in string.gmatch(input, "([^" .. separator .. "]+)") do
        token[i] = string
        i = i + 1
    end
    return token
end

I can compensate by doing local data = '"hello"'

Logo
Logo

Juggernaut [GAME] for SAPP (PC & CE)

Juggernaut [GAME] for SAPP (PC & CE)


Development Progress: Alt text

Compatible Game Modes: Slayer (Free for All)
Juggernaut will only run on default maps (for now).

The following game type rules must be set.

  • KILL IN ORDER: YES
  • OBJECTIVES INDICATOR: NAV POINTS

Game Play:

When the game begins, the player to get "first blood" becomes the juggernaut.

Juggernauts are very powerful, wield 4 weapons and have regenerating health and extra (variable) speed in combination with alternating camo and full over-shield.
The game incorporates changes to player physics, weapon projectiles, inventory saving and loading among other features.
Your objective as the juggernaut is to stay alive for as long as possible and wreak havoc upon your enemies

The non-juggernaut objective is to hunt down and kill the aforementioned current juggernaut - you will now become the juggernaut yourself.

During a game, if there are only two players online then the only way to become the juggernaut is to kill them as previously mentioned.
However, if there are 3 or more players online then a "turn timer" is initiated and you can only be the juggernaut for 60 seconds and then someone else is randomly selected to become the new juggernaut.

The game can only end in two ways; either you reach the kill threshold required to end the game or wait until the game time limit has elapsed. If it was the latter, the player who had the most kills (as the juggernaut) wins.

Note: Someone who was never the Juggernaut during that game might have more kills than someone who was the Juggernaut.
That player cannot win the game simply because they were never the Juggernaut.

The main objective is to become the Juggernaut and either reach the kill threshold or have more kills (as the Juggernaut not as a non-juggernaut) than anybody else who was the Juggernaut when the game ends after the time limit has elapsed.

Scoring:

For every minute that you're alive as the Juggernaut you will receive X amount of points.
Killing the Juggernaut rewards you X points.
As the Juggernaut you will be rewarded X points for every kill.
The first player to reach Xkills as Juggernaut wins.

Game mechanics

  • Custom Scoring System (editable)
  • Target Indicators
  • Regenerating Health (editable)
  • Speed Boost (editable)
  • Editable custom Weapon Layout
    ... and more

Link to Script

Auto Message (utility mod)

Auto Message (utility mod)

Progress:
Alt text

link to mod | Project Tracker


Planned features:

  • This mod will cycle (in order | first to last) through a list of pre-defined messages and broadcast them every x seconds.

Command Syntax:

/broadcast list

  • This command will output data in the following format:
    -------- MESSAGES --------
    [1] line 1
    [2] line 2
    [3] etc...

/broadcast [id]

Server Fun Plus

Server Fun Plus

Progress:
Alt text

link to mod | Project Tracker


TO DO LIST:

ADD:

  • Color Changer
  • ZAP
  • Random TP

FIX:

  • [BUG] Nuke crashes the server on some custom maps
  • [BUG] Rocket (t[2]) not targeting the correct player

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.