Ni3ls
30th December 2015, 10:28
This is a very simple code to ask a question and see the result. You can improve it with some nice huds.
Libcod needed
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;
maketimer(time)
{
if(isDefined(level.timer))
level.timer destroy();
if(!isDefined(level.timer))
{
level.timer = newHudElem();
level.timer.x = 6;
level.timer.y = 76;
level.timer.horzAlign = "left";
level.timer.vertAlign = "top";
level.timer.fontscale = 1.5;
level.timer.label = &"^1Vote Time: ^3";
level.timer setTenthsTimer(time);
}
wait time;
if(isDefined(level.timer))
level.timer destroy();
}
isint(string)
{
return ((int(string) + "") == string + "");
}
Dont forget to precache
&"^1Vote Time: ^3";
Libcod needed
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;
maketimer(time)
{
if(isDefined(level.timer))
level.timer destroy();
if(!isDefined(level.timer))
{
level.timer = newHudElem();
level.timer.x = 6;
level.timer.y = 76;
level.timer.horzAlign = "left";
level.timer.vertAlign = "top";
level.timer.fontscale = 1.5;
level.timer.label = &"^1Vote Time: ^3";
level.timer setTenthsTimer(time);
}
wait time;
if(isDefined(level.timer))
level.timer destroy();
}
isint(string)
{
return ((int(string) + "") == string + "");
}
Dont forget to precache
&"^1Vote Time: ^3";