Guest User

Mike

a guest
Sep 14th, 2008
909
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.53 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define RED 0xFF000000
  4. #define red 0xFF000000
  5. #define COLOR_WHITE 0xFFFFFFAA
  6. #pragma tabsize 0
  7.  
  8. new bool:mathson;
  9. new answer;
  10. new stopper;
  11.  
  12. forward startmath(playerid);
  13. forward endmath();
  14.  
  15. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  16.  
  17. public OnFilterScriptInit()
  18. {
  19.         print("\n--------------------------------------");
  20.         print("Maths by Mike");
  21.         print("--------------------------------------\n");
  22.         SetTimer("startmath",86000,1);
  23.         mathson = false;
  24.         return 1;
  25. }
  26.  
  27. public endmath()
  28. {
  29.         mathson = false;
  30.         new string[128];
  31.         format(string,200,"MATHS: The answer was: %d!",answer);
  32.         SendClientMessageToAll(COLOR_WHITE,string);
  33.         return 1;
  34. }
  35.  
  36. public startmath(playerid)
  37. {
  38.         if(mathson == false)
  39.         {
  40.                 KillTimer(stopper);
  41.                 mathson = true;
  42.                 new rand1;
  43.                 new rand2;
  44.                 new rand3;
  45.                 new rand4;
  46.                 rand1 = random(222);
  47.                 rand2 = random(111);
  48.                 rand4 = random(50);
  49.                 rand3 = random(2);
  50.                 if(rand3 == 0)
  51.                 {
  52.                         answer = rand1 + rand2 + rand4;
  53.                         new str[200];
  54.                         format(str,200,"MATHS: Answer %d+%d+%d to win $10000 and 50 points! Use /ans [answer]",rand1,rand2,rand4);
  55.                         SendClientMessageToAll(COLOR_WHITE,str);
  56.                 }
  57.                 else if(rand3 == 1)
  58.                 {
  59.                         answer = rand1 + rand2 - rand4;
  60.                         new str[200];
  61.                         format(str,200,"MATHS: Answer %d+%d-%d to win $10000 and 50 points! Use /ans [answer]",rand1,rand2,rand4);
  62.                         SendClientMessageToAll(COLOR_WHITE,str);
  63.                 }
  64.                 stopper = SetTimer("endmaths",70000,0);
  65.         }
  66.         return 1;
  67. }
  68.  
  69. public OnPlayerCommandText(playerid, cmdtext[])
  70. {
  71.         dcmd(ans,3,cmdtext);
  72.         dcmd(domath,6,cmdtext);
  73.         return 0;
  74. }
  75. dcmd_domath(playerid,params[])
  76. {
  77.         if(IsPlayerAdmin(playerid))
  78.         {
  79.                 #pragma unused params
  80.                 startmath(playerid);
  81.         }
  82.         else
  83.         {
  84.             return 0;
  85.         }
  86.         return 1;
  87. }
  88. dcmd_ans(playerid,params[])
  89. {
  90.         if(mathson == true)
  91.         {
  92.             if(!strlen(params)) return SendClientMessage(playerid,red,"Usage: /Ans [Your Answer]");
  93.             new tehans;
  94.             tehans = strval(params);
  95.             if(tehans == answer)
  96.             {
  97.                 new name[16];
  98.                 GetPlayerName(playerid,name,16);
  99.                         new str[128];
  100.                         format(str,128,"MATHS: %s has won with the answer %d!",name,answer);
  101.                 SendClientMessageToAll(COLOR_WHITE,str);
  102.                 mathson = false;
  103.                 KillTimer(stopper);
  104.                 GivePlayerMoney(playerid,10000);
  105.                 SetPlayerScore(playerid, GetPlayerScore(playerid) + 50 );
  106.                 }
  107.                 else
  108.                 {
  109.                 SendClientMessage(playerid,RED,"Wrong answer!");
  110.                 SetPlayerScore(playerid, GetPlayerScore(playerid) - 5 );
  111.                 }
  112.         }
  113.         else
  114.         {
  115.             return SendClientMessage(playerid,RED,"Maths challenge is not active!");
  116.         }
  117.         return 1;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment