Advertisement
Lordz

Minigun_game_simple.

Dec 23rd, 2012
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.58 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. #define red 0xFF0000FF
  5. #define green 0xFF0000
  6. #define TIME 25
  7.  
  8. #if defined READ
  9. #define POSITIONX
  10. #define POSITIONY
  11. #define POSITIONZ
  12. #endif
  13.  
  14. #if !defined READ
  15.  #error "Black Wolf, define the POSTIONX, POSITIONY and Z with your coords and do #define READ at top.");
  16. #endif
  17. new mggame = 0;
  18. new pmggame[MAX_PLAYERS];
  19.  
  20. public OnFilterScriptInit()
  21. {
  22.  SetTimer("Mgmini", TIME*60000, true);
  23.  printf("Minigun game loaded successfully!");
  24.  return 1;
  25. }
  26.  
  27. public OnFilterScriptExit()
  28. {
  29.  for(new i; i< GetMaxPlayers(); i++)
  30.  {
  31.   if(!IsPlayerConnected(i)); continue;
  32.   pmggame[i] = 0;
  33.   SetPlayerAmmo(i, 38, 0);
  34.   SpawnPlayer(i);
  35.   break;
  36.  }
  37.  printf("Minigun game unloaded!");
  38.  return 1;
  39. }
  40.  
  41. forward Mgmini();
  42.  
  43. public Mgmini()
  44. {
  45.  if(mggame == 1)
  46.  {
  47.   for(new i; i< GetMaxPlayers(); i++)
  48.   {
  49.    if(!IsPlayerConnected(playerid)); continue;
  50.    if(pmggame[i] == 1)
  51.    {
  52.     pmggame[i] = 0;
  53.     SetPlayerAmmo(i, 38, 0);
  54.     SpawnPlayer(i);
  55.     break;
  56.    }
  57.   }
  58.   SendClientMessageToAll(red, "Minigun game has been stoped. Wait for the next 25 minutes.");
  59.   mggame = 0;
  60.  }
  61.  if(mggame == 0)
  62.  {
  63.    SendClientMessageToAll(green, "Minigun game has been started. Use /mgmini {FF0000}to join minigun game.");
  64.    mggame = 1;
  65.    for(new i; i< GetMaxPlayers(); i++)
  66.    {
  67.     if(!IsPlayerConnected(i)); continue;
  68.     pmggame[i] = 0; break;
  69.    }
  70.  }
  71. printf("DEBUG:Minigun timer has worked perfectly.");
  72.  return 1;
  73. }
  74.  
  75. CMD:mgmini(playerid, params[])
  76. {
  77.  if(mggame == 1)
  78.  {
  79.   if(pmggame[playerid] == 1) return SendClientMessage(playerid, red, "You are already in a minigun game. Use /leavemgmini to leave.");
  80.   pmggame[playerid] = 1;
  81.   new str[128], Lname[MAX_PLAYER_NAME];
  82.   GetPlayerName(playerid, Lname, sizeof(Lname));
  83.   format(str, sizeof(str), "%s (ID:%d) has joined the minigun game. {FF0000}/mgmini", Lname, playerid);
  84.   SendClientMessageToAll(green, str);
  85.   ResetPlayerWeapons(playerid);
  86.   GivePlayerWeapon(playerid, 38, 99999);
  87.   SetPlayerPos(playerid, POSITIONX, POSITIONY, POSITIONZ);
  88. }
  89. else return SendClientMessage(playerid, red, "Minigun game has not yet started. Please wait...");
  90.  return 1;
  91. }
  92.  
  93. CMD:leavemgmini(playerid, params[])
  94. {
  95.  if(pmggame[playerid] == 1)
  96.  {
  97.   new str[128], Lname[MAX_PLAYER_NAME];
  98.   GetPlayerName(playerid, Lname, sizeof(Lname));
  99.   SetPlayerAmmo(playerid, 38, 0);
  100.   format(str, sizeof(str), "%s (ID:%d) {FFFFFF}has left the {FF0000}minigun game.", Lname, playerid);
  101.   SendClientMessageToAll(green, str);
  102.   pmggame[playerid] = 0;
  103.   SpawnPlayer(playerid);
  104.  }
  105.  else return SendClientMessage(playerid, red, "You are not in a minigun game to use this command.");
  106.  return 1;
  107. }
  108.  
  109. public OnPlayerDeath(playerid, killerid, reason)
  110. {
  111.  if(pmggame[killerid] == 1 && pmggame[playerid] == 1)
  112.  {
  113.   new string[128], Lname[MAX_PLAYER_NAME], Pname[MAX_PLAYER_NAME];
  114.   GetPlayerName(killerid, Lname, sizeof(Lname));
  115.   GetPlayerName(playerid, Pname, sizeof(Pname));
  116.   format(string, sizeof(string), "[MINIGUN-GAME]%s(ID:%d) has killed %s(ID:%d)", Lname, killerid, Pname, playerid);
  117.   SendClientMessageToAll(green, string);
  118.   ResetPlayerWeapons(playerid);
  119.  }
  120.  pmggame[playerid] = 0;
  121.  return 1;
  122. }
  123.  
  124. public OnPlayerSpawn(playerid)
  125. {
  126.  pmggame[playerid] = 0;
  127.  return 1;
  128. }
  129.  
  130. public OnPlayerConnect(playerid)
  131. {
  132.  pmggame[playerid] = 0;
  133.  return 1;
  134. }
  135.  
  136. public OnPlayerCommandText(playerid, text[])
  137. {
  138.  if(pmggame[playerid] == 1)
  139.  {
  140.   if(strcmp, cmdtext, "/leavemgmini", true) return SendClientMessage(playerid, red, "You cannot use any commands while you are in Minigun game. Use /leavemgmini");
  141.  return 1;
  142.  }
  143.  return 0;
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement