Thread: Chat Room
View Single Post
  #1  
Old 09-04-2011, 09:42 PM
Emera Emera is offline
Delterian Hybrid
Emera's Avatar
Join Date: Mar 2011
Location: Newcastle Upon-Tyne
Posts: 1,704
Emera is a jewel in the roughEmera is a jewel in the rough
Chat Room

I have constructed a simple chat room GUI, with the help of players on the forums, so many thanks to them. It enables you to chat with a neat GUI interface to the servers players, that is, if the players have the weapon! There isn't really any cool features I have added to it, but feel free to add them or suggest some ideas. Here is the code.
PHP Code:
function onActionServerSide() {
  if (
params[0] == "sendtext") {
    for (
temp.pl: allplayers) {
      if (
temp.pl.level != NULL) {
        
temp.pl.triggerclient(this.name, "gettext", params[1], player.nick);
      }
    }
  }
}

//#CLIENTSIDE
function onCreated() {
  new 
GuiWindowCtrl("Msg_Window1") {
    
profile = GuiBlueWindowProfile;
    
clientrelative = true;
    
clientextent = "320,240";
    
canmaximize = false;
    
canmove = true;
    
canresize = false;
    
closequery = false;
    
destroyonhide = true;
    
text = "Staff Chat Channel";
    
x = 517;
    
y = 203;
    new 
GuiScrollCtrl("Msg_Chatbox_Scroll") {
      
profile = GuiBlueScrollProfile;
      
height = 215;
      
hscrollbar = "dynamic";
      
vscrollbar = "dynamic";
      
width = 316;
      
x = 2;
      
y = 2;
      new 
GuiMLTextCtrl("Msg_Chatbox") {
        
profile = GuiBlueMLTextProfile;
        
height = 17;
        
horizsizing = "width";
        
text = "<b><font color = white>System</b>: Input /clear to clear the message box.";
        
width = 312;
        
profile.fontsize = 14.3;
        
profile.fonttype = "Arial";
        
profile.textshadow = true;
      }
    }
    new 
GuiTextEditCtrl("Msg_ChatBar") {
      
profile = GuiBlueTextEditProfile;
      
height = 20;
      
width = 316;
      
x = 2;
      
y = 219;
    }
  }
}

function 
Msg_ChatBar.onAction() {
  
temp.msg = "";
  if (
Msg_ChatBar.text == "/clear") {
    
Msg_Chatbox.text = "Cleared!";
  } else {
    if (
Msg_ChatBar.text != NULL) {
      
temp.msg = Msg_ChatBar.text;
      
triggerserver("weapon", this.name, "sendtext", temp.msg);
      
Msg_ChatBar.text = "";
    }
  }
  if (
temp.msg.starts("/font ")) {
    
say2("Works");
  }
}

function 
onActionClientSide() {
  if (
params[0] == "gettext") {
    
Msg_Chatbox.addtext("<br><b><font color = cyan>" @ params[2] @ "</b>: " @ params[1], false);
    
Msg_ChatBox.scrolltobottom();
  }
} 
__________________
Reply With Quote