Ein neue Frage: Schalter Bool Problem
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
Ein neue Frage: Schalter Bool Problem
Hey Guys,
ich bins schon wieder!
Neue Frage: Man soll in einen Raum kommen...der ist fast komplett dunkel!
Davor hat man mit einer Eisenstange und blauen leuchtenden Schleim eine leuchtende Stange erstellt, sobald man nur IN DIESEM DUNKLEN RAUM ist soll man dort die leuc. Eisen. benutzen können und der Raum ist erhellt (sry kein passendes wort gefunden ) oder so..Dann soll die leuc. Eisen. aus dem Item verschwinden, aber der Raum ist trotzdem noch hell (naja hell blau)!
ich bins schon wieder!
Neue Frage: Man soll in einen Raum kommen...der ist fast komplett dunkel!
Davor hat man mit einer Eisenstange und blauen leuchtenden Schleim eine leuchtende Stange erstellt, sobald man nur IN DIESEM DUNKLEN RAUM ist soll man dort die leuc. Eisen. benutzen können und der Raum ist erhellt (sry kein passendes wort gefunden ) oder so..Dann soll die leuc. Eisen. aus dem Item verschwinden, aber der Raum ist trotzdem noch hell (naja hell blau)!
Last edited by ketschiCoolio on 12 Apr 2010, 18:11, edited 1 time in total.
Hi - hab ich das jetzt richtig verstanden ?
1. Raum dunkel,
2. Bei Benutzen der Stange = Raum Hell
3. Item Stange verschwindet aus dem Inventar und
4. Raum bleibt dann hell ?
Wenn ja - nimm doch einen Bool, der beim Benutzen der Stange umgesetzt wird.
Wenn der Raum dann wieder betreten wird, fragst Du im on (enter) Teil
diesen Bool ab. Wurde er gesetzt, ist der Raum z.B. hell, wenn nicht, wurde die Stange noch nicht benutzt.
Im Skript des Items fragst Du den Raum ab :
on (use)
if_room (RAUM)
....
(oder : ifnot_room (RAUM) -> break () )
Damit stellst Du sicher, dass die Stange nur in diesem Raum benutzt
werden kann.
Gruss
JH
1. Raum dunkel,
2. Bei Benutzen der Stange = Raum Hell
3. Item Stange verschwindet aus dem Inventar und
4. Raum bleibt dann hell ?
Wenn ja - nimm doch einen Bool, der beim Benutzen der Stange umgesetzt wird.
Wenn der Raum dann wieder betreten wird, fragst Du im on (enter) Teil
diesen Bool ab. Wurde er gesetzt, ist der Raum z.B. hell, wenn nicht, wurde die Stange noch nicht benutzt.
Im Skript des Items fragst Du den Raum ab :
on (use)
if_room (RAUM)
....
(oder : ifnot_room (RAUM) -> break () )
Damit stellst Du sicher, dass die Stange nur in diesem Raum benutzt
werden kann.
Gruss
JH
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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de
Code: Select all
on (use)
if_charin (self; Raum)
{
setlight(Raum; 135;144;255)
delitem(self;leuchtende Stange)
}
...
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
Ja also mit Cutscene wäre es natürlich noch besser!
Noch mal kurz eine Frage N00b Frage (Sorry bin im Stress!)!
Wie kann man noch einmal wenn man IM Inventar z.B. die Eisenstange benutzt mit dem Schleim (die auch im Inventar liegt), dass er das zusammen baut und dann die 2 Items entfernt und ein neues hinzugefügt dann nämlich z.B. "Eisenstange mit leuchteden Schleim".
Noch mal kurz eine Frage N00b Frage (Sorry bin im Stress!)!
Wie kann man noch einmal wenn man IM Inventar z.B. die Eisenstange benutzt mit dem Schleim (die auch im Inventar liegt), dass er das zusammen baut und dann die 2 Items entfernt und ein neues hinzugefügt dann nämlich z.B. "Eisenstange mit leuchteden Schleim".
Für die Eisenstange:
Für den Schleim:
Code: Select all
on (link)
{
if_link(leuchtender Schleim)
{
delitem(self;Eisenstange)
delitem(self;leuchtender Schleim)
additem(self;leuchtende Eisenstange)
break()
}
speech(self; Damit kann ich das nicht benutzen!)
Code: Select all
on (link)
{
if_link(Eisenstange)
{
delitem(self;Eisenstange)
delitem(self;leuchtender Schleim)
additem(self;leuchtende Eisenstange)
break()
}
speech(self; Damit kann ich das nicht benutzen!)
...
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
Der hat mir Error angezeit, weil du so eine Klammer ( } ) vergessen hattest, aber wenn ich jetzt den Schleim aufgesammelt habe und die Eisenstange auch und dann Benutzen klicke und dann auf die Eisenstange sagt der gleich sofort "Nein das geht nicht".
Eisenstange (Script von der Inventar Eisenstange):
Blaue Grütze (auch im Inventar):
Eisenstange (Script von der Inventar Eisenstange):
Code: Select all
on (mouse)
showinfo (Eisenstange ; true)
on (rightclick)
speech (self; Eine Eisenstange.)
on (link)
{
if_link(Blaue Grütze)
{
delitem(self;Eisenstange)
delitem(self;Blaue Grütze)
additem(self;Eisenstange mit leuchtenden Schleim)
}
speech(self; Damit kann ich das nicht benutzen!)
}
Code: Select all
on (mouse)
showinfo (Leuchtende blaue Grütze ; true)
on (rightclick)
speech (self; Das ist leuchtende blaue Grütze.)
on (link)
{
if_link(Eisenstange)
{
delitem(self;Eisenstange)
delitem(self;Blaue Grütze)
additem(self;Eisenstange mit leuchtenden Schleim)
}
speech(self; Damit kann ich das nicht benutzen!)
}
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
...schon mal im Ordner "backups" nachgeschaut ? Da sollte dein Skript noch drin sein...
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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
Mh..ich habs wieder hin bekommen..nur jetzt habe ich wieder ein Problem. Und zwar mit einem Schalter usw. Ich erkläre mal die Situation und wo mein Problem liegt: Man geht in den Raum rein man sieht ein Bild wenn man es anredet sagt der ganz einfach "Geht nicht." wenn man es einmal angeschaut hat und wieder anredet sagt er "Feel the Power." (das habe ich ja schon geklappt). Dann dreht sich ein Schalter aus der Wand. So und hier das eigentliche Problem. Er soll einmal den Schalter benutzen können und dann soll der sagen "Nein, nochmal will ich den nicht drücken.". Ich habe es mit einem Bool gemacht hier der Script des Schalters.
Im Boolmenü hat der auch kein Hacken.
Code: Select all
{
if_bool (Herbert Schalter;false)
{
on (mouse)
showinfo (Schalter; true)
on (look)
speech (self; Ich glaube das ist ein Schalter.)
on (use)
cutscene (Herbert Schalter drücken)
break()
}
if_bool (Herbert Schalter; true)
{
on (mouse)
showinfo (Betätigter Schalter;true)
on (look)
speech (self; Ich glaube das ist ein Schalter.)
on (use)
speech(self; Nein. Ich will den nicht noch einmal drücken.)
}
}
Setzt Deine Cutscene denn auch den Bool um ?
Und mit dem on_mouse Teil hab ich auch Zahnweh...
on mouse sollte der erste Befehl eines Objektes sein.
Ich würde es so schreiben :
on (mouse)
{
if_bool (Herbert Schalter;false)
showinfo (Schalter; true)
if_bool (Herbert Schalter; true)
showinfo (Betätigter Schalter;true)
}
on (look)
if_bool (Herbert Schalter;false)
speech (self; Ich glaube das ist ein Schalter.)
on (use)
{
if_bool (Herbert Schalter;false)
{
setbool (Herbert Schalter;true)
cutscene (Herbert Schalter drücken)
break()
}
speech(self; Nein. Ich will den nicht noch einmal drücken.)
}
Alternativ setz das Schalterobjekt in einen anderen Zustand und frag DEN ab (Kannst ja das Selbe Bild im Objekt für den neuen Zustand benutzen - so kann man sogar 10 verschiedene Aktionen oder Sprüche laufen lassen, mit einem Bool nur 2 )
on (use)
{
if_obj (schalter;1)
{
setobj (schalter;2)
cutscene (Herbert Schalter drücken)
break()
}
if_obj (schalter;2)
speech (self;Nein, das will ich nicht nochmal benutzen)
}
Und mit dem on_mouse Teil hab ich auch Zahnweh...
on mouse sollte der erste Befehl eines Objektes sein.
Ich würde es so schreiben :
on (mouse)
{
if_bool (Herbert Schalter;false)
showinfo (Schalter; true)
if_bool (Herbert Schalter; true)
showinfo (Betätigter Schalter;true)
}
on (look)
if_bool (Herbert Schalter;false)
speech (self; Ich glaube das ist ein Schalter.)
on (use)
{
if_bool (Herbert Schalter;false)
{
setbool (Herbert Schalter;true)
cutscene (Herbert Schalter drücken)
break()
}
speech(self; Nein. Ich will den nicht noch einmal drücken.)
}
Alternativ setz das Schalterobjekt in einen anderen Zustand und frag DEN ab (Kannst ja das Selbe Bild im Objekt für den neuen Zustand benutzen - so kann man sogar 10 verschiedene Aktionen oder Sprüche laufen lassen, mit einem Bool nur 2 )
on (use)
{
if_obj (schalter;1)
{
setobj (schalter;2)
cutscene (Herbert Schalter drücken)
break()
}
if_obj (schalter;2)
speech (self;Nein, das will ich nicht nochmal benutzen)
}
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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de
-
- PaC-DK Newby
- Posts: 24
- Joined: 06 Aug 2009, 17:08
- Location: Germany
- Contact:
A) wegen der Übersicht - Wenn ich eine bestimmte Reihenfolge einhalte, habe ich es bei langen Skripten einfacher - on mouse, on look, on use, on pickup - on link - versuche ich meistens einzuhalten.
B) Weil eine If Abfrage als Erstes u.U. gar nicht definieren könnte, was getan werden soll - undefinierte aktion = keine aktion
B) Weil eine If Abfrage als Erstes u.U. gar nicht definieren könnte, was getan werden soll - undefinierte aktion = keine aktion
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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de
Okay, klar auf
bezogen machts wirklich keinen Sinn. Ich dachte du meintest, man solle bei mehreren on() Ereignissen in einem Skript das on(mouse) immer als erstes voranstellen. Das hätte ich nicht nachvollziehen können.ketschiCoolio wrote:Code: Select all
{ if_bool (Herbert Schalter;false) { on (mouse) showinfo (Schalter; true)
Ist zwar kein muss , aber sinnvoll meiner Ansicht nach.
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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de