mskamilor

Spec System

Jan 30th, 2012
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. /*==============================================================================
  2.  
  3. Copyright (c) 2012-2013
  4. Spec System by mskamilor
  5.  
  6. ================================================================================
  7. */
  8. #include <a_samp>
  9. #include <ocmd>
  10.  
  11.  
  12. public OnFilterScriptInit()
  13. {
  14. print("\n--------------------------------------");
  15. print(" /spec FS by mskamilor");
  16. print("--------------------------------------\n");
  17. return 1;
  18. }
  19.  
  20. public OnFilterScriptExit()
  21. {
  22. return 1;
  23. }
  24. public OnPlayerConnect(playerid)
  25. {
  26. SetPVarInt(playerid,"spect",-1);
  27. SetPVarInt(playerid,"spec",-1);
  28. return 1;
  29. }
  30. public OnPlayerDisconnect(playerid, reason)
  31. {
  32. if(GetPVarInt(playerid,"spect")!=-1)
  33. {
  34. TogglePlayerSpectating(GetPVarInt(playerid,"spect"),0);
  35. SetCameraBehindPlayer(GetPVarInt(playerid,"spect"));
  36. SetPVarInt(GetPVarInt(playerid,"spect"),"spec",-1);
  37. }
  38. else if(GetPVarInt(playerid,"spec")!=-1)SetPVarInt(GetPVarInt(playerid,"spec"),"spec",-1);
  39. return 1;
  40. }
  41. public OnPlayerStateChange(playerid, newstate, oldstate)
  42. {
  43. if(GetPVarInt(playerid,"spect")!=-1)
  44. {
  45. switch(newstate)
  46. {
  47. case 0,1,7,8: PlayerSpectatePlayer(GetPVarInt(playerid,"spect"),playerid);
  48. case 2,3:PlayerSpectateVehicle(GetPVarInt(playerid,"spect"),GetPlayerVehicleID(playerid));
  49. case 9:
  50. {
  51. SetPVarInt(GetPVarInt(playerid,"spect"),"spec",-1);
  52. TogglePlayerSpectating(GetPVarInt(playerid,"spect"),0);
  53. SetCameraBehindPlayer(GetPVarInt(playerid,"spect"));
  54. }
  55. }
  56. }
  57. return 1;
  58. }
  59.  
  60. ocmd:spec(playerid, params[])
  61. {
  62. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000AA,"Du bist kein Admin");
  63. if(!strlen(params))return SendClientMessage(playerid,0xFFFFFFAA,"/spec [id]");
  64. new giveid=strval(params);
  65. if(!IsPlayerConnected(giveid) || giveid==playerid)return SendClientMessage(playerid,0xFF0000AA,"Falsche ID");
  66. TogglePlayerSpectating(playerid,1);
  67. switch(GetPlayerState(giveid))
  68. {
  69. case 2,3:PlayerSpectateVehicle(playerid,GetPlayerVehicleID(giveid));
  70. case 0,1,7,8,4:PlayerSpectatePlayer(playerid,giveid);
  71. case 9:return SendClientMessage(playerid,0x00CC00AA,"Diesen Spieler kannst du nicht specen");
  72. }
  73. SendClientMessage(playerid,0x00CC00AA,"Benutze /specoff wenn du den Spec modus verlassen willst");
  74. SetPVarInt(playerid,"spect",giveid);
  75. SetPVarInt(giveid,"spec",playerid);
  76. return 1;
  77. }
  78. ocmd:specoff(playerid, params[])
  79. {
  80. #pragma unused params
  81. TogglePlayerSpectating(playerid,0);
  82. SetCameraBehindPlayer(playerid);
  83. if(GetPVarInt(playerid,"spec")!=-1)SetPVarInt(GetPVarInt(playerid,"spec"),"spect",-1);
  84. SetPVarInt(playerid,"spec",-1);
  85. return 1;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment