peinneon

givescore/giveallscore lzgs

Aug 26th, 2011
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.74 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3. #include <sscanf2>
  4. #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 // The dcmd define
  5.  
  6. public OnPlayerCommandText(playerid, cmdtext[])
  7. {
  8.     dcmd(givescore, 9, cmdtext);
  9.     dcmd(giveallscore, 12, cmdtext);
  10.     return 0;
  11. }
  12.  
  13. dcmd_givescore(playerid, params[])
  14. {
  15.     new targetid, score;
  16.     if(!sscanf(params, "ui", targetid, score)) return SendClientMessage(playerid, 0xFFFFFF, "USAGE: /givescore [id] [score]");
  17.     else if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Player Not Connected");
  18.     else
  19.     {
  20.         new PName[MAX_PLAYER_NAME], TName[MAX_PLAYER_NAME], str1[128 + MAX_PLAYER_NAME], str2[128 + MAX_PLAYER_NAME];
  21.         GetPlayerName(playerid, PName, sizeof(PName));
  22.         GetPlayerName(targetid, TName, sizeof(TName));
  23.         format(str1, sizeof(str1), "You have given %i score to %s.", score, TName);
  24.         format(str2, sizeof(str2), "Administrator %s has given you %i score.", PName, score);
  25.         SendClientMessage(playerid, 0x0000FFFF, str1);
  26.         SendClientMessage(targetid, 0x0000FFFF, str2);
  27.         SetPlayerScore(targetid, GetPlayerScore(targetid) + score);
  28.         return 1;
  29.     }
  30. }
  31.  
  32. dcmd_giveallscore(playerid, params[])
  33. {
  34.     new score;
  35.     if(!sscanf(params, "i", score)) return SendClientMessage(playerid, 0xFFFFFF, "USAGE: /giveallscore [score]");
  36.     else
  37.     {
  38.         new PName[MAX_PLAYER_NAME], str1[128 + MAX_PLAYER_NAME]
  39.         format(str1, sizeof(str1), "Administrator %s has given all players %i score.", PName, score);
  40.         SendClientMessageToAll(0x0000FFFF, str1);
  41.         for(new i = 0; i < MAX_PLAYERS; i++)
  42.         {
  43.             SetPlayerScore(i, GetPlayerScore(i) + score);
  44.         }
  45.         return 1;
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment