Advertisement
Guest User

Untitled

a guest
Sep 7th, 2014
517
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. #include <a_samp>
  2. #include <pcmd>
  3. #include <mapandreas>
  4. #include <streamer>
  5.  
  6. public OnFilterScriptInit()
  7. {
  8. print("\n--------------------------------------");
  9. print(" Swatropescript by IPrototypeI");
  10. print("--------------------------------------\n");
  11. return 1;
  12. }
  13.  
  14. public OnFilterScriptExit()
  15. {
  16. return 1;
  17. }
  18.  
  19. #define MAX_HEIGHT 100
  20.  
  21. new PlayerAbseilen[MAX_PLAYERS char];
  22. new Count,
  23. Timer;
  24.  
  25. CMD->abseilen(playerid,params[]){
  26. if(PlayerAbseilen{playerid})return SendClientMessage(playerid,-1,"Du seilst dich schon ab!");
  27. new Float:Pos[5],
  28. obj[MAX_HEIGHT];
  29. GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  30. GetPlayerFacingAngle(playerid,Pos[3]);
  31. Pos[0] += 2.0 * -floatsin(-Pos[3], degrees);
  32. Pos[1] += 2.0 * -floatcos(-Pos[3], degrees);
  33.  
  34. GetPointZPos(Pos[0],Pos[1],Pos[4]);
  35. if(Pos[4] > Pos[2]-2.0)return SendClientMessage(playerid,-1,"Du kannst dich nicht abseilen");
  36. if((Pos[2] - Pos[4]) > (MAX_HEIGHT*2.3))return SendClientMessage(playerid,-1,"Du kannst dich nicht abseilen dein Seil ist zu kurz");
  37. PlayerAbseilen{playerid} = true;
  38. SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  39. ApplyAnimation(playerid,"ped","abseil",4.0,0,0,0,1,0);
  40. for(new i, j = floatround((Pos[2] - Pos[4])/2.3, floatround_ceil)+1; i <= j; ++i)obj[i] = CreateDynamicObject(19087,Pos[0],Pos[1],Pos[2]-2.3*i,0,0, 0);
  41. SetPVarString(playerid,"abseilen",obj);
  42. if(++Count == 1)Timer = SetTimer("@PutPlayerToPos", 500, true);
  43. return 1;
  44. }
  45.  
  46. forward @PutPlayerToPos();
  47. @PutPlayerToPos(){
  48. if(!Count)return KillTimer(Timer);
  49. for(new p; p != MAX_PLAYERS; ++p){
  50. if(!PlayerAbseilen{p})continue;
  51. new Float:speed;
  52. GetPlayerVelocity(p, speed, speed, speed);
  53. if(speed == 0.0){
  54. new obj[MAX_HEIGHT];
  55. GetPVarString(p, "abseilen", obj,sizeof(obj));
  56. for(new i, j=strlen(obj); i != j; ++i)DestroyDynamicObject(obj[i]);
  57. ClearAnimations(p);
  58. PlayerAbseilen{p} = false;
  59. --Count;
  60. continue;
  61. }
  62. SetPlayerVelocity(p, 0.0, 0.0, -0.1);
  63. }
  64. return 1;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement