Enter text Problem

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Enter text Problem

Post: # 73728Post Wuji
07 Jun 2009, 16:26

Ich habe in ein Spiel eine Highscore tabelle eingebaut so wenn man nun eine entsprechende Punkte Zahl erreicht hat soll man seinen Namen eintippen.
Man klickt auf ein Feld wie in der adz Demo : Entertext
Nur wenn ich es anklicke blinkt der Pfeil aber es erscheinen Keine Buchstaben hier die Skripte:

Raum Skript:
On(loop1)
If_bool(Enter Text;false)
{
textout(1;Highscore;350;100;3;255;255;255)
textout(11; 1.[N1]:[p1];300;150;1;255;255;255)
textout(12; 2.[N2]:[p2];300;170;1;255;255;255)
textout(13; 3.[N3]:[p3];300;190;1;255;255;255)
textout(14; 4.[N4]:[p4];300;210;1;255;255;255)
textout(15; 5.[N5]:[p5];300;230;1;255;255;255)
textout(16; 6.[N6]:[p6];300;250;1;255;255;255)
textout(17; 7.[N7]:[p7];300;270;1;255;255;255)
textout(18; 8.[N8]:[p8];300;290;1;255;255;255)
textout(19; 9.[N9]:[p9];300;310;1;255;255;255)
textout(20;10.[N10]:[p10];300;330;1;255;255;255)
}
Objekt :Eingabe Feld ,Skript
on (release)
{
If_num(ScoreRang;10)
{
setstring(N10;[Empty])
Setbool(Enter Text;true)
texthide(20)
entertext([N10];300;600;3;12;255;255;255)
Setbool(Enter Text;false)
break()
}
If_num(ScoreRang;1)
{
setstring(N1;[empty])
texthide(11)
entertext([N1];300;150;3;12;255;255;255)
textout(1)
break()
}
If_num(ScoreRang;2)
{
setstring(N2;[empty])
entertext([N2];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;3)
{
setstring(N3;[empty])
entertext([N3];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;4)
{
setstring(N4;[empty])
entertext([N4];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;5)
{
setstring(N5;[empty])
entertext([N5];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;6)
{
setstring(N6;[empty])
entertext([N6];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;7)
{
setstring(N7;[empty])
entertext([N7];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;8)
{
setstring(N8;[empty])
entertext([N8];300;600;3;12;255;255;255)
break()
}
If_num(ScoreRang;9)
{
setstring(N9;[empty])
entertext([N9];300;600;3;12;255;255;255)
break()
}

}

Wichtig bis jetzt bin ich nur am bearbeiten von Rang 10. Des halb Schaut euch nur den Anfang vom 2. Skript an .

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

entertext

Post: # 73729Post japanhonk
07 Jun 2009, 16:50

Hi,


bei mir hab ich den Text wie folgt angegeben:

(*Anzeige : Code eingeben : *)

hidealltext() (*vorhandenen Text löschen*)
subroom (textwinroom) (*Textfenster öffnen, sieht besser aus...*)

textout (612;Code :;250;250;1;255;0;255)
entertext (code;350;250;1;4;255;0;255)



Klappt super...Aber beim Textout kann es sein, dass nichts angezeigt wird,
wenn der Rechner meint, die Textzeile sei schon belegt. Darum
hab ich oft die Nummern schon ändern müssen, damit es klappt.

Klammer den If-Befehl im Raumskript auch mal ein - das hatte ich auch mal, dadurch verrannte sich das Programm. War mit der neusten PaC Version aber weg.

Auch mit dem direkten Auslesen der Variablen kann es Probleme geben.
Versuch mal, ob du sie "zwischenparken" kannst, bevor Du sie in die
jetzige Variable schreibst. Klappt es, wenn Du direkt einen Wert angibst, statt einer Variablen ?

Gruss

JH

Wuji
Adventure Enthusiast
Posts: 223
Joined: 07 Dec 2008, 17:25
Contact:

Post: # 73744Post Wuji
08 Jun 2009, 19:53

Ich glaube mein Problem wird hier nicht ganz deutlich - Ich kann nichts eingeben wie als ob meine Tastatur kaputt wäre ich drücke auf den Tasten rum aber es es wird nichts angegeben :pcprob: und im DEV-Mode steht sogar Text - das heißt er ist am enter text berechen aber ich kann nichts eingeben - wenn ich enter drücke beendet es sich aber es steht nichts da

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 73745Post japanhonk
08 Jun 2009, 20:10

Du hast den Wert [N1] mit NIX gefüllt, richtig ? [empty] = definierte Variable
Wenn ich es mit meinem Code vergleiche, fällt mir auf, dass
bei mir die Variable nicht in eckigen Klammern steht und der Text angezeigt wird. Beim Textout ist das auch richtig, da du den Inhalt auslesen willst.

Schätze, dass beim Eingeben dann der Befehl nicht weiss, wo er dann etwas hinschreibensoll. Probier es mal ohne die eckigen Klammern, da du ja nicht den Inhalt der Variablen haben willst, sondern ihn erst füllen möchtest.


Für solche Fälle bastel ich mir dann übrigens immer ein 1-raum spiel, um solche Kleinigkeiten zu testen...sollte ich wohl mal wieder aufräumen....

:pcprob:

Zimond
Der Engine Papa
Posts: 3420
Joined: 06 Apr 2003, 19:34
Location: Krefeld
Contact:

Post: # 73754Post Zimond
09 Jun 2009, 18:00

entertext([N10];300;600;3;12;255;255;255)

du verwechselst hier glaub ich was. [string] zeigt nicht auf den Inhalt eines anderen Strings sondern auf den Namen. Wenn du N10 [empty] zuweist und das dann so verwendest ist das resulttat folgendes :

entertext ( ; 300 ; 600 ; 3 ; 12 ; 255 ; 255 ; 255)

weil N10 mit Nichts ersetzt wird, denn das ist das der Inhalt von N10. <-- und dann geht das natürlich nicht.

Wenn ich das richtig sehe willst du ja nur die Strings vor dem eingeben löschen d.H du musst beim entertext einfach nur die eckigen Klammern weglassen dann wirds gehen.

Post Reply