World of Gothic Archiv > Editing
Anzeigebalken einfügen
Seite 1 von 1  1 
19.10.2003, 17:41 #1
Makador
Beiträge: 431
Anzeigebalken einfügen
Ich würde gerne einen weiteren Anzeigebalken einbinden (also wie den Energiebalken). Was der mal anzeigen soll verrat ich nicht ;)

Aber kann man so etwas überhaupt über die Scripts einfügen, oder ist dies unmöglich, da es irgendwo in der Engine verankert ist? Und wenn es so nicht geht, kann man sonst wie z.B. eine permanente Textanzeige auf dem Bildschirm anzeigen lassen (wobei man die Position dabei natürlich umstellen können sollte).

Grüße Makador

/edit:
Ok dass man Text an beliebigen Postionen anzeigen lassen kann habe ich gerade gefunden, aber wie könnte man dass permanent machen ohne eine For-Schleife und natürlich ändert sich der Text auch je nach Situation.

func VOID PrintScreen (var INT dialogNr, VAR STRING msg, VAR INT posx, VAR INT posy, VAR STRING font, VAR INT timeSec) { };
// Gibt den Text 'msg' auf dem Bildschrim aus und benutzt dabei den Font 'font'.
// Die Position ist für jede Koordinate eine Zahl zwischen 0 und 99 und gibt die prozentuale Position an.
// Der Ursprung befindet sich oben links (also 0% X und 0% Y)
19.10.2003, 18:49 #2
Malek
Beiträge: 6.225

Also einen zusätzlichen Energiebalken kann man per Script nicht einfügen, da ist die Zahl auf 3 begrenzt (HP, Mana, Luft), bzw Balken für die Level- Ladeanzeige. Du kannst die Balken zwar einfärben, aber noch nichtmal mit anderen Attributen versehen.

Mit dem Printscreen habe ich mich noch nicht wirklich befasst, aber ich denke dass die Dauer der Anzeige hardcodiert ist. Das hat auch den positiven Effekt, dass man die Schriften nicht dauernd überschreiben kann und nachher nur noch Buchstabensalat auf dem Screen ist. Mir ists zwar öfter mal passiert dass ein Printscreen (für Monster EXP zum Beispiel) einfach stehen geblieben ist, aber ich denke das war eher Zufall.
19.10.2003, 19:00 #3
Makador
Beiträge: 431

Hm man kann die Zeit der Anzeige ja angeben: VAR INT timeSec. Weiß jmd. von euch, wie lange eine Spielminute oder Spielstunde in der echten Zeit ist? Weil dann könnte ich den Text durch eine ta jede Spielminute anzeigen lassen und auch nur so lange, wie eine Spielminute ist... zumindestens würd ich es mal versuchen ;)

Dann hätte ich auch eine Aktualisierung, die ausreichen dürfte.

/edit:
Oder meinst du mit hardkodiert, dass automatisch immer nur eine Wert gleichzeitg an der selben Position angezeigt wird und er alte automatisch verschwindet?
19.10.2003, 19:08 #4
Malek
Beiträge: 6.225

Hm.. die Gothic-Spielminute müsstest du einfach mal messen :)
Gib einfach in die Konsole toggle time (oder wars toggle clock?) oder im Statusbildschirm "Diego" ein, dann wird die Uhr angezeigt.

Das mit der TA müsste funktionieren, nur welchem NPC willst du die TA einsetzen? Die TA vom Hero ignoriert die Engine einfach. Ausserdem würde der Text jede Minute kurz verschwinden und dann wieder neu auftauchen. Es ist übrigens möglich, hunderte Screens gleichzeitig (also übereinander) anzeigen zu lassen. Aber genau diese Time anzeige meinte ich mit Hardcodiert, aber dem ist ja anscheinend nicht so ;)
19.10.2003, 19:25 #5
Makador
Beiträge: 431

Ich wollte es so machen, wie Nico es in einem Thread wegen einem Fluch vorgeschlagen hatte. Einfach ein Objekt wie z.B. die Lampen im Sumpflager nehmen und das ganze in deren TA einbaun (die sind ja auch nur nachts an).

Hm bei der Minute mess ich wohl besser n Stunde und rechne es dann runter, sonst wirds ein wenig ungenau ;)
19.10.2003, 19:27 #6
Cool Moe Di
Beiträge: 120

Also mir käme als Idee noch ein riesiger Scripttrigger über das ganze Level, der die passende Funktion aufruft. Den könnte man auch so einstellen, dass er nach x-Sekunden neu feuert.

ciao
Moe
19.10.2003, 19:34 #7
Makador
Beiträge: 431

Hm die Trigger erstell ich doch im Spacer und die sind doch sicher genau wie die Waypoints flach, so dass ich sie nicht über das ganze auf und ab des levels ziehen könnte oder?
19.10.2003, 19:59 #8
Makador
Beiträge: 431

Hm die Objekte werden ja mit diesem Befehl getriggert:

FUNC VOID Wld_SetObjectRoutine (var INT hour1, VAR INT min1, VAR STRING objName, VAR INT state) { };
// _Ein_ Objekt mit diesem _Vobnamen_ wird getriggert

Auf welche Funktion verweißt überhaupt das "VAR INT state"?
Bei den Lampen im Sumpflager sieht dass z.B. so aus "Wld_SetObjectRoutine (00,00,"PC_CRYSTALLIGHT_01",1);"

Nur an welche Funktion wird diese 1 denn übergeben?
19.10.2003, 20:32 #9
HornOx
Beiträge: 1.458

quote:
Hm die Trigger erstell ich doch im Spacer und die sind doch sicher genau wie die Waypoints flach, so dass ich sie nicht über das ganze auf und ab des levels ziehen könnte oder?
Trigger haben wie alle Vobs eine Bounding Box die du vergrößern kannst.
quote:
Nur an welche Funktion wird diese 1 denn übergeben?
an garkeine, das sagt der Engine nur das die Lampe im angegebenen Zeitabschnitt im Zustand 1 ist. Triggere anstatt einer Lampe einen Scripttrigger, AFAIK kannst du nur über diesen Umweg eine Funktion zu einer bestimmten Uhrzeit aufrufen.
Bitte nur [code] verwenden wenns für die Lesbarkeit des Codes nötig ist. Ansonsten stört es eher wenn der gesammte beitrag in die breite gezeert wird :(
19.10.2003, 20:36 #10
Makador
Beiträge: 431

So hab die codes mal rausgenommen.

Hmm... so ganz verstanden hab ichs noch nicht, aber ich werd morgen mal ausgiebig rumspielen, da hab ich genug Zeit.
20.10.2003, 12:20 #11
Makador
Beiträge: 431

Hm wie vergrößer ich denn Vobs oder Trigger? Hab 0 Ahnung wie das geht und wüßte auch nicht, wo es steht... kann nur drehen und verschieben
20.10.2003, 21:04 #12
Makador
Beiträge: 431

Hm ist die Frage so banal, das sie keiner beantworten will? ;)
21.10.2003, 10:00 #13
HornOx
Beiträge: 1.458

Ja, aber ich antworte trotzdem mal ;)
Vob markieren; "Edit the Box" anklicken; in der Welt gibts dann zwei kleine Punkte die die Ecken der BBox darstellen, die kannst du ganz normal markieren und verschieben (rotieren macht bei punkten keinen sinn ;)); dann "Stop" anklicken fertig.
Hab momentan keinen Spacer zur Hand, deswegen kanns sein das ich einen Schritt ausgelassen habe...
21.10.2003, 11:01 #14
Makador
Beiträge: 431

Mach ich mich mal weiter lächerlich ;)

Bei mir setzt er die Box immer wieder auf die Ausgangsgröße zurück. Ob ich den Punkt verschiebe, oder über die Eingabe die Größe verändere, es tut sich nix. Habs auch bei 100 verschiedenen Vobs getestet.

Btw find ich hat der Spacer n total chaotische Bedienung
Da ist 3dsm richtig bequem und komfortabel im Vergleich.
21.10.2003, 15:05 #15
Cool Moe Di
Beiträge: 120

Um die Bounding-Box zu übernehmen, darfst du NICHT auf Apply drücken, sonst wird sie wieder zurückgesetzt. Erst wenn du die Zen gespeichert hast, kannst du bei dem Vob wieder auf Apply drücken, ohne dass die Bounding Box wieder so klein wird.

ciao
Moe
21.10.2003, 15:14 #16
Makador
Beiträge: 431

Soweit bin ich garnicht gekommen. Sie hat sich nie verändert... hab ich bei der Eingabe z.B. 1000 x 1000 x 200 px eingegeben, wurde das ganze sofortig wieder zurückgesetzt. Genauso konnte ich die Punkte der Bounding Box verschieben, allerdings sah ich keine Änderung an der Box und passiert ist anscheinend auch nichts.
Seite 1 von 1  1