// zwischen die Anführungszeichen Deinen Skype-Name einfügen string skype_handle = ""; // you are done! no more changes! key notecode; string notecard; integer noteline; key skype_request_id = NULL_KEY; // id of http request showStatus(string skype_status) { // build up our message string message = "Skype"; message += "\nName: " + skype_handle; message += "\nStatus: " + skype_status; // write out the message as hovering text llSetText(message, <.5,.5,1>, 1); } // AMD64 ADD: readnotecard() liest eine zeile // Im Dataserver Event wird die gewünschte Variable dann gefüllt // Sollte einmal beim rezzen/reseten und Inventory Change durchgeführt werden readnotecard() { // Der name der NC ist egal notecard = llGetInventoryName(INVENTORY_NOTECARD, 0); // Wenn aber keine da ist, setze die Variable auch auf leer und beende das ganze if (notecard == "") { skype_handle = ""; return; } // Lesen beginnen bei Zeile Null (anfang) noteline = 0; // Ab hier gehts im Dataserver Event weiter notecode = llGetNotecardLine(notecard, noteline); } default { on_rez(integer start_param) { readnotecard(); } state_entry() { llSetTimerEvent(0); readnotecard(); } changed(integer change) { // Änderung im Inventar des Objekts if (change & CHANGED_INVENTORY) { // NC am besten neu einlesen readnotecard(); } } dataserver(key queryid, string data) { if (queryid == notecode) { // Für den Fall dass die NC leer ist if (data != EOF) { skype_handle = data; } else { skype_handle = ""; } } } touch_start(integer total_number) { // make sure owner has specified handle if(skype_handle == "") { // send message to debugger llWhisper(DEBUG_CHANNEL, "skype_handle can not be empty."); return; } // prevent extra requests happening at the same time if(skype_request_id != NULL_KEY) return; // make a request over the internet skype_request_id = llHTTPRequest("http://mystatus.skype.com/" + skype_handle + ".txt", [HTTP_METHOD, "GET"], ""); // set a timeout for http request llSetTimerEvent(5); } http_response(key request_id, integer status, list metadata, string body) { // is this a response to our request? if(request_id == skype_request_id) { // show status showStatus(body); // change to view state state viewing; } } timer() { // Didn't get a response in time. showStatus("No Response"); // change to view state state viewing; } } state viewing { state_entry() { // Set next timer for 3 minutes llSetTimerEvent(180); } timer() { state default; } state_exit() { // stop the timer llSetTimerEvent(0); // hide the text llSetText("", ZERO_VECTOR, 0); // reset the request id skype_request_id = NULL_KEY; } }