09-01-2012
|
98
|
299,792,458 m/s
Join Date: Mar 2012
Location: Lebanon
Posts: 3,581
|
You'll have to have a custom PM system to log sent messages as there's no way to log messages sent using the default one. I'd personally store them in text files. Also, you can tokenize that clientr flag to treat it like an array like this: temp.test = player.clientr.test.tokenize(","); and then you can use temp.test[0].
|
I know that, most-likely that's why im asking this, because I need more space than clientr than spam it all.
I've bin working on an Assignment System, having to read two tokenizations and looking forward for any easier way?
PHP Code:
function onActionServerSide() {
if (params[0] == "done") {
temp.i = params[1];
temp.toks = player.clientr.assignments.tokenize(";");
temp.a = temp.toks[temp.i].tokenize(",");
temp.py = findplayerbycommunityname(temp.a[1]);
temp.q = int(params[3]);
temp.py.clientr.assignmentsIDD = temp.py.clientr.assignmentsIDD @ ";" @ temp.q @ "," @ temp.py.account @ "," @ params[2];
}
if (params[0] == "give") {
if (player.clientr.assignments == "") {
player.clientr.assignments = "a";
}
temp.pl = findplayerbycommunityname(params[1]);
temp.pl.clientr.assignmentsID += 1;
temp.pl.clientr.assignments = temp.pl.clientr.assignments @ ";" @ temp.pl.clientr.assignmentsID @ "," @ player.account @ "," @ params[2];
temp.pl.chat = "I've received an assignment! :(";
printf("Assignment Sent: from %s to %s", player.account, temp.pl.account);
}
if (params[0] == "C") {
player.clientr.assignments = "a";
player.clientr.assignmentsID = 0;
player.clientr.assignmentsIDD = "a";
}
}
//#CLIENTSIDE
function onPlayerChats() {
if (player.chat == "/assign") {
this.number = 0;
onOpen();
}
}
function onOpen() {
drawGUI();
Assgn_Window3.visible = false;
Assgn_Window2.visible = false;
Assgn_Window1.visible = true;
onGetFresh();
}
function drawGUI() {
new GuiWindowCtrl("Assgn_Window1") {
profile = GuiBlueWindowProfile;
clientrelative = true;
clientextent = "550,225";
canmaximize = false;
canminimize = false;
canmove = true;
canresize = true;
closequery = false;
destroyonhide = false;
text = "Assignments";
x = (screenwidth - width) / 2;
y = (screenheight - height) / 2;
new GuiScrollCtrl("Assgn_MultiLine1_Scroll") {
profile = GuiBlueScrollProfile;
height = 82;
hscrollbar = "dynamic";
vscrollbar = "dynamic";
width = 460;
x = 40;
y = 36;
new GuiMLTextCtrl("Assgn_MultiLine1") {
profile = GuiBlueMLTextProfile;
height = 17;
horizsizing = "width";
htmlcompatibility = false;
htmllinks = true;
plaintext = "You have no Assignments! Yay!";
width = 185;
wordwrap = false;
}
}
new GuiButtonCtrl("Assgn_Give") {
profile = GuiBlueButtonProfile;
height = 45;
text = "Give Assignment";
width = 130;
x = 40;
y = 150;
}
new GuiButtonCtrl("Assgn_Done") {
profile = GuiBlueButtonProfile;
height = 45;
text = "Finished Assignment";
width = 130;
x = 200;
y = 150;
}
new GuiButtonCtrl("Assgn_Refr") {
profile = GuiBlueButtonProfile;
height = 45;
text = "Refresh";
width = 130;
x = 370;
y = 150;
}
new GuiButtonCtrl("Assgn_C") {
profile = GuiBlueButtonProfile;
height = 45;
text = "C";
width = 45;
x = 503;
y = 150;
}
new GuiTextCtrl("Assgn_Text1") {
profile = GuiBlueTextProfile;
height = 20;
text = "| Date |";
width = 39;
x = 109;
y = 15;
}
new GuiTextCtrl("Assgn_Text2") {
profile = GuiBlueTextProfile;
height = 20;
text = "| From |";
width = 42;
x = 204;
y = 15;
}
new GuiTextCtrl("Assgn_Text3") {
profile = GuiBlueTextProfile;
height = 20;
text = "| Description |";
width = 78;
x = 308;
y = 15;
}
new GuiTextCtrl("Assgn_Text6") {
profile = GuiBlueTextProfile;
height = 20;
text = "| ID |";
width = 24;
x = 48;
y = 15;
}
}
new GuiWindowCtrl("Assgn_Window2") {
profile = GuiBlueWindowProfile;
clientrelative = true;
clientextent = "293,190";
canmaximize = false;
canminimize = false;
canmove = true;
canresize = true;
closequery = false;
destroyonhide = false;
text = "Finished Assignment";
x = 300;
y = 100;
new GuiTextCtrl("Assgn_Text4") {
profile = GuiBlueTextProfile;
height = 20;
text = "Message :";
width = 58;
x = 33;
y = 73;
}
new GuiTextEditCtrl("Assgn_CommenttoDone") {
profile = GuiBlueTextEditProfile;
height = 20;
text = "I have finished my Assignment.";
width = 200;
x = 90;
y = 75;
}
new GuiTextCtrl("Assgn_Text5") {
profile = GuiBlueTextProfile;
height = 20;
text = "ID :";
width = 18;
x = 31;
y = 33;
}
new GuiTextEditCtrl("Assgn_IDtoDone") {
profile = GuiBlueTextEditProfile;
height = 20;
width = 146;
x = 60;
y = 34;
}
new GuiButtonCtrl("Assgn_Done2") {
profile = GuiBlueButtonProfile;
height = 45;
text = "Checked";
width = 112;
x = 85;
y = 136;
}
}
new GuiWindowCtrl("Assgn_Window3") {
profile = GuiBlueWindowProfile;
clientrelative = true;
clientextent = "293,190";
canmaximize = false;
canminimize = false;
canmove = true;
canresize = true;
closequery = false;
destroyonhide = false;
text = "Give Assignment";
x = 300;
y = 100;
new GuiTextCtrl("Assgn_Text8") {
profile = GuiBlueTextProfile;
height = 20;
text = "Comment :";
width = 60;
x = 10;
y = 73;
}
new GuiTextCtrl("Assgn_Text14") {
profile = GuiBlueTextProfile;
height = 20;
text = "Prevent using html or ;";
width = 150;
x = 10;
y = 100;
}
new GuiTextEditCtrl("Assgn_CommenttoGive") {
profile = GuiBlueTextEditProfile;
height = 20;
text = "I want you to";
width = 200;
x = 90;
y = 75;
}
new GuiTextCtrl("Assgn_Text9") {
profile = GuiBlueTextProfile;
height = 20;
text = "Account :";
width = 60;
x = 10;
y = 33;
}
new GuiTextEditCtrl("Assgn_IDtoGive") {
profile = GuiBlueTextEditProfile;
height = 20;
width = 146;
x = 90;
y = 34;
}
new GuiButtonCtrl("Assgn_Given") {
profile = GuiBlueButtonProfile;
height = 45;
text = "Give";
width = 112;
x = 85;
y = 136;
}
}
}
function Assgn_Done.onAction() {
Assgn_Window2.visible = true;
}
function Assgn_Done2.onAction() {
if (Assgn_IDtoDone.text != NULL && Assgn_CommenttoDone.text != NULL) {
triggerserver("gui", name, "done", Assgn_IDtoDone.text, Assgn_CommenttoDone.text, Assgn_IDtoDone.text);
Assgn_Window2.visible = false;
}
}
function Assgn_Give.onAction() {
Assgn_Window3.visible = true;
}
function Assgn_Given.onAction() {
if (Assgn_IDtoGive.text != NULL && Assgn_CommenttoGive.text != NULL) {
triggerserver("gui", name, "give", Assgn_IDtoGive.text, Assgn_CommenttoGive.text);
Assgn_Window3.visible = false;
}
}
function Assgn_Refr.onAction() {
onGetFresh();
}
function Assgn_C.onAction() {
triggerserver("gui", name, "C");
onOpen();
}
function onGetFresh() {
if (player.clientr.assignments != "a") {
Assgn_MultiLine1.text = "";
temp.toks = player.clientr.assignments.tokenize(";");
temp.e = player.clientr.assignmentsID;
temp.tokn = player.clientr.assignmentsIDD.tokenize(";");
for (temp.i = 1; temp.i <= temp.e; temp.i++) {
temp.a = temp.toks[temp.i].tokenize(",");
if (temp.i != temp.s[0]) {
Assgn_MultiLine1.text = Assgn_MultiLine1.text @ " |" @ temp.a[0] @ "| |" @ temp.a[1] @ "| |" @ temp.a[2] @ "|" @ "<br>";
}
sleep(0.1);
}
}
if (player.clientr.assignmentsIDD != "a") {
temp.tokn = player.clientr.assignmentsIDD.tokenize(";");
for (temp.o = 0; temp.o <= 10; temp.o++) {
temp.s = temp.tokn[temp.o].tokenize(",");
if (temp.s[0] != "" && temp.s[0] != "a" && temp.s[0] != 0) {
Assgn_MultiLine1.text = "<font color=darkred>" @ temp.s[0] @ " Has Finished his Assignment! |" @ temp.s[2] @ "|<br></font>" @ Assgn_MultiLine1.text;
}
}
}
this.number += 1;
if (this.number = 3) {
player.clientr.assignmentsIDD = "a";
}
}
|
|
|