Allgemeine Fragen (Questions)

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Desa
Tutorial Reader
Posts: 97
Joined: 18 Jan 2007, 20:03
Location: Berlin

Jo

Post: # 68451Post Desa
05 Apr 2007, 09:06

Ja daselbe Problem mit dem Ladebild hab ich auch.
Hab alles genauso wie Master Belzebub gemacht: Bilde ausm MediaPool genommen und auch von der Festplatte gelöscht, dann ein neuse Ladebild genommen und bei den Grundeinstellungen eingetragen
[img]http://www.adventure-creator.com/aluehn2/titel.gif[/img]

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

Post: # 68458Post Zimond
05 Apr 2007, 15:19

wohl wieder was für meine ToDo Liste :(

Das Problem könnt ihr so beheben :

Beim Spiel-Erstellen kopiert PaC-DK das Ladebild in den DATA Ordner und benennt es "Loading.jpg" bzw .gif oder .png. Deswegen kann das alte Bild noch da sein obwohl die ursprüngliche Datei weg ist.

Ich vermute mal ihr beide habt (bei DESA konnte ichs ja sehen an seinem Download) bei Ändern des Ladebilds ein anderes Bildformat gewählt, also GIF statt JPG oder anders rum. Und da hier PaC-DK aber das alte Bild nicht löscht befinden sich dann zwei ladebilder im DATA Ordner und die Engine nimmt sich das erste was sie findet.... also :

In den DATA Ordner gehen und eins der beiden loading Bilder löschen.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 68464Post Baelavay
06 Apr 2007, 07:47

Zimond wrote:Ich vermute mal ihr beide habt bei Ändern des Ladebilds ein anderes Bildformat gewählt, also GIF statt JPG oder anders rum.
Stimmt, das habe ich tatsächlich. Schon unglaublich, wie schnell du stets die Ursachen findest. Das Löschen der alten Lade-Grafikdatei sollte wohl nach Entfernung des Kennwortschutzes bei den Spieldateien kein Problem sein :mrgreen:

Tritt das Problem auch in anderen Bereichen, wie bspw. Räume auf, wenn man das Bild aktualisiert? Bisher hatte ich bei Aktualisierung von Grafiken eigentlich nie Probleme, deshalb verwundert mich der Fehler ein wenig. Könnte auch damit zusammenhängen, dass das Lade-Bild weder ein richtiger Raum noch ein Objekt o.ä. ist und deshalb bei Ausführung von PaCDK nicht neu geladen wird.

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

Post: # 68469Post Zimond
07 Apr 2007, 09:57

Tritt das Problem auch in anderen Bereichen, wie bspw. Räume auf, wenn man das Bild aktualisiert?
Nein, das ist ein anderes Problem, das ich immer umgangen bin und es schön ignoriert habe. Das Ladebild ist außerhalb aller anderen Grafiken weil es nicht mittels DirectX als Textur von der Engine geladen wird, sondern als Image auf ein Fenster beim starten.

Das mit den Räumen ist so... wenn du ein Spiel Erstellen läßt, erstellt PaC-Dk die Mediendateien (gfx.dat, sfx.dat) nur dann neu wenn etwas im Mediepool hinzugefügt oder entfernt wurde um Zeit zu sparen. Wenn du eine Grafik änderst ohne etwas im Mediapool zu ändern wird die geänderte Form nicht im Spiel sein. Ich helf mir da immer drumherum indem ich PaC-dK neustarte oder die Grafik entferne und neu hinzufüge. Natürlich hab ich schon dran gedacht eine Überprüfung des "Zuletzt geändert" Daten ind en Dateien zu machen, aber das dauert fast genauso lange wie sie einfach wieder zu kopieren.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 68520Post Baelavay
11 Apr 2007, 19:43

Ein Aspekt bei der Bedienung des Development Kits ist mir bis heute nicht wirklich klar geworden, wobei ich mir bisher stets durch Überprüfung im erstellten Spiel und nachträgliche Korrektur der Werte geholfen habe:

Was ist der Bezugspunkt für jegliche Textkoordinaten?

Beispiel:
  • Welchen Wert muss ich in den Grundeinstellung bei der Höhe vom Aktionstext angeben, wenn der "höchste" Pixel des größten Buchstaben bspw. X Pixel vom oberen Rand entfernt angezeigt werden soll? Mein Vorschlag wäre X.
  • Noch genauer: Liege ich richtig in der Annahme, dass man bei den Koordinaten (Pixel in der Abbildung, auf den der rote Pfeil zeigt) von Text anzeigender Befehle des PaCDKs, bspw. "textout()" die "linke obere Ecke" angeben muss, also für den x-Wert den ersten Pixel von links gesehen des ersten Buchstaben und für den y-Wert den "obersten" Pixel des größten Buchstaben? Folgende Abbildung soll meine Vorstellung verständlicher darstellen, weil die Erklärung doch recht umständlich ist:Image

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

Post: # 68532Post Zimond
12 Apr 2007, 11:11

Beim textout Befehl ist das richtig wie du es gezeigt hast. Bei Offspeech ist das allerdings anders, hier wird der Walkmappunkt den man dabei angibt so benutzt als würde sich dort der Kopf eines nicht vorhandenen Characters befinden, d.h der Text wird zentriert bei diesem Punkt dargestellt.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 68543Post Baelavay
13 Apr 2007, 08:56

  • Zimond wrote:Beim textout Befehl ist das richtig wie du es gezeigt hast.
    Danke! Schön dass das jetzt endlich geklärt ist. Nun werde ich aber versuchen, das Gegenteil zu beweisen - ich habe da so eine Vermutung dass das schon einmal nicht so aussah ;)
  • Zimond wrote:Bei Offspeech ist das allerdings anders, hier wird der Walkmappunkt den man dabei angibt...
    :shock: Man gibt beim "offspeech()"-Befehl Walkmapwerte an?? Das erklärt, wieso das bei mir noch nie funktioniert hat... Trotzdem wundert es mich nicht, dass ich bisher immer die x-/y-Pixelwerte angegeben habe, denn aus dem entsprechenden Eintrag im Manual ist das nicht klar ersichtlich:
    offspeech (x ; y ; text ; sample ; dontwait)
    Erzeugt einen Text + Sample, Character unabhängig. X/Y ist Mitte/Unten des Textes nicht Oben/Links. Optional mit Sprachausgabe Sample. Wird ein Sample angegeben richtet sich die Zeit des Textes nach der Länge des Soundfiles. Wird kein Sample angegeben richtet sich die Zeit nach der Länge des Text und der Textspeed Einstellung. Wird nicht DONTWAIT angegeben wird der Ablauf bei Cutscenes, Textscenes und bei Loopskripten solange angehalten bis der Text zu Ende ist.
    Da sollte unbedingt erwähnt werden, dass mit X und Y die Walkmapkacheln gemeint sind.

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

Post: # 68545Post Zimond
13 Apr 2007, 09:37

ja stimmt, werd ich machen. Das liegt daran das Offspeech eine der ersten Befehle war lange bevor ich irgendwas Pixelgenau bestimmen lassen habe...
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 68566Post Baelavay
14 Apr 2007, 11:49

Fein. :) Dann geht der nächste Handbuch-Leser dem "offspeech()"-Befehl vielleicht nicht mehr auf den Leim - auch wenn die Leute, die sich ihr Wissen erstmal brav aus dem Handbuch aneignen immer weniger werden :roll:

Dann würde ich gerne noch wissen, ob es mit den Koordinaten beim "setpos()"-Befehl genauso aussieht wie bei den Textbefehlen, also dass der angegebene Wert der Pixel oben links des sichtbaren Bildausschnitts ist.

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

Post: # 68567Post Zimond
14 Apr 2007, 14:10

setpos ist genauso wie offspeech also mit Walkmap Koordinaten.. und zwar jene Position die du im Raumfenster angezeigt bekommst.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 68569Post Baelavay
14 Apr 2007, 18:22

Auch das ist gut zu wissen. Aber ich muss schon zugeben, so langsam weiß ich wirklich nicht mehr, bei welchem Befehl ich nun Pixelwerte angeben muss und bei welchem Befehl Walkmapwerte. Ein Blick ins Handbuch klärt die Frage nach dem korrekten Werttyp... sollte er. Denn auch zum "setpos()"-Befehl steht nichts bezüglich Walkmap-Angaben. Aber du hast ja bereits versprochen, dich darum zu kümmern. Danke ;)

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

Post: # 68577Post Zimond
16 Apr 2007, 09:14

die skripthilfe zeigt dies ja an ob du nun WalkmapX oder PixelX angeben musst
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 68778Post Baelavay
17 May 2007, 18:46

Anlässlich des Releases der PaCDK-Version 2.7.3 möchte ich an dieser Stelle nun einmal bildlich einen Strich ziehen und drei in diesem Thread gestellte Fragen, welche bisher nicht beantwortet wurden, noch einmal aufgreifen:
  • Problem: Walkmapskripts werden auch dann ausgeführt, wenn ein Charakter sie in einer Cutscene betritt oder passiert.
  • Wie lässt es sich bewirken, dass nach einem „walkto()“-Befehl im „on(click)“-Bereich so lange gewartet wird, bis der angegebene Charakter sein Ziel erreicht hat?
  • Betreffend „Multiple Choice“ in den Grundeinstellungen: Wie kann man sowohl Text als auch Symbole integrieren, also in einigen Textscenes Symbole verwenden, in anderen Text?

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

Post: # 68793Post Zimond
20 May 2007, 19:32

- Das ist so schon richtig, es war anfangs mal anders, das eben Walkmapskripte NICHT ausgeführt wurden in Cutscenes. Damit aber würden Schattenbereiche in Cutscenes nicht mehr funktionieren, also setcharlight Befehle die in der Walkmap stecken.

Aus dem Grund hab ich das entfernt. Wenn nun also der benutzer in Cutscenes walkmapskripte nicht ausgeführt haben will muss er sie selber durch eine variable "zu" machen.

- In dem du im on(click) Ereignis eine Cutscene startest indem dann erst der Walktobefehl drin is.

- Könnte ich als extra Option für den textscene Befehl einbauen, quasi Textscene (Scene ; X ; y ; Breite ; useitem /usetext) welcher dann die standard einstellung ignoriert.

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 69412Post Baelavay
28 Sep 2007, 19:58

Mit folgendem Code

Code: Select all

setnum(mousex;540)
setnum(mousey;120)
popupcoin()
öffnet sich das Coin-Menü nicht an den angegebenen Koordinaten, sondern an der bisherigen Mausposition. Was können mögliche Gründe für das Problem sein?

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

Post: # 69415Post Zimond
30 Sep 2007, 23:13

du kannst die festen Variablen wie mousex nicht verändern. Könnte ich versuchen zu ermöglichen, da ich einfach mal annehme wenn ich die Frage ob du das wirklich brauchst du sagst, ja mach mal...

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 69420Post Baelavay
01 Oct 2007, 17:17

"Mach mal eben" würde ich wohl eher weniger sagen, aber wenn du das von dir aus anbietest - Klasse :D

Die Koordinaten des Cursors sollten sich dann aber schon nach den beiden Nums richten, so könnte man den Zeiger sogar per Skript steuern.

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

Post: # 69423Post Zimond
01 Oct 2007, 20:12

