User:Allen Kerensky/Myriad Lite Preview2/Myriad Lite Meter v0.0.2 20110609
Jump to navigation
Jump to search
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Myriad Lite Meter v0.0.2 20110609
<lsl> //============================================================================ // Myriad Lite Meter v0.0.2 20110609 // Copyright (c) 2011 By Allen Kerensky (OSG/SL) // The Myriad RPG System was designed, written, and illustrated by Ashok Desai // Myriad is published under a: // Creative Commons License (Attribution 2.0 UK: England and Wales) // Myriad Lite Meter is published under a: // Creative Commons License Attribution-NonCommercial-ShareAlike 3.0 Unported //============================================================================
integer CHANPLAYER; string DIV = "|"; string STATUS; // settext message vector COLOR = <0,1,0>; // set text color float ALPHA = 1.0; // set text alpha 0.0 = clear, 1.0 = solid
default {
state_entry() {
llSetText("",<0,0,0>,0);
CHANPLAYER = (integer)("0x"+llGetSubString((string)llGetOwner(),0,6));
llListen(CHANPLAYER,"",NULL_KEY,"");
}
on_rez(integer params) {
llResetScript();
}
changed(integer changes) {
if ( changes & CHANGED_OWNER ) {
llResetScript();
}
}
listen(integer channel,string name,key id,string message) {
//llOwnerSay("METER DEBUG: "+message);
list fields = llParseString2List(message,[DIV],[]);
string command = llList2String(fields,0);
string dead = "no";
string incap = "no";
if ( command == "METER") {
string playername = llList2String(fields,1);
list name2 = llParseString2List(playername,[" "],[]);
string firstname = llList2String(name2,0);
string lastname = llList2String(name2,1);
string gamename = llList2String(fields,2);
integer curwounds = llList2Integer(fields,3);
integer maxwounds = llList2Integer(fields,4);
integer curcritical = llList2Integer(fields,5);
integer maxcritical = llList2Integer(fields,6);
integer isdead = llList2Integer(fields,7);
integer isincap = llList2Integer(fields,8);
if ( isdead == 1 ) dead = "yes";
if ( isincap == 1 ) incap = "yes";
STATUS = firstname+" \""+gamename+"\" "+lastname+"\nWounds: "+(string)curwounds+"/"+(string)maxwounds+" Critical: "+(string)curcritical+"/"+(string)maxcritical+"\nIncapacitated: "+incap+" Dead: "+dead;
llSetText(STATUS,COLOR,ALPHA);
}
}
} </lsl>