//Hannibal Hudson
//TipJar fuer SLinfo.de
//Frei zuer Verwendung fuer alle und jeden. :-)
//Wenn der TipJar nicht von Swapps Swenson eingesetzt wird, auf jeden Fall sorgfaeltig die
//Hinweise auf slinfo.de entfernen!!
//Anzeige der bisher gespendeten L$
//Anzeige der im aktuellen Monat gespendeten L$
//Anzeige der letzten Spende
//Das Script speichert die Gespendeten Betraege in der Objektbeschreibung, so das die Werte
//nur verloren gehen, wenn die Objektbeschreibung geloescht wird.
integer TagDesMonats() //Tag des Monats ermitteln
{
list Zeit = llParseString2List(llGetTimestamp(), ["-", "T"], []);
return (integer)llList2Float(Zeit, 2);
}
integer GesamtGespendet;
integer MonatGespendet;
integer LetzteSpende;
string Name;
Hovertext() //Hovertext aktualisieren
{
string Text1 = "SLinfo.de TipJar\nBisher gespendet: ";
string Text2 = "\ndiesen Monat gespendet: ";
string Text3 = "\nletzte Spende: ";
string Text4 = " von: ";
string Text5 = "\nKlick fuer Info";
llSetText(Text1 + (string)GesamtGespendet + " L$" +
Text2 + (string)MonatGespendet + " L$" +
Text3 + (string)LetzteSpende + " L$" +
Text4 + Name +
Text5,
<1,1,1>, 1);
}
integer Tageswechsel = FALSE;
default
{
on_rez(integer start_param)
{
llResetScript(); // Nach dem rezzen Script resetten
}
state_entry()
{
llSetTimerEvent(10.0); //einmal pro Tag pruefen ob ein neuer Monat angefangen hat
llSetPayPrice(PAY_DEFAULT, [1,10,100,200]); //FastPay Werte einstellen individuelle Eingabe ermoeglichen
list Beschreibung = llCSV2List(llGetObjectDesc()); //Objektbeschreibung auslesen
GesamtGespendet = llList2Integer(Beschreibung,0); //Gesamtspende aus Objektbeschreibung uebernehmen
MonatGespendet = llList2Integer(Beschreibung,1); //Monatsspende aus Objektbeschreibung uebernehmen
LetzteSpende = llList2Integer(Beschreibung,2); //Letzte Spende aus Objektbeschreibung uebernehmen
Hovertext(); //Hovertext aktualisieren
}
timer()
{
if(TagDesMonats() <= 1 && Tageswechsel == FALSE) // Ist heute der erste des Monats?
{
MonatGespendet = 0; // wenn ja, MonatGespendet auf 0 zuruecksetzen.
llSetObjectDesc(llList2CSV([GesamtGespendet, MonatGespendet, LetzteSpende])); //Objektbeschreibung aktualisieren
Hovertext(); //Hovertext aktualisieren
Tageswechsel = TRUE;
}
else if(TagDesMonats() > 1 && Tageswechsel == TRUE)
{
Tageswechsel == FALSE;
}
llSetTimerEvent(60.0 * 60.0); //einmal pro Stunde pruefen ob ein neuer Monat angefangen hat
}
touch_start(integer total_number) //Eine kleine Info fuer anklicker
{
llSay(0, "Spenden-TipJar fuer den Betrieb der Community Webseite www.SLinfo.de");
llSay(0, "sowie Unterstützung des Social Networks und der Projektgruppen");
llSay(0, "Deine Spende erscheint namentlich auf der Startseite von SLinfo.de");
}
money(key giver, integer amount)
{
Name = llKey2Name(giver); //Namen des Spenders fuer individualisierten Dank ermitteln
GesamtGespendet += amount; //Spende zum Gesamtbetrag hinzurechnen.
MonatGespendet += amount; //Spende zum Monatsspendenbetrag hinzurechnen.
LetzteSpende = amount; //Spende als Letzte Spende uebernehmen.
llSay(0, "Vielen Dank fuer deine Spende " + Name + "."); //Dank Nachricht an Spender
llHTTPRequest("hier steht ein link", [HTTP_METHOD, "POST"], "tipjar=" + (string)amount + "&ownerid=" + (string)giver);
//llOwnerSay("Startseite aktualisiert!");
llSetObjectDesc(llList2CSV([GesamtGespendet, MonatGespendet, LetzteSpende])); //Objektbeschreibung aktualisieren
Hovertext(); //Hovertext aktualisieren
}
}