RIDE2DAY

Untitled

Nov 7th, 2017
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.97 KB | None | 0 0
  1. new Float:c_rad[MAX_PLAYERS] = {100.0, ...};
  2. new timer[MAX_PLAYERS] = {-1, ...};
  3. new c_id[MAX_PLAYERS] = {-1, ...};
  4.  
  5. CMD:cc(playerid, params[]) // create circle
  6. {
  7.     new Float:rad,
  8.         squares,
  9.         Float:size,
  10.         Float:min_ang,
  11.         Float:max_ang;
  12.  
  13.     if(sscanf(params, "fdfff", rad, squares, size, min_ang, max_ang)) return 1;
  14.  
  15.     new Float:Pos[3];
  16.     GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  17.  
  18.     new gzcid = GZ_CircleCreate(Pos[0], Pos[1], rad, squares, size, min_ang, max_ang);
  19.     GZ_CircleShowForPlayer(playerid, gzcid, 0xFF0000FF);
  20.  
  21.  
  22.     return 1;
  23. }
  24.  
  25. CMD:dc(playerid, params[]) // destroy circle
  26. {
  27.     new gzcid;
  28.     if(sscanf(params, "d", gzcid)) return 1;
  29.  
  30.     GZ_CircleDestroy(gzcid);
  31.     return 1;
  32. }
  33.  
  34. CMD:fc(playerid, params[]) // flash circle
  35. {
  36.     new gzcid, color;
  37.     if(sscanf(params, "dx", gzcid, color)) return 1;
  38.  
  39.     GZ_CircleFlashForPlayer(playerid, gzcid, color);
  40.     return 1;
  41. }
  42.  
  43. CMD:sfc(playerid, params[]) // flash circle
  44. {
  45.     new gzcid;
  46.     if(sscanf(params, "d", gzcid)) return 1;
  47.  
  48.     GZ_CircleStopFlashForPlayer(playerid, gzcid);
  49.     return 1;
  50. }
  51.  
  52. CMD:start(playerid, params[]) // make a circle follow the player while its radius decreases
  53. {
  54.     new gzcid;
  55.     if(sscanf(params, "d", gzcid)) return 1;
  56.  
  57.     if(timer[playerid] != -1)
  58.     {
  59.         KillTimer(timer[playerid]);
  60.     }
  61.  
  62.     c_id[playerid] = gzcid;
  63.     c_rad[playerid] = 150.0;
  64.     timer[playerid] = SetTimerEx("ResetCircle", 1000, true, "dd", playerid, c_id[playerid]);
  65.     return 1;
  66. }
  67.  
  68. CMD:stop(playerid, params[])
  69. {
  70.     if(timer[playerid] != -1)
  71.     {
  72.         KillTimer(timer[playerid]);
  73.     }
  74.     return 1;
  75. }
  76.  
  77. forward ResetCircle(playerid, cid);
  78. public ResetCircle(playerid, cid)
  79. {
  80.     c_rad[playerid] -= 2.0;
  81.  
  82.     new Float:Pos[3];
  83.     GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  84.  
  85.     GZ_CircleDestroy(c_id[playerid]);
  86.     c_id[playerid] = GZ_CircleCreate(Pos[0], Pos[1], c_rad[playerid]);
  87.     GZ_CircleShowForAll(c_id[playerid], 0xFF0000FF);
  88.  
  89.     if(c_rad[playerid] <= 50)
  90.     {
  91.         KillTimer(timer[playerid]);
  92.         timer[playerid] = -1;
  93.     }
  94.     return 1;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment