Simple Event system which can be used as a base for a much better system
PHP Code:
/*Open Sourced! Some asks for it - you give it */
function onActionServerSide(cmd) {
/* Set Event */
if (cmd == "setevent") {
EventList();
this.ec = this.event.index(params[1]);
if (this.ec > -1) {
serverr.eventname = this.event[this.ec];
serverr.eventlevel = this.event[this.ec+1];
serverr.eventx = this.event[this.ec+2];
serverr.eventy = this.event[this.ec+2];
}
else {
player.chat = "Event Not Found"; /* Check below in EventList(); */
}
}
/* Set Message */
else if (cmd == "setmessage") {
if (serverr.eventname != NULL) {
serverr.eventmessage = params[1];
for (pl : allplayers) {
pl.triggerclient(this.name,"EventSet");
}
}
}
else if (cmd == "clear") {
serverr.eventname = "";
serverr.eventlevel = "";
serverr.eventx = "";
serverr.eventy = "";
serverr.eventmessage = "";
for (pl : allplayers) {
pl.triggerclient(this.name,"Clear");
}
}
else if (cmd == "warptoevent") {
setlevel2(serverr.eventlevel,serverr.eventx,serverr.eventy);
}
}
function EventList() {
//Eventname,level,x,y
this.event = {
"Event Name","Event level",x,y,
"Event 2 Name","Event 2 level",x,y,
};
}
//#CLIENTSIDE
function onActionClientSide() {
if (params[0] == "EventSet") {
setevent();
}
else if (params[0] == "Clear") {
hideimg(201);
ebutton.hide();
}
}
function onPlayerchats() {
if (player.guild == "Events Team") {
if (player.chat.starts("/setevent")) {
triggerserver("gui",this.name,"setevent",player.chat.substring(10,-1));
}
else if (player.chat.starts("/message")) {
triggerserver("gui",this.name,"setmessage",player.chat.substring(9,-1));
}
else if (player.chat.starts("/clear")) {
triggerserver("gui",this.name,"clear");
} }
}
function onCreated(){
new GuiButtonCtrl(ebutton) {
profile = "GuiBlueButtonProfile";
x = screenwidth - 100;
y = screenheight - 50;
extent = "100 50";
text = "Play Event";
visible = false;
}
}
function setevent() {
ebutton.show();
showText( 201, 10, screenheight-40, "Verdana", "b", serverr.eventname@": " @ serverr.eventmessage).layer=4;
}
function ebutton.onAction() {
triggerserver("gui",this.name,"warptoevent");
}
Figured I'd keep the levels within the script. Could use a class or a DBNPC to contain the levels...would be much more sexier if you used a DBNPC....