Results 1 to 3 of 3

Thread: Call a vote

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Brigadier General
    Join Date
    Dec 2012
    Posts
    1,012
    Thanks
    440
    Thanked 171 Times in 132 Posts
    Here you go
    Code:
    fixChatArgs(args)
    {
        if (isDefined(args[1]))
        { // engine is adding identifier infront of the chat message 
            if (getAscii(args[1][0]) >= 20 && getAscii(args[1][0]) <= 22)
            {
                //std\io::print("delete bad ascii code: " + std\utils::getAscii(args[1][0]) + "\n"); 
                args[1] = getSubStr(args[1], 1);
                newArgs = strTok(args[1], " ");
                for (i = 0; i < newArgs.size; i++)
                    args[1 + i] = newArgs[i];
            }
        }
        return args;
    }
    CodeCallback_PlayerCommand(args)
    {
        command = "";
        output = "";
        for (i = 0; i < args.size; i++)
            output += args[i] + ", ";
    
        //std\io::print("PLAYER COMMAND! message: " + output + "\n"); 
        args = fixChatArgs(args);
    
        if (args[0] == "say" && isDefined(args[1]) && args[1][0] == "!" || args[0] == "say_team" && isDefined(args[1]) && args[1][0] == "!")
        {
            switch (getSubStr(args[1], 1))
            {
    			   	case "vote": 
    					if(isdefined(level.pers["voted"]) && level.pers["voted"] == 1)
    					{
    						self iprintlnbold("Already a vote running");
    						return;
    					}
    					time =0;
    					level.pers["voted"] = 1;
    					level.pers["votesyes"]=0;
    					level.pers["votesno"]=0;
    					if(isint(args[args.size-1]))
    					{
    						time = int(args[args.size-1]);
    						level.definetime = 1; 
    						//iprintlnbold("time: "+time);
    					}
    					else
    					{
    							//iprintlnbold("no time, time set to 20");
    							time =20;
    							level.definetime = 0; 
    					}
    					question = "";
    					if(isdefined(level.definetime) && level.definetime == 1)
    					{
                        					for (i = 2; i < args.size-1; i++)
                            					question += args[i] + " ";
    					}
    					else
    					{
                        					for (i = 2; i < args.size; i++)
                            					question += args[i] + " ";
    					}	
    					
    					iprintlnbold("^1Question^7: "+question);
    					iprintlnbold("Use !yes and !no to vote");
    
    					thread maketimer(time);
    					wait time;
    					iprintlnbold("Counting Votes");
    					wait 1;
    					iprintlnbold("Votes ^2Yes^7: "+ level.pers["votesyes"]);
    					iprintlnbold("Votes ^1No^7: "+ level.pers["votesno"]);
    					
    					level.pers["voted"] = 0;
    					players = getentarray("player", "classname");
    					for (i = 0; i < players.size; i++)
    					{
    						players[i].pers["hasvoted"]=0;
    					}
    
    					return;  
    					
    			   	case "yes": 
    					if(!isdefined(level.pers["voted"]) || level.pers["voted"] == 0)
    					{
    						self iprintlnbold("No vote running");
    						return;
    					}
    					if(isdefined(self.pers["hasvoted"]) && self.pers["hasvoted"] == 1)
    					{
    						self iprintlnbold("Already voted");
    						return;
    					}
    					level.pers["votesyes"] ++;
    					self.pers["hasvoted"]=1;
    					self iprintlnbold("You voted:  ^2Yes");
    					return;  
    					
    			   	case "no": 
    					if(!isdefined(level.pers["voted"]) || level.pers["voted"] == 0)
    					{
    						self iprintlnbold("No vote running");
    						return;
    					}
    					if(isdefined(self.pers["hasvoted"]) && self.pers["hasvoted"] == 1)
    					{
    						self iprintlnbold("Already voted");
    						return;
    					}
    					level.pers["votesno"] ++;
    					self iprintlnbold("You voted: ^1No");
    					return; 
            }	
        }
    
        self ClientCommand();
    
    
    }

  2. The Following 3 Users Say Thank You to Ni3ls For This Useful Post:

    kung foo man (31st December 2015),suck000 (17th March 2016),Whiskas (6th March 2016)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •