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 chat, here!
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(10, player.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(1, 1, 1, randomstring(temp.viseffect));
}
else {
this.alpha = 1;
}
setTimer(0.05);
}
You can reference it/use it if you wish.