Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001420Zandronum[All Projects] Suggestionpublic2013-07-21 00:592024-03-01 03:08
Assigned ToDusk 
PlatformOSOS Version
Product Version 
Target Version3.2Fixed in Version 
Summary0001420: Custom vote definitions, aka VOTEINFO
Description' [^]'
Attached Filesdiff file icon votedef.diff [^] (79,646 bytes) 2014-11-01 02:32 [Show Content]

- Relationships
related to 0000700closed Random Captains function (callvote randomcaptains) 
parent of 0000918closedTorr Samaho callvote kickfromgame 
parent of 0002345resolvedDrinkyBird Callvote Nextmap 

-  Notes
User avatar (0006728)
Dusk (developer)
2013-07-21 15:50
edited on: 2013-07-21 15:58

I wrote up a draft documentation page:' [^]'

I'm not totally convinced that going for console commands is a good idea here for obvious reasons even though that's what the current vote types base on. On the other hand the votes can be seen as the public voting for console commands being executed on the server.. and there isn't really any good alternative. ACS could do for mods' purposes but I don't know how to implement kick votes in that...

Maybe there could be native vote types (the current loadout + kickfromgame) and then ACS-based vote effects for mods to use?
EDIT: The more I think of it, the more I'm convinced that this is the best way to do it. Let's see here...

User avatar (0006729)
Dusk (developer)
2013-07-21 17:09

OK I got the ACS-based stuff to work, draft updated.
User avatar (0006873)
Watermelon (developer)
2013-08-01 05:59

Truly awesome

Is there supposed to be two lines of
                type->flags = 0;

Is it operational?
User avatar (0006874)
Monsterovich (reporter)
2013-08-01 11:37

Good. :)

Can you delete "Flags { ... }" section. Decorate like style is best.
Add argument type: string.
User avatar (0006879)
Dusk (developer)
2013-08-01 14:14
edited on: 2013-08-01 14:15

Quote from "Watermelon"

Is there supposed to be two lines of
                 type->flags = 0;

Probably not.

Quote from "Watermelon"
Is it operational?

Yeah, for the most part. It still needs work though.

Quote from "Monsterovich"
Can you delete "Flags { ... }" section. Decorate like style is best.

I have the Flags{} syntax so as to reserve the option to remove it later. Who knows how this will evolve later on.

Quote from "Monsterovich"
Add argument type: string.

I don't know how would a string argument work in ACS - dynamic strings seem to have problems (0001307).

User avatar (0006889)
Dusk (developer)
2013-08-01 18:36
edited on: 2013-08-01 23:27

Links at description updated, I think this is somewhat ready now.

EDIT: I just realized that I need to update the 'call a vote' menu too...
EDIT 2: OK, I got the menu working now too.
EDIT 3: Value range is now required for int and float types, made no-arg votes handled better.

User avatar (0010755)
Dusk (developer)
2014-11-01 02:34

I've pretty much finally, finally, finally gotten to the point that I'm pretty much finished with custom vote classes now. I tested this with edward-san and Water today and what this now needs is a build of some sort for public testing.

The current head is here:
' [^]'

I've attached a diff containing the changes.
User avatar (0010790)
Torr Samaho (administrator)
2014-11-02 08:01

Looks promising at first glance, but we'll need to figure out a way to review patches of this size. Carefully going through such a patch line by line seems to be infeasible to me. Let's discuss this in the next dev meeting.
User avatar (0012949)
Dusk (developer)
2015-07-15 21:47
edited on: 2015-07-15 21:48

After a considerable amount of refining and some new features (named script support and callvote nextmap), I think this is in a testable state now.

WaTaKiD has provided a build here:' [^]'
Source changes here:' [^]'
Documentation is still here and is now updated:' [^]'

Would be nice if this got tested. I'm particularly concerned whether existing votes still behave like before.

User avatar (0017205)
Wirtualnosc (reporter)
2017-04-18 20:25
edited on: 2017-04-18 20:35

