Du bist nicht angemeldet. [Anmelden]
Optionen
Thema bewerten
Persistenceminderung - #2754173 - 21.10.2015, 17:15:56
nickknuddelmausi
Durch​gekna​lltes​Indiv​iduum​

Registriert: 08.04.2003
Beiträge: 184
Gibt es eine Möglichkeit einen wert der in einer Persistence ist pro stunde um 1 zu mindern?
heißt in 100 Stunden von 100 auf 0 ohne dass weitere sachen eingegeben werden müssen und ohne dass der User wieder im Channel sein muss?
_________________________
Durchgeknallt aber Lüp :-D

[zum Seitenanfang]  
Re: Persistenceminderung [Re: nickknuddelmausi] - #2754183 - 21.10.2015, 17:41:22
Vampiric Desire
​ChannelMaster

Registriert: 15.09.2013
Beiträge: 1.681
AppPersistenz oder UserPersistenz?

UserPersistenz eacht du alle Nutzer mit dem Eintrag durch
AppPersistenz nutzt du addNumber und gibst den wert -1 an
_________________________
/apps install 30559674.ChannelMaster

[zum Seitenanfang]  
Re: Persistenceminderung [Re: Vampiric Desire] - #2754203 - 21.10.2015, 18:30:33
nickknuddelmausi
Durch​gekna​lltes​Indiv​iduum​

Registriert: 08.04.2003
Beiträge: 184
der ansatz hört sich vielversprechend an für meine idee ;-) mal sehen ob ich das umsetzen kann
_________________________
Durchgeknallt aber Lüp :-D

[zum Seitenanfang]  
Re: Persistenceminderung [Re: nickknuddelmausi] - #2754303 - 22.10.2015, 08:27:34
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.777
Hallo nickknuddelmausi

Dennis hat dir ja gesagt wie man den Wert um 1 veringern kann. Was ja allerdings noch fehlte war die Antwort auf die Frage "wie mache ich das jede Stunde?".

Hier die Antwort (gibt die Dokumentation leider nicht auf deutsch):
https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval

In kurz:
Du setzt damit ein Interval von einer Stunde was dann jedes mal die von dir geschriebene Funktion zum veringern ausführt.

Beispiel:
Code:
var intervalID = window.setInterval(function() {
	/* hier dein code */
}, 1000 * 60 * 60);
_________________________
There is no good without evil, but evil must not be allowed to flourish.
There is passion, yet peace; serenity, yet emotion; chaos, yet order.

[zum Seitenanfang]  
Re: Persistenceminderung [Re: TobyB] - #2754313 - 22.10.2015, 11:16:06
djchrisnet
​Verified Prototype Hater

Registriert: 27.05.2006
Beiträge: 894
Ort: Elmshorn
Das ganze bitte ohne "window." sonst zumindest ein weg zum Ziel [img:right]http://fs5.directupload.net/images/151026/wmu8t6qg.png[/img]


Bearbeitet von Jag (26.10.2015, 11:15:07)
_________________________
» AppEntwickler
» Prototype Hater



[zum Seitenanfang]  
Re: Persistenceminderung [Re: djchrisnet] - #2754341 - 22.10.2015, 13:34:22
TobyB
​Knuddelsteam

Registriert: 21.11.2003
Beiträge: 6.777
Antwort auf: djchrisnet
Das ganze bitte ohne "window."

Da hast du natürlich total recht ... im Server-Part gibt es das window-Objekt nicht, richtig. Also einfach das "window." weglassen.
_________________________
There is no good without evil, but evil must not be allowed to flourish.
There is passion, yet peace; serenity, yet emotion; chaos, yet order.

[zum Seitenanfang]  
Re: Persistenceminderung [Re: TobyB] - #2754377 - 22.10.2015, 20:05:05
nickknuddelmausi
Durch​gekna​lltes​Indiv​iduum​

Registriert: 08.04.2003
Beiträge: 184
Php Code:

var intervalID = setInterval(function() {
		UserPersistenceNumbers.each('Test'), function(user, value, index, totalCount, key)
		{
		UserPersistenceNumbers.each('Test')-1;
		}
		
		}, 60 * 60);
 


also in etwa so ... nur das wirft tausend fehler ^^
_________________________
Durchgeknallt aber Lüp :-D

[zum Seitenanfang]  
Re: Persistenceminderung [Re: nickknuddelmausi] - #2754381 - 22.10.2015, 20:34:30
Dreamboy-1996 <3
​#WirSindKeineBots

Registriert: 15.06.2010
Beiträge: 4.024
Was ist das denn? :-D
Php Code:

	var intervalId = setInterval(function() {
		UserPersistenceNumbers.each('myKey', function(user value, index, totalCount, key) {
			user.addNumber('myKey', -1);
		})
	}, 60*60);
 


Aus dem Kopf raus ohne Prüfung, das es klappt. Dein Syntax ist aber schon komplett falsch. Weitere Informationen wie die möglichen Übergabeparameter der each-Funktion kannst Du der Doku entnehmen.

Die Interval-Zeit passt noch nicht. Da fehlt ein * 1000, also 60*60*1000 (60.000ms = 1min)


Bearbeitet von Dreamboy-1996 <3 (22.10.2015, 20:39:58)
_________________________
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }

[zum Seitenanfang]  
Re: Persistenceminderung [Re: Dreamboy-1996 <3] - #2754387 - 22.10.2015, 21:01:31
nickknuddelmausi
Durch​gekna​lltes​Indiv​iduum​

Registriert: 08.04.2003
Beiträge: 184
nene die interval-zeit passt zum testen schon^^
aber in die Klammer der persistance einne funktion :-O

Probiert hab ich das ja
FATAL: org.mozilla.javascript.EvaluatorException: missing ) after formal parameters (knuddelsDEV.30560162.TamaKnuddeli@v0: main.js#16)
das iss das resultat .... und in der zeile ist UserPersistenceNumbers.each
_________________________
Durchgeknallt aber Lüp :-D

[zum Seitenanfang]  
Re: Persistenceminderung [Re: nickknuddelmausi] - #2754400 - 22.10.2015, 22:13:15
Dreamboy-1996 <3
​#WirSindKeineBots

Registriert: 15.06.2010
Beiträge: 4.024
Die Funktion als Übergabeparameter passt so. Das ganze ist eine Art Delegate, die hier mitgegeben wird und für jeden gefundenen Benutzer ausgeführt wird.

Ich habe ein UserPersistenceNumbers.each bei mir wie folgt implementiert:
Php Code:

UserPersistenceNumbers.each('myKey', function(user, value, index, totalCount, key)
{
	//Hier ein paar Aktionen ausführen
});
 

Das funktioniert problemlos. Damit Du es stündlich ausführen kannst, habe ich ein Interval drum gebastelt:
Php Code:

var intervalID = setInterval(function() {
	UserPersistenceNumbers.each('myKey', function(user, value, index, totalCount, key)
	{
		//Hier ein paar Aktionen ausführen
	});
}, 1000 * 60 * 60);
 


Kannst Du diesen Aufbau mal probieren? Der einzige Unterschied besteht hier im Semikolon, welches ich vorhin nach dem .each vergaß.

In einem Testprojekt funktioniert es so. Von der Nutzung der .each-Methode existiert auch ein Beispiel in der Dokumentation: UserPersistenceNumbers.each(key, callback, [parameters]):void
_________________________
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }

[zum Seitenanfang]  
Re: Persistenceminderung [Re: Dreamboy-1996 <3] - #2754526 - 23.10.2015, 20:50:38
nickknuddelmausi
Durch​gekna​lltes​Indiv​iduum​

Registriert: 08.04.2003
Beiträge: 184
Php Code:

	var intervalID = setInterval(function() {
		UserPersistenceNumbers.each('TEST', function(user, value, index, totalCount, key)
	{
			var feed = user.persistence.getNumber('TEST', 0); - 1;
			user.persistence.setNumber('TEST', feed);
			
			});
			}, 60 * 60);
 


das wirf nun zwar keine Fehler mehr aber funzen tut es au net ^^
_________________________
Durchgeknallt aber Lüp :-D

[zum Seitenanfang]  
Re: Persistenceminderung [Re: nickknuddelmausi] - #2754536 - 23.10.2015, 21:29:09
Vampiric Desire
​ChannelMaster

Registriert: 15.09.2013
Beiträge: 1.681
normal wegen dem semikolon vor -1
aber wenn mach direkt
user.getPersistence().addNumber('TEST', -1);


Bearbeitet von Vampiric Desire (23.10.2015, 21:29:22)
_________________________
/apps install 30559674.ChannelMaster

[zum Seitenanfang]  
Re: Persistenceminderung [Re: Vampiric Desire] - #2754589 - 24.10.2015, 12:41:46
nickknuddelmausi
Durch​gekna​lltes​Indiv​iduum​

Registriert: 08.04.2003
Beiträge: 184
Wieder einmal fettes danke Vampi ^^ du nimmst immer die fehler aus meinem Code :-) Goil nun funzt es
_________________________
Durchgeknallt aber Lüp :-D

[zum Seitenanfang]  


Moderator(en):  Misterious