Advertisement
Guest User

Fixed

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