D2NT-Script Slash escapen?

06/24/2011 10:49 Masori#1
Servus, ich hätte da eine Frage... .
Und zwar versuche ich ein FriendlessLeech-Script zum laufen zu bekommen. In einem Teil geht es darum, einen Suchfilter einzustellen. In meinem Fall sieht der so aus:
Code:
var extrafilters	= ["next game", "//Myrun1 "];
Allerdings funktioniert es nicht. Das //Myrun1 gehört zum Filter, doch ich glaube, dass das Doubeslash den Fehler verursacht.

Muss man Slash / Doubleslash irgendwie escapen? Nicht, dass es als Kommentar interpretiert wird.


Grüßle
06/24/2011 12:00 Orxius#2
Quote:
Originally Posted by TheCrazy11 View Post
Ok, da hast du Fehler in der Config gemacht.

1. Das Array mit den Gamenamen muss so aussehen:
Code:
var gamenames		= ["Hornybaal-", "Cebaal-", "Pornobaal-"];
Ansonsten wird nur nach "Hornybaal-" gesucht.

2. Für jedes Game muss ein Passwort angegeben werden:
Code:
var gamepasswords	= ["", "", ""];
3. extrafilters muss richtig angegeben werden.
Wir nehmen mal an, dass alle Gamenamen in den folgenden erwähnten Games in der Variable gamenames richtig eingetragen sind.

Wir sehen uns den Aufbau der Auslesefunktion an, somit kommen wir auf folgenden Aufbau, der im Chat vorkommen muss:
Code:
<Text>[COLOR="Red"]<extrafilters 1. Teil>[/COLOR]<Text>[COLOR="Blue"]<Gamename>[/COLOR][COLOR="Green"]<extrafilters 2.Teil>[/COLOR]<Text>
Somit sehen wir, dass der 2. Teil von extrafilters wirklich direkt nach dem Gamenamen kommt.
WICHTIG: Es müssen auch die Leerzeichen angegeben werden!

Hier ein paar Beispiele dazu:
Code:
[COLOR="Red"]next game[/COLOR] should be [COLOR="Blue"]Pornobaal-98[/COLOR][COLOR="Green"]// in about[/COLOR] 2 seconds
--> var extrafilters    = [[COLOR="Red"]"next game"[/COLOR], [COLOR="Green"]"// in about"[/COLOR]];

next [COLOR="Red"]game: join[/COLOR] [COLOR="Blue"]O_obaal-17[/COLOR][COLOR="Green"]// in[/COLOR] 16 seconds.
--> var extrafilters    = [[COLOR="Red"]"game: join"[/COLOR], [COLOR="Green"]"// in"[/COLOR]];

## [COLOR="Red"]Hammer+Lightsorc[/COLOR]. Next game should be: [COLOR="Blue"]Tybaal-14[/COLOR][COLOR="Green"]  in[/COLOR] 10 seconds ##
--> var extrafilters    = [[COLOR="Red"]"Hammer+Lightsorc"[/COLOR], [COLOR="Green"]"  in"[/COLOR]];

Light-sorc an Hammerdin at funbaals. [COLOR="Red"]Join us[/COLOR] for fun. Next game [COLOR="Blue"]Funbaal-35[/COLOR]
--> var extrafilters    = [[COLOR="Red"]"Join us"[/COLOR], [COLOR="Green"]""[/COLOR]]; [COLOR="DarkOrange"]// Es steht nichts mehr hinter dem Gamename, deswegen ist der 2. Teil von extrafilters leer ("")[/COLOR]

[COLOR="Red"]Join[/COLOR] [COLOR="Blue"]Fxbaal-64[/COLOR] [COLOR="Green"]level 80+[/COLOR] in 1 seconds
--> var extrafilters    = [[COLOR="Red"]"Join"[/COLOR], [COLOR="Green"]" level 80+"[/COLOR]];
Ich habe eher ungewöhliche Werte für den 1. Teil von extrafilters genommen, dass du es einfacher für dich ableiten kannst.

Jetzt wollen wir aber nicht nur eines der 5 Games joinen, für das wir extrafilters angepasst haben, also legen wir alle zusammen, dass wir jedes der 5 Games joinen können, wenn sie angekündigt werden:
Code:
var extrafilters	= [[COLOR="Red"]"next game"[/COLOR], [COLOR="Green"]"// in about"[/COLOR],
			   [COLOR="Red"]"game: join"[/COLOR], [COLOR="Green"]"// in"[/COLOR],
			   [COLOR="Red"]"Hammer+Lightsorc"[/COLOR], [COLOR="Green"]"  in"[/COLOR],
			   [COLOR="Red"]"Join us"[/COLOR], [COLOR="Green"]""[/COLOR],
			   [COLOR="Red"]"Join"[/COLOR], [COLOR="Green"]" level 80+"[/COLOR]];
Ich habe es aufgrund er Übersicht in verschiedene Zeilen geschrieben, man kann es natürlich auch in einer Zeile angeben, macht programmtechnisch keinen Unterschied:
Code:
var extrafilters	= [[COLOR="Red"]"next game"[/COLOR], [COLOR="Green"]"// in about"[/COLOR], [COLOR="Red"]"game: join"[/COLOR], [COLOR="Green"]"// in"[/COLOR], [COLOR="Red"]"Hammer+Lightsorc"[/COLOR], [COLOR="Green"]"  in"[/COLOR], [COLOR="Red"]"Join us"[/COLOR], [COLOR="Green"]""[/COLOR], [COLOR="Red"]"Join"[/COLOR], [COLOR="Green"]" level 80+"[/COLOR]];

Die komplette Config für meine Beispiele wäre dann:
Code:
var gamenames		= ["Pornobaal-", "O_obaal-", "Tybaal-", "Funbaal-", "Fxbaal-"];

var gamepasswords	= ["", "", "", "", ""];

var extrafilters	= ["next game", "// in about",
			   "game: join", "// in",
			   "Hammer+Lightsorc", "  in",
			   "Join us", "",
			   "Join", " level 80+"];

Hier ist die genau Anleitung!!! halte dich danach ,wenn ich zu Hause bin poste ich dir mein Script !!
Aber ansonsten steht hier alles drinnen
Bitte poste das wenn im "leechfriendless topic",aber mach net neue Theards auf , deswegen wird dir nicht mehr oder schneller geholfen! wir versuchen eh immer alles zu beantworten



Edit: das mit den // double slash hat keine Auswirkung das sie unter " " stehen
06/24/2011 12:07 Masori#3
Den Thread hab ich mir mehr als einmal durchgelesen ... . Bei anderen Spielansagen hats auch geklappt, nur eben bei der mit dem Doubleslash nicht ... daher meine Vermutung, dass es am Doubleslash liegen muss.
06/24/2011 12:12 Orxius#4
es wird wahrscheinlich daran liegen, das der Bot mehr als nur das schreibt ...

"//myrun1" is das ,das passwort? oder schreibt er das dazu?
wenn es das passwort ist ,dann stimmts!

Wenn es dir möglich ist bitte poste mal hier ..den Satz den dieser Bot im Channel
postest ...also den ganzen , viell. können wir dan helfen
06/24/2011 18:18 Masori#5
Wie bereits in deinem Topic geschrieben:
Der Bot sagt genau
Code:
next game should be Bestdiabaal-99//Myrun1 in about 2 seconds
06/24/2011 21:32 tonk1#6
Tut mir leid, mir ist nicht ganz klar, was hier dein Problem ist.
Erklär mal ganauer worin ein Hindernis besteht oder was du fragen willst.
Dann gibts mehr Hilfe, wo geht. ;)
06/25/2011 11:35 Orxius#7
probier mal :
"should be" ,"//myrun1 in"

versuch mal bitte das !
06/27/2011 22:35 TheCrazy11#8
Alternativ kannst du auch mal folgendes versuchen:
Code:
var extrafilters	= ["next game", "/"];
Slashes müssen normalerweise nicht escaped werden,
vielleicht hat er irgendwo noch ein zusätzliches Leerzeichen eingebaut?
Ist mir bei ein paar Games aufgefallen, als ich das für die Anleitung beobachtet habe.