Make afk (non) votes not count

Grrr. This has happened on many, many occasions:

Join a server, people (sometimes only one) are afk and then I can't load things. Not to name anybody (deadwrong =p) but there are a lot of people that do this, some are even admins, and even though they are great people and I don't mind them idling or afking, it makes voting annoying.

I'm sitting in the server right now waiting for someone to join so I can pass a vote. :rolleyes:
  • Afk Votes.jpg

Comments

  • Ok... May be more complicated than I think, but there could be something implemented to check for inactivity after a given amount of time to determine whether or not a client is afk. A good 5 minutes or so would work. After which, the voting system will automatically modify itself to only see clients that have been active within the last 5 minutes, as if those afk had left the game. When a person comes back from being afk, the same thing will be done to those who joined the game; The voting system will register the player and he/she will be able to cast his/her vote.

    As a summary, the voting system should ignore inactive players and only register those active as if those afk had left the game and those active are the remaining players.
  • Ok... May be more complicated than I think, but there could be something implemented to check for inactivity after a given amount of time to determine whether or not a client is afk. A good 5 minutes or so would work. After which, the voting system will automatically modify itself to only see clients that have been active within the last 5 minutes, as if those afk had left the game. When a person joins the game, the same thing will be done to those who come back from being afk, which is that the voting system will register the player and he/she will be able to cast his/her vote.

    As a summary, the voting system should ignore inactive players and only register those active as if those afk had left the game and those active are the remaining players.

    i dont think it's complicated at all :)
    you could log their Last Action, (using a con tool, a chat command, or even the last word spoken), and if the time stamp is over 10 minutes from the one now, count them out of the vote. which can be done easy with an If or something.
  • i dont think it's complicated at all :)
    you could log their Last Action, (using a con tool, a chat command, or even the last word spoken), and if the time stamp is over 10 minutes from the one now, count them out of the vote. which can be done easy with an If or something.

    Or you could implement my system's way of doing it, so long as pieces to load remain, the building loads.
  • Orrr, you could just use the system that: If you don't vote, it doesn't count for anything.

    Of course this would not only "not count" AFK'ers, but also anyone who doesn't vote. And this shouldn't be too hard to implement, I have seen it on servers in the past.

    Something to consider.

    EDIT

    To Phantom: That isn't a bad idea, but with SI pieces go over 1,000. So either the piece count it capped at 900something (which can be annoying) or people can load 5,000 piece buildings multiple times (which would be very annoying).
  • Orrr, you could just use the system that: If you don't vote, it doesn't count for anything.

    Of course this would not only "not count" AFK'ers, but also anyone who doesn't vote. And this shouldn't be too hard to implement, I have seen it on servers in the past.

    Something to consider.

    EDIT

    To Phantom: That isn't a bad idea, but with SI pieces go over 1,000. So either the piece count it capped at 900something (which can be annoying) or people can load 5,000 piece buildings multiple times (which would be very annoying).

    To make Phantom139's way work, one would need to count the pieces in the save file and compare it to the count of deployed pieces. Then, if there will be enough pieces left for other users, load it. Otherwise, don't.
  • To make Phantom139's way work, one would need to count the pieces in the save file and compare it to the count of deployed pieces. Then, if there will be enough pieces left for other users, load it. Otherwise, don't.

    Exactly, My system saves that data to a file which outputs that information to the client's load building hud. If there are not enough pieces available, the link is red and will not allow the building to be loaded, otherwise, the building can be loaded.
  • Yeah I understand that, but what about when the pieces are over 1,000? What if I wanted to load my 50 piece building, the piece count was already about 1,200, but everyone (that was not afk) agreed, and those afkers messed up my vote?

    That is why I think they need to make it so afk votes not count.
  • Yeah I understand that, but what about when the pieces are over 1,000? What if I wanted to load my 50 piece building, the piece count was already about 1,200, but everyone (that was not afk) agreed, and those afkers messed up my vote?

    That is why I think they need to make it so afk votes not count.

    simple, the system checks to see if the server is equipped with SI.
  • If it has SI, you don't need to vote to load? What if other people don't want you to load? Or what if you load a large building multiple times? Voting is a good way to prevent that.

    It seems to me that the easiest solution is to just ignore people who don't vote.
  • what if this system would be abused through votekicking?
  • Then have it only for building loads and maybe map change votes.

    EDIT: Wow I'm inpressed! A constructive thread! :)
  • If it has SI, you don't need to vote to load? What if other people don't want you to load? Or what if you load a large building multiple times? Voting is a good way to prevent that.

    It seems to me that the easiest solution is to just ignore people who don't vote.

    That is what I am trying to say =p

    And yeah, if it only worked for loading votes that would make sense.
  • I agree, afkers can stop ppl loading buildings sometimes. As Sig said, after a 5-10 minute period the server renders them inactive so their votes don't count.
  • I think this issue would be solved if DeadWrong got a script that automatically voted yes for building votes :)
  • I think this issue would be solved if DeadWrong got a script that automatically voted yes for building votes :)

    That would be a client-side script which wouldn't work because it would depend on the player having the script so that the system works.

    A player may not know about the script, or choose not to get the script.

    Therefore, your suggestion is invalid.
  • I think this issue would be solved if DeadWrong got a script that automatically voted yes for building votes :)

    Wouldn't that be one sided? I mean, only Dead or the Admins got it. Then when the people wanted it and were given it they would just spam buildings. And we all know that's no fun to spam buildings and lag to death...

    Although th Admins could give it to the people they know wouldn't spam buildings and such. (I'm not very good with scripts and the like so forgive me for that.)
  • This could all be solved with a DBZ mod. :lol:
  • lol sry guys.. =/. I like to watch tv and walk around and stuff when i am playing.. oh and.. occasionally just leave for a couple hours.. lol.. humans.. i love your screen man haha.. totally me in a nutshell.. =P. anygay, I think the best solution would be to have inactive votes just not count.. after about 15 minutes of inactivity or so... why make it complicated? if some douche (me) isn't even playing, and just sitting in there with his fat ass, wasting server space, his vote shouldn't be counted.. i'm all for that.. because honestly.. i like to just have tribes on when i'm sitting at home.. regardless of whether or not im playing. it's sort of like a safety blanket.. and i love when i'm just randomly sitting, watching tv, and all of a sudden out of the corner of my ear, i hear an adorable "watch where you're shooting", promptly followed by a, "sorry", coming from the far corner of my living room... It makes me chuckle.. what can i say?

    PS. Spin nice sig..hahah
  • Well, i haven't coded in a while, but to my thinking, the server could track the inputs of each client, and if the client has made no inputs in the last 5mins or so, they are added to a AFK table.

    When a vote is initiated, they are stricken temporarily from the total players count, or whatever device the server uses to calculate total players for votes.

    As i said i haven't coded in a while, and am unfamiliar with the voting process. My proposal wont work if the client derives it's own total player count.

    But then again, that could be a null issue, because if you just make it so the server ignores non-voters and only accepts positive of negative votes to calculate a result, it could work.
  • That would be a client-side script which wouldn't work because it would depend on the player having the script so that the system works.

    An admin could have a clientside script to see how many people are afk, then look at how many yes votes there are for a vote. If the percentage of yes votes to non-afk people is high enough, they could auto pass the vote. It requires an admin, even if it is just an afk admin, but it could be done...

    But, of course.. a serverside solution would be better...
  • Yeah....my point was that 9/10 times it's DeadWrong who's afk in the server which stops the votes from passing. I was thinking that it's a lot more likely that Dead's gonna find the time to find a auto-vote script and for Krash to get round to implementing this change. I mean, look how active he is in this thread. Kinda make you think that this ain't gonna happen any time soon.

    @Deadwrong: <3
  • //Some Voting script.. its messy, horrible and deserves to have the computer
    //it was created on incinerated.   by Sig btw.
    $AutoVote = 0;
    function AVToggle() {
    if(!$AutoVote) {
    error("Auto Voting ON");
    warn("Will auto vote YES");
    warn("change with AVVote(\"yes/no\");");
    $AutovoteOpt = 1;
    $AutoVote = 1;
    }else{
    error("Auto Voting OFF");
    $AutoVote = 0;
    }
    }
    function AVVote(%vote) {
    switch$(%vote) {
    case "yes":
    $AutoVoteOpt = 1;
    echo("Auto Vote: Yes");
    return;
    case "no":
    $AutoVoteOpt = 2;
    echo("Auto Vote: No");
    return;
    }
    }
    function sigautovote() {
    if($AutoVote) {
    if($AutovoteOpt == 1) {
    schedule(1000,0, voteyes, 1);
    schedule(2000,0, closevotehud);
    commandtoServer('messageSent', "\c2Auto-Voted \c1YES");
    }else if($AutoVoteOpt == 2) {
    schedule(1000,0, voteno, 1);
    schedule(2000,0, closevotehud);
    commandtoServer('messageSent', "\c2Auto-Voted \c1NO");
    }
    }
    }
    addMessageCallback('VoteStarted', sigAutoVote);
    
    here, a voting script by me that probably doesnt even work :D
Sign In or Register to comment.