AGS, nimm,benutze etc...
AGS, nimm,benutze etc...
Hi leute,
Also durch die gegebende hilfe hab ich nun ein GUI was wie bei DOTT aussschaut, nur irgendwie hab ich noch ein probleme mit dem AGS.
Nimm, benutze,gucken,"any click", reden kriege ich ans laufen, aber die befehle wie "öffne" "schliesse" find ich im AGS programm nicht, wie kann ich den z.b einen schrank öffnen ohne es mit "any click on object" zu machen, sonst öffnet er den schrank ja auch wenn ich sage rede mit ihm
naja also im AGS find ich nichts für , schliesse, öffne, drücke, ziehe !
Danke für eure hilfe.
mfg
Also durch die gegebende hilfe hab ich nun ein GUI was wie bei DOTT aussschaut, nur irgendwie hab ich noch ein probleme mit dem AGS.
Nimm, benutze,gucken,"any click", reden kriege ich ans laufen, aber die befehle wie "öffne" "schliesse" find ich im AGS programm nicht, wie kann ich den z.b einen schrank öffnen ohne es mit "any click on object" zu machen, sonst öffnet er den schrank ja auch wenn ich sage rede mit ihm
naja also im AGS find ich nichts für , schliesse, öffne, drücke, ziehe !
Danke für eure hilfe.
mfg
- max_power
- Zombiepirat
- Beiträge: 10065
- Registriert: 16.04.2002, 20:30
- Wohnort: Uppsala
- Kontaktdaten:
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Also, du hast die Standardcursor und zwei weitere, die du einfach so verwenden kannst, aber wenn ich dich richtig verstanden habe sind dir die klar und du brauchst nur Hilfe für weintere Aktionen. Im Grunde liegst du mit dem AnyClickOn schon nicht schlecht. Damit er dabei nur bestimmte Sachen ausführt (oder einfach nicht immer) musst du ints benutzen. (Ich würde sagen GlobalInts sind hier am besten geeignet). Bei dem GUI verwendest du jetzt bei den entsprechenden Button nicht SetCursorMode sondern RunScript. In das Script schreibst du dann etwas wie
SetGlobalInt (1, 1);
SetCursorMode (10);
Bei AnyClickOn schreibst du dann etwas wie
if (GetGlobalInt (1)==1) {
hier was halt passieren soll.
}
Damit passiert das nur, wenn der GlobalInt den Wert 1 hat. Natürlich musst du aufpassen, dass der Int auch wieder anders gesetzt wird, wenn es um eine andere Aktion geht.
SetGlobalInt (1, 1);
SetCursorMode (10);
Bei AnyClickOn schreibst du dann etwas wie
if (GetGlobalInt (1)==1) {
hier was halt passieren soll.
}
Damit passiert das nur, wenn der GlobalInt den Wert 1 hat. Natürlich musst du aufpassen, dass der Int auch wieder anders gesetzt wird, wenn es um eine andere Aktion geht.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Du liest glaub ich nicht ganz richtig: Wenn du sie in "adventure selbst erstellen" setzt, ist es das falsche Forum!!!!zu dem @ falschem forum, ich bin nicht registriert, scheint mir so das das forum automatisch meinen thread hierher packt. Ich erstelle den post nähmlich im "adventure selber machen" ... also ich bin nich schuld :/
Und das wurde auch nicht automatisch gemacht: max_power ist moderator in adventure selbst erstellen und verschiebt deine threads hierher ins AGS Forum
P.S.: Freut mich, dass ich helfen konnte.
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28
dazu hab ich auch noch eine kurze Frage:
Mit einem Klick auf die rechte Maustaste kann ich genau vier verschiedene Cursor "erklicken": Gehe zu, Rede, Schau und Benutze. Wo kann ich diesen Cursorn noch ein Script hinterlegen? Sie müssten nämlich auch die Variable 80 verändern, damit meine Aktionen stimmen...wenn man ein Objekt ansieht mit einem Klick auf "Schau" in der GUI frage ich das ab mit
if (GetGlobalInt(80)==8)
DisplaySpeech(etc.)
...
Wenn ich mit dem Schau, dass ich durch die rechte Maustaste erreicht habe, darauf klicke wird dieses Skript nicht ausgeführt, daher frage ich.
Vielen Dank,
Jones
Mit einem Klick auf die rechte Maustaste kann ich genau vier verschiedene Cursor "erklicken": Gehe zu, Rede, Schau und Benutze. Wo kann ich diesen Cursorn noch ein Script hinterlegen? Sie müssten nämlich auch die Variable 80 verändern, damit meine Aktionen stimmen...wenn man ein Objekt ansieht mit einem Klick auf "Schau" in der GUI frage ich das ab mit
if (GetGlobalInt(80)==8)
DisplaySpeech(etc.)
...
Wenn ich mit dem Schau, dass ich durch die rechte Maustaste erreicht habe, darauf klicke wird dieses Skript nicht ausgeführt, daher frage ich.
Vielen Dank,
Jones
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Du kennst dich ja mit on_mouse_click aus?
Gut. Dann ersetze diese CycleMouseCursor einfach durch:
Dann wird bei einem Rechtsklick immer die Schau-an-Aktion ausgeführt. Das andere zu scripten wäre ziemlich aufwändig
Gut. Dann ersetze diese CycleMouseCursor einfach durch:
Code: Alles auswählen
SetGlobalInt(80, 8);
ProcessClick(mouse.x, mosue.y, MODE_LOOK);
SetGlobalInt(80, 0);
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
-
- Profi-Abenteurer
- Beiträge: 915
- Registriert: 26.07.2003, 19:10
- Wohnort: Osaka
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Vielleicht interessiert dich ja das
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
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28
Das hast du falsch verstanden. Ich wollte nicht, dass beim Rechtsklick sofort die jeweilige Aktion ausgeführt wird, sondern nur, dass man den entsprechenden Cursor hat der dann auch funktioniert wenn man einen Linksklick auf etwas macht. Standardmäßig hast du den Cursor "Gehe zu". Wenn du nun einen Rechtsklick machst, welchselt zwar der Cursor defaultmäßig erst zu "Schaue", dann zu "Rede" , dann zu "Nimm" und danach wieder zu "Gehe zu", aber da man die GlobalInts bei seiner GUI ja selbst festlegen kann, sind diese Cursor nicht benutzbar. Man kann zwar mit dem "Rede"-Cursor, zu dem man schnell mit 2 Klicks hinkommt, etwas anklicken, aber natürlich passiert da nichts. Deshalb wollte ich nur wissen, wo man eine Zeile wie "SetGlobalInt(80,x)" einfügen muss, damit diese Aktionen - die standardmäßig bei AGS dabei seind - verscriptet werden können.Totoro hat geschrieben:Oh, nee bitte. Wenn man sowohl "schaue an" als auch "nehme" auf der rechten Taste hat, und man sich alles erstn anschauen muss, beor man es nimmt...
dann lege bitte alle interaktionen wie rede, nimm, öffne, schließe etc. auf die linke Taste.
Was ich gesucht habe, war:
Code: Alles auswählen
else // right-click, so cycle cursor
{
if (GetGlobalInt(80)==8)
{
SetCursorMode(0);
SetGlobalInt(80,0);
}
else
{
SetCursorMode(1);
SetGlobalInt(80,8);
}
//das kann man hier noch beliebig fortsetzen
}
- Jones
- Verpackungs-Wegwerfer
- Beiträge: 51
- Registriert: 13.10.2004, 10:28
Jones hat geschrieben:Das hast du falsch verstanden. Ich wollte nicht, dass beim Rechtsklick sofort die jeweilige Aktion ausgeführt wird, sondern nur, dass man den entsprechenden Cursor hat der dann auch funktioniert wenn man einen Linksklick auf etwas macht. Standardmäßig hast du den Cursor "Gehe zu". Wenn du nun einen Rechtsklick machst, welchselt zwar der Cursor defaultmäßig erst zu "Schaue", dann zu "Rede" , dann zu "Benutze" und danach wieder zu "Gehe zu", aber da man die GlobalInts bei seiner GUI ja selbst festlegen kann, sind diese Cursor nicht benutzbar. Man kann zwar mit dem "Rede"-Cursor, zu dem man schnell mit 2 Klicks hinkommt, etwas anklicken, aber natürlich passiert da nichts. Deshalb wollte ich nur wissen, wo man eine Zeile wie "SetGlobalInt(80,x)" einfügen muss, damit diese Aktionen - die standardmäßig bei AGS dabei sind - verscriptet werden können.Totoro hat geschrieben:Oh, nee bitte. Wenn man sowohl "schaue an" als auch "nehme" auf der rechten Taste hat, und man sich alles erstn anschauen muss, beor man es nimmt...
dann lege bitte alle interaktionen wie rede, nimm, öffne, schließe etc. auf die linke Taste.
Was ich gesucht habe, war: (einzufügen bei on_mouse_click)Code: Alles auswählen
else // right-click, so cycle cursor { if (GetGlobalInt(80)==8) { SetCursorMode(0); SetGlobalInt(80,0); } else { SetCursorMode(1); SetGlobalInt(80,8); } //das kann man hier noch beliebig fortsetzen }