Is there a chance this will get implemented into 3.0 or do we have to wait a bit longer for this feature? :( Considering this is quite old now and is mostly finished, it would be really nice to see it working in the upcoming versions. I have tested this with my mod and I don't see any problems with it, as well as existing votes.

User avatar (0017337)
Torr Samaho (administrator)
2017-04-26 06:12
edited on: 2017-04-26 06:14

Here is an updated link:' [^]'

That's quite a large change and I'm hesitant to include this so shortly before the expected release of 3.0. In any case, as you can see in the link, there are a lot of conflicts in the code now that first need to be taken care of. Also, this needs very thorough testing of the entire voting system.

Dusk, what do you think about this?

User avatar (0022940)
Kaminsky (developer)
2023-12-30 14:22

This lump (now called VOTEINFO) was pushed into the stable repo not too long ago:' [^]'
User avatar (0023000)
Fused (reporter)
2024-01-24 09:42
edited on: 2024-01-24 09:50

I have been using this feature using its initial implementation and here's my opinion.

Compared to the initial pitch ( the final implementation ( really needs some work in general. The amount of control that exists on creating custom votes is very bare bones. I understand this was done initially because most of it can be done with ACS when the vote passes, but there are a lot of flags and options in the initial idea that limit calling votes in the first place. The fact that I can now call a vote without these restrictions, and only be notified after the vote passes is bad user experience.

I suggest a new option is added to fix this, something like the existing Action parameter but instead this option specifies a script that is called to validate a vote when it is called. If the script results in `true`, the vote may be called. This gives full control over what restricts a vote, and even makes the ForbidCvar option obsolete.

User avatar (0023012)
Trillster (reporter)
2024-01-27 16:39

In addition to the notes from Fused, I think this feature could be made more failure-proof by allowing VOTEINFO VoteType blocks to specify a display name and internal name for a user-defined menu that would automatically be added to the ZA_CallVote menu.

The current alternative is for mods with custom vote types to manually overwrite ZA_CallVote, but this can easily cause menu conflicts between mods that add new vote types.
User avatar (0023142)
Ru5tK1ng (updater)
2024-03-01 03:08

Setting status to Feedback while it is being determined if more changes will be made.

Issue Community Support
Only registered users can voice their support. Click here to register, or here to log in.
Supporters: Gummywormz Monsterovich Korshun djskaarj JC Tenton MaxRideWizardLord Unknown Wirtualnosc mifu Juanba Lollipop
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2013-07-21 00:59 Dusk New Issue
2013-07-21 00:59 Dusk Status new => assigned
2013-07-21 00:59 Dusk Assigned To => Dusk
2013-07-21 00:59 Dusk Relationship added related to 0000700
2013-07-21 01:00 Dusk Relationship added parent of 0000918
2013-07-21 01:02 Dusk Description Updated View Revisions
2013-07-21 01:03 Dusk Description Updated View Revisions
2013-07-21 01:07 Dusk Description Updated View Revisions
2013-07-21 15:50 Dusk Note Added: 0006728
2013-07-21 15:58 Dusk Note Edited: 0006728 View Revisions
2013-07-21 17:09 Dusk Note Added: 0006729
2013-08-01 05:59 Watermelon Note Added: 0006873
2013-08-01 11:37 Monsterovich Note Added: 0006874
2013-08-01 14:14 Dusk Note Added: 0006879
2013-08-01 14:15 Dusk Note Edited: 0006879 View Revisions
2013-08-01 16:04 Dusk Summary Custom vote definitions, aka VOTEDEFS => Custom vote definitions, aka VOTEDEF
2013-08-01 16:04 Dusk Description Updated View Revisions
2013-08-01 18:35 Dusk Description Updated View Revisions
2013-08-01 18:36 Dusk Note Added: 0006889
2013-08-01 18:36 Dusk Status assigned => feedback
2013-08-01 19:56 Dusk Note Edited: 0006889 View Revisions
2013-08-01 19:56 Dusk Status feedback => assigned
2013-08-01 22:47 Dusk Status assigned => feedback
2013-08-01 22:48 Dusk Note Edited: 0006889 View Revisions
2013-08-01 23:27 Dusk Note Edited: 0006889 View Revisions
2014-11-01 02:30 Dusk Description Updated View Revisions
2014-11-01 02:32 Dusk File Added: votedef.diff
2014-11-01 02:34 Dusk Note Added: 0010755
2014-11-01 02:34 Dusk Status feedback => assigned
2014-11-01 02:34 Dusk Status assigned => needs review
2014-11-02 08:01 Torr Samaho Note Added: 0010790
2015-07-15 15:00 Dusk Relationship added parent of 0002345
2015-07-15 21:47 Dusk Note Added: 0012949
2015-07-15 21:47 Dusk Status needs review => needs testing
2015-07-15 21:47 Dusk Note Edited: 0012949 View Revisions
2015-07-15 21:48 Dusk Note Edited: 0012949 View Revisions
2017-04-18 20:25 Wirtualnosc Note Added: 0017205
2017-04-18 20:35 Wirtualnosc Note Edited: 0017205 View Revisions
2017-04-26 06:12 Torr Samaho Note Added: 0017337
2017-04-26 06:14 Torr Samaho Note Edited: 0017337 View Revisions
2017-04-26 06:14 Torr Samaho Note Revision Dropped: 17337: 0010406
2023-12-30 14:22 Kaminsky Note Added: 0022940
2023-12-30 14:22 Kaminsky Target Version => 3.2
2023-12-30 14:22 Kaminsky Summary Custom vote definitions, aka VOTEDEF => Custom vote definitions, aka VOTEINFO
2024-01-24 09:42 Fused Note Added: 0023000
2024-01-24 09:43 Fused Note Edited: 0023000 View Revisions
2024-01-24 09:44 Fused Note Edited: 0023000 View Revisions
2024-01-24 09:46 Fused Note Edited: 0023000 View Revisions
2024-01-24 09:50 Fused Note Edited: 0023000 View Revisions
2024-01-27 16:39 Trillster Note Added: 0023012
2024-03-01 03:08 Ru5tK1ng Note Added: 0023142
2024-03-01 03:08 Ru5tK1ng Status needs testing => feedback

Questions or other issues? Contact Us.


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker