Guest User

PhyroIS

a guest
Feb 3rd, 2009
627
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.57 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define GREEN 0x21DD00FF
  4. #define RED 0xE60000FF
  5. #define YELLOW 0xFFFF00FF
  6.  
  7. #define MAX_FLARES 30   //  Max flares for single player
  8.  
  9. new Float:flare_pos[MAX_PLAYERS][3];
  10. new flare_id[MAX_PLAYERS][MAX_FLARES];
  11. new timer_id[MAX_PLAYERS][MAX_FLARES];
  12. forward StartFireworks(playerid);
  13. forward Destroy(obj);
  14.  
  15. public OnFilterScriptInit()
  16. {
  17.     print("\n|=================================================|");
  18.     print("|========== FireWorks Effect By PhyroIS ==========|");
  19.     print("|==================== MottiOK ====================|\n");
  20.     return 1;
  21. }
  22.  
  23. public OnFilterScriptExit()
  24. {
  25.     for (new i=0;i<MAX_PLAYERS;i++)
  26.     {
  27.         if (IsPlayerConnected(i))
  28.         {
  29.             for(new j=1; j<timer_id[i][0]; j++)
  30.             {
  31.                 KillTimer(timer_id[i][j]);
  32.                 DestroyObject(flare_id[i][j]);
  33.             }
  34.               flare_id[i][0] = 0;
  35.               timer_id[i][0] = 0;
  36.         }
  37.     }
  38.     return 1;
  39. }
  40.  
  41. public OnPlayerConnect(playerid)
  42. {
  43.     flare_id[playerid][0] = 0;
  44.     timer_id[playerid][0] = 0;
  45. }
  46.  
  47. public OnPlayerCommandText(playerid, cmdtext[])
  48. {
  49.     if (!strcmp("/start_flare", cmdtext, true))
  50.     {
  51.         if (flare_id[playerid][0] >= (MAX_FLARES-1))
  52.         {
  53.             SendClientMessage(playerid,YELLOW,"You got to max flares allowed !!");
  54.             return 1;
  55.         }
  56.         new Float:X,Float:Y,Float:Z;
  57.         GetPlayerPos(playerid,X,Y,Z);
  58.         flare_pos[playerid][0] = X;
  59.         flare_pos[playerid][1] = Y;
  60.         flare_pos[playerid][2] = Z;
  61.         flare_id[playerid][0]++;
  62.         timer_id[playerid][0]++;
  63.         timer_id[playerid][timer_id[playerid][0]] = SetTimerEx("StartFireworks",2000,true,"i",playerid);
  64.         return 1;
  65.     }
  66.      
  67.     if (!strcmp("/move_flares", cmdtext, true))
  68.     {
  69.         new Float:X,Float:Y,Float:Z;
  70.         GetPlayerPos(playerid,X,Y,Z);
  71.         flare_pos[playerid][0] = X;
  72.         flare_pos[playerid][1] = Y;
  73.         flare_pos[playerid][2] = Z;
  74.         return 1;
  75.     }
  76.      
  77.     if (!strcmp("/stop_flares", cmdtext, true))
  78.     {
  79.         for(new i=1;i<=timer_id[playerid][0];i++)
  80.         {
  81.             KillTimer(timer_id[playerid][i]);
  82.             DestroyObject(flare_id[playerid][i]);
  83.          }
  84.         flare_id[playerid][0] = 0;
  85.         timer_id[playerid][0] = 0;
  86.         SendClientMessage(playerid,YELLOW,"You successfully stop all your flares");
  87.         return 1;
  88.     }
  89.      
  90.     if (!strcmp("/help_flares", cmdtext))
  91.     {
  92.         SendClientMessage(playerid,GREEN,"/start_flare - Create single flare");
  93.         SendClientMessage(playerid,GREEN,"/stop_flares - Stop all your flares");
  94.         SendClientMessage(playerid,GREEN,"/move_flares - move your flares to current position");
  95.         SendClientMessage(playerid,GREEN," ");
  96.         if (IsPlayerAdmin(playerid))
  97.         {
  98.             SendClientMessage(playerid,YELLOW,"/night - Change server clock to 00:00");
  99.             SendClientMessage(playerid,YELLOW,"/morning - Change server clock to 12:00");
  100.         }
  101.         SendClientMessage(playerid,GREEN," ");
  102.         SendClientMessage(playerid,RED,"All rights reserved to PhyroIS - Israel");
  103.         return 1;
  104.     }
  105.      
  106.     if (!IsPlayerAdmin(playerid)) return 0;
  107.      
  108.     if (!strcmp("/night", cmdtext, true))
  109.     {
  110.         for (new i=0;i<MAX_PLAYERS;i++)
  111.             if (IsPlayerConnected(i))
  112.                 SetPlayerTime(i,00,00);
  113.         return 1;
  114.     }
  115.  
  116.     if (!strcmp("/morning", cmdtext, true))
  117.     {
  118.         for (new i=0;i<MAX_PLAYERS;i++)
  119.             if (IsPlayerConnected(i))
  120.                 SetPlayerTime(i,12,00);
  121.         return 1;
  122.     }
  123.      
  124.     return 0;
  125. }
  126.  
  127. public StartFireworks(playerid)
  128. {
  129.     flare_id[playerid][flare_id[playerid][0]] = CreateObject(354,flare_pos[playerid][0],flare_pos[playerid][1],flare_pos[playerid][2],0,0,0);
  130.     new Float:tX,Float:tY,Float:tZ;
  131.     {
  132.         if (!random(2))
  133.         {
  134.             tX = flare_pos[playerid][0]+random(30);
  135.             tY = flare_pos[playerid][1]+random(30);
  136.         }
  137.         else
  138.         {
  139.             tX = flare_pos[playerid][0]+random(30)*(-1);
  140.             tY = flare_pos[playerid][1]+random(30)*(-1);
  141.         }
  142.         tZ = flare_pos[playerid][2]+random(100) + 20;
  143.     }
  144.     MoveObject(flare_id[playerid][flare_id[playerid][0]], tX, tY, tZ, random(50) + 30);
  145.     SetTimerEx("Destroy",1000,false,"i",flare_id[playerid][flare_id[playerid][0]]);
  146. }
  147.  
  148. public Destroy(obj)
  149. {
  150.     DestroyObject(obj);
  151. }
Advertisement
Add Comment
Please, Sign In to add comment