123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433 |
- //===== rAthena Script =======================================
- //= Message Man
- //===== By: ==================================================
- //= Vicious
- //===== Current Version: =====================================
- //= 1.0
- //===== Compatible With: =====================================
- //= rAthena SVN
- //===== Description: =========================================
- //= a message board where you can post and read messages
- //===== Additional Comments: =================================
- //=
- //============================================================
- geffen,122,102,4 script Message Man 774,{
- mes "[Robert]";
- mes "Hello, I am here to serve you. Enjoy my service. ^_-";
- next;
- mes "[Robert]";
- mes "Please keep in mind, that all messages are wiped once every two days";
- mes "-Msg From Creator- In new version this will be set able, look forward to this! -End Msg From Creator-";
- next;
- L_Menu01:
- mes "[Robert]";
- mes "What would you like to do??";
- next;
- if((getgmlevel() >= 90)) menu "Public board",L_pubgmmenu,"Gm Board",L_gmmenu,"Close Public Board",L_clospub,"Open Public Board",L_openpub;
- if(($messagepubclose == 1)) goto L_pubclosed;
- menu "Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave;
- L_pubgmmenu:
- if(($messagepubclose == 1)) goto L_pubclosed;
- menu "Re-set the rotation",L_setrot,"Reset Message",L_Clearmsgs,"Read messages!",L_readmsg,"Post a message!",L_Postmsg,"Leave",L_leave;
- L_gmmenu:
- menu "Read messages!",L_gmboardread,"Post a Message!",L_gmboardpost,"Reset Messages",L_gmboardreset;
- L_openpub:
- mes "[Robert]";
- mes "Are you sure?";
- menu "Yes",-,"No",L_openpubn;
- mes "[Robert]";
- mes "It is done.";
- close2;
- set $messagepubclose,0;
- end;
- L_openpubn:
- mes "[Robert]";
- mes "Very well it shall remain closed.";
- close;
- L_pubclosed:
- mes "[Robert]";
- mes "Im sorry. The public boards are currently Closed.";
- close;
- L_clospub:
- mes "[Robert]";
- mes "Are you sure?";
- next;
- menu "Yes.",-,"No",L_closepubn;
- mes "[Robert]";
- mes "Very well I will not allow anyone into the public board.";
- close2;
- set $messagepubclose,1;
- end;
- L_closepubn:
- mes "[Robert]";
- mes "Have a nice day";
- close;
- L_gmboardreset:
- mes "[Robert]";
- mes "This will require atleast 2 GM's approval to reset the gm board.";
- mes "-Msg From Creator- This is bugged same gm can vote twice. Planned to revise in next version. -End Msg From Creator-";
- next;
- menu "Vote for reset.",L_gmboardresetvote,"Back to main.",L_Menu01,"Leave.",L_leave;
- L_gmboardresetvote:
- callfunc "F_gmresetcheck";
- set @tempid,getcharid(0);
- set $gmboardresetvotenumb,$gmboardresetvotenumb+1;
- set $gmboardresetvoted[$gmboardresetvotenumb],1;
- set $gmboardresetvoteid[$gmboardresetvotenumb],@tempid;
- set @tempid,0;
- set $gmboardreset,$gmboardreset-1;
- mes "[Robert]";
- mes "Thank you.";
- next;
- if(($gmboardreset == 0)) goto L_gmresetdone;
- if(($gmboardreset >= 1)) goto L_gmresetnotdone;
- close;
- L_gmresetdone:
- deletearray $gmmessageboardpost$[1],$gmmessageboardpostnumber;
- deletearray $gmmessageboardpostdate$[1],$gmmessageboardpostnumber;
- deletearray $gmmessageboardpostname$[1],$gmmessageboardpostnumber;
- deletearray $gmmessageboardeditdate$[1],$gmmessageboardpostnumber;
- deletearray $gmboardresetvoted[1],$gmboardresetvotenumber;
- deletearray $gmboardresetvoted[1],$gmboardresetvotenumber;
- deletearray $gmboardresetvoteid[1],$gmboardresetvotenumber;
- set $gmboardresetvotenumber,0;
- set $gmboardreset,2;
- mes "[Robert]";
- mes "The reset has been done.";
- close;
- L_gmresetnotdone:
- mes "[Robert]";
- mes "There needs to be "+$gmboardreset+" more gm(s) approval to do the reset.";
- close;
- L_gmboardread:
- if(($gmmessageboardpostnumber == 0)) goto L_msgno;
- callfunc "F_gmmessage";
- end;
- L_gmboardpost:
- if(($gmmessageboardpostnumber >= 127)) goto L_postmsgyestm;
- set @gmmessageboardpostername$,strcharinfo(0);
- set @gmmessageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21);
- set $gmmessageboardpostnumber,$gmmessageboardpostnumber+1;
- input @gmmsgboardmsgt$;
- set $gmmessageboardpost$[$gmmessageboardpostnumber],@gmmsgboardmsgt$;
- set $gmmessageboardpostdate$[$gmmessageboardpostnumber],@gmmessageboarddate$;
- set $gmmessageboardpostname$[$gmmessageboardpostnumber],@gmmessageboardpostername$;
- mes "[Robert]";
- mes "Here is what your message looks like";
- next;
- mes "Posted by: "+$gmmessageboardpostname$[$gmmessageboardpostnumber]+".";
- mes "On: "+$gmmessageboardpostdate$[$gmmessageboardpostnumber]+".";
- mes $gmmessageboardpost$[$gmmessageboardpostnumber];
- close;
- L_setrot:
- set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages.
- if(($@determinedayrotation == 0)) set $rotation,0;
- if(($@determinedayrotation == 1)) set $rotation,1;
- if(($@determinedayrotation == 2)) set $rotation,0;
- if(($@determinedayrotation == 3)) set $rotation,1;
- if(($@determinedayrotation == 4)) set $rotation,0;
- if(($@determinedayrotation == 5)) set $rotation,1;
- if(($@determinedayrotation == 6)) set $rotation,0;
- mes "It is done.";
- close;
- L_Clearmsgs:
- mes "[Robert]";
- mes "Are you sure?";
- next;
- menu "Yes",L_clearmsgsy,"No thanks.",L_Menu01;
- L_clearmsgsy:
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $messageboardeditdate$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- mes "[Robert]";
- mes "It is done.";
- close;
- L_leave:
- close;
- L_Postmsg:
- mes "[Robert]";
- mes "What do you want to say in your message?";
- next;
- set @msgboardmsgt$,0;
- input @msgboardmsgt$;
- mes "[Robert]";
- mes "are you sure this is the message you want?";
- mes @msgboardmsgt$;
- next;
- menu "Yes!",L_postmsgyes,"No let me re-do it!",L_Postmsg,"Ive changed my mind let me leave.",lleave;
- L_postmsgyes:
- if(($messageboardpostnumber >= 127)) goto L_postmsgyestm;
- set @messageboardpostername$,strcharinfo(0);
- set @messageboarddate$,gettimestr("%Y-%m/%d %H:%M:%S",21);
- set $messageboardpostnumber,$messageboardpostnumber+1;
- set @mymessage2,$messageboardpostnumber;
- set $mymessage[$messageboardpostnumber],5;
- set $messageboardpost$[$messageboardpostnumber],@msgboardmsgt$;
- set $messageboardpostdate$[$messageboardpostnumber],@messageboarddate$;
- set $messageboardpostname$[$messageboardpostnumber],@messageboardpostername$;
- mes "[Robert]";
- mes "here is what your message looks like";
- next;
- mes "Posted by: "+$messageboardpostname$[$messageboardpostnumber]+".";
- mes "On: "+$messageboardpostdate$[$messageboardpostnumber]+".";
- mes $messageboardpost$[$messageboardpostnumber];
- close;
- L_postmsgyestm:
- set @mesboardmsgt$,0;
- mes "[Robert]";
- mes "Im sorry your going to have to wait till more space opens up for messages, it should be in 1 or 2 days =)";
- close;
- lleave:
- deletearray $messageboardpost$[@tempview],@tempview;
- deletearray $messageboardpostname$[@tempview],@tempview;
- deletearray $messageboardpostdate$[@tempview],@tempview;
- deletearray $mymessage[@tempview],@tempview;
- set $messageboardpostnumber,$messageboardpostnumber-1;
- set @msgboardmsgt$,0;
- close;
- L_readmsg:
- if(($messageboardpostnumber == 0)) goto L_msgno;
- callfunc "F_message";
- end;
- L_msgno:
- mes "[Robert]";
- mes "There are currently no messages.";
- close;
- OnInit:
- set $gmboardreset,2;
- set $gmboardresetvotenumb,0;
- end;
- OnInterIfInitOnce:
- set $@determinedayrotation,gettime(4); //this determines the day rotation for clearing messages.
- if(($@determinedayrotation == 0)) set $rotation,0;
- if(($@determinedayrotation == 1)) set $rotation,1;
- if(($@determinedayrotation == 2)) set $rotation,0;
- if(($@determinedayrotation == 3)) set $rotation,1;
- if(($@determinedayrotation == 4)) set $rotation,0;
- if(($@determinedayrotation == 5)) set $rotation,1;
- if(($@determinedayrotation == 6)) set $rotation,0;
- end;
- OnSun1200:
- if(($rotation == 1)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- end;
- OnSat1200:
- if(($rotation == 0)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- end;
- OnMon1200:
- if(($rotation == 1)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- end;
- OnTue1200:
- if(($rotation == 0)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- end;
- OnWed1200:
- if(($rotation == 1)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- end;
- OnThu1200:
- if(($rotation == 0)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[1],$messageboardpostnumber;
- set $messageboardpostnumber,0;
- end;
- OnFri1200:
- if(($rotation == 1)) end;
- deletearray $messageboardpost$[1],$messageboardpostnumber;
- deletearray $messageboardpostdate$[1],$messageboardpostnumber;
- deletearray $messageboardpostname$[1],$messageboardpostnumber;
- deletearray $mymessage[@tempview],@tempview;
- set $messageboardpostnumber,0;
- end;
- }
- function script F_gmresetcheck {
- set @tempcheck,0;
- L_top:
- set @tempcheck,@tempcheck+1;
- if(($gmboardresetvoted[@tempview] == 1)) goto L_votecheck;
- if(($gmboardresetvoted[@tempview] == 0)) return;
- goto L_top;
- end;
- L_votecheck:
- set @tempcheckid,0;
- set @tempcheckid,getcharid(0);
- if(($gmboardresetvoteid[@tempview] != @tempcheckid)) goto L_top;
- if(($gmboardresetvoteid[@tempview] == @tempcheckid)) goto L_voted;
- end;
- }
- function script F_gmmessage {
- set @tempview,0;
- L_top:
- set @tempview,@tempview+1;
- mes "Posted By: "+$gmmessageboardpostname$[@tempview]+".";
- mes "On: "+$gmmessageboardpostdate$[@tempview]+".";
- mes $gmmessageboardpost$[@tempview]+".";
- menu "Next Message",L_top2;
- L_top2:
- if(($gmmessageboardpostnumber > @tempview)) goto L_top;
- close;
- }
- function script F_message {
- set @tempview,0;
- L_top:
- set @tempview,@tempview+1;
- mes "Posted By: "+$messageboardpostname$[@tempview]+".";
- mes "On: "+$messageboardpostdate$[@tempview]+".";
- mes $messageboardpost$[@tempview]+".";
- next;
- if(($mymessage[@tempview] == 5) && (getgmlevel()>0)) menu "Next Message",L_top2,"Delete My Message",L_delmy,"Edit my message",L_editmy,"Delete This message",L_Del;
- if((getgmlevel()>0)) menu "Next Message",L_top2,"Delete This message",L_Del;
- if(($mymessage[@tempview] == 5)) menu "Next Message",L_top2,"Delete My Message",L_delmy,"Edit my message",L_editmy;
- menu "Next message",L_top2;
- close;
- L_editmy:
- mes "Are you sure?";
- next;
- menu "Yes",L_editmyy,"No",L_editmyn;
- L_editmyy:
- mes "what do you want your new message to be?";
- next;
- mes "Current message!";
- mes $messageboardpost$[@tempview];
- set @tempeditmsg$,0;
- input @tempeditmsg$;
- next;
- mes "is this what you want?";
- mes @tempeditmsg$;
- next;
- menu "Yes!",L_editmyyy,"No.",L_editmyyn;
- L_editmyyy:
- deletearray $messageboardpost$[@tempview],@tempview;
- set $messageboardpost$[@tempview],@tempeditmsg$;
- mes "Here is what your new message looks like.";
- next;
- mes "Posted By: "+$messageboardpostname$[@tempview]+".";
- mes "On: "+$messageboardpostdate$[@tempview]+".";
- mes $messageboardpost$[@tempview]+".";
- close2;
- set @tempview,0;
- end;
- L_editmyn:
- Mes "So be it.";
- set @tempview,0;
- close;
- L_editmyyn:
- mes "So be it!";
- set @tempeditmsg$,0;
- set @tempview,0;
- close;
- L_delmy:
- mes "Are you sure...?";
- next;
- menu "Yes",L_delmyy,"No thanks.",L_delmyn;
- L_delmyy:
- deletearray $messageboardpost$[@tempview],@tempview;
- deletearray $messageboardpostname$[@tempview],@tempview;
- deletearray $messageboardpostdate$[@tempview],@tempview;
- deletearray $mymessage[@tempview],@tempview;
- deletearray $messageboardeditdate$[@tempview],@tempview;
- set $messageboardpostnumber,$messageboardpostnumber-1;
- set @tempview,0;
- mes "It is done.";
- close;
- L_delmyn:
- mes "Come back soon.";
- set @tempview,0;
- close;
- L_top2:
- if(($messageboardpostnumber > @tempview)) goto L_top;
- close;
- L_Del:
- mes "Are you sure?";
- next;
- menu "Yes",L_Dely,"No",L_Deln;
- L_Dely:
- deletearray $messageboardpost$[@tempview],@tempview;
- deletearray $messageboardpostname$[@tempview],@tempview;
- deletearray $messageboardpostdate$[@tempview],@tempview;
- deletearray $mymessage[@tempview],@tempview;
- deletearray $messageboardeditdate$[@tempview],@tempview;
- set $messageboardpostnumber,$messageboardpostnumber-1;
- mes "It is done.";
- set @tempview,0;
- close;
- L_Deln:
- mes "Come back soon!";
- set @tempview,0;
- close;
- }
|