Standardsprüche für bestimmte Inventaraktionen
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
Standardsprüche für bestimmte Inventaraktionen
Hallo!
Ich hab folgende Frage:
Ich möchte, daß ich beim benutzen eines bestimmten Gegenstandes (z.B. eine Flasche Öl) mit einem nicht dafür vorgesehenen Hotspot oder anderem Objekt einen Standardspruch bekomme. (so was wie: "Das braucht nicht eingeölt zu werden.")
Mach ich das gleiche mit nem anderen gegenstand (z.B. ner Klammer) dann soll wieder ein anderer Standardspruch kommen. (z.B. "Da gibts nichts zum Festklammern.")
Das ganze soll dann für das ganze Spiel aktiv sein.
Ich bin zwar über die Hilfe dahintergestiegen, was ich im Global-Script schrieben muß, wenn man generell einen falschen Gegenstand mit einem Hotspot benutzt, aber dann kommt halt unabhängig vom Gegenstand immer dieselbe Meldung, was auf Dauer recht eintönig ist.
Irgendeine Idee???
Ich hab folgende Frage:
Ich möchte, daß ich beim benutzen eines bestimmten Gegenstandes (z.B. eine Flasche Öl) mit einem nicht dafür vorgesehenen Hotspot oder anderem Objekt einen Standardspruch bekomme. (so was wie: "Das braucht nicht eingeölt zu werden.")
Mach ich das gleiche mit nem anderen gegenstand (z.B. ner Klammer) dann soll wieder ein anderer Standardspruch kommen. (z.B. "Da gibts nichts zum Festklammern.")
Das ganze soll dann für das ganze Spiel aktiv sein.
Ich bin zwar über die Hilfe dahintergestiegen, was ich im Global-Script schrieben muß, wenn man generell einen falschen Gegenstand mit einem Hotspot benutzt, aber dann kommt halt unabhängig vom Gegenstand immer dieselbe Meldung, was auf Dauer recht eintönig ist.
Irgendeine Idee???
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
in unhandled event könnte man für schauen ZB:
und dann eine neue funktion die heisst:
bezogen auf das mmm template.
aber in ähnlicher form kann man das in jedes game einbauen, auch bezugnehmend auf das gerade anivisierte object ZB: mit
GetLocationName(mouse.x,mouse.y,name);
und dann if (random==0) DisplaySpeech(GetGlobalInt(1), "Trust me, you don't wanna look at the %s.", name);
das ist aber in englisch wesentlicher einfacher wegen der artikel.
EDIT: erster , diese version ist natürlich noch für die pre 2.7 ags versionen, da ich annehme das du dein projekt noch mit 2.62 fertigmachst
Code: Alles auswählen
else if (UsedAction (A_LOOK_AT))
{
random_look();
// DisplaySpeech (GetPlayerCharacter(), "Nett.");
}
Code: Alles auswählen
function random_look() {
int random = Random(6);
if (random==0) DisplaySpeech(GetPlayerCharacter (), "Ich will mir das nicht anschauen.");
else if (random==1) DisplaySpeech(GetPlayerCharacter (), "Da ist nichts wichtiges auf dem Teil");
else if (random==2) DisplaySpeech(GetPlayerCharacter (), "Reine Zeitverschwendung auf das Teil zu starren.");
else if (random==3) DisplaySpeech(GetPlayerCharacter (), "Da sind keine Hinweise auf dem Drum");
else if (random==4) DisplaySpeech(GetPlayerCharacter (), "Da daraufzustarren hilft nicht viel.");
else if (random==5) DisplaySpeech(GetPlayerCharacter (), "Ok ich hab mir das angeschaut, was jetzt?");
else if (random==6) DisplaySpeech(GetPlayerCharacter (), "Schaut ein bisschen ungewöhnlich aus.");
}
aber in ähnlicher form kann man das in jedes game einbauen, auch bezugnehmend auf das gerade anivisierte object ZB: mit
GetLocationName(mouse.x,mouse.y,name);
und dann if (random==0) DisplaySpeech(GetGlobalInt(1), "Trust me, you don't wanna look at the %s.", name);
das ist aber in englisch wesentlicher einfacher wegen der artikel.
EDIT: erster , diese version ist natürlich noch für die pre 2.7 ags versionen, da ich annehme das du dein projekt noch mit 2.62 fertigmachst
Zuletzt geändert von Rocco am 24.05.2005, 18:47, insgesamt 1-mal geändert.
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Wie man die sogenannten Custom Properties erstellt und dann im Spiel darauf zugreift, steht hier:
Hilfedatei -> Other Features -> Custom Properties
Leider sind sie bis jetzt read-only. In einem späteren AGS-release lassen sie sich vielleicht während des Spiels ändern.
global script:
Hilfedatei -> Other Features -> Custom Properties
Leider sind sie bis jetzt read-only. In einem späteren AGS-release lassen sie sich vielleicht während des Spiels ändern.
global script:
Code: Alles auswählen
function unhandled_event(int what, int type) {
string mess; // message
// ...
if (what==2) {
// ...
if (type==3) { // Use inventory on object
GetInvPropertyText(game.inv_activated, "doesntwork", mess);
player.Say(mess);
}
// ...
}
// ...
}
Use gopher repellent on funny little man
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Kein Thema.
PS: Nachdem ich AGS entdeckt hatte, hab ich in der Arbeit (wenn nix zu tun war) das komplette Technical Forum und Technical Archive durchgelesen
Hat lang gedauert, aber auch sehr geholfen. Da sind die echten Checker, z.B. Gilbot, Strazer und Scorpiorus.
PS: Nachdem ich AGS entdeckt hatte, hab ich in der Arbeit (wenn nix zu tun war) das komplette Technical Forum und Technical Archive durchgelesen
Hat lang gedauert, aber auch sehr geholfen. Da sind die echten Checker, z.B. Gilbot, Strazer und Scorpiorus.
Use gopher repellent on funny little man
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- DernetteEddy
- Süßwasserpirat
- Beiträge: 298
- Registriert: 30.06.2004, 00:31
- Rocco
- Adventure-Treff
- Beiträge: 1019
- Registriert: 25.11.2003, 16:20
- Wohnort: Ronville
- Kontaktdaten:
- KhrisMUC
- Adventure-Gott
- Beiträge: 4674
- Registriert: 14.03.2005, 00:55
- Wohnort: München
Übrigens kann man sich viel Tippen sparen, wenn man sich eine eigene say-funktion schreibt.
Jetzt muss man nur nochschreiben.
Gilt nur für AGS 2.62, bei AGS 2.7 muss man eh nur nochschreiben. Auch ein Grund, umzusteigen.
Code: Alles auswählen
function say(string buffer) {
DisplaySpeech(GetPlayerCharacter(), buffer);
}
Code: Alles auswählen
say("Hallo!");
Gilt nur für AGS 2.62, bei AGS 2.7 muss man eh nur noch
Code: Alles auswählen
cEgo.Say("Hello!");
Use gopher repellent on funny little man
-
- Adventure-Gott
- Beiträge: 4575
- Registriert: 13.07.2004, 14:04
- Wohnort: Da wo muss
- Kontaktdaten:
Vielleicht jetzt ne fumme Frage. Bezieht sich player wirklich immer auf den Spieler (d.h. player ist ein Pointer) oder nur auf den Spieler, den man ganz am Anfang spielt?
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