sollte auch leicht gehen. Beim letzten Update hatte ich ja eingebaut das nach einer Cutscene die Maus wieder dort ist wo sie zu Anfang war. Auch hier versetzt ja die Engine den Mauszeiger.

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 69541Post Baelavay
09 Nov 2007, 18:57

  • Code: Select all

      setnum(mousex;540)
      setnum(mousey;120)
      popupcoin()
      wait(5)
      coinreturn()
    Bei diesem Skript treten zwei Probleme auf: 1. Das Coin-Menü öffnet sich nicht an der Stelle (x=540/y=120) sondern an der vorherigen Mausposition und 2. der vorgeschlagene Befehl "coinreturn()" existiert nicht/ ist PaCDK unbekannt.
  • Übrigens funktioniert das "on(mouse)"-Ereignis eines Objekts im Coin-Menü seit Version 2.8.2 nicht mehr.
  • Ich lasse jetzt im Startskript einige Textout-Zeilen ausgeben, die an den Überall-Raum gebunden sind und unsichtbar sein sollen wenn der Überall-Raum deaktiviert ist. Bisher habe ich alle einzelnen Objekte im Überall-Raum zu "HUD" gruppiert und Objekt "HUD" dann mit dem "setobj()"-Befehl ein- und ausgeschalten.
    Damit die nun hinzugefügten Textout-Zeilen an den Raum gebunden sind, habe ich in das Startskript vor die Ausgabe dieser Zeilen "bindtext(#;any)" geschrieben.
    Problem: Wenn ich nun die Objekte-Gruppe "HUD" (alle Objekte im Überall-Raum) auf 0 setze, so bleibt die Textoutzeile verständlicherweise erhalten.
    Ich kann mich im Moment nicht an einen exakten Befehl erinnern, mit dem ich den Überall-Raum komplett abschalten kann!?
    *edit: Ich umgehe das Problem jetzt durch Verwendung von weiteren Objekten statt Text, interessieren würde mich das aber weiterhin.

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

Post: # 69544Post Zimond
09 Nov 2007, 20:19

stimmt, coinreturn, is natürlich nich in der Skriptliste eingetragen weswegen pacdk ihn nicht zuläßt, hab ich vergessen... aber Warum zur Hölle musst du denn ein Coinmenu in einer Cutscene aufrufen??? Um dem Spieler das einmal zu zeigen wo er drücken muss??? Und dafür diese Extrawürste? Erstell einfach noch einen Raum wo das Coinmenu an richtiger Stelle drin ist und ruf diesen als Subroom auf.

Wegen on(mouse) im Coinmenu, werd ich überprüfen.

Einen Befehl um den Überallraum abzuschalten gibt es nicht aber du kannst dir ganz einfach dafür ne Funktion schreiben.

Funktion AnyOn:

Code: Select all

 setobj (anyobj gruppe ; 1)
 textout (1)
 textout (2)
 ect.
Funktion AnyOff :

Code: Select all

 setobj (anyobj gruppe ; 0)
 texthide (1)
 texthide (2)
 ect.

Und schon hast du Befehle die den gesamten Überallraum ab- und anschalten.

Und eine Bitte : Bevor du immer gleich nach neuen Funktionen schreist schreib erstmal immer genau was du machen willst, denn es geht oft auch mit nem kleinen Umweg... denn im Moment hab ich kaum die Zeit Verbesserungen einzubauen die nur der Bequemlichkeit dienen.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 69545Post Baelavay
09 Nov 2007, 20:37

Verstanden. Ich werde mich kürzer fassen und nach alternativen Lösungen suchen. Das Coin-Menü werde ich dem Spieler in anderer Form veranschaulichen und das Problem mit dem Text im Überall-Raum habe ich durch Verwendung weiterer Objekte umgangen.
Dadurch komme ich aber über die 20 "group()"-Marke, ich habe im Anregungsthread bereits etwas dazu geschrieben...
Erledigt. Ich habe zwei Gruppen mit höchstens 10 Objekten erstellt.


*Nachtrag: Noch einer: Ist es so, dass man den "setobj()" Befehl nicht mehr auf einzelne Objekte anwenden kann, wenn sie gruppiert wurden? (Bsp.: OBJ1, OBJ2 und OBJ3 sind zu OBJX gruppiert. Ich schätze, dass "setobj(OBJX;1)" dann funktioniert, "setobj(OBJ2;1)" aber nicht mehr.)

Trotzdem muss ich dich einen weiteren Punkt fragen:
Wieso wird ein in den Überall-Raum eingezogenes Inventarfeld im Spiel nicht angezeigt, ein in ein Bedienfeld eingezogenes aber schon?

*Nachtrag: In den Überall-Raum kann ich das Inventar also nicht packen, deshalb benutze ich für den Inventar-Bereich des HUD jetzt eine Taskbar mit gleichen Abmaßen. Leider sehe ich das Inventar hinter dem Überall-Raum gar nicht, weil die Renderreihenfolge in Version 2.6.0 vertauscht wurde :(
Erledigt. Ich habe geschickt um das Problem "herumgebastelt" - das HUD habe ich mit Löchern versehen, durch welche man die Taskbar sieht.


...es bleibt das neue Problem mit den Coin-Objekten, deren "on(mouse)"-Ereignis nicht mehr ausgeführt wird.

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

Post: # 69554Post Zimond
10 Nov 2007, 18:23

*Nachtrag: Noch einer: Ist es so, dass man den "setobj()" Befehl nicht mehr auf einzelne Objekte anwenden kann, wenn sie gruppiert wurden? (Bsp.: OBJ1, OBJ2 und OBJ3 sind zu OBJX gruppiert. Ich schätze, dass "setobj(OBJX;1)" dann funktioniert, "setobj(OBJ2;1)" aber nicht mehr.)
Hast du das konkret ausprobiert und fragst jetzt ob das so gewollt ist? Weil eigentlich sollten sich alle Objekte trotzdem einzeln stellen lassen, wie sonst sollte man zum beispiel ein Feld mit Buttons gruppieren und jeden einzelnen Button durch setobj highlighten lassen beim mouseover.

PS : Das mit dem on(mouse) bei coins hab ich schon notiert. ich werd versuchen diesen und den movetext bug noch in ein paar Tagen dann als 2.8.2a oder so rauszubringen... ich denke ich hab auch schon ungefähr im Kopf wo ich die Fehler gemacht hab. Naja, ich müsste bei jedem Release eigentlich immer ausführlich testen das ich nichts kaputt gemacht hab.. aber die Zeit, immer diese Zeit.

Aber für Penibel nach Fehlern suchen hab ich ja schon nen Experten hier, wah? :ugly2:
Last edited by Zimond on 10 Nov 2007, 18:29, edited 1 time in total.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 69555Post Baelavay
10 Nov 2007, 18:25

Erneut getestet: Doch, man kann einzelne Objekte aus einer Gruppe noch einstellen.
Andere Frage: Kann es sein dass die Taskleiste "Bedienfeld" mindestens 80px hoch sein muss? Ich habe das eben mit 79 Pixeln Höhe probiert, das wurde automatisch wieder auf 80 gesetzt :?
...sollte das so sein, dann schiebe ich einfach die Grafiken 1 Pixel nach unten - doch bevor ich das tue, wüsste ich gerne ob ich es denn muss ;)
Es ist offensichtlich dass die Mindesthöhe 80 Pixel beträgt, also habe ich auch dieses Problem wie beschrieben umgangen.
Last edited by Baelavay on 10 Nov 2007, 18:36, edited 2 times in total.

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

Post: # 69556Post Zimond
10 Nov 2007, 18:35

ja wer mir lieb, ursprünglich konnte man das Pixelgenau einstellen. Aber es gab da irgendein richtig dümmlichen Fehler der aber nur bei einer nicht Zehner Zahl auftrat und ich hab da ewig gesessen und gerätselt worans liegt bis ich schließlich das ganze auf 10er gesperrt hab. Ich weiss gar nicht mehr genau was da passierte, aber es war echt zusammenhangslos.
Image

Baelavay
PaC-DK God
Posts: 1168
Joined: 04 Jun 2006, 19:24
Contact:

Post: # 69557Post Baelavay
10 Nov 2007, 18:36

Was das gehäufte Auffinden von Fehlern angeht: Weißt du, ich freue mich auch nicht, Bugs im Development Kit zu entdecken, zudem diese mich meistens eher aufhalten als amüsieren, wie es beispielsweise bei Bugs in Spielen der Fall ist.

Locked