View Single Post
  #4  
Old 02-20-2008, 03:53 AM
TSAdmin TSAdmin is offline
Forum Moderator
TSAdmin's Avatar
Join Date: Aug 2006
Location: Australia
Posts: 1,980
TSAdmin has much to be proud ofTSAdmin has much to be proud ofTSAdmin has much to be proud ofTSAdmin has much to be proud ofTSAdmin has much to be proud ofTSAdmin has much to be proud of
I made something similar for a gang on Era. Generally just 'giving' a script to someone to solve their problem isn't always helpful, but see if this helps you:

DB_NPC Flags (Named: "TSAdmin_Functions"):
PHP Code:
BlackHolstBody=body.png
BlackHolstChat
=You can set my chathere!
BlackHolstColours0=orange
BlackHolstColours1
=darkred
BlackHolstColours2
=darkred
BlackHolstColours3
=darkred
BlackHolstColours4
=black
BlackHolstHat
=
BlackHolstHead=head26.png
BlackHolstShield
=shield1.png 
Level NPC:
PHP Code:
function onCreated() {
  
this.join("tsadmin_bhholo-new");

Class (named: "tsadmin_bhholo-new"):
PHP Code:
//Class-Script made by TSAdmin (All rights reserved, lol)

function onPlayerEnters() {
  
doUpdateHolo();
}

function 
onPlayerChats() {
  if ((
player.guild in {"Black Holst"} && clientr.gangrank in {"Boss""Leader""Head Chief"}) || (player.guild in {"Working"} && player.account in {"TSAdmin"})) {
  
    
nbhh findNPC("TSAdmin_Functions");
    
    if (
player.chat.starts(":holohead")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstHead") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holobody")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstBody") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holohat")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstHat") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holoshield")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstShield") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holochat")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstChat") = player.chat.substring(10player.chat.length());
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holoskin")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstColours0") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holocoat")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstColours1") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holosleeves")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstColours2") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holoshoes")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstColours3") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holobelt")) {
      
toks player.chat.tokenize();
      
nbhh.("BlackHolstColours4") = toks[1];
      
doUpdateHolo();
    }
    
    if (
player.chat == ":resetholo") {
      
nbhh.("BlackHolstHead") = "head26.png";
      
nbhh.("BlackHolstBody") = "body.png";
      
nbhh.("BlackHolstShield") = "shield1.png";
      
nbhh.("BlackHolstHat") = "";
      
nbhh.("BlackHolstColours0") = "orange";
      
nbhh.("BlackHolstColours1") = "darkred";
      
nbhh.("BlackHolstColours2") = "darkred";
      
nbhh.("BlackHolstColours3") = "darkred";
      
nbhh.("BlackHolstColours4") = "black";
      
nbhh.("BlackHolstChat") = "";
      
doUpdateHolo();
    }
    
    if (
player.chat == ":holome") {
      
nbhh.("BlackHolstHead") = player.headimg;
      
nbhh.("BlackHolstBody") = player.bodyimg;
      
nbhh.("BlackHolstShield") = player.shieldimg;
      
nbhh.("BlackHolstHat") = player.attr[1];
      
nbhh.("BlackHolstColours0") = player.colors[0];
      
nbhh.("BlackHolstColours1") = player.colors[1];
      
nbhh.("BlackHolstColours2") = player.colors[2];
      
nbhh.("BlackHolstColours3") = player.colors[3];
      
nbhh.("BlackHolstColours4") = player.colors[4];
      
doUpdateHolo();
    }
    
    if (
player.chat.starts(":holoplayer")) {
      
toks player.chat.tokenize();
      
pl findPlayer(toks[1]);
      if (
pl == null) {
        
player.addMessage(_("Player not online!"),"b",1);
        return;
      }
      
nbhh.("BlackHolstHead") = pl.headimg;
      
nbhh.("BlackHolstBody") = pl.bodyimg;
      
nbhh.("BlackHolstShield") = pl.shieldimg;
      
nbhh.("BlackHolstHat") = pl.attr[1];
      
nbhh.("BlackHolstColours0") = pl.colors[0];
      
nbhh.("BlackHolstColours1") = pl.colors[1];
      
nbhh.("BlackHolstColours2") = pl.colors[2];
      
nbhh.("BlackHolstColours3") = pl.colors[3];
      
nbhh.("BlackHolstColours4") = pl.colors[4];
      
doUpdateHolo();
    }
    if (
player.chat == ":holohelp") {
      
player.sendPM("Commands for the Hologram:
:holohead [head file]
:holobody [body file]
:holoshield [shield file]
:holohat [hat file]
:holoskin [colour]
:holocoat [colour]
:holoshoes [colour]
:holosleeves [colour]
:holobelt [colour]
:resetholo
:holome - Copies yourself to the hologram
:holoplayer [account] - Sets the holo to the account specified."
);
    }
  }
}

function 
doUpdateHolo() {
  
nbhh findNPC("TSAdmin_Functions");
  
this.showCharacter();
  
this.headimg nbhh.("BlackHolstHead");
  
this.bodyimg nbhh.("BlackHolstBody");
  
this.shieldimg nbhh.("BlackHolstShield");
  
this.attr[1] = nbhh.("BlackHolstHat");
  
  
this.colors[0] = nbhh.("BlackHolstColours0");
  
this.colors[1] = nbhh.("BlackHolstColours1");
  
this.colors[2] = nbhh.("BlackHolstColours2");
  
this.colors[3] = nbhh.("BlackHolstColours3");
  
this.colors[4] = nbhh.("BlackHolstColours4");
  
  
this.chat nbhh.("BlackHolstChat");
}

//#CLIENTSIDE

//This is to set a 'flicker' effect as if it were an actual hologram (optional)

function onPlayerEnters() {
  
setTimer(0.05);
}

function 
onTimeOut() {
  
temp.viseffect = {0.4,0.5,0.6,0.7,0.8};
  if (
lighteffectsenabled) {
    
this.setColorEffect(111randomstring(temp.viseffect));
  }
  else {
    
this.alpha 1;
  }
  
setTimer(0.05);

You can reference it/use it if you wish.
__________________
TSAdmin (Forum Moderator)
Welcome to the Official GraalOnline Forums! Where sharing an opinion may be seen as a declaration of war!
------------------------
· User Agreement · Code of Conduct · Forum Rules ·
· Graal Support · Administrative Contacts ·
Reply With Quote