Registrierung
Linkliste Second Forum Chat Second Forum Treffen Suche Mitgliederliste Häufig gestellte Fragen Gästebuch Kalender

 
Amazonien Rollenspiel in SL
 

Hier kann man sich über die letzten Beiträge im Board live informieren, das kleine Fenster welches sich durch einen Klick öffnet aktualisiert sich von alleine alle 60 Sekunden.

Guckloch öffnen
 

Second Forum - Ein deutschsprachiges Forum zu Second Life » Support zu Second Life » Fragen zu Scripting in Second Life » Ausführung einer Funktion in bestimmten Zeitabständen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen


Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Ausführung einer Funktion in bestimmten Zeitabständen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »

scripterin1
SF Newby


[meine Galerie]


Dabei seit: 14.02.2009
Beiträge: 1

Ausführung einer Funktion in bestimmten Zeitabständen 14.02.2009 19:59 [OPTIONEN] [HOCH] [RUNTER]

Hallo,

ich lerne gerade das Skripten.

Ich versuche gerade ein Lotto Skript zu ändern und zwar möchte ich, das der Gewinner alle 300 sekunden ermittelt werden soll.
Ich weiß das man das mit dem Timer Event macht, aber ich weiß nicht so richitg wie ich es in das Skript einarbeite.

Ich habe euch mal den Teil rein kopiert wo der Gewinner ermittelt wird:

[CODE]listen(integer chan, string name, key id, string mes)
{
names = llListRandomize(names,1);
i = llFloor(llFrand(llGetListLength(names)));
llWhisper(0,"und der Gewinner ist .." + llList2String(names,i) +
"! Es waren " + (string)count + " Teilnehmer. HERZLICHEN GLÜCKWUNSCH");
llDeleteSubList(names,i,i);
}/CODE]

Ich hoffe Ihr könnt mir helfen.
Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von scripterin1 am 14.02.2009 um 19:59 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.


Danziel Lane
unregistriert
14.02.2009 20:41 [OPTIONEN] [HOCH] [RUNTER]

Also, Scripterin Nummer 1, zu einem Event, einem Ereignis, gehört immer auch der Auslöser, der Trigger.
Bei Events wie listen oder timer ist der Auslöser eine Funktion.

Darum würde schon interessieren, wie das listen - Event in deinem Beispiel überhaupt aufgerufen wird, das kann gehen, aber für ein Lotto-Gerät könnte ich mir andere Lösungen vorstellen.

So wie das listen-Event den Auslöser llListen (eine LSL-Funktion) braucht, die regelt, auf wen oder was und auf welchem Kanal auf welche Nachricht gehört wird, gibt es für das timer-Event die Funktion llSetTimerEvent als Auslöser.

Das hab ich mal in state_entry eingefügt, so dass vom Compilieren an das timer-Event alle 300 Sekunden aufgerufen wird.

Wie die Teilnehmer-Liste gefüllt wird, war auch nicht deine Frage, die hab ich einfach mal vorbelegt als globale Variable.

Außerdem werden in deinem Beispiel noch zwei globale Variable benutzt, i und count. Warum i global sein muss, ist mir nicht ganz klar, macht aber nichts, hab ich einfach so deklariert, damit dein Beispiel klappt.

count scheint die Anzahl der Namen in der Liste zu sein, das hab ich mal eingefügt als: integer count = llGetListLength(names);

Dann funktioniert dein Beispiel auch mit timer. Alle 5 Minuten wird der Programmteil aufgerufen.

Ich hoffe, das hat deine Fragen beantwortet.



list names = ["Anton", "Bertha", "Caesar", "Dummie", "Egon", "Friebie"];
integer i;

default
{
state_entry()
{
llSetTimerEvent(300.0);
}
timer()
{
names = llListRandomize(names,1);
integer count = llGetListLength(names);
i = llFloor(llFrand(llGetListLength(names)));
llWhisper(0,"und der Gewinner ist .." + llList2String(names,i) +
"! Es waren " + (string)count +
" Teilnehmer. HERZLICHEN GLÜCKWUNSCH");
llDeleteSubList(names,i,i);
}
}

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Danziel Lane: 14.02.2009 20:43.

Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von Danziel Lane am 14.02.2009 um 20:41 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.


Danziel Lane
unregistriert
16.02.2009 09:37 [OPTIONEN] [HOCH] [RUNTER]

Mal ne Nachfrage:

Hat meine Darstellung was gebracht?
Ist jetzt alles noch verwirrender?
Fehlt noch was?
Der Betreiber und die Moderatoren von Second Forum distanzieren sich hiermit ausdrücklich von dem von Danziel Lane am 16.02.2009 um 09:37 verfassten Beitrag.
Sollte dieser Beitrag Ihre Rechte verletzen, bitten wir um Benachrichtigung.

Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Second Forum - Ein deutschsprachiges Forum zu Second Life » Support zu Second Life » Fragen zu Scripting in Second Life » Ausführung einer Funktion in bestimmten Zeitabständen

Views heute: 2.633 | Views gestern: 8.744 | Views gesamt: 44.549.676



Impressum


Forensoftware: Burning Board 2.3.6
Designed by: ART[I]SIGN GbR
#top #top