say("") verbuggt?

04/27/2015 17:37 LawDestroyer#1
Hey,

ich bin gerade dabei eine Quest zu schreiben. Und immer wenn ich nach einem Input den
Befehl say("") eintrage, wird die Ausgabe nicht mehr in dem Questfenster ausgegeben.

Beispiel:

PHP Code:
say("Deinen Namen eintragen:")
local test input()
if 
test == "xy" then
    say
("erfolg")
else
    
say("fehler")
end 
Und hier wird der Befehl say("") nach dem input() garnicht mehr ausgegeben. Weiß einer wieso das so ist?
04/27/2015 18:01 rollback#2
Hast es zufällig beim login? Da geht's es nämlich nicht.

Schöner ist übrigens so:
Code:
if input() != "xy" then
    say("fehler")
    return 
end
say("Erfolg")
04/27/2015 18:48 Azμre#3
Oder eventuell gleich so:
Code:
say(input() == "xy" and "erfolg" or "fehler")
Spaß beiseite..
Zum einen ist das ganze beim Login nicht direkt möglich, kann aber recht einfach zum laufen gebracht werden. Ist zwar nicht gerade sauber, aber was ist in der M2-Section schon sauber gecodet. :D
04/27/2015 18:50 rollback#4
Quote:
Originally Posted by Leyrox View Post
Oder eventuell gleich so:
Code:
say(input() == "xy" and "erfolg" or "fehler")
Spaß beiseite..
Zum einen ist das ganze beim Login nicht direkt möglich, kann aber recht einfach zum laufen gebracht werden. Ist zwar nicht gerade sauber, aber was ist in der M2-Section schon sauber gecodet. :D
Stimmt, es basiert halt alles auf einem unsauber geschriebenem Code ... ^^

Code:
when login begin
	timer("inp", 0.1)
end
when inp.timer begin
	say("Gib deinen Namen ein")
	if input() != "xy" then
		say("Fehler")
		return
	end
	say("Erfolg")
end
das sollte gehen
04/27/2015 18:58 i[Remix]#5
Quote:
Originally Posted by definitely not Sensenmann View Post
Stimmt, es basiert halt alles auf einem unsauber geschriebenem Code ... ^^

Code:
when login begin
	timer("inp", 0.1)
end
when inp.timer begin
	say("Gib deinen Namen ein")
	if input() != "xy" then
		say("Fehler")
		return
	end
	say("Erfolg")
end
das sollte gehen
Ist aber ziemlich dumm.
Würde dafür eine rekursive Funktion empfehlen.

Code:
function inputName() 
	say("Gib deinen Namen ein")
	if input() ~= "xy" then
		say("Fehler")
		return
	end
	say("Erfolg")
	inputName()
end

when login begin
	inputName()
end
04/27/2015 19:25 LawDestroyer#6
Also bei mir ist die Abfrage in when button or info begin
drin. Aber da gehts dann ja bestimmt auch nicht xD Danke für die vielen Antworten, ich teste mich mal durch.
04/27/2015 19:37 rollback#7
Quote:
Originally Posted by i[Remix] View Post
Ist aber ziemlich dumm.
Würde dafür eine rekursive Funktion empfehlen.

Code:
function inputName() 
	say("Gib deinen Namen ein")
	if input() ~= "xy" then
		say("Fehler")
		return
	end
	say("Erfolg")
	inputName()
end

when login begin
	inputName()
end
Wieso willst du bei richtiger Eingabe den Namen nochmal abfragen? :confused:
04/27/2015 19:46 i[Remix]#8
Quote:
Originally Posted by definitely not Sensenmann View Post
Wieso willst du bei richtiger Eingabe den Namen nochmal abfragen? :confused:
Verpeilt, dass bei deinem Code ein Timer und kein Looptimer ist :|
04/27/2015 20:02 LawDestroyer#9
Wisst ihr vielleicht auch, wie man das Datum/Uhrzeit vom Server einstellen kann? Wenn ich in der Quest os.date() abfrage, kommt irgend ein anderes Datum raus :(
04/27/2015 20:04 rollback#10
1min google:

Code:
date <Jahr><Monat><Tag><Uhrzeit_h><Uhrzeit_min>
date 201504272004
04/27/2015 20:10 LawDestroyer#11
Quote:
Originally Posted by definitely not Sensenmann View Post
1min google:

Code:
date <Jahr><Monat><Tag><Uhrzeit_h><Uhrzeit_min>
date 201504272004
Danke ich habs nicht gefunden :D Wo muss ich das eingeben?

Edit: Habs rausgefunden, man muss in die Console: "date [DATUM]" eingeben.