HL2RP 1.3 beta changes
Summary
HL2RP customers will now be able to download the HL2RP 1.3 beta from the store, which offers several improvements from the HL2RP 1.2 beta. Keep in mind that because this is a beta, you'll be participating in the testing process, and may experience bugs. Below is a summary of the changes:
- HL2RP 1.3 gives server owners more flexibility when it comes to customising their server:
- Faction ranks (and the models associated with them) can now be changed through their faction file
- Faction max health and armour attributes can now be changed through their faction file
- Faction on-creation and on-spawn inventories can now be changed through their faction file
- Faction weapon loadouts can now be changed through their faction file
- Faction typing beeps can now be changed through their faction file
- A vortigaunt faction is now included by default, and @RJ kindly permitted the inclusion of his vortigaunt voice commands, meaning that you can still use the VCs as you're used to
- Scanners have been given their own faction, rather than being part of the regular MPF faction
- Combine NPCs will no longer attack Combine or Combine-allied factions
- HL2RP 1.3 uses the Clockwork voices library, instead of its own in-built one, meaning that the chatbox will try to identify and display the voice command you're typing (just like it already does with chat commands)
- Improved localisation
- Gamemode content has been moved into the content subdirectory of the gamemode folder
- Added the power_node item for use in healing scanners with the /charheal command
- Added a ::> suffix to Combine chat to match the existing <:: prefix
- Added the dull_vision config to toggle dullification of visuals
- Updated the HL2RP logo
- Fixed agility progression (contribution originally from Gr4Ss)
- Fixed the fact that the new icons were not being automatically downloaded for clients
- Fixed the Combine locks attaching themselves to the wrong entity after a restart
How to update
Note: those running the Clockwork development branch, v0.100.0, must update their versions of Clockwork to contain an update I pushed on 18/06/2019 before making the transition.
Due to the changes in Combine ranks and the scanners, those wishing to update existing servers will have to make update characters in-game. The name-based ranking will no longer work, meaning server owners should configure the new ranks to their liking and then promote players in-game. Players who were previously scanners will now need to be whitelisted to the scanner faction.
Additionally, the rank changes have seen to the removal of the Schema.IsStringCombineRank, Schema.IsPlayerCombineRank, and Schema.GetPlayerCombineRank functions, so any plugins incorporating these should be updated.
A deeper dive
The ranking changes
Previously, HL2RP used a player's name and faction to identify what rank they were. Now, ranks are detached from names. The MPF contains five ranks by default: RCT, EpU, OfC, DvL, and SeC. The OTA faction contains two: OWS and EOW. When a player creates a character in a faction which contains a rank system, Clockwork will automatically assign them to the default rank if there is one, or to the lowest rank in the hierarchy if there isn't. For MPF this is RCT, and for OTA this is OWS. A player's rank will no longer be displayed in their name automatically, so if you want to change a player's rank you can use the /rankpromote and /rankdemote commands. You provide it with the name of the person whose rank you're trying to change, and if you are in a rank which has permission to change the other player's rank, the target's rank will change. The DvL and SeC ranks can, by default, promote up to and demote those below them in the hierarchy. Different ranks can have different models and weapons, so a change in a player's rank may cause their model and loadout to change. An administrator can force the change of a player's rank by providing "true" as the second parameter to /rankpromote or /rankdemote.
Note: due to a bug in prior versions, those looking to have player-driven promotions and demotions will need to use Clockwork v0.100.0. Forced promotion and demotion by administrators is still possible for those not running v0.100.0, however.
Below is an exerpt from the MPF faction file:
Code:
FACTION.ranks = {
["RCT"] = {
position = 5,
class = "Metropolice Recruit"
},
["EpU"] = {
position = 4,
class = "Elite Metropolice",
model = "models/police/leet_police2.mdl"
},
["OfC"] = {
position = 3,
class = "Elite Metropolice",
model = "models/police/policetrench.mdl"
},
["DvL"] = {
position = 2,
class = "Elite Metropolice",
model = "models/police/eliteshockcp.mdl",
canPromote = 3,
canDemote = 3
},
["SeC"] = {
position = 1,
class = "Elite Metropolice",
model = "models/police/sect_police2.mdl",
canPromote = 3,
canDemote = 2
}
};
Max health and armour configuration
The max health and armour of a faction's members can be configured as follows:
Code:
FACTION.maxHealth = health_amount
FACTION.maxArmor = armor_amount
For example, the OTA faction contains the following:
Code:
FACTION.maxHealth = 150;
FACTION.maxArmor = 150;
On-creation and on-spawn inventory configuration
A character's "on-creation" inventory is the inventory that the character starts with. The character's "on-spawn" inventory is the set of items that a character should have, at the minimum, when it is loaded. An example of the latter would be the fact that the schema ensures that MPF characters have at least two ammo boxes when they spawn in. If they don't, the ammo boxes are replenished.
The on-creation inventory can be configured as follows:
Code:
FACTION.startingInv = {
["item_id_1"] = quantity_1,
["item_id_2"] = quantity_2,
["item_id_3"] = quantity_3
}
For example, the OTA faction contains the following:
Code:
FACTION.startingInv = {
["handheld_radio"] = 1,
["weapon_pistol"] = 1,
["ammo_pistol"] = 1,
["weapon_ar2"] = 1,
["ammo_ar2"] = 1
};
To on-spawn inventory can be configured as follows:
Code:
FACTION.respawnInv = {
["item_id_1"] = quantity_1,
["item_id_2"] = quantity_2,
["item_id_3"] = quantity_3
}
For example, the MPF faction contains the following:
Code:
FACTION.respawnInv = {
["ammo_pistol"] = 2
};
Typing beep configuration
The start and end of chat sounds can be changed as follows:
Code:
FACTION.startChatNoise = "path/to/sound.wav";
FACTION.endChatNoise = "path/to/sound.wav";
For example, the OTA faction contains the following:
Code:
FACTION.startChatNoise = "npc/overwatch/radiovoice/on1.wav";
FACTION.endChatNoise = "npc/overwatch/radiovoice/off4.wav";
Scanner faction
As Combine roles have been disentangled from character names, the scanners have been moved into their own faction. There are two ranks in the scanner faction: SCN and SYNTH. The type of scanner a character is can be changed via the rank commands.
NPC allegiance
An NPC's relationship with members of a given faction can be configured as follows:
Code:
FACTION.entRelationship = {
["npc_class_1"] = "Like",
["npc_class_2"] = "Fear",
["npc_class_3"] = "Hate"
}
Gamemode content relocation
Previously, owners would have to copy the HL2RP download into their garrysmod directory. Now, everything is contained within the cwhl2rp folder, so you only need to drag that into the gamemodes directory. Additionally, Combine police models were relocated into a police subdirectory, so what previously would have been models/combine_model.mdl would now be models/police/combine_model.mdl. This was to resolve an issue with clientside model setting, and the result is that these models should now also be visible to clients without the content pack.
Known issues
- The scanner faction image appears slightly blurred