Hallo,
habe gerade angefangen mit AGS und auch schon fast sämtliche tutorials gewälzt.
Benutze die MMM_GUI, also denke ich die Frage gehört in dieses Forum.
Im global script werden ja nicht Character-Objekte von "A_TALK_TO" ausgeschlossen (was normalerweise auch Sinn macht).
Ich möchte aber einen Dialog mit einem leblosen Gegenstand führen (wie zum Beispiel toter Cousin Ted). Da es keine Antworten gibt, würde ich gerne darauf verzichten, den leblosen, unanimierten Gegenstand in einen Charakter umzuwandeln. Ich finde es unschön, dass ich den Character nicht in der Room-Ansicht sofort sehen kann u.A.
Lässt sich das irgendwie bewerkstelligen?
(Wenn ich meinen leblosen Gegenstand als Charakter deklariere, taucht dieser komischerweise im Startbildschirm auf, nicht aber in dem Raum mit der vorgegebenen Raumnummer)
Programmierfrage: Dialog mit Objects oder Hotspots
- Kate
- Hobby-Archäologe
- Beiträge: 173
- Registriert: 13.07.2005, 10:52
- Wohnort: Springe
Du willst also mit einem Object sprechen, wenn ich das richtig verstanden habe.
Ich habe das mal versucht, indem ich diese Zeile gelöscht habe, glaube ich (also nicht gelöscht, sondern // davorgeschrieben habe
else if (parameter == 3)
{
cond = ((isAction (A_TALK_TO) || (isAction (A_GIVE_TO) && (GetCursorMode () == 4))) && (GetLocationType (mouse.x, mouse.y) != 2));
}
So hatte es funktioniert. Ist aber denke ich nicht die optimalste Lösung.
Ich habe nochmal geschaut und da sind mir diese Zeilen aufgefallen.
if (GlobalCondition (2) || GlobalCondition (3) || GlobalCondition (4))
{
StrCopy (location, ">n");//Dont send the name of the hotspt/obj/char/inv to the action bar and set default action "none"
}
Die GlobalCondition(3) steht für die Aktion, wenn man mit einem Object sprechen oder ihm was geben will.
Meiner Ansicht nach müsste man das jetzt einfach rausnehmen.
Also:
if (GlobalCondition (2) || GlobalCondition (4))
{
StrCopy (location, ">n");//Dont send the name of the hotspt/obj/char/inv to the action bar and set default action "none"
}
Ich habe es aber nicht ausprobiert, musst du mal gucken.
(Nach den Zeilen kannst ja mit der Suchfunktion suchen)
Ich habe das mal versucht, indem ich diese Zeile gelöscht habe, glaube ich (also nicht gelöscht, sondern // davorgeschrieben habe
else if (parameter == 3)
{
cond = ((isAction (A_TALK_TO) || (isAction (A_GIVE_TO) && (GetCursorMode () == 4))) && (GetLocationType (mouse.x, mouse.y) != 2));
}
So hatte es funktioniert. Ist aber denke ich nicht die optimalste Lösung.
Ich habe nochmal geschaut und da sind mir diese Zeilen aufgefallen.
if (GlobalCondition (2) || GlobalCondition (3) || GlobalCondition (4))
{
StrCopy (location, ">n");//Dont send the name of the hotspt/obj/char/inv to the action bar and set default action "none"
}
Die GlobalCondition(3) steht für die Aktion, wenn man mit einem Object sprechen oder ihm was geben will.
Meiner Ansicht nach müsste man das jetzt einfach rausnehmen.
Also:
if (GlobalCondition (2) || GlobalCondition (4))
{
StrCopy (location, ">n");//Dont send the name of the hotspt/obj/char/inv to the action bar and set default action "none"
}
Ich habe es aber nicht ausprobiert, musst du mal gucken.
(Nach den Zeilen kannst ja mit der Suchfunktion suchen)
GRRRRR AAARGGGHH
-
- Frischling
- Beiträge: 5
- Registriert: 03.08.2005, 00:20
- Kontaktdaten:
nicht global sondern Objektspeziefisch
Ja, diese Zeilen habe ich auch schon gefunden. Sie stehen im Globalen Script.
Problem ist, dass ich das globale Script ungern ändern möchte. Dann könnte ich ja plötzlich mit jedem Objekt sprechen, obwohl ich nur mit einem einzigen Objekt reden will.
Gibt es nicht me möglichkeit, wie man das für das spezifische Objekt umschalten kann?
Vielleicht kann man das globale Script verändern wie:
">wenn A_TALK_TO gewählt ist --> wenn Objekt kein Charakter -->
- wenn Objekt die Variable SPRICH_MIT_MIR gesetzt hat, dann gib 0 zurück
- ansonsten deaktiviere die Interaktionsmöglichkeit mit Objekt"
Problem ist, dass ich das globale Script ungern ändern möchte. Dann könnte ich ja plötzlich mit jedem Objekt sprechen, obwohl ich nur mit einem einzigen Objekt reden will.
Gibt es nicht me möglichkeit, wie man das für das spezifische Objekt umschalten kann?
Vielleicht kann man das globale Script verändern wie:
">wenn A_TALK_TO gewählt ist --> wenn Objekt kein Charakter -->
- wenn Objekt die Variable SPRICH_MIT_MIR gesetzt hat, dann gib 0 zurück
- ansonsten deaktiviere die Interaktionsmöglichkeit mit Objekt"
-
- Frischling
- Beiträge: 8
- Registriert: 29.07.2005, 19:59
- Kontaktdaten:
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Nein, geht bei Pixel-Perfect detection nicht. Stattdessen einen Screenshot erstellen, die betreffende Stelle rausschneiden und als Charakter einfügen und diesen an entsprechender Stelle einfügen
Nächste Frage
Nächste Frage
Es heißt, Leute mit den originellsten Nicknames schreiben die besten Beiträge
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
Ausnahmen bestätigen die Regel
_________________
<Problem> Weil du denken kannst.
Zuletzt bearbeitet von [ZENSIERT] am 16.07.1759, 16:19, insgesamt 54743869-mal bearbeitet
-
- Frischling
- Beiträge: 5
- Registriert: 03.08.2005, 00:20
- Kontaktdaten: