tomezpl / sth-gamemode Goto Github PK
View Code? Open in Web Editor NEWA FiveM (C#) implementation of the "Survive the Hunt" gamemode, inspired by FailRace's GTA videos.
A FiveM (C#) implementation of the "Survive the Hunt" gamemode, inspired by FailRace's GTA videos.
Double-tap Z (default keyboard) or d-pad down (controller) to enlarge the minimap
Currently player blip colours on the map are determined client-side by player index (not ID), which may differ between clients. This leads to differing colours and as such, players experiencing difficulty when trying to coordinate and locate each other on the map.
Move the colour generation to server-side code OR use player IDs to get the colour.
Adding a coloured outline around the local player's arrow on the map would also help.
Currently, when a player dies, their death blip is displayed to all players in the game. However, this may give an unfair advantage to hunted players, as they are able to see where a hunter died, which can allow them to easily gain intel on their teammates' location.
This should be configurable via a convar
In playtesting it became apparent that hunted players can take an overly aggressive playstyle due to the powerful arsenal they are equipped with. Primarily, weapons such as rocket launchers have been found to be overpowered and result in a frustrating experience for the hunters.
Currently the gamemode attempts to generate player mugshots using RegisterPedheadshotTransparent()
. However, this only seems to allow for one transparent texture to be generated and stored at any time which means game code and the script can contest it and therefore the mugshot will often not display (or won't update). RegisterPedheadshot()
does not have this limitation and the loss of the alpha channel will have negligible visual effect.
Similarly to the weapon loadout system in #29, there should be an easily editable vehicle whitelist
Using the /starthunt
command will choose a random player from the list of players (excluding the last hunted player), except the upper bounds for the random number appear to be one less than the actual number of players, which means one person can consistently be ignored by this command depending on their order in the player list.
Additionally, the current implementation leads to a frustrating experience when the same person becomes the hunted multiple times before others had their chance. It might be worth considering reworking that functionality entirely to ensure we've cycled through all players, removing those who have already been hunted from the potential hunted list, so that everyone's guaranteed a go. In short, the idea is to perhaps pregenerate a queue of players to consider for the hunt, only modifying and shuffling it when the player list changes (a player joins/leaves).
To further aid with simplifying the setup process, the command should also take a parameter that accepts a player index, so a specific player can be forced to be the hunted. Not entirely sure how those player indices are ordered, so perhaps an additional command printing out a list of players could be useful.
Caused by blips being recreated every 5s
Players are not able to use weapons in vehicles - therefore, they are taken away. However, this prevents the game from restoring the last equipped weapon when exiting the car, resulting in having to manually re-equip it. Additionally, the game checks if player is in vehicle every fixed time interval, not every frame.
Could try regularly checking the currently equipped weapon when outside of a vehicle, then trying to re-equip it automatically for the player when the weapons are given back. Also find good time interval.
In testing, it was found that hunter players struggle to converge on a location during the assault phase, as the hunted player is equipped with a lot more powerful weaponry and therefore can eliminate attackers more easily. The hunters lose track of where their teammates fell as they got near hunted player.
Ideally, players' death locations would become marked on the map with a "cross" blip, similar to GTA:O.
The current respawn command contains a trigger word and should ideally be replaced with safer language like /respawn
Having a "common" code library with utilities and constants would reduce the risk of error from things like hardcoded string event names and just the general flakiness of matching data structures between client & server code
Invoking /spawncars can result in cars spawning on top of each other. Additionally, vehicles don't always spawn fully, and it takes several invocations of the command to warm up the streaming system as if the model requests are not awaited correctly.
The cleanup issue can be reproduced by either:
Some NPC cars take longer to load in the driver ped model. The AI is still present but the model is temporarily missing. Likely FiveM issue.
Hunter players, who are usually at a disadvantage in combat versus the hunted player, risk having to join back into a chase all the way from the spawn point at the end of the map if they are eliminated. This is too harsh and results in frustrating gameplay. An option to respawn hunters next to one of their teammates could alleviate this.
The gamemode needs its own "interaction menu" UI so players don't have to enter commands via text chat.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.