Re: Fragen und Antworten
[Re: Ironist]
- #2760835 - 26.11.2015, 10:01:13
|
ChannelMaster
Registriert: 15.09.2013
Beiträge: 1.681
|
Prinzipiell - Setzt du variablen mit nem Nativ verfügbaren Code var ABC = 1; var APC = Math.rand(); etc... sollte es immer gehen
Nutzt du API Funktionen um einen Wert zuzuweisen, kann es zu Problemen führen
var ABC = KnuddelsServer.getChannel(); z.B.
_________________________ /apps install 30559674.ChannelMaster
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: IgelchenM]
- #2760976 - 26.11.2015, 22:56:40
|
Familymitglied
Registriert: 08.04.2003
Beiträge: 117
|
Danke für die Antworten. Da ich aus manchen chatCommands keinen Zugriff mehr auf Variablen aus onAppStart hatte, habe ich das allerdings wieder zurückgebaut in die main.js. Das sind jedoch Variablen aus nativem Code. Ich habe noch eine andere Frage. Aus der Doku habe ich mir zusammengesucht: App.persistence = KnuddelsServer.getPersistence();
var toplistAccess = KnuddelsServer.getToplistAccess();
var appProfileEntryAccess = KnuddelsServer.getAppProfileEntryAccess();
var toplist = toplistAccess.createOrUpdateToplist('xp','Punkte');
appProfileEntryAccess.createOrUpdateEntry(toplist, ToplistDisplayType.ValueAndRank); Das generiert eine Topliste und gibt sie in den Profilen aus. Nicht von der Doku auf den Syntax schließen konnte ich für einen Toplisten-Befehl. Gewünscht ist also die Ausgabe der Topliste, wenn jemand /rangliste eingibt. Es funktioniert zum Beispiel nicht einfach nur: toplist.getChatCommand(rangliste);
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Vampiric Desire]
- #2764890 - 17.12.2015, 13:05:56
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Ich hab mal versucht das dickere Ende einzubinden, jedoch bringt mir das einfach eine Fehlermeldung -.- var App = (new function() {
this.onAppStart = function() { var access = KnuddelsServer.getToplistAccess(); var profile = KnuddelsServer.getAppProfileEntryAccess();
// Definiere die Ränge
var rank = access.createOrUpdateToplist('points', 'StarWars-Rang', {
1: 'Rang 1', 1000: 'Rang 2', 2500: 'Rang 3', 5000: 'Rang 4', 7500: 'Rang 5', 10000: 'Rang 6', 12500: 'Rang 7', 15000: 'Rang 8', 17500: 'Rang 9', 20000: 'Rang 10', 22500: 'Rang 11', 25000: 'Rang 12', 27500: 'Rang 13', 30000: 'Rang 14', 50000: 'Rang 15', 100000: 'Rang 16', });
profile.createOrUpdateEntry(rank, ToplistDisplayType.LabelAndRank);
toplist.addLabelChangeListener(function(toplistLabelChangeEvent) { var user = toplistLabelChangeEvent.getUser(); var newLabel = toplistLabelChangeEvent.getNewLabel(); var bot = KnuddelsServer.getDefaultBotUser(); bot.sendPublicMessage('°20BB°' + user + ' hat den neuen Rang _' + newLabel + '_ erreicht.'); };
var _games = {}; var _users = {}; var _success = [ '', ''
];
var _failure = [ '', '' ];
Laut meinem Fehler liegt der Fehler an der Stelle, was ich rot makiert habe ....
App-Logs (privat): StarWarsOnline: FATAL: org.mozilla.javascript.EvaluatorException: missing ) after argument list (knuddelsDEV.30562559.StarWarsOnline@v0: main.js#41)
(no stacktrace)
Worin liegt nun das Problem ? Ich habe das dicke schwarze eingefügt, und das rote ist auf einmal der Fehler Ich weiß einfach nicht was noch fehlt oder wo der Fehler liegt, mach ich den stacktrace }; raus, entsteht ein neuer Fehler auf Zeile 251 bei mir, und nach meinem Wissen muss das doch mit einem stacktrace beendet werden oder nicht ?
Bearbeitet von TMboy (17.12.2015, 13:06:57)
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Benz]
- #2764891 - 17.12.2015, 13:11:55
|
Registriert: 27.09.2014
Beiträge: 116
|
Hallo, probiere es doch mal so: profile.createOrUpdateEntry(rank, ToplistDisplayType.LabelAndRank);
toplist.addLabelChangeListener(function(toplistLabelChangeEvent) {
var user = toplistLabelChangeEvent.getUser();
var newLabel = toplistLabelChangeEvent.getNewLabel();
var bot = KnuddelsServer.getDefaultBotUser();
bot.sendPublicMessage('°20BB°' + user + ' hat den neuen Rang _' + newLabel + '_ erreicht.');
}); Du musst die Klammer auch wieder schließen. Markus
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Markus]
- #2764927 - 17.12.2015, 16:05:28
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Ahhh ich Trottel, und ich such warlos den Fehler  Kommt wohl davon, wenn man alles nur mit dem Text-Editor macht
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Benz]
- #2765166 - 18.12.2015, 14:35:03
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Ich habe anbei festgestellt, auch nach dem einfügen der Klammer, das es nicht funktioniert. Die App selbst läuft einwandfrei, jedoch bei einem Aufstieg im Label geschieht keine öffentliche Ansage, so das ich dann doch ein wenig überfragt bin, woran dies liegen könnte .... Zweiteres ist, ich kann nur mit einem High Or Low-Bot Ränge erstllen, sofern ich dann mein anderes Script überspielt habe, ist das nicht mehr änderbar, egal wie sehr ich die Rangnamen oder Punkte veränder, das System behält dennoch selbst bei App-Neustart weiterhin die alten Ränge bei .... Woran kann das liegen ? Hat sich beim eintragen irgendwas verändert oder manifestiert, das diese nicht mehr gehen ? Bin dieser Sache ein wenig ratlos, wobei die App keine Fehlermeldungen macht und problemlos funktioniert , bis halt auf die besagten Punkten. Wenn ich andere Daten änder, so wie im Spiel selbst, das andere es im Spiel lesen können, geschieht jede Änderung direkt, nur nicht bei den Rängen, das raubt mir derzeit den Verstand So langsam rege ich mich auf, ich habe bestimmt keine Lust jedes mal das Spiel neu aufzusetzen mit all Spielepunkten und Rängen die verloren gehen, nur damit ich ein Update mit einbauen kann Als kleine Übersicht habe ich mal den Codeschnipsel mit eingebaut, damit ihr es euch mal anschauen könnt, ich blicke nicht durch, wo der Fehler liegen kann.... Ich ändere Ränge in der FTP und speichere sie auch ab, starte den Bot neu, der jedoch benutzt weiterhin die alten Ränge, als ob ich den nicht neu gestartet hätte .... Hier der Einblick was irgendwie nicht reagiert :
var App = (new function() {
this.onAppStart = function() {
var access = KnuddelsServer.getToplistAccess();
var profile = KnuddelsServer.getAppProfileEntryAccess();
// Definiere die Ränge
var rank = access.createOrUpdateToplist('points', 'StarWars-Rang', {
1: 'Rang 1',
1000: 'Rang 2',
2500: 'Rang 3',
5000: 'Rang 4',
7500: 'Rang 5',
});
profile.createOrUpdateEntry(rank, ToplistDisplayType.LabelAndRank);
toplist.addLabelChangeListener(function(toplistLabelChangeEvent) {
var user = toplistLabelChangeEvent.getUser();
var newLabel = toplistLabelChangeEvent.getNewLabel();
var bot = KnuddelsServer.getDefaultBotUser();
bot.sendPublicMessage('°25BB°' + user + ' hat den neuen Rang _' + newLabel + '_ erreicht.');
});
};
So sehe es normal aus , und wenn ich soetwas änder , angenommen so :
1: 'Rang 1',
1000: 'Rang 2',
1500: 'Rang 2 B',
2500: 'Rang 3',
5000: 'Rang 4',
7500: 'Rang 5',
Rang 2B würde hier nicht erkannt werden, obwohl er eingebaut ist, normal würde der Rang ja eigentlich sofort nach Appreaktivierung da stehen, bei mir geschieht jedoch rein garnichts .... Woran kann das jetzt nur liegen ? Ich bekomm noch Haarausfall bei dem kram
Bearbeitet von TMboy (18.12.2015, 14:38:11)
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: IgelchenM]
- #2765872 - 21.12.2015, 19:38:48
|
Audi <3
Registriert: 12.11.2014
Beiträge: 14
Ort: Kiel
|
Hallo zusammen, gibt es eine Übersicht der Möglichkeiten, die ich im HTML UI habe, wenn "knuddels-api.js" eingebunden ist? Bisher bin ich nur auf client.executeSlashCommand() gestoßen... Suchen hatten bisher keinen Erfolg, daher wende ich mich an euch. 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: butterfisch]
- #2765913 - 21.12.2015, 22:03:24
|
Bizzi is activated.
Registriert: 29.07.2006
Beiträge: 2.581
Ort: Dortmund
|
_________________________ Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Bizarrus]
- #2767292 - 03.01.2016, 15:40:34
|
Registriert: 27.09.2014
Beiträge: 116
|
Hallo zusammen, hat jemand eine Idee, wie man am besten zwei Befehle verschmelzen könnte? Das heißt, ich könnte natürlich a: function(user, params, command) { //code } einfach zu b: function(user, params, command) { //code } kopieren. Nur, das möchte ich aus dem Grund nicht, weil der Inhalt ziemlich viel ist und dann wäre es in Zukunft ziemlich umständlich, wenn man mal Änderungen vornimmt. Daher dachte ich an die Lösung, wenn man /a oder /b eingibt, wird /b ausgeführt. Eventuell hat ja jemand eine elegantere Lösung parat? Vielen Dank!  Markus
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Markus]
- #2767293 - 03.01.2016, 15:47:21
|
Registriert: 08.04.2003
Beiträge: 1.260
Ort: Deutschland, Dachau
|
Ahoi,
wie wäre es mit
this.chatCommands['a'](user, params, command);
? :)
Knuddelige Grüße Ironist
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Ironist]
- #2767303 - 03.01.2016, 17:20:24
|
Registriert: 27.09.2014
Beiträge: 116
|
Hallo, Dankeschön, werde ich mir dann mal vornehmen.  Markus
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Markus]
- #2767305 - 03.01.2016, 17:51:12
|
Bizzi is activated.
Registriert: 29.07.2006
Beiträge: 2.581
Ort: Dortmund
|
App.chatCommands.ZweiterBefehl(user, params, command);
this.chatCommands['ZweiterBefehl'](user, params, command);
Gibt verschiedene Stile, die du anwenden kannst.
_________________________ Bot.public('I love °>features/james-exchange/ft_james-exchange_surprised.gif<>James|/w "<°');
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Bizarrus]
- #2768205 - 08.01.2016, 23:23:58
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Ich habe mich auch mal gewagt an das Materium ranzuwagen .... Das Beipiel schein ja ganz schick, nur nicht zu funktionieren ....
this.chatCommands =
{
foo: function(user, params, command)
{
// Jemand im Chat hat /foo eingegeben.
user.sendPrivateMessage('Foo ist etwas ganz Besonderes!');
},
bar: function(user, params, command)
{
if (params.length != 0)
{
// Jemand hat im Channel '/bar Getränk' eingegeben
user.sendPrivateMessage('In der Bar trinke ich am liebsten ' + params + '!');
}
else
{
// Jemand hat im Channel '/bar' eingegeben
user.sendPrivateMessage('In der Bar trinke ich am liebsten Coconut Kiss!');
}
}
};
Also ich weiss nicht was da fehlt oder nicht funktioniert, mein Bot meldet zwar keinen Error, aber sofern ich die Befehle aufrufe, sagt James mir, das sie nicht existieren James (privat): Die Funktion /Test gibt's hier leider nicht. Ich habe es auch schon mit App.chatCommands = versucht, jedoch genauso wenig Erfolg, selbes Ergebnis ... Woran kann das liegen ?
Bearbeitet von TMboy (08.01.2016, 23:27:55)
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Benz]
- #2768210 - 08.01.2016, 23:58:37
|
#WirSindKeineBots
Registriert: 15.06.2010
Beiträge: 4.024
|
Du hast die Funktion ja nicht /test genannt, sondern /foo und /bar. Wie kommst Du auf Test?
_________________________ if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) } if ($antwort == 0 ) { post ( Frage ) }
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: UltimateG4ming]
- #2768217 - 09.01.2016, 01:33:33
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Egal wie ich sie nenne, ds würde nicht gehen .... Ich habe es mit foo und bar auch getestet , ich hab auch /foo und /bar gemacht, selbes Ergebnis  Das ich Test geschrieben hatte, war weil ich es nochmal zurück geändert hatte, und da der Posting nicht mehr editierbar war wo es mir auffiel, hab ich Test einfach stehen lassen ... Am Ende zählt jedoch, das es nicht geht
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Benz]
- #2768248 - 09.01.2016, 14:15:36
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Erledigt, Kev777 war so nett und hat mir mal das wichtigste erläutert und gezeigt was verkehrt war. Sehr großen Dank an dieser Stelle 
Bearbeitet von TMboy (09.01.2016, 14:16:08)
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Benz]
- #2768477 - 10.01.2016, 19:34:11
|
Familymitglied
Registriert: 08.04.2003
Beiträge: 117
|
Man kann öffentliche Nachrichten mit mayShowPublicMessage eventuell gar nicht anzeigen lassen. Kann man sie auch mit irgendeiner Funktion ändern? Ich könnte mir zum Beispiel hübsche optische Spielereien seitens der App vorstellen, die automatisch an eine öffentliche Nachricht angehängt werden.
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Tagtraum]
- #2768482 - 10.01.2016, 19:39:34
|
Forumsengel
Registriert: 03.09.2010
Beiträge: 7.593
|
Nein, das ist aktuell nicht möglich. Aber du kannst dazu ja gern einen Vorschlag im API UserVoice erstellen. =)
_________________________ Orwell war ein Optimist ________
„Würden die Menschen das Geldsystem verstehen, hätten wir eine Revolution noch vor morgen früh.“ - Henry Ford
|
[zum Seitenanfang]
|
|
Re: Fragen und Antworten
[Re: Benz]
- #2768582 - 11.01.2016, 08:17:27
|
Knuddelsteam
Registriert: 21.11.2003
Beiträge: 6.831
|
Erledigt, Kev777 war so nett und hat mir mal das wichtigste erläutert und gezeigt was verkehrt war. Damit alle was lernen: was war denn der Fehler?
_________________________ 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: Fragen und Antworten
[Re: TobyB]
- #2769014 - 13.01.2016, 20:10:55
|
Ehenamtliches Monster
Registriert: 09.04.2004
Beiträge: 177
Ort: Landkreis Cuxhaven
|
Die so lieben onAppStart mehrmals ausführen bringt den Fehler, das einige gewissen Sachen nicht mehr geladen werden ... Fazit : Alles was man ausführen will, sollte in einem onAppStart enthalten sein 
_________________________ Ich mag evt. ein wenig verrückt sein, aber was ist heute noch normal ? Jeder Mensch hat in diesem Fall eine eigene Definition  Mit frechen Grüßen TMboy 
|
[zum Seitenanfang]
|
|