Probleme mit if_charin

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Probleme mit if_charin

Post: # 75061Post Schiman
24 Jan 2010, 21:30

Hallo Leute (vornehmlich Zimond),

ich habe ein kleines Problem mit if_charin. Es scheint nicht richtig zu funktionieren. Ich habe folgenden Skriptabschnitt in einem GEGENSTAND-Skript:

Code: Select all

on(use)
 {
   if_charin(self;LagerGeheimRaum)
    {
     minicut()
     walkto(self;19;14;2)
     wait(0,4)
     switchchar(Leon;Arbeiter)
     playsound(sprung;40)
     wait(1)
     walkto(self;17;17;1)
     offspeech(100;0;Die perfekte Tarnung.;u_arbeiterkleidung)
     delitem(self;ArbeiterKleidung)
     additem(self;ArbeiterKleidung2)
     break()
    }
   
  if_charin(self;Lager_Erd)
    {
     minicut()
     walkto(self;21;35)
     wait(0,4)
     switchchar(Leon;Arbeiter)
     playsound(sprung;40)
     wait(1)
     walkto(self;17;35;1)
     offspeech(100;0;Die perfekte Tarnung.;u_arbeiterkleidung)
     delitem(self;ArbeiterKleidung)
     additem(self;ArbeiterKleidung2)
     break()
    }

   if_charin(self;LagerOber)
    {
     minicut()
     walkto(self;12;16)
     wait(0,4)
     switchchar(Leon;Arbeiter)
     playsound(sprung;40)
     wait(1)
     walkto(self;16;16;1)
     offspeech(100;0;Die perfekte Tarnung.;u_arbeiterkleidung)
     delitem(self;ArbeiterKleidung)
     additem(self;ArbeiterKleidung2)
     break()
    }
 
   offspeech(100;0;In der Öffentlichkeit werde ich mich nicht umziehen.;u_nichtumziehen)
 }
Egal, ob ich mich in einem der drei abgefragten Räume befinde oder nicht, es wird immer der letzte Satz "In der Öffentlichkeit werde ich mich nicht umziehen." ausgegeben. Die Skriptabschnitte im Inneren der Abfrage werden gar nicht berührt.

Mache ich was falsch, oder ist das ein Bug?

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

Post: # 75065Post Baelavay
24 Jan 2010, 22:38

Vielleicht funktioniert if_charin() nicht richtig, aber bis das geklärt ist, würde ich an deiner Stelle noch was probieren. Ändert es etwas am Effekt, wenn du das Gegenstandskript so umstellst?:

Code: Select all

on(use)
 {
 minicut()

   if_charin(self;LagerGeheimRaum)
    {
     walkto(self;19;14;2)
     wait(0,4)
     switchchar(Leon;Arbeiter)
     playsound(sprung;40)
     wait(1)
     walkto(self;17;17;1)
     offspeech(100;0;Die perfekte Tarnung.;u_arbeiterkleidung)
     delitem(self;ArbeiterKleidung)
     additem(self;ArbeiterKleidung2)
     break()
    }
   
  if_charin(self;Lager_Erd)
    {
     walkto(self;21;35)
     wait(0,4)
     switchchar(Leon;Arbeiter)
     playsound(sprung;40)
     wait(1)
     walkto(self;17;35;1)
     offspeech(100;0;Die perfekte Tarnung.;u_arbeiterkleidung)
     delitem(self;ArbeiterKleidung)
     additem(self;ArbeiterKleidung2)
     break()
    }

   if_charin(self;LagerOber)
    {
     walkto(self;12;16)
     wait(0,4)
     switchchar(Leon;Arbeiter)
     playsound(sprung;40)
     wait(1)
     walkto(self;16;16;1)
     offspeech(100;0;Die perfekte Tarnung.;u_arbeiterkleidung)
     delitem(self;ArbeiterKleidung)
     additem(self;ArbeiterKleidung2)
     break()
    }
 
   offspeech(100;0;In der Öffentlichkeit werde ich mich nicht umziehen.;u_nichtumziehen)
 }
Oder wenn du schreibst

Code: Select all

on(use)
  cutscene(gegenstandskript123)
und das ganze Skript in ein eigenständiges Skript packst?

Ist möglicherweise beides völliger Käse... aber ich würds zumindest mal ausprobieren.

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

Post: # 75068Post Zimond
25 Jan 2010, 19:02

anstatt if_charin (self zu benutzen kannst du auch einfach if_room (raumname) benutzen, weil in dem Fall ja der geladene Raum auch immer der ist wo sich der fokusierte Char befindet.

Schiman
PaC-DK God
Posts: 1177
Joined: 20 Dec 2006, 21:48
Contact:

Post: # 75069Post Schiman
25 Jan 2010, 21:10

Hm, hab gar nicht gewusst, dass es so eine Abfrage gibt XD. Man lernt nie aus, danke für den Hinweis.

Trotzdem sei damit ein Bug bekannt gemacht^^.

Post Reply