20.08.2009, 21:13
hy,i have problem with reaction test,there is a one award(10k $)
there is a code:
and my question is how to make more awards,for example: to get a tuned car or something,pls help I really need this as soon as possible!
Tnx
there is a code:
Код:
#include <a_samp>
#define time1 240000 //this is the 4 minute minimum gap time
#define time2 180000 // this is the 3 minute max addon time
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" ReactiontestFS by tomozj");
print("--------------------------------------\n");
SetTimer("ReactionTest",time1+random(time2),0);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
new reactionstr[9]; //randomly generated string
new reactioninprog; //what status the reactiontest is at
new reactionwinnerid; //id of the current reactiontest winner
new reactiongap; //timer to restart ReactionTest()
forward ReactionTest();
forward ReactionWin(playerid);
forward SetBack();
public OnPlayerText(playerid, text[])
{
if(!strcmp(text, reactionstr, false))
{
if(reactioninprog == 2) ReactionWin(playerid);
if(reactioninprog == 1)
{
if(reactionwinnerid == playerid)
{
SendClientMessage(playerid,0x247C1BFF,"You already won!");
}
else
{
SendClientMessage(playerid,0x247C1BFF,"You are too slow!");
}
}
return 1;
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!IsPlayerAdmin(playerid)) return 0; // if player isn't admin, ignore cmds
if (strcmp("/test", cmdtext, true, 10) == 0)
{
ReactionTest();
return 1;
}
if (strcmp("/output reactionstr", cmdtext, true, 10) == 0)
{
new tmp[256];
format(tmp,sizeof(tmp),"'reactionstr' output: %d",reactionstr);
SendClientMessageToAll(0x247C1BFF,tmp);
return 1;
}
return 0;
}
public ReactionTest()
{
reactionstr = "";
KillTimer(reactiongap);
new str[256];
new random_set[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // the set of characters used for the generation of the string
for (new i = 0; i < 8; i++)
{
reactionstr[i] = random_set[random(sizeof(random_set))];
}
reactioninprog = 2;
format(str,sizeof(str),"** First who type %s get $10,000!",reactionstr); // announcement
print(str);
SendClientMessageToAll(0xFFFF00FF,str);
}
public ReactionWin(playerid)
{
GivePlayerMoney(playerid, 10000);
SetTimer("SetBack",30,0); // required delay, for some reason.
new reactionwinner[256];
reactionwinnerid = playerid;
new tempstring[256];
GetPlayerName(playerid,reactionwinner,sizeof(reactionwinner));
format(tempstring,sizeof(tempstring),"%s has won on reaction!",reactionwinner);
SendClientMessageToAll(0xFFFF00FF,tempstring);
reactiongap = SetTimer("ReactionTest",time1+random(time2),0); // sets the timer to restart ReactionTest()
}
public SetBack()
{
reactioninprog = 1;
}
Tnx


can you explain better because I am not a good scripter