[Release] D2NT Sleeptime

06/08/2013 20:14 DonPalme#1
Hey Leute,

dank einem Netten Tipp von Muddy bezüglich [Only registered and activated users can see links. Click Here To Register...] unter Java-Script ist es mir gelungen eine simple Sleeptime in den D2NT zu integrieren.

Sleeptime einfügen:

Entry Point öffnen und oben zu den anderen Variablen folgendes hinzufügen:
Code:
var Sleeptime			= true;		// enable sleeptimer
var SleepAt			= 4; 		// time in hours (0-23) you want the bot to start sleeping
var SleepDelay			= 90; 		// time in minutes you want the bot to sleep
Jetzt folgende Stelle im Skript finden:
Code:
	case 1:	// Lobby
und direkt darunter folgendes einfügen:
Code:
		if(Sleeptime)
		{ 
			var jetzt = new Date();
			var Zeit = jetzt.getHours();
	
			if(Zeit >= SleepAt && Zeit < SleepAt + 1)
				sendEventToOOG(D2NT_MGR_RESTART, location.name, SleepDelay*60);
		}

Das Skript macht folgendes:
Sobald euer Bot die Lobby betritt, prüft er die Uhrzeit (nur die Stunde). Handelt es sich um die eingestellte Stunde, führt er einen Restart des Gameclients mit dem eingestellten Delay aus.

Funktioniert natürlich auch für Leecher. Dazu einfach den Teil mit if(Sleeptime) irgendwo unter den Lobby / Lobby Chat Fall einfügen.


Ich konnte das Skript noch nicht lange testen, deshalb informiert mich bitte, falls irgendwelche Bugs auftreten.

Dickes THX geht wie o.g. an Muddy!
06/08/2013 21:13 Muddy Waters#2
Interessante Umsetzung, hätte ich persönlich anders gemacht. Die Idee mit dem Restart ist aber eigentlich recht pfiffig. :)

Du solltest vielleicht SleepDelay in Sekunden angeben und den Wert einfach beim sendEventToOOG() Aufruf mit 60 multiplizieren - die wenigsten können sich nämlich längere Zeiträume in Sekunden vorstellen. Ich kann mir jedenfalls pauschal unter 90 Minuten mehr vorstellen als unter 5400 Sekunden.
06/08/2013 21:16 DonPalme#3
Quote:
Originally Posted by Muddy Waters View Post
Interessante Umsetzung, hätte ich persönlich anders gemacht. Die Idee mit dem Restart ist aber eigentlich recht pfiffig. :)

Du solltest vielleicht SleepDelay in Sekunden angeben und den Wert einfach beim sendEventToOOG() Aufruf mit 60 multiplizieren - die wenigsten können sich nämlich längere Zeiträume in Sekunden vorstellen. Ich kann mir jedenfalls pauschal unter 90 Minuten mehr vorstellen als unter 5400 Sekunden.
Guter Einwand, hab das mal angepasst. Ein lob von dir ehrt mich sehr :D:D