Advertisement
Guest User

rathen-builtin-by-vicious

a guest
Aug 24th, 2012
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.42 KB | None | 0 0
  1. //===== rAthena Script =======================================
  2. //= Message Man
  3. //===== By: ==================================================
  4. //= Vicious
  5. //===== Current Version: =====================================
  6. //= 1.0
  7. //===== Compatible With: =====================================
  8. //= rAthena SVN
  9. //===== Description: =========================================
  10. //= a message board where you can post and read messages
  11. //===== Additional Comments: =================================
  12. //=
  13. //============================================================
  14.  
  15. lunette,75,100,1 script Message Board#1 837,{
  16. mes "^0000FF[Message Board]^000000";
  17. mes "Hello, ^FF0000"+strcharinfo(0)+"^000000 !";
  18. mes "You can leave a message here for your fellow players!";
  19. mes " ";
  20. mes "You can use this as a :";
  21. mes "^FF0000Selling^000000-^FF0000Buying^000000-^FF0000Trading^000000";
  22. mes "message board!";
  23. next;
  24. L_Menu01:
  25. mes "^0000FF[Message Board]^000000";
  26. mes "What would you like to do??";
  27. next;
  28. if((getgmlevel() >= 90)) menu "Public Board",L_pubgmmenu,"Gm Board",L_gmmenu,"Close Public Board",L_clospub,"Open Public Board",L_openpub;
  29. if(($messagepubclose == 1)) goto L_pubclosed;
  30. menu "Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave;
  31. L_pubgmmenu:
  32. if(($messagepubclose == 1)) goto L_pubclosed;
  33. menu "Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Re-set the rotation",L_setrot,"Reset Message",L_Clearmsgs,"Leave",L_leave;
  34. L_gmmenu:
  35. menu "Read messages!",L_gmboardread,"Post a Message!",L_gmboardpost,"Reset Messages",L_gmboardreset;
  36.  
  37. L_openpub:
  38. mes "^0000FF[Message Board]^000000";
  39. mes "Are you sure?";
  40. menu "Yes",-,"No",L_openpubn;
  41. mes "^0000FF[Message Board]^000000";
  42. mes "It is done.";
  43. close2;
  44. set $messagepubclose,0;
  45. end;
  46.  
  47. L_openpubn:
  48. mes "^0000FF[Message Board]^000000";
  49. mes "Very well it shall remain closed.";
  50. close;
  51.  
  52. L_pubclosed:
  53. mes "^0000FF[Message Board]^000000";
  54. mes "Im sorry. The public boards are currently Closed.";
  55. close;
  56.  
  57. L_clospub:
  58. mes "^0000FF[Message Board]^000000";
  59. mes "Are you sure?";
  60. next;
  61. menu "Yes.",-,"No",L_closepubn;
  62. mes "^0000FF[Message Board]^000000";
  63. mes "Very well I will not allow anyone into the public board.";
  64. close2;
  65. set $messagepubclose,1;
  66. end;
  67.  
  68. L_closepubn:
  69. mes "^0000FF[Message Board]^000000";
  70. mes "Have a nice day";
  71. close;
  72.  
  73. L_gmboardreset:
  74. mes "^0000FF[Message Board]^000000";
  75. mes "Are you sure?";
  76. next;
  77. menu "Yes",L_gmresetdone,"No thanks.",L_Menu01;
  78.  
  79. L_gmresetdone:
  80. deletearray $gmmessageboardpost$[1],$gmmessageboardpostnumber;
  81. deletearray $gmmessageboardpostdate$[1],$gmmessageboardpostnumber;
  82. deletearray $gmmessageboardpostname$[1],$gmmessageboardpostnumber;
  83. deletearray $gmmessageboardeditdate$[1],$gmmessageboardpostnumber;
  84. deletearray $gmmymessage[1],$gmmessageboardpostnumber;
  85. set $gmmessageboardpostnumber,0;
  86. mes "^0000FF[Message Board]^000000";
  87. mes "It is done.";
  88. close;
  89.  
  90. L_gmboardread:
  91. if(($gmmessageboardpostnumber == 0)) goto L_msgno2;
  92. callfunc "F_gmmessage";
  93. end;
  94.  
  95. L_msgno2:
  96. mes "^0000FF[Message Board]^000000";
  97. mes "There are currently no messages.";
  98. close;
  99.  
  100. L_gmboardpost:
  101. if(($gmmessageboardpostnumber >= 127)) goto L_postmsgyestm;
  102. set @gmmessageboardpostername$,strcharinfo(0);
  103. set @gmmessageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21);
  104. set $gmmessageboardpostnumber,$gmmessageboardpostnumber+1;
  105. input @gmmsgboardmsgt$;
  106. set $gmmessageboardpost$[$gmmessageboardpostnumber],@gmmsgboardmsgt$;
  107. set $gmmessageboardpostdate$[$gmmessageboardpostnumber],@gmmessageboarddate$;
  108. set $gmmessageboardpostname$[$gmmessageboardpostnumber],@gmmessageboardpostername$;
  109. mes "^0000FF[Message Board]^000000";
  110. mes "Here is what your message looks like";
  111. next;
  112. mes $gmmessageboardpost$[$gmmessageboardpostnumber];
  113. mes " ";
  114. mes "Posted by: ^FF0000"+$gmmessageboardpostname$[$gmmessageboardpostnumber]+"^000000.";
  115. mes "On: ^0000FF"+$gmmessageboardpostdate$[$gmmessageboardpostnumber]+"^000000.";
  116. close;
  117.  
  118. L_setrot:
  119. set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages.
  120. if(($@determinedayrotation == 0)) set $rotation,0;
  121. if(($@determinedayrotation == 1)) set $rotation,1;
  122. if(($@determinedayrotation == 2)) set $rotation,0;
  123. if(($@determinedayrotation == 3)) set $rotation,1;
  124. if(($@determinedayrotation == 4)) set $rotation,0;
  125. if(($@determinedayrotation == 5)) set $rotation,1;
  126. if(($@determinedayrotation == 6)) set $rotation,0;
  127. mes "It is done.";
  128. close;
  129.  
  130. L_Clearmsgs:
  131. mes "^0000FF[Message Board]^000000";
  132. mes "Are you sure?";
  133. next;
  134. menu "Yes",L_clearmsgsy,"No thanks.",L_Menu01;
  135.  
  136. L_clearmsgsy:
  137. deletearray $messageboardpost$[1],$messageboardpostnumber;
  138. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  139. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  140. deletearray $messageboardeditdate$[1],$messageboardpostnumber;
  141. deletearray $mymessage[1],$messageboardpostnumber;
  142. set $messageboardpostnumber,0;
  143. mes "^0000FF[Message Board]^000000";
  144. mes "It is done.";
  145. close;
  146.  
  147. L_leave:
  148. close;
  149.  
  150. L_Postmsg:
  151. mes "^0000FF[Message Board]^000000";
  152. mes "What do you want to say in your message?";
  153. next;
  154. set @msgboardmsgt$,0;
  155. input @msgboardmsgt$;
  156. mes "^0000FF[Message Board]^000000";
  157. mes "Are you sure this is the message you want?";
  158. mes @msgboardmsgt$;
  159. next;
  160. menu "Yes!",L_postmsgyes,"No let me re-do it!",L_Postmsg,"Ive changed my mind let me leave.",lleave;
  161.  
  162. L_postmsgyes:
  163. if(($messageboardpostnumber >= 127)) goto L_postmsgyestm;
  164. set @messageboardpostername$,strcharinfo(0);
  165. set @messageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21);
  166. set $messageboardpostnumber,$messageboardpostnumber+1;
  167. set @mymessage2,$messageboardpostnumber;
  168. set $mymessage[$messageboardpostnumber],5;
  169. set $messageboardpost$[$messageboardpostnumber],@msgboardmsgt$;
  170. set $messageboardpostdate$[$messageboardpostnumber],@messageboarddate$;
  171. set $messageboardpostname$[$messageboardpostnumber],@messageboardpostername$;
  172. mes "^0000FF[Message Board]^000000";
  173. mes "here is what your message looks like";
  174. next;
  175. mes $messageboardpost$[$messageboardpostnumber];
  176. mes " ";
  177. mes "Posted by: ^FF0000"+$messageboardpostname$[$messageboardpostnumber]+"^000000.";
  178. mes "On: ^0000FF"+$messageboardpostdate$[$messageboardpostnumber]+"^000000.";
  179. close;
  180.  
  181. L_postmsgyestm:
  182. set @mesboardmsgt$,0;
  183. mes "^0000FF[Message Board]^000000";
  184. mes "Im sorry your going to have to wait till more space opens up for messages, it should be in 1 or 2 days =)";
  185. close;
  186.  
  187. lleave:
  188. deletearray $messageboardpost$[@tempview],@tempview;
  189. deletearray $messageboardpostname$[@tempview],@tempview;
  190. deletearray $messageboardpostdate$[@tempview],@tempview;
  191. deletearray $mymessage[@tempview],@tempview;
  192. set $messageboardpostnumber,$messageboardpostnumber-1;
  193. set @msgboardmsgt$,0;
  194. close;
  195.  
  196. L_readmsg:
  197. if(($messageboardpostnumber == 0)) goto L_msgno;
  198. callfunc "F_message";
  199. end;
  200.  
  201. L_msgno:
  202. mes "^0000FF[Message Board]^000000";
  203. mes "There are currently no messages.";
  204. close;
  205.  
  206. OnInit:
  207. set $gmboardreset,2;
  208. set $gmresetnumb,0;
  209. end;
  210.  
  211. OnInterIfInitOnce:
  212. set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages.
  213. if(($@determinedayrotation == 0)) set $rotation,0;
  214. if(($@determinedayrotation == 1)) set $rotation,1;
  215. if(($@determinedayrotation == 2)) set $rotation,0;
  216. if(($@determinedayrotation == 3)) set $rotation,1;
  217. if(($@determinedayrotation == 4)) set $rotation,0;
  218. if(($@determinedayrotation == 5)) set $rotation,1;
  219. if(($@determinedayrotation == 6)) set $rotation,0;
  220. end;
  221.  
  222.  
  223. OnSun1200:
  224. if(($rotation == 1)) end;
  225. deletearray $messageboardpost$[1],$messageboardpostnumber;
  226. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  227. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  228. deletearray $mymessage[1],$messageboardpostnumber;
  229. set $messageboardpostnumber,0;
  230. end;
  231.  
  232. OnSat1200:
  233. if(($rotation == 0)) end;
  234. deletearray $messageboardpost$[1],$messageboardpostnumber;
  235. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  236. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  237. deletearray $mymessage[1],$messageboardpostnumber;
  238. set $messageboardpostnumber,0;
  239. end;
  240.  
  241. OnMon1200:
  242. if(($rotation == 1)) end;
  243. deletearray $messageboardpost$[1],$messageboardpostnumber;
  244. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  245. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  246. deletearray $mymessage[1],$messageboardpostnumber;
  247. set $messageboardpostnumber,0;
  248. end;
  249.  
  250. OnTue1200:
  251. if(($rotation == 0)) end;
  252. deletearray $messageboardpost$[1],$messageboardpostnumber;
  253. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  254. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  255. deletearray $mymessage[1],$messageboardpostnumber;
  256. set $messageboardpostnumber,0;
  257. end;
  258.  
  259. OnWed1200:
  260. if(($rotation == 1)) end;
  261. deletearray $messageboardpost$[1],$messageboardpostnumber;
  262. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  263. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  264. deletearray $mymessage[1],$messageboardpostnumber;
  265. set $messageboardpostnumber,0;
  266. end;
  267.  
  268. OnThu1200:
  269. if(($rotation == 0)) end;
  270. deletearray $messageboardpost$[1],$messageboardpostnumber;
  271. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  272. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  273. deletearray $mymessage[1],$messageboardpostnumber;
  274. set $messageboardpostnumber,0;
  275. end;
  276.  
  277. OnFri1200:
  278. if(($rotation == 1)) end;
  279. deletearray $messageboardpost$[1],$messageboardpostnumber;
  280. deletearray $messageboardpostdate$[1],$messageboardpostnumber;
  281. deletearray $messageboardpostname$[1],$messageboardpostnumber;
  282. deletearray $mymessage[@tempview],@tempview;
  283. set $messageboardpostnumber,0;
  284. end;
  285. }
  286.  
  287. function script F_gmmessage {
  288. set @tempview,0;
  289. L_top:
  290. set @tempview,@tempview+1;
  291. mes $gmmessageboardpost$[@tempview]+".";
  292. mes " ";
  293. mes "Posted By: ^FF0000"+$gmmessageboardpostname$[@tempview]+"^000000.";
  294. mes "On: ^0000FF"+$gmmessageboardpostdate$[@tempview]+"^000000.";
  295. next;
  296. menu "Next Message",L_top2,"Leave",L_leave;
  297. L_top2:
  298. if(($gmmessageboardpostnumber > @tempview)) goto L_top;
  299. close;
  300.  
  301. L_leave:
  302. close;
  303. }
  304.  
  305. function script F_message {
  306. set @tempview,0;
  307. L_top:
  308. set @tempview,@tempview+1;
  309. mes $messageboardpost$[@tempview]+".";
  310. mes " ";
  311. mes "Posted By: ^FF0000"+$messageboardpostname$[@tempview]+"^000000.";
  312. mes "On: ^0000FF"+$messageboardpostdate$[@tempview]+"^000000.";
  313.  
  314. next;
  315. if(($mymessage[@tempview] == 5) && (getgmlevel()>0)) menu "Next Message",L_top2,"Delete this message",L_Del,"Leave",L_leave2;
  316. if((getgmlevel()>0)) menu "Next Message",L_top2,"Delete This message",L_Del,"Leave",L_leave2;
  317. if(($mymessage[@tempview] == 5)) menu "Next Message",L_top2,"Leave",L_leave2;
  318. menu "Next message",L_top2;
  319. close;
  320.  
  321. L_leave2:
  322. close;
  323.  
  324. L_top2:
  325. if(($messageboardpostnumber > @tempview)) goto L_top;
  326. close;
  327.  
  328. L_Del:
  329. mes "Are you sure?";
  330. next;
  331. menu "Yes",L_Dely,"No",L_Deln;
  332.  
  333. L_Dely:
  334. deletearray $messageboardpost$[@tempview],@tempview;
  335. deletearray $messageboardpostname$[@tempview],@tempview;
  336. deletearray $messageboardpostdate$[@tempview],@tempview;
  337. deletearray $mymessage[@tempview],@tempview;
  338. deletearray $messageboardeditdate$[@tempview],@tempview;
  339. set $messageboardpostnumber,$messageboardpostnumber-1;
  340. mes "It is done.";
  341. set @tempview,0;
  342. close;
  343.  
  344. L_Deln:
  345. mes "Come back soon!";
  346. set @tempview,0;
  347. close;
  348. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement