Comments (8)
I think player allocation to team is coded in core ctf_pvp_engine in function https://github.com/rubenwardy/ctf_pvp_engine/blob/e2a59cef6eba80464af5414d89c4e1c6fbfd597c/ctf/teams.lua#L264
from capturetheflag.
For new matches, the place to modify is where it calls autoalloc either in ctf_map or ctf_match, I forgot. The list of players should be sorted based on ranking, then slightly randomised some how
from capturetheflag.
I don't think this is that easy, because players are able to join and to leave team in the middle of the fight.
I don't think that matters - I propose to save the names of the allocated players to a 'list' at the start of a new match, which is preserved for the whole duration of the match, so if they try to intentionally switch teams in the middle of a match, they'll be automatically assigned to the same team they left (as their name is still present in the list).
If any new players join, they'll be allocated to the team with a lower cumulative score, and their names added to the aforementioned 'list'.
from capturetheflag.
If any new players join, they'll be allocated to the team with a lower cumulative score, and their names added to the aforementioned 'list'.
It can possibly lead to abuse:
- Pro player A joins to game first time in the match and gets allocated to Red because this team is weaker.
- Pro player A logs off. Red team has lower cumulative score again
- Pro player B, friend of A, joins to game first time and gets allocated to Red team again.
- Pro player A logs in and gets returned to red team because he was saved in this team list
from capturetheflag.
The list of players should be sorted based on ranking, then slightly randomised some how
I don't think this is that easy, because players are able to join and to leave team in the middle of the fight. For such players it is better to allocate them to team with minimal total score of its members. In case of huge difference between scores of different players, we can use logarithm of score.
from capturetheflag.
@rubenwardy Re-open please! :)
from capturetheflag.
This has been implemented
from capturetheflag.
But we've already discussed that it doesn't work; unless you've had another go at modifying the code...
from capturetheflag.
Related Issues (20)
- Game freezes while loading a map HOT 16
- CI idea: Check PRs and the main branch for successfully running HOT 8
- Smoke and poison grenades are returned back to inventory after death HOT 2
- The smoke and poison nades should be allowed to be thrown near the flags if captured.
- Make `/donate` arguments orderless HOT 1
- Water flow on barrier removal not working on Plains of the Past HOT 4
- Idea: CTF DevTest Server HOT 6
- Update https://ctf.rubenwardy.com/ copyright HOT 1
- Closed issue #1191 is occurring for me. HOT 2
- Restructure the storage of rankings HOT 1
- Problem when creating and joining a singleplayer world HOT 7
- Idea: add the ability to select underbarrel grenade type in class mode
- Idea: add the floating marker above the flag in class mode HOT 1
- Convert all MTG mods to submodules HOT 2
- Change player velocity depending on what's being held HOT 2
- Add an area in map definition to mutate the map in each match
- Don't kill players inside indestructible blocks if they have fly or noclip privs HOT 1
- Add secondary normal chests to the game as extra storage HOT 1
- Restructuring rankings saving mechanism for better efficieincy and accessibility HOT 2
- Suggestion to get rid of spanwkill HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from capturetheflag.