Advertisement
Guest User

Untitled

a guest
May 29th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  2.  
  3. #include <a_samp>
  4. #include <sscanf2>
  5.  
  6. new bool: isCuffed[MAX_PLAYERS];
  7. new str[256];
  8.  
  9. public OnFilterScriptInit()
  10. {
  11. for(new i = 0;i < MAX_PLAYERS; i++)
  12. isCuffed[i] = false;
  13. }
  14.  
  15. public OnPlayerConnect(playerid)
  16. {
  17. isCuffed[playerid] = false;
  18. return 1;
  19. }
  20.  
  21. public OnPlayerDisconnect(playerid, reason)
  22. {
  23. if(isCuffed[playerid])
  24. RemovePlayerAttachedObject(playerid, 0);
  25. isCuffed[playerid] = false;
  26. return 1;
  27. }
  28.  
  29. public OnPlayerCommandText(playerid, cmdtext[])
  30. {
  31. dcmd(cuff,4,cmdtext);
  32. dcmd(uncuff,6,cmdtext);
  33. return 0;
  34. }
  35.  
  36. dcmd_cuff(playerid, params[])
  37. {
  38. if(!IsPlayerAdmin(playerid))
  39. {
  40. NotAnAdminMessage(playerid);
  41. return 1;
  42. }
  43. new id;
  44. if(sscanf(params,"u", id))
  45. {
  46. SendClientMessage(playerid, -1, "/Cuff [Player]");
  47. return 1;
  48. }
  49. if(!IsPlayerConnected(id))
  50. {
  51. SendClientMessage(playerid, -1, "Player is not connected!");
  52. return 1;
  53. }
  54. if(isCuffed[id])
  55. {
  56. SendClientMessage(playerid, -1, "Player is already cuffed!");
  57. return 1;
  58. }
  59. isCuffed[id] = true;
  60. format(str, sizeof(str), "%s cuffed %s", GetName(playerid), GetName(id));
  61. SendClientMessageToAll(-1, str);
  62.  
  63. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_CUFFED);
  64. SetPlayerAttachedObject(playerid, 0, 19418, 6, -0.027999, 0.051999, -0.030000, -18.699926, 0.000000, 104.199928, 1.489999, 3.036000, 1.957999);
  65. return 1;
  66. }
  67.  
  68. forward NotAnAdminMessage(playerid);
  69. public NotAnAdminMessage(playerid)
  70. {
  71. SendClientMessage(playerid, -1, "You are not an admin!");
  72. return 1;
  73. }
  74. dcmd_uncuff(playerid, params[])
  75. {
  76. if(!IsPlayerAdmin(playerid))
  77. {
  78. NotAnAdminMessage(playerid);
  79. return 1;
  80. }
  81. new id;
  82. if(sscanf(params,"u", id))
  83. {
  84. SendClientMessage(playerid, -1, "/UnCuff [Player]");
  85. return 1;
  86. }
  87. if(!IsPlayerConnected(id))
  88. {
  89. SendClientMessage(playerid, -1, "Player is not connected!");
  90. return 1;
  91. }
  92. if(!isCuffed[id])
  93. {
  94. SendClientMessage(playerid, -1, "Player is not cuffed!");
  95. return 1;
  96. }
  97. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
  98. isCuffed[id] = false;
  99. format(str, sizeof(str), "%s uncuffed %s", GetName(playerid), GetName(id));
  100. SendClientMessageToAll(-1, str);
  101. RemovePlayerAttachedObject(id, 0);
  102.  
  103. return 1;
  104. }
  105.  
  106.  
  107. stock GetName(playerid)
  108. {
  109. new n[MAX_PLAYER_NAME];
  110. GetPlayerName(playerid, n, sizeof(n));
  111. return n;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement