Advertisement
Guest User

SUPER POWER FILERSCRIPT SAMP

a guest
Jul 14th, 2013
911
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. new pname[MAX_PLAYERS][MAX_PLAYER_NAME];
  5.  
  6. new Power[MAX_PLAYERS] = -1;
  7. new Fires[MAX_PLAYERS];
  8. new Float: round[MAX_PLAYERS]/* = 100.0*/;
  9. new Timer[MAX_PLAYERS];
  10. new Float: PEX[3][MAX_PLAYERS];
  11. new Float: P[4][MAX_PLAYERS];
  12. forward sPower(playerid);
  13.  
  14. public OnFilterScriptInit()
  15. {
  16. print(" Super Power FS by xGanyx Loaded");
  17. for(new i; i < GetMaxPlayers(); i++)Power[i] = -1;
  18. return 1;
  19. }
  20.  
  21. public OnFilterScriptExit()
  22. {
  23. for(new i; i < GetMaxPlayers(); i++)KillTimer(Timer[i]);
  24. return 1;
  25. }
  26.  
  27. public OnPlayerConnect(playerid)
  28. {
  29. Power[playerid] = -1;
  30. Fires[playerid] = 0;
  31. return 1;
  32. }
  33.  
  34. CMD:poweron(playerid,params[])
  35. {
  36. new string[128];
  37. if(Power[playerid] > -1)return SendClientMessage(playerid,-1,"You alredy have super power. Plase use /poweroff to turn off the power");
  38. Power[playerid] = 1;
  39. Fires[playerid] = 1;
  40. SetPlayerAttachedObject( playerid, 0, 18693, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  41. SetPlayerAttachedObject( playerid, 1, 18693, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  42. SetPlayerAttachedObject( playerid, 2, 18703, 6, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  43. SetPlayerAttachedObject( playerid, 3, 18703, 5, 1.983503, 1.558882, -0.129482, 86.705787, 308.978118, 268.198822, 1.500000, 1.500000, 1.500000 );
  44. SendClientMessage(playerid,-1,"Power Has Been Turned On. Please punch to show the power");
  45. GetPlayerName(playerid,pname[playerid],MAX_PLAYER_NAME);
  46. format(string,sizeof(string),"Admin %s has turned on super power",pname[playerid]);
  47. SendClientMessageToAll(0xFFFF00AA,string);
  48. return 1;
  49. }
  50.  
  51. CMD:poweroff(playerid,params[])
  52. {
  53. new string[128];
  54. Power[playerid] = -1;
  55. Fires[playerid] = 0;
  56. for ( new i = 0; i < 4; i++ )
  57. if ( IsPlayerAttachedObjectSlotUsed( playerid, i ) )
  58. RemovePlayerAttachedObject( playerid, i );
  59. GetPlayerName(playerid, pname[playerid], MAX_PLAYER_NAME);
  60. format(string,sizeof(string),"Admin %s has turned off super power",pname[playerid]);
  61. SendClientMessageToAll(0xFFFF00AA,string);
  62. return 1;
  63. }
  64.  
  65. public sPower(playerid)
  66. {
  67.  
  68. if(round[playerid] >= 90.0)
  69. {
  70. KillTimer(Timer[playerid]);
  71. //round[playerid] = 100.0;
  72. if(Fires[playerid] == 0)
  73. {
  74. Power[playerid] = -1;
  75. return 1;
  76. }
  77. Power[playerid] = 1;
  78. return 1;
  79. }
  80. GetXYInFrontOfPoint(P[0][playerid],P[1][playerid], PEX[0][playerid], PEX[1][playerid], P[3][playerid], round[playerid]);
  81. CreateExplosion(PEX[0][playerid],PEX[1][playerid],P[2][playerid],1,5);
  82. for(new i; i < GetMaxPlayers(); i ++)
  83. {
  84. if(!IsPlayerConnected(i))continue;
  85. if(GetPlayerDistanceFromPoint(i,PEX[0][playerid],PEX[1][playerid],P[2][playerid]) < 1.5)
  86. {
  87. new Float:hp;
  88. GetPlayerHealth(i,hp);
  89. if(hp <= 0)continue;
  90. SetPlayerHealth(i,-1);
  91.  
  92. }
  93. }
  94. for(new v; v < MAX_VEHICLES; v ++)
  95. {
  96. if(GetVehicleDistanceFromPoint(v,PEX[0][playerid],PEX[1][playerid],P[2][playerid]) <= 4.0)SetVehicleHealth(v,0);
  97.  
  98. }
  99. round[playerid] += 3.0;
  100. return 1;
  101. }
  102. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  103. {
  104. if(newkeys & KEY_FIRE)
  105. {
  106. if(GetPlayerWeapon(playerid) != 0)return 1;
  107. if(Power[playerid] == -1 ||Power[playerid] == 0)return 1;
  108. if(IsPlayerInAnyVehicle(playerid))return 1;
  109. round[playerid] = 13.0;
  110. GetPlayerPos(playerid,P[0][playerid],P[1][playerid],P[2][playerid]);
  111. GetPlayerFacingAngle(playerid,P[3][playerid]);
  112. Timer[playerid] = SetTimerEx("sPower",20,1,"d",playerid);
  113. Power[playerid] = 0;
  114. PlayerPlaySound(playerid,1039,0,0,0);
  115.  
  116. }
  117. return 1;
  118. }
  119. stock GetXYInFrontOfPoint(Float:x, Float:y, &Float:x2, &Float:y2, Float:A, Float:distance)
  120. {
  121. x2 = x + (distance * floatsin(-A, degrees));
  122. y2 = y + (distance * floatcos(-A, degrees));
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement