Kill+List+Control

code //Kill List Control

// Xavier#s Gun Control Script // : Master Computer Relay on 2167811067 ( send / receive ) // : Updates guns Friends list on 2167812300 ( transmit list) // : Receives Gun reply#s on 2166617540 / Set ON/OFF / Confirm list, Confirmed On / Off)

// Init Lists list Ops = ["Charlie Omega"]; list kos;

integer guns_on = FALSE;

integer talk_channel = 0;

// Function to Talk talk(integer atchan, string saydis) { if (talk_channel == 0) { llSay(talk_channel,saydis); } else { llShout(talk_channel,saydis); }

}

// Functions to check Ops list integer isNameOnList( string name, list test ) {   list single_name_list; single_name_list += name;

return (-1 != llListFindList( test, single_name_list ) ); }

// Function Display List Data display(string test) {   string textstring = "";

if (test == "OPS") {       textstring = llList2CSV(Ops);

}

if (test == "kos") {       textstring = llList2CSV(kos); }

if ( textstring == "" ) {    talk( talk_channel, test + " - Returned no Data"); }   else {        talk( talk_channel, textstring); }

}

// Function Add to Friends List addlist(string name) {  kos += name;

}

// Function Kill from kos list offlist(string name) {

list single_name_list; single_name_list += name;

integer nameat = llListFindList(kos, single_name_list ); if (nameat > -1) {   kos = llDeleteSubList(kos, nameat,nameat ); }  else {           talk( talk_channel, name + " - Invalid Data"); } }

// Function to shout to all Guns tellgun(string commands) {

if (commands == "ON" ) { llShout(2166617540,"GON"); guns_on = TRUE; }

if (commands == "OFF" ) { llShout(2166617540,"GOFF"); guns_on = FALSE; }

if (commands == "UPDATE" ) { string textstring = llList2CSV(kos); llShout(2167812300, textstring); }

}

status {

string report;

if (guns_on == TRUE) {   report = " Status - Online";

} else {    report = " Status - Offline"; }

talk(talk_channel, report);

}

help {   talk(talk_channel,"__________________________________"); talk(talk_channel,"|                                                                 |"); talk(talk_channel,"| Combat Computer Options                       |"); talk(talk_channel,"||"); talk(talk_channel,"| ADD < Name > - add to kill list                |"); talk(talk_channel,"| REMOVE < Name > - remove from kill list |"); talk(talk_channel,"| LIST ( ops / koss ) - display list               |"); talk(talk_channel,"| GUNS ( on / off ) - turn guns on / off        |"); talk(talk_channel,"| GUNS Update - copy friends list to guns  |"); talk(talk_channel,"| STATUS - Display current system status   |"); talk(talk_channel,"|_________________________________|"); }

default {   state_entry {      llListen(0, "", "", ""); // Local Reception llListen(2167811067, "", "", ""); // Relay Reception llListen(2166617540, "", "", ""); // Gun Transmission Reception }

listen(integer channel, string name, key id, string message) {

talk_channel = channel;

string temp_message = llToUpper(message); integer strlong = llStringLength(message);

if( isNameOnList(name,Ops)==TRUE | channel == 2167811067 ) {

if(llGetSubString(temp_message, 0, 3)=="LIST") {               string test = llGetSubString(temp_message, 5, strlong); display(test); }

if(llGetSubString(temp_message, 0, 2)=="ADD") {               string test = llGetSubString(message, 4, strlong); addlist(test); }

if(llGetSubString(temp_message, 0, 5)=="REMOVE") {               string test = llGetSubString(message, 5, strlong); offlist(test); }

if(llGetSubString(temp_message, 0, 3)=="GUNS") {               string test = llGetSubString(temp_message, 5, strlong); tellgun(test); }               if(llGetSubString(temp_message, 0, 7)=="COMMANDS") {               string test = llGetSubString(temp_message, 5, strlong); help;

}               if(llGetSubString(temp_message, 0, 5)=="STATUS") {               string test = llGetSubString(temp_message, 5, strlong); status;

}

} // end commands reception

if (channel == 2166617540) {               llSay(0, name + " - " + message); llShout(2167811067, name + " - " + message); }

}

} code