Giter Site home page Giter Site logo

sth-gamemode's People

Contributors

tomezpl avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sth-gamemode's Issues

Client-side blip colours

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.

Configurable player death blip display

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

Weapon loadout balancing

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.

Player mugshots not updating

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.

Vehicle spawn config

Similarly to the weapon loadout system in #29, there should be an easily editable vehicle whitelist

Not all players are considered for /starthunt

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.

Players not having a weapon equipped after exiting car

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.

Add player death marker

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.

Respawn command

The current respawn command contains a trigger word and should ideally be replaced with safer language like /respawn

SurviveTheHuntShared class library

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

Spawned vehicles don't get cleaned up properly

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:

  • moving far enough away from spawn, then returning and attempting to spawn cars, or
  • more reliably by having two players on the server, and having client A spawn cars first, followed by client B.
    • cars will be cleaned up correctly if they were spawned on the same client

Ghost NPC cars

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.

Proximity respawn

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.

Gamemode menu

The gamemode needs its own "interaction menu" UI so players don't have to enter commands via text chat.

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.