1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
### WARNING: THIS IS EXTREMELY HORRIBLE AND BAD
you know how in open source licenses there's that bit that goes like
> THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
> SOFTWARE.
yea
* leaks a little bit of memory every map load (as a treat)
* is almost guaranteed to break with every open fortress revision
* locks you into certain server settings lest there be jank
anyway with that said
yuuko_votes
===========
* `yuuko_votes`, the headline item. yuuko's custom open fortress votes, that
integrate into the native vote menu.
* `sv_vote_issue_change_fraglimit_allowed`
* presents 5 values, with the smallest guaranteed to be current fraglimit
rounded to the next highest 10, so the vote can never terminate the
match immediately upon success.
* when running this plugin, you need to set a new convar called
`sm_default_fraglimit` instead of `mp_fraglimit`. this is down to init
order but basically i couldn't find a good place to set `mp_fraglimit`
that doesn't get run on every map load, which makes the voted-on value
fail to persist across map loads. however, there's also a hook in this
plugin that resets `mp_fraglimit` *to* `sm_default_fraglimit` whenever
the server goes from 0 to 1 gamers, so that players aren't blindsided by
something insane like 10 or 90 frags the morning after. anyway long story
short is this plugin takes complete ownership of `mp_fraglimit` dealwithit
* `sv_vote_issue_extendtimer_allowed`
* simple yes/no vote to tack 10 minutes onto the *current* timer, i.e. it
does not persist
* you probably want `mp_maxrounds{,_ffa}` set to 1 if you enable this.
* `yuuko_callvote_fix`, lets the server console initiate votes. by default
open fortress is hardcoded to forbid this. you probably do not need this
as it was written for another experiment (cf. PlayerCountSurvey in
`yuuko_votes.sp`)
* `yuuko_maptimer`, lets you mess with the map timer from the console. was
written for debugging purposes but hey have fun go nuts
* `yuuko_fake_rtv`, `yuuko_votes` used to implement a native rtv but open
fortress just has one of those now! this just whispers back to anyone who
types rtv in chat that they can use the vote menu instead.
building
--------
requires [SM-Memory], then something like:
mkdir plugins
# example selection
for plug in yuuko_votes yuuko_fake_rtv; do
spcomp \
-i /path/to/SM-Memory/pawn/sourcemod/scripting/include \
$plug.sp \
-o plugins/$plug.smx
done
installing
----------
merge `plugins` and `gamedata` over your production sourcemod install
thanks, and have fun
license
-------
snore zzzzzz honk shooo mimimimimimimi
https://svn.alliedmods.net/viewvc.cgi/trunk/public/licenses/LICENSE.txt?revision=2255&root=sourcemod
they technically have no grounds to mandate this but gpl linking
""""violations"""" have resulted in out-of-court settlements and i dont want
any smoke so w/e.
[SM-Memory]: https://github.com/Scags/SM-Memory
|