If_bool will nicht

Das Board für Schwierigkeiten beim Adventure-Machen und zum Melden von Bugs
Post Reply
ketschiCoolio
PaC-DK Newby
Posts: 24
Joined: 06 Aug 2009, 17:08
Location: Germany
Contact:

If_bool will nicht

Post: # 75941Post ketschiCoolio
02 Aug 2010, 13:05

Hey Leute,
ich muss euch leider nochmal nerven. (Immerhin sieht man dann noch, dass ich an meinem Projekt arbeite :D). Also ich habe ein Problem.
Wenn man an den Fahrstuhl geht kann man auswählen wo man hinfahren will. Erdgeschoss, erster Stock (naja in den befindet man sich ;) ), zweiter Stock und dritter Stock. Sobald man irgendeinen Stock auswählt (außer den ersten, weil man sich ja dort befindet) sollte er einen setbool erstellen, anscheinend macht er das nicht. Hier mal die komplette Textszene, wenn man was auswählt:

Code: Select all

level (1)
 {
 row (1 ;Erdgeschoss ; true)
  {
  speech (self; Okay. Dann los!)
   {
    if_bool (Fahrstuhl_erstemal; true)
     {
     setbool (Fahrstuhl_erstemal; false)
     setbool (Fahrstuhl_erd; true)
     stopmusic ()
     beamto (self; Raum5;15;19;1)
     endscene ()
     }
    }
  }
 row (2 ;Erster Stock ; true)
  {
  speech (self; Ich bin im ersten Stock.)
  }
 row (3 ;Zweiter Stock ; true)
  {
  speech (self; Okay. Dann los!)
     {
    if_bool (Fahrstuhl_erstemal; true)
     {
     setbool (Fahrstuhl_erstemal; false)
     setbool (Fahrstuhl_2; true)
     stopmusic ()
     beamto (self; Raum5;15;19;1)
     endscene ()
     }
  }
 row (4 ;Dritter Stock; true)
  {
   speech (self; Okay. Dann los!)
     {
    if_bool (Fahrstuhl_erstemal; true)
     {
     setbool (Fahrstuhl_erstemal; false)
     setbool (Fahrstuhl_3; true)
     stopmusic ()
     beamto (self; Raum5;15;19;1)
     endscene ()
     }
  }
 row (5 ;Doch nicht ; true)
  {
   endscene ()
  }
 }
}
}

Hier ist der Code der Fahrstuhl Bedienung wenn man IM Fahrstuhl ist, also mit ihm fährt. So und die Sache ist, wenn man im Fahrstuhl ist und auf die Fahrstuhl Bedienung "Benutzt" soll er in das Stockwerk, was er davor ausgewählt hat, ich habe das mit if_bool gemacht, aber der reagiert nicht und macht gar nichts. Der Script:

Code: Select all

on (mouse)
showinfo (Fahrstuhl Anzeige; true)

on (click)
walkto (self; 19;19;2)


on (use)
 {
 if_bool (Fahrstuhl_erd; true)
  {
  beamto (self; Raum1; 12;12;1)
  }
}
{
 if_bool (Fahrstuhl_2; true)
  {
  beamto (self; Raum2; 12;12;1)
  }
}


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

Post: # 75942Post Schiman
02 Aug 2010, 14:46

Naja, auf den ersten Blick sehe ich, dass das zweite if_bool außerhalb der on(use)-Klammern steht. D.h. das wird schonmal nicht ausgeführt.

Machs mal in die Klammern rein und teste dann mal.

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 75943Post japanhonk
02 Aug 2010, 16:35

Mal ne ganz blöde Frage, trägt aber vielleicht nicht zur Problemlösung bei....

wieso setzt Du denn einen einzigen Befehl hinter einer If Anweisung in geschweifte Klammern, wenn da kein break () folgt (oder was Anderes)?

on (use)
{
if_bool (Fahrstuhl_erd; true)
{
beamto (self; Raum1; 12;12;1) <----------warum eingeklammert ?
}
}
{
if_bool (Fahrstuhl_2; true)
{
beamto (self; Raum2; 12;12;1) <----------warum eingeklammert ?
}
}

z.B.:

on (use)
{
if_bool (Fahrstuhl_erd; true)
beamto (self; Raum1; 12;12;1)

if_bool (Fahrstuhl_2; true)
beamto (self; Raum2; 12;12;1)
}

Ausserdem hast Du im Oberen Teil die Klammern unterschiedlich gesetzt:
Ich würde mal sagen, dass die zweit- und drittletzte Klammer eher row 3 und row 4 abschliessen sollten.


