Thread: Event System
View Single Post
  #1  
Old 09-28-2006, 06:47 AM
Twinny Twinny is offline
My empire of dirt
Twinny's Avatar
Join Date: Mar 2006
Location: Australia
Posts: 2,422
Twinny is just really niceTwinny is just really nice
Send a message via AIM to Twinny
Event System

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....

Last edited by Twinny; 09-28-2006 at 02:55 PM..
Reply With Quote