19.04.2009, 19:10
still 0.0 really. this is the WHOLE script:
Код:
#include <a_samp> #define time1 120000 //this is the 1 minute minimum gap time #define time2 120000 // this is the 1 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've 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 one to type %s wins $10,000!",reactionstr); // announcement print(str); SendClientMessageToAll(0xFFFF00FF,str); } public ReactionWin(playerid) { new time_start = GetTickCount(); //where you want to know time difference: GivePlayerMoney(playerid, 10000); SetTimer("SetBack",30,0); // required delay, for some reason. new reactionwinner[24] ,string[128]; GetPlayerName(playerid,reactionwinner,24); SendClientMessage(playerid,0x247C1BFF,"You have won the reactiontest!"); new TimeDiff = (GetTickCount() - time_start) % 60000; format(string,128,"%s has won the reactiontest in %d.%d!",reactionwinner,TimeDiff / 100, TimeDiff % 100); SendClientMessageToAll(0xFFFF00FF,string); reactiongap = SetTimer("ReactionTest",time1+random(time2),0); // sets the timer to restart ReactionTest() return 1; } public SetBack() { reactioninprog = 1; }