level (1)
{
-----------------------------------------------------------------------
row (1 ;Erdgeschoss ; true)
{
speech (self; Okay. Dann los!)
{
if_bool (Fahrstuhl_erstemal; true)
{
setbool (Fahrstuhl_erstemal; false)
setbool (Fahrstuhl_erd; true)
stopmusic ()
beamto (self; Raum5;15;19;1)
endscene ()
}
}
}
-------------------------------------------------row 1 mit 3 Klammern Ende---
row (2 ;Erster Stock ; true)
{
speech (self; Ich bin im ersten Stock.)
}
----------------------------------------------row 2-------------------------
row (3 ;Zweiter Stock ; true)
{
speech (self; Okay. Dann los!)
{
if_bool (Fahrstuhl_erstemal; true)
{
setbool (Fahrstuhl_erstemal; false)
setbool (Fahrstuhl_2; true)
stopmusic ()
beamto (self; Raum5;15;19;1)
endscene ()
}
}
----------------------------------------row 3 - 3 Klammern auf, nur 2 zu ?----
row (4 ;Dritter Stock; true)
{
speech (self; Okay. Dann los!)
{
if_bool (Fahrstuhl_erstemal; true)
{
setbool (Fahrstuhl_erstemal; false)
setbool (Fahrstuhl_3; true)
stopmusic ()
beamto (self; Raum5;15;19;1)
endscene ()
}
}
------------------------------------row 4 - 3 Klammern auf, nur 2 zu ?-------
row (5 ;Doch nicht ; true)
{
endscene ()
}
------------------------------------row 5 -------------------------------------
} --->wofür?
} --->wofür ?
--------------------------------hier Level 1 Ende---------------------------
}
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

ketschiCoolio
PaC-DK Newby
Posts: 24
Joined: 06 Aug 2009, 17:08
Location: Germany
Contact:

Post: # 75970Post ketschiCoolio
09 Aug 2010, 21:15

Sorry, ich habe es verbessert, aber es klappt immer noch nicht.

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 75971Post japanhonk
11 Aug 2010, 17:45

Hast Du im Dev Mode denn mal überprüft, ob die Bools zu Anfang richtig stehen ? Falls sie umgesetzt werden - sind die Walkmappunkte korrekt ?

Und Folgendes ist mir am Fahrstuhlcode aufgefallen :

Du schreibst

on (click)
walkto (self; 19;19;2)

UND

on (use)
{
....

Mit on (click) wird JEDER click zum walkto (self; 19;19;2) führen.

Damit setzt Du den on (USE) Teil evtl ausser Kraft.

Ersetze on (click) doch mal durch etwas Anderes (walk )
Last edited by japanhonk on 11 Aug 2010, 19:53, edited 1 time in total.
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

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

Post: # 75972Post Schiman
11 Aug 2010, 18:25

japanhonk wrote:Ersetze on (click) doch mal durch on (walk)
Seit wann solls denn on(walk) geben?

on(click) setzt on(use) nicht außer kraft... Was soll das denn bitte für ne Behauptung sein?

Wenn du on(click) mit walkto() verwendest, dann läuft der Charakter eben hin, bevor der on(use)-Teil abgearbeitet wird. Das ist doch unterstes Know-How.

Aber warum das nicht läuft, weiß ich nicht genau. Kann ich mit den wenigen Infos hier auch nicht herausfinden. Wenn du dein Projekt als .adz exportierst und mir per Mail schicken würdest, dann könnte ich dir helfen. (Mail erfährst du per PM).

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 75973Post japanhonk
11 Aug 2010, 19:50

Ups - sorry, mea culpa - hab den Befehl als standard bei mir verwendet (=gehe zu)

Da war ich wohl im Trott...



:oops:

Theoretisch hast du Recht , dass on click und on use unabhängig funktionieren sollten, habe aber genau deswegen in einem teil meines Turorials Probleme gehabt, die sich nur lösen liessen, als ich on click durch etwas Anderes ersetzt habe. Eine Erklärung dafür habe ich nie gefunden. Bin immer davon ausgegangen, dass ich irgendwas übersehen habe.
Und darauf bin ich auch nur nach enorm viel Ausprobieren drauf gekommen, quasi als Verzweifelungstat.
Seitdem verwende ich on click nur noch, wenn es keine anderen Aktionen
für ein Objekt gibt.
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

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

Post: # 75974Post Schiman
11 Aug 2010, 20:41

japanhonk wrote:Seitdem verwende ich on click nur noch, wenn es keine anderen Aktionen für ein Objekt gibt.
Hab noch nie von etwas derartigem gehört O.o.

japanhonk
PaC-DK God
Posts: 1716
Joined: 05 Feb 2009, 20:36
Location: NRW
Contact:

Post: # 75975Post japanhonk
11 Aug 2010, 21:40

ich auch nicht - aber ich habe in der Zeit öfter mal den Editor neu aufspielen müssen, weil offensichtlich intakte Teile nicht funktionierten. Da habe ich allerhand Merkwürdigkeiten erlebt, die einen ziemlich frustriert haben, weil kein Fehler zu finden war. Und das Eine oder Andere hab ich dann beibehalten.

Und zurück zum Thema - aus dem, was ich sonst hier sehe, kann ich keine
weiteren Probleme sehen, ausser, es stimmt im Umfeld etwas nicht ( Bool am Anfang falsch gesetzt, Walkmappunkte falsch...)
Es gibt 10 Arten von Usern :
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de

Post Reply