Thread: Custom Keys
View Single Post
  #1  
Old 08-03-2008, 01:45 AM
TheStan TheStan is offline
Stan?
Join Date: May 2008
Location: U.S.
Posts: 100
TheStan is on a distinguished road
Send a message via AIM to TheStan Send a message via MSN to TheStan
Custom Keys

PHP Code:
//#CLIENTSIDE
function onCreated() {
  if (!
client.keyupdate) {
    
setkeys();
  }
}
function 
onPlayerChats() {
  
temp.toks = null;
  
  
toks = player.chat.tokenize();
  if (
toks[0].starts("/")) {
    if (
toks[0].substring(1).length() == 1) {
      if (
toks[1].length() == 1) {
        
setNewKey(toks[0].substring(1), toks[1]);
      }
    }
    else {
      if (
toks[0].substring(1) == "fixkeys") {
        
fixKeys();
      }
    }
  }
}
public function 
setkeys() {
  
temp.key = null;
  
temp.out = null;
  
  
temp.keys = {
    {
"a", "a"},
    {
"b", "b"},
    {
"c", "c"},
    {
"d", "d"},
    {
"e", "e"},
    {
"f", "f"},
    {
"g", "g"},
    {
"h", "h"},
    {
"i", "i"},
    {
"j", "j"},
    {
"k", "k"},
    {
"l", "l"},
    {
"m", "m"},
    {
"n", "n"},
    {
"o", "o"},
    {
"p", "p"},
    {
"q", "q"},
    {
"r", "r"},
    {
"s", "s"},
    {
"t", "t"},
    {
"u", "u"},
    {
"v", "v"},
    {
"w", "w"},
    {
"x", "x"},
    {
"y", "y"},
    {
"z", "z"}
  };
  for (
key: keys) {
    
out @= (key[0] @ key[1]);
  }
  
client.keys = out;
  
client.keyupdate = true;
}
public function 
getSetKey(skey) {
  
temp.key = null;
  
  for (
key: client.keys) {
    if (
key[0] == skey) {
      return 
key[1];
    }
  }
}
public function 
setNewKey(oldkey, newkey) {
  
temp.key = null;

  for (
key: client.keys) {
    if (
key[0] == oldkey) {
      
key[1] = newkey;
    }
    if (
key[0] == newkey) {
      
key[1] = oldkey;
    }
  }
}
public function 
fixKeys() {
  
temp.key = null;
  
  for (
key: client.keys) {
    if (
key[0] == null) {
      
client.keys.delete(this.keys.index(key));
    }
    
key[0] = lowercase(key[0]);
    
key[1] = lowercase(key[0]);
  }
  if (
client.keys.size() != 26) {
    
setkeys();
  }
}
function 
onKeyPressed(code, key) {
  switch(
key) {
    case 
getSetKey("q"): // inventory
      /* Toggle inventory here, for example
        Inventory.toggle();
        
        Inventory having toggle()
        as a public function */
    
break;
  }
} 
Not too long ago someone made a thread about having a static list of keys to be replaced etc., if for example you wanted custom keys. I believe the person who made the thread was Rufus.

I tried to replicate that with this, except this is more for player-to-player configuration if each individual player wanted to have his or her own custom keys.

Example being, if you wanted s to do the q functions etc. Pretty much, this is for player comfortability. If it doesn't work properly let me know so I can do some fixing etc.
Reply With Quote