Guest User

Untitled

a guest
Nov 26th, 2010
1,471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.61 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. //Peach Colour
  4. #define COLOUR 0xFF8080FF
  5.  
  6. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  7.  
  8. new IsWaiting[MAX_PLAYERS], Number1, Number2, What[5], total;
  9.  
  10. public OnPlayerSpawn(playerid)
  11. {
  12.     SendClientMessage(playerid, COLOUR, "[CALCULATOR] Type /calc to see the calculator commands");
  13.     return 1;
  14. }
  15.  
  16. public OnPlayerText(playerid, text[])
  17. {
  18.     if(IsWaiting[playerid] == 1)
  19.     {
  20.         Number1 = strval(text);
  21.         IsWaiting[playerid] = 2;
  22.         SendClientMessage(playerid, COLOUR, "Now enter your operator");
  23.         SendClientMessage(playerid, COLOUR, "+ (Add) | - (Subtract) | * (Multiply) | _ (Divide)");
  24.         return 0;
  25.     }
  26.     else if(IsWaiting[playerid] == 2)
  27.     {
  28.         if(sizeof(What) > strlen(text))
  29.         {
  30.             strdel(What, 0, 5);
  31.             strins(What, text, 0, sizeof(What));
  32.             IsWaiting[playerid] = 3;
  33.             SendClientMessage(playerid, COLOUR, "Now enter your second number");
  34.         }
  35.         else
  36.         {
  37.             SendClientMessage(playerid, COLOUR, "Calculation Failed, incorrect operator");
  38.             IsWaiting[playerid] = 0;
  39.         }
  40.         return 0;
  41.     }
  42.     else if(IsWaiting[playerid] == 3)
  43.     {
  44.         Number2 = strval(text);
  45.         IsWaiting[playerid] = 0;
  46.         SendClientMessage(playerid, COLOUR, "Thank You!");
  47.         if(strcmp(What, "+") == 0)
  48.         {
  49.             total = Number1 + Number2;
  50.         }
  51.         else if(strcmp(What, "-") == 0)
  52.         {
  53.             total = Number1 - Number2;
  54.         }
  55.         else if(strcmp(What, "*") == 0)
  56.         {
  57.             total = Number1 * Number2;
  58.         }
  59.         else if(strcmp(What, "_") == 0)
  60.         {
  61.             total = Number1 / Number2;
  62.         }
  63.         new string[128];
  64.         format(string, sizeof(string), "Your calculation: %i %s %i equals %i", Number1, What, Number2, total);
  65.         SendClientMessage(playerid, COLOUR, string);
  66.         return 0;
  67.     }
  68.     return 1;
  69. }
  70.  
  71. public OnPlayerCommandText(playerid, cmdtext[])
  72. {
  73.     dcmd(calc, 4, cmdtext);
  74.     dcmd(calculate, 9, cmdtext);
  75.     return 1;
  76. }
  77.  
  78. dcmd_calc(playerid, params[])
  79. {
  80.     SendClientMessage(playerid, COLOUR, "[CALCULATOR]");
  81.     SendClientMessage(playerid, COLOUR, "This calculator can perform basic calculator functions");
  82.     SendClientMessage(playerid, COLOUR, "Add, Subtract, Multiply and Divide");
  83.     SendClientMessage(playerid, COLOUR, "Use /calculate to activate the 'calculator'");
  84.     #pragma unused params
  85.     return 1;
  86. }
  87.  
  88. dcmd_calculate(playerid, params[])
  89. {
  90.     SendClientMessage(playerid, COLOUR, "[CALCULATOR]");
  91.     SendClientMessage(playerid, COLOUR, "To begin your calculation, type a number and press enter");
  92.     #pragma unused params
  93.     IsWaiting[playerid] = 1;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment