Guest User

Key

a guest
Feb 9th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. #include <a_samp>
  2. #define NO_MESSAGE "no message"
  3.  
  4.  
  5. new KeyBindActif[MAX_PLAYERS];
  6. new string[500];
  7. new gString[500];
  8. new ItemKey[MAX_PLAYERS];
  9. new Nom[25];
  10.  
  11. enum KeyBind
  12. {
  13. Message[250],
  14. Key
  15. }
  16. new KBT[MAX_PLAYERS][5][KeyBind];
  17.  
  18.  
  19.  
  20.  
  21. public OnPlayerCommandText(playerid, cmdtext[])
  22. {
  23. if (strcmp("/key", cmdtext, true, 10) == 0)
  24. {
  25. DialogueKeyBind(playerid);
  26. return 1;
  27. }
  28. return 1;
  29. }
  30.  
  31.  
  32. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  33. {
  34. if(dialogid == 1)
  35. {
  36. if(!response) return 1;
  37. if(KeyBindActif[playerid] == 0)
  38. {
  39. KeyBindActif[playerid] = 1;
  40. DialogueKeyBind(playerid);
  41. return 1;
  42. }
  43. if(listitem == 0) return 1;
  44. ItemKey[playerid] = listitem;
  45. if(KBT[playerid][listitem][Key] == 0)
  46. ShowPlayerDialog(playerid,2, DIALOG_STYLE_INPUT, "{33AA33}KeyBind","Enter the desired message", "Next", "Cancel");
  47. else
  48. ShowPlayerDialog(playerid,2, DIALOG_STYLE_INPUT, "{33AA33}KeyBind","Enter the desired message", "Next", "Cancel");
  49. return 1;
  50. }
  51. if(dialogid == 2)
  52. {
  53. strmid(KBT[playerid][ItemKey[playerid]][Message],inputtext, 0, strlen(inputtext), 250);
  54. if(ItemKey[playerid] == 1)
  55. KBT[playerid][ItemKey[playerid]][Key] = 2;
  56. if(ItemKey[playerid] == 2)
  57. KBT[playerid][ItemKey[playerid]][Key] = 4;
  58. if(ItemKey[playerid] == 3)
  59. KBT[playerid][ItemKey[playerid]][Key] = 6;
  60. if(ItemKey[playerid] == 4)
  61. KBT[playerid][ItemKey[playerid]][Key] = 8;
  62. DialogueKeyBind(playerid);
  63. return 1;
  64. }
  65. return 0;
  66. }
  67. stock DialogueKeyBind(playerid)
  68. {
  69.  
  70. if(KeyBindActif[playerid] == 0)
  71. {
  72. ShowPlayerDialog(playerid,1, DIALOG_STYLE_LIST, "{33AA33}KeyBind","Click to activate the keybind", "Ok", "Cancel");
  73. return 1;
  74. }
  75. else
  76. {
  77. gString = "";
  78. string = "";
  79. for(new i = 0; i < 6; i++)
  80. {
  81. if(KBT[playerid][i][Key] == 0)
  82. format(string, 64, NO_MESSAGE);
  83. else
  84. format(string, 64, "{FF0000}Key : %d\tMessage : %s",KBT[playerid][i][Key],KBT[playerid][i][Message]);
  85. format(gString, sizeof(gString), "%s%s\n", gString, string);
  86. ShowPlayerDialog(playerid,1, DIALOG_STYLE_LIST, "{33AA33}KeyBind",gString, "Next", "Cancel");
  87. }
  88. return 1;
  89. }
  90. return 1;
  91. }
  92.  
  93.  
  94. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  95. {
  96. if (newkeys == 512)
  97. {
  98. if (!IsPlayerInAnyVehicle(playerid))
  99. {
  100. if(KBT[playerid][1][Message] != 0)
  101. {
  102. GetPlayerName(playerid,Nom, sizeof(Nom));
  103. format(string, 64, "%s : %s",Nom,KBT[playerid][1][Message]);
  104. SendClientMessageToAll(-1,string);
  105. }
  106. }
  107. }
  108. if (newkeys == 8192)
  109. {
  110. if (!IsPlayerInAnyVehicle(playerid))
  111. {
  112. if(KBT[playerid][2][Message] != 0)
  113. {
  114. GetPlayerName(playerid,Nom, sizeof(Nom));
  115. format(string, 64, "%s : %s",Nom,KBT[playerid][2][Message]);
  116. SendClientMessageToAll(-1,string);
  117. }
  118. }
  119. }
  120. if (newkeys == 16384)
  121. {
  122. if (!IsPlayerInAnyVehicle(playerid))
  123. {
  124. if(KBT[playerid][3][Message] != 0)
  125. {
  126. GetPlayerName(playerid,Nom, sizeof(Nom));
  127. format(string, 64, "%s : %s",Nom,KBT[playerid][3][Message]);
  128. SendClientMessageToAll(-1,string);
  129. }
  130. }
  131. }
  132. if (newkeys == 2048)
  133. {
  134. if (!IsPlayerInAnyVehicle(playerid))
  135. {
  136. if(KBT[playerid][4][Message] != 0)
  137. {
  138. GetPlayerName(playerid,Nom, sizeof(Nom));
  139. format(string, 64, "%s : %s",Nom,KBT[playerid][4][Message]);
  140. SendClientMessageToAll(-1,string);
  141. }
  142. }
  143. }
  144. return 1;
  145. }
Advertisement
Add Comment
Please, Sign In to add comment