Re: Fragen und Antworten
[Re: IgelchenM]
- #2770770 - 24.01.2016, 20:17:59
|
Familymitglied
Registriert: 09.07.2006
Beiträge: 18
|
Hallo erstmal :)
ich bin Neu als Entwickler unterwegs meine Erste halbwegs funktionstüchtige User app ist Knuddelsrunner wo ich schonmal etwas stolz bin es hinbekommen zuhaben ^^ nur mein großes Problem liegt nun darin ich würde gerne die Gelaufene Strecke (also die Score aus der Haupt JS des Games ) die ein User gemeistert hat in einer Topliste auflisten lassen. Nur dazu happert es bei mir noch etwas an der API :D
wäre super jemand von den Anderen Entwicklern von euch mir bei dem Problemchen etwas unter die Arme greifen würde
Lg Partyboy@wob aka Chrizz :)
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: partyboy@wob]
- #2770839 - 25.01.2016, 06:26:07
|
Laubhaufenbewohner
Registriert: 10.02.2005
Beiträge: 1.479
Ort: Bochum
|
Hey, speichern kannst du die Resultate mit Hilfe der UserPersistence. Hier geht's zur UserPersistence Funktionsübersicht Damit kannst du die Werte speichern, abfragen, verändern, löschen und vieles Mehr. Mit Hilfe der Toplisten Funktionen kannst du dir dann z.B. einen Link erzeugen lassen ( getChatCommand), der dann ein Fenster öffnet wo die gespeicherten Werte als Topliste ausgegeben werden. Les dich etwas rein. Wenn du danach immer noch Fragen hast, schreib ruhig deine Fragen. Wir beissen nicht. 
_________________________ Wo zum Teufel ist dieser Wayne wenn man ihn braucht?!
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: IgelchenM]
- #2770846 - 25.01.2016, 09:07:46
|
Registriert: 08.04.2003
Beiträge: 1.260
Ort: Deutschland, Dachau
|
Ahoi, du musst die gelaufenen Meter vom Client an den Server übermitteln mit: http://developer.knuddels.de/docs/classes/Client.html#method_sendEventAuf dem Server fängst du die Antwort mit diesem AppHook ab: http://developer.knuddels.de/docs/classes/App.html#event_onEventReceivedKnuddelige Grüße Ironist
Bearbeitet von Ironist (25.01.2016, 09:08:02)
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Ironist]
- #2771812 - 01.02.2016, 03:43:12
|
Öwes
Nicht registriert
|
Moin  ich bin dabei meine eigene App aufzubauen. Und würde gerne hinter den verlinkten Nicknamen + Alter das Geschlecht anzeigen lassen. Und das nicht nur als z.B.: " Male" sondern das richtige Symbol / Zeichen dafür. Wie es auch in der Nickliste im Chat zu sehen ist. Kann mir jemand weiterhelfen? Wäre echt nett Liebe Grüße, Yves.
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: ]
- #2771836 - 01.02.2016, 10:31:18
|
Bizarrus
Nicht registriert
|
var text = user.getProfileLink();
if(user.getAge() > 0) { text += ' (' + user.getAge() + ')'; }
switch(user.getGender()) { case Gender.Male: text += '°>male.gif<°'; break; case Gender.Female: text += '°>female.gif<°'; break; }
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: IgelchenM]
- #2779611 - 10.03.2016, 15:14:24
|
Sweeepy
Nicht registriert
|
Wie funktioniert eigentlich ein Zeilenumbruch? kenne es nur mit \n oder <br /> aber beides funktioniert nicht.
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: ]
- #2779612 - 10.03.2016, 15:20:07
|
Caros Lakai
Registriert: 14.07.2009
Beiträge: 393
|
Wie funktioniert eigentlich ein Zeilenumbruch? kenne es nur mit \n oder <br /> aber beides funktioniert nicht. °#°
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Tjeri]
- #2779615 - 10.03.2016, 15:26:58
|
Sweeepy
Nicht registriert
|
Wie funktioniert eigentlich ein Zeilenumbruch? kenne es nur mit \n oder <br /> aber beides funktioniert nicht. °#° dankeschön :)
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: ]
- #2782460 - 25.03.2016, 23:47:32
|
Registriert: 03.04.2010
Beiträge: 318
|
Huhu,
vieleicht eine etwas dumme Frage, aber wichtig, damit ich nicht später in Probleme laufe:
Apps laufen singlethreaded und ohne scheduling, richtig? (D.h., synchronisation ist nicht nötig,da das nächste event erst läuft wenn das vorherige komplett abgearbeitet ist)
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: PHP4ever]
- #2782465 - 26.03.2016, 00:30:03
|
Caros Lakai
Registriert: 14.07.2009
Beiträge: 393
|
Ja deine App ist singlethreaded. Du kannst aber timeouts bauen, also kann es durchaus sein, dass da ein bisschen was an Zeug "gleichzeitig" abläuft. Timeout läuft aus und Funktion dahinter wird aktiviert und gleichzeitig wird eine Funktion eingegeben oder eiun User joined
Aber du musst keine Race Conditions beachten.
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: PHP4ever]
- #2782467 - 26.03.2016, 00:32:55
|
#WirSindKeineBots
Registriert: 15.06.2010
Beiträge: 4.024
|
Ja, das ist korrekt. Ohje, habe ich lange gebraucht, um den Beitrag abzuschicken... da war Tjeri für einen deutlich längeren Beitrag knapp 3 Minuten schneller... 
Bearbeitet von Dreamboy-1996 <3 (26.03.2016, 00:34:30)
_________________________ if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) } if ($antwort == 0 ) { post ( Frage ) }
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Tjeri]
- #2782470 - 26.03.2016, 00:49:56
|
Registriert: 03.04.2010
Beiträge: 318
|
Du kannst aber timeouts bauen, also kann es durchaus sein, dass da ein bisschen was an Zeug "gleichzeitig" abläuft. Naja, aber wenn JS singlethreaded ist und wie bei nodejs komplett eventbasiert abläuft sollte auch der onJoin-Handler oder /command handler in die event-queue gepackt werden und erst laufen, wenn die funktion die durch das timeout grade läuft abgearbeitet ist.
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: PHP4ever]
- #2784385 - 02.04.2016, 21:43:29
|
Registriert: 03.04.2010
Beiträge: 318
|
Hat jemand den Dev-Server bzw. den App-Server des Dev-Servers kaputt gemacht? :o
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: PHP4ever]
- #2784452 - 03.04.2016, 02:58:51
|
Laubhaufenbewohner
Registriert: 10.02.2005
Beiträge: 1.479
Ort: Bochum
|
Der geht leider seit gestern nicht mehr. Man kann nur hoffen, dass am Wochenende die Server einmal neustarten und es danach wieder geht. Denn soweit ich weiß sind Iro und Fimo im Urlaub. 
_________________________ Wo zum Teufel ist dieser Wayne wenn man ihn braucht?!
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: IgelchenM]
- #2789029 - 25.04.2016, 07:58:50
|
Sweeepy
Nicht registriert
|
Könnte mir jemand vielleicht einen Beispielcode geben wie ich die online Zeit eines Users im Channel definiere? Gibt ja das Persistenz tutorial mit Nachrichten aber an der Umschreibung harpert's noch.
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: ]
- #2789105 - 25.04.2016, 14:33:54
|
Keksimperator
Registriert: 29.10.2007
Beiträge: 384
Ort: Cybernet
|
naja, du kannst bei "onUserJoined" ein timestamp setzen und bei "onUserLeft" dann mit ein neuen Timestamp gegen rechnen... das ergebnis kannst du dann in die persistenz hinzufügen... Denke dafür brauchst du kein Tutorial 
_________________________ Desto mehr Käse desto weniger Löcher. Desto mehr Löcher desto weniger Käse. Also mehr Käse desto weiniger Käse ?!?
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Dependencies]
- #2789214 - 25.04.2016, 21:54:52
|
Sweeepy
Nicht registriert
|
Jetzt muss ich nurnoch wissen wie man eine timestamp setzt :D in der API finde ich da nichts
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: ]
- #2789251 - 26.04.2016, 03:27:07
|
Sweeepy
Nicht registriert
|
Habs jetzt so bei onUserJoined:
if (!Date.now) { Date.now = function now() { return new Date().getTime(); }; }
und bei onUserLeft einfach
Date.now = false;
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: ]
- #2789253 - 26.04.2016, 07:32:40
|
#WirSindKeineBots
Registriert: 15.06.2010
Beiträge: 4.024
|
Zunächst musst Du Dir beim Login jedes Benutzers die aktuelle Zeit merken. Hierfür bietet sich ein Array an, welches nur lokal gehalten wird und als Key die Benutzer-ID verwendet.
App.UsersJoinedTime = [];
this.onUserJoined = function(user) {
App.UsersJoinedTime[user.getUserId()) = Date.now();
}
Im onUserLeft musst Du diesen Wert wieder mit der neuen Zeit verrechnen:
this.onUserLeft = function(user) {
var onlineTime = Date.now() - App.UsersJoinedTime[user.getUserId());
}
Die Variable "onlineTime" beinhaltet nun die Anzahl der Millisekunden, die der Nutzer im Channel war. Diese kannst Du nun in die Persistence speichern, dem User anzeigen oder sonstiges mit ihr anstellen. Ich hoffe, ich konnte Dir helfen. Da das Ganze am Handy und aus dem Kopf heraus getippt wurde, kann ich Fehler nicht ausschließen.
_________________________ if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) } if ($antwort == 0 ) { post ( Frage ) }
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: UltimateG4ming]
- #2789312 - 26.04.2016, 13:07:22
|
Bizarrus
Nicht registriert
|
Warum so kompliziert?
Erstelle ein Intervall beim onAppStart, was zum beispiel jede Sekunde läuft. Hier holst du dir dann alle Users aus dem Channel und fügst über der UserPersistence mit addNumber die Sekunde hinzu.
So kannst du Sekundengenau ein Timetracking realisiere n.
|
[zum Seitenanfang]
|
|