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>