Advertisement
Guest User

JawsCraft - Simple Event System !

a guest
Jan 7th, 2017
717
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.90 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3.  
  4. #if defined FILTERSCRIPT
  5.  
  6. new Float:eventposX;
  7. new Float:eventposY;
  8. new Float:eventposZ;
  9. new EventInterior;
  10. new EventVW;
  11. new EventCountdownTimer;
  12. new EventCountdownTime[MAX_PLAYERS];
  13. new iseventset;
  14.  
  15. public OnFilterScriptInit()
  16. {
  17. print("\n--------------------------------------");
  18. print(" Event system by JawsPlus from Jawscraft");
  19. print("--------------------------------------\n");
  20. return 1;
  21. }
  22.  
  23. public OnFilterScriptExit()
  24. {
  25. return 1;
  26. }
  27.  
  28. CMD:event(playerid,params[])
  29. {
  30. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF} Only admin can use this command.");
  31. if(iseventset == 1)ShowPlayerDialog(playerid,132,DIALOG_STYLE_LIST,"EVENT SETTING","Start Event\nCancel Event\nChange Event Position\nChange Event Countdown time","Yes","Cancel");
  32. if(iseventset == 0)ShowPlayerDialog(playerid,133,DIALOG_STYLE_LIST,"EVENT SETTING","Create Event","Yes","Cancel");
  33. SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF} You just accessed to the event control panel.");
  34. return 1;
  35. }
  36.  
  37. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  38. {
  39. if(dialogid == 132)
  40. {
  41. if(response)
  42. {
  43. if(listitem == 0)
  44. {
  45. iseventset = 0;
  46. for(new i = 0; i < MAX_PLAYERS; i++)
  47. {
  48. if(IsPlayerConnected(i))
  49. {
  50. SetPlayerInterior(i,EventInterior);
  51. SetPlayerVirtualWorld(i,EventVW);
  52. SetPlayerPos(i,eventposX,eventposY,eventposZ);
  53. TogglePlayerControllable(i,0);
  54. new string[250];
  55. format(string,sizeof(string),"[EVENT] {FFFFFF}The event has started and everybody has been teleport to the event location.");
  56. SendClientMessage(i,COLOR_SILVER,string);
  57. EventCountdownTime[i] = SetTimerEx("EventCountdown",1000,true,"d",i);
  58. }
  59. }
  60. return 0;
  61. }
  62. if(listitem == 1)
  63. {
  64. if(iseventset == 0)
  65. {
  66. SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF} You havent create any event yet.");
  67. ShowPlayerDialog(playerid,133,DIALOG_STYLE_LIST,"EVENT SETTING","Create Event","Yes","Cancel");
  68. return 0;
  69. }
  70. if(iseventset == 1)
  71. {
  72. SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF}You have successfully canceled an event.");
  73. iseventset = 0;
  74. return 0;
  75. }
  76. }
  77. if(listitem == 2)
  78. {
  79. EventVW = GetPlayerVirtualWorld(playerid);
  80. GetPlayerPos(playerid,eventposX,eventposY,eventposZ);
  81. EventInterior = GetPlayerInterior(playerid);
  82. SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF}You have successfully changed the event pos.");
  83. if(iseventset == 0)
  84. {
  85. ShowPlayerDialog(playerid,133,DIALOG_STYLE_LIST,"EVENT SETTING","Create Event","Yes","Cancel");
  86. }
  87. if(iseventset == 1)
  88. {
  89. ShowPlayerDialog(playerid,132,DIALOG_STYLE_LIST,"EVENT SETTING","Start Event\nCancel Event\nChange Event Position\nChange Event Countdown time","Yes","Cancel");
  90. }
  91. return 0;
  92. }
  93. if(listitem == 3)
  94. {
  95. ShowPlayerDialog(playerid,136,DIALOG_STYLE_INPUT,"EVENT SETTING","Type in the countdown timer you want !","Yes","Cancel");
  96. return 0;
  97. }
  98. }
  99. }
  100. if(dialogid == 133)
  101. {
  102. if(response)
  103. {
  104. if(listitem == 0)
  105. {
  106. ShowPlayerDialog(playerid,134,DIALOG_STYLE_MSGBOX,"EVENT SETTING","Are you sure you want to create an event here ?","Yes","Cancel");
  107. return 0;
  108. }
  109. }
  110. }
  111. if(dialogid == 134)
  112. {
  113. if(response)
  114. {
  115. EventVW = GetPlayerVirtualWorld(playerid);
  116. GetPlayerPos(playerid,eventposX,eventposY,eventposZ);
  117. EventInterior = GetPlayerInterior(playerid);
  118. ShowPlayerDialog(playerid,135,DIALOG_STYLE_INPUT,"EVENT SETTING","Type in the countdown timer you want !","Yes","");
  119. return 0;
  120. }
  121. return 0;
  122. }
  123. if(dialogid == 135)
  124. {
  125. if(response)
  126. {
  127. EventCountdownTimer = strval(inputtext);
  128. SendClientMessage(playerid,COLOR_SILVER,"[SERVER] {FFFFFF}The event setting has been set successfully. Use /event to change the setting of the event.");
  129. iseventset = 1;
  130. return 0;
  131. }
  132. return 0;
  133. }
  134. if(dialogid == 136)
  135. {
  136. if(response)
  137. {
  138. if(strval(inputtext) > 20 || strval(inputtext) < 5)
  139. {
  140. SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF}Countdown timer must be between 5 ~ 20 second.");
  141. if(iseventset == 0)
  142. {
  143. ShowPlayerDialog(playerid,133,DIALOG_STYLE_LIST,"EVENT SETTING","Create Event","Yes","Cancel");
  144. }
  145. if(iseventset == 1)
  146. {
  147. ShowPlayerDialog(playerid,132,DIALOG_STYLE_LIST,"EVENT SETTING","Start Event\nCancel Event\nChange Event Position\nChange Event Countdown time","Yes","Cancel");
  148. }
  149. return 0;
  150. }
  151. EventCountdownTimer = strval(inputtext);
  152. SendClientMessage(playerid,COLOR_SILVER,"[EVENT]{FFFFFF}You have successfully changed the event countdown time.");
  153. if(iseventset == 0)
  154. {
  155. ShowPlayerDialog(playerid,133,DIALOG_STYLE_LIST,"EVENT SETTING","Create Event","Yes","Cancel");
  156. }
  157. if(iseventset == 1)
  158. {
  159. ShowPlayerDialog(playerid,132,DIALOG_STYLE_LIST,"EVENT SETTING","Start Event\nCancel Event\nChange Event Position\nChange Event Countdown time","Yes","Cancel");
  160. }
  161. return 0;
  162. }
  163. return 0;
  164. }
  165. return 0;
  166. }
  167.  
  168. forward EventCountdown(i);
  169. public EventCountdown(i)
  170. {
  171. if(EventCountdownTimer == 0)
  172. {
  173. GameTextForPlayer(i,"~r~GOOD LUCK!", 1110, 5);
  174. TogglePlayerControllable(i,1);
  175. PlayerPlaySound(i, 1139 , 0.0, 0.0, 0.0);
  176. KillTimer(EventCountdownTime[i]);
  177. return 1;
  178. }
  179. else
  180. {
  181. new string[100];
  182. format(string ,sizeof string,"%d",EventCountdownTimer);
  183. GameTextForPlayer(i,string, 1110, 5);
  184. PlayerPlaySound(i, 1137, 0.0, 0.0, 1.0);
  185. EventCountdownTimer--;
  186. }
  187. return 1;
  188. }
  189.  
  190. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement