Hay Leute es ist wider winder ,zeit für Point & Click.
Habe in invetar 3 dinge, docht ,feuerzeug aus,bensin,die 3 sind mit einander verlinkt,der Docht kommt ins feuerzeug_aus, so weit so gut,dan des Bensin, wobei das feuerzeug aus, auf feuerzeug_an gesetzt wird, das die flame brend.Nunn solde es an sein, was nach 3 odr mermaligen benutzen geht ,es solde beim ersten mal gehen,danach ist es kein problem,2.. feuerzeug_aus müste nunn ferschwienden was es nicht tut.
In meinen skript ist der Wurmm drin wer kann mir Hälfen?.
Hir das skript feuerzeug_aus.................................................................
on(mouse)
showinfo (Ein altes Feuerzeug ; true)
on (look)
speech (karl;Mist es feld noch ein Docht und Bensin,es hat noch ein Loch)
on (pickup)
break()
{
pickup (karl)
additem (karl; feuerzeug_aus)
playsound (pickup)
}
on (use)
link(bensin)
on (link)
{
if_link (docht)
{
if_bool (feuer_auf; false)
setbool (feuer_zu; true)
delitem (karl; docht)
on (link)
{
if_link (bensin)
delitem (karl;feuerzeug_aus)
if_bool (lichtbrennt ; false)
additem (karl; feurerzeug_an)
playsound (click)
setbool (lichtbrennt ; true)
timer (20)
delitem (karl; feurerzeug_an)
timer (15)
setbool (lichtbrennt ; false)
break()
}
if_link (docht)
if_bool(lichtbrennt ; true)
{
}
speech (karl;Es Brend)
break()
}
speech (karl; Damit kann man das nicht benutzen. ; speech_cantuse)
}
on (link)
if_link (licht4)
if_bool (fakel_an;true )
setbool (fakel; false)
delitem (karl; licht4)
on(link)
{
if_link(bensin)
{
delitem(karl;bensin)
speech(karl;Da is noch was drin!)
break()
}
if_link(docht)
{
delitem(karl;docht)
speech(karl;Docht fürs Feuerzeug)
break()
}
if_link(feurerzeug_an)
{
delitem(karl;feurerzeug_an)
speech(karl;Es Brend)
break()
}
speech(karl;Das wiell ich nicht)
}
:pcprob: ICH BIN NICHT DER SCHLAUSDE MFG PINKY
invetar
Hi Pinky,
woll´n mal sehen...
So beim ersten Drüberschauen habe ich einige Kleinigeiten entdeckt.
z.B.:
on (pickup)
break()
{
pickup (karl)
additem (karl; feuerzeug_aus)
playsound (pickup)
}
Was soll denn nun passieren bei pickup ?
break oder die eingeklammerte Aktion ?
Das on pickup -> break muss im Gegenstandsskript stehen, nicht im Objektskript.
Ich schlage folgendes vor :
on (pickup)
{
if_hasitem (karl;feuerzeug_aus) -> schon vorhanden im Inventar ?
break() -> Wenn ja, dann break()
pickup (karl) ->sonst aufheben
additem (karl; feuerzeug_aus;1)
playsound (pickup)
}
Dein additem Befehl ist auch nicht richtig, es fehlt die Nummer des Inventars, habe es oben schon korrigiert, die 1 am Ende ist wichtig, damit
das Programm weiss, welches Inventar gemeint ist.
Genauso musst Du es auch schreiben, wenn Du einen Gegenstand löschen möchtest :
delitem (karl; docht ;1)
Und wenn es Probleme mit der Ausführung gibt, kann das an den Klammern liegen:
on (look)
speech (karl;Mist es fehlt noch ein Docht und Benzin,es hat noch ein Loch)
on (link)
{
if_link (docht)
{
if_bool (feuer_auf; false)
setbool (feuer_zu; true)
delitem (karl; docht)
....
wenn der Bool feuer_auf false ist, dann sollen doch alleBefehle, die drunter stehen ( im Beispiel hier ) ausgeführt werden ?
Dann klammere die mit ein, sonst wird nur der erste Befehl unter dem if
Befehl ausgeführt, wenn die Bedingung zutrifft. Trifft sie nicht zu, wird der übernächste Befehl ausgeführt.
Versuche es mal so :
on (link)
{
if_link (docht)
{
if_bool (feuer_auf; false)
{ -> Alles in den Klammern ab hier, wenn false
setbool (feuer_zu; true)
delitem (karl; docht)
} } }
....
Viel Erfolg
Manni
woll´n mal sehen...
So beim ersten Drüberschauen habe ich einige Kleinigeiten entdeckt.
z.B.:
on (pickup)
break()
{
pickup (karl)
additem (karl; feuerzeug_aus)
playsound (pickup)
}
Was soll denn nun passieren bei pickup ?
break oder die eingeklammerte Aktion ?
Das on pickup -> break muss im Gegenstandsskript stehen, nicht im Objektskript.
Ich schlage folgendes vor :
on (pickup)
{
if_hasitem (karl;feuerzeug_aus) -> schon vorhanden im Inventar ?
break() -> Wenn ja, dann break()
pickup (karl) ->sonst aufheben
additem (karl; feuerzeug_aus;1)
playsound (pickup)
}
Dein additem Befehl ist auch nicht richtig, es fehlt die Nummer des Inventars, habe es oben schon korrigiert, die 1 am Ende ist wichtig, damit
das Programm weiss, welches Inventar gemeint ist.
Genauso musst Du es auch schreiben, wenn Du einen Gegenstand löschen möchtest :
delitem (karl; docht ;1)
Und wenn es Probleme mit der Ausführung gibt, kann das an den Klammern liegen:
on (look)
speech (karl;Mist es fehlt noch ein Docht und Benzin,es hat noch ein Loch)
on (link)
{
if_link (docht)
{
if_bool (feuer_auf; false)
setbool (feuer_zu; true)
delitem (karl; docht)
....
wenn der Bool feuer_auf false ist, dann sollen doch alleBefehle, die drunter stehen ( im Beispiel hier ) ausgeführt werden ?
Dann klammere die mit ein, sonst wird nur der erste Befehl unter dem if
Befehl ausgeführt, wenn die Bedingung zutrifft. Trifft sie nicht zu, wird der übernächste Befehl ausgeführt.
Versuche es mal so :
on (link)
{
if_link (docht)
{
if_bool (feuer_auf; false)
{ -> Alles in den Klammern ab hier, wenn false
setbool (feuer_zu; true)
delitem (karl; docht)
} } }
....
Viel Erfolg
Manni
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
Bensin
Erst einmal danke für die Hilfe
Das problen ligt im bensin wen ich es benutzen sol das Feurzeug auf an(Feurzeug _an) Gehen, was es erst nach mehreren versuche klabt (der docht Funzt gut) Das Feurzeug_aus müst weg sein für dei brenndauer,& das feurerzeug_an was es auch tut(mer oder weniger),dan solte feuerzeug_aus wieder da sein das ich es mit den bensin wider Benutzen kann
on (link)
{
if_link (bensin)
delitem (karl;feuerzeug_aus)
if_bool (lichtbrennt ; false)
additem (karl; feurerzeug_an)
playsound (click)
setbool (lichtbrennt ; true)
timer (30)
delitem (karl; feurerzeug_an)
timer (15)
setbool (lichtbrennt ; false)
break()
}
if_link (docht)
if_bool(lichtbrennt ; true)
{
}
speech (karl;Es Brend)
break()
}
speech (karl; Damit kann man das nicht benutzen. ; speech_cantuse)
Das problen ligt im bensin wen ich es benutzen sol das Feurzeug auf an(Feurzeug _an) Gehen, was es erst nach mehreren versuche klabt (der docht Funzt gut) Das Feurzeug_aus müst weg sein für dei brenndauer,& das feurerzeug_an was es auch tut(mer oder weniger),dan solte feuerzeug_aus wieder da sein das ich es mit den bensin wider Benutzen kann
on (link)
{
if_link (bensin)
delitem (karl;feuerzeug_aus)
if_bool (lichtbrennt ; false)
additem (karl; feurerzeug_an)
playsound (click)
setbool (lichtbrennt ; true)
timer (30)
delitem (karl; feurerzeug_an)
timer (15)
setbool (lichtbrennt ; false)
break()
}
if_link (docht)
if_bool(lichtbrennt ; true)
{
}
speech (karl;Es Brend)
break()
}
speech (karl; Damit kann man das nicht benutzen. ; speech_cantuse)
Hi,
sag mal, ist das brennende Feuerzeug eigentlich zu sehen ? Dann könntest
Du den Bool doch im Objektskript ( Skriptzeile der Animation ) umsetzen.
Abhängig vom Objektzustand kannst Du umgekehrt auch die Bools abfragen, hab damit ganz brauchbare Erfahrungen gemacht.
Beispiel : Eine Animation aus einigen Grafiken zeigt das brennende
Feuerzeug als Zustand 1. Im letzten Bild wechselst Du zu Zustand 2, der dann das Feuerzeug ohne Flamme zeigt. Und in dem Bild steht dann als
Skript : setbool (feuerzeug_aus;true)
Und dann kannst Du ja abfragen :
If_obj (Feuerzeug;1) -> Feuerzeug an....
setbool (feuerzeug_aus;false)
Nur mal so vorweg als Idee - ich schau aber weiter
Manni
sag mal, ist das brennende Feuerzeug eigentlich zu sehen ? Dann könntest
Du den Bool doch im Objektskript ( Skriptzeile der Animation ) umsetzen.
Abhängig vom Objektzustand kannst Du umgekehrt auch die Bools abfragen, hab damit ganz brauchbare Erfahrungen gemacht.
Beispiel : Eine Animation aus einigen Grafiken zeigt das brennende
Feuerzeug als Zustand 1. Im letzten Bild wechselst Du zu Zustand 2, der dann das Feuerzeug ohne Flamme zeigt. Und in dem Bild steht dann als
Skript : setbool (feuerzeug_aus;true)
Und dann kannst Du ja abfragen :
If_obj (Feuerzeug;1) -> Feuerzeug an....
setbool (feuerzeug_aus;false)
Nur mal so vorweg als Idee - ich schau aber weiter
Manni
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
So, versuche mal Folgendes :
on (link)
{
if_link (docht)
{
if_bool(lichtbrennt ; true)
{
speech (karl;Es Brennt)
break()
} }
if_link (bensin)
{ --------------------- -------------->Alles von Link Bensin
if_bool (lichtbrennt ; false)
{
delitem (karl;feuerzeug_aus;1)
additem (karl; feuerzeug_an;1) ->brennendes Feuerz. ins Inventar
playsound (click)
setbool (lichtbrennt ; true) ->Licht AN
timer (30) ->30 s Brenndauer
delitem (karl; feuerzeug_an;1) ->brennendes Feuerz. aus Inventar
additem (karl;feuerzeug_aus;1)->geschlossenes F. ins Inventar
setbool (lichtbrennt ; false) -> Licht wieder AUS
break()
}
speech (karl; Damit kann man das nicht benutzen. ; speech_cantuse)
} }
Ach ja - Du hattest einen Tippfehler drin :
additem (karl; feurerzeug_an;1)
delitem (karl; feurerzeug_an)
Sollte das nicht feuerzeug heissen ? Beim delitem weiter oben hast du das nämlich geschrieben. Dann klappt das natürlich auch nicht.
Viel Erfolg
Manni
on (link)
{
if_link (docht)
{
if_bool(lichtbrennt ; true)
{
speech (karl;Es Brennt)
break()
} }
if_link (bensin)
{ --------------------- -------------->Alles von Link Bensin
if_bool (lichtbrennt ; false)
{
delitem (karl;feuerzeug_aus;1)
additem (karl; feuerzeug_an;1) ->brennendes Feuerz. ins Inventar
playsound (click)
setbool (lichtbrennt ; true) ->Licht AN
timer (30) ->30 s Brenndauer
delitem (karl; feuerzeug_an;1) ->brennendes Feuerz. aus Inventar
additem (karl;feuerzeug_aus;1)->geschlossenes F. ins Inventar
setbool (lichtbrennt ; false) -> Licht wieder AUS
break()
}
speech (karl; Damit kann man das nicht benutzen. ; speech_cantuse)
} }
Ach ja - Du hattest einen Tippfehler drin :
additem (karl; feurerzeug_an;1)
delitem (karl; feurerzeug_an)
Sollte das nicht feuerzeug heissen ? Beim delitem weiter oben hast du das nämlich geschrieben. Dann klappt das natürlich auch nicht.
Viel Erfolg
Manni
Last edited by japanhonk on 14 Nov 2009, 06:34, edited 5 times 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
die, die Binärcode verstehen und die, die es nicht tun....
----------------------------------------------------------
STAR TREK FYNE :
http://www.fynegames.homepage.t-online.de
Andwort
Ich sammle ein EIN DOCHT,FEUERZUG_ AUS(ZU);BENSIN;DER docht soll mit dem Feurzug kombinird werden so das er weg ist,was auch geht.Das FEUERZUG AUS Ist im invetar ,wen ich das Bensin Habe sol das mit den Bensin auf ,an (FEUERZEUG AN(AUF)Flame Brend (30s AUS)FEUERZUG AUS(ZU) so das es zur jede zeit wieder mit den Bensin kombinird werden kan ,da ich feuer noch mer fach brauche,was auch mit den link klapt(wen das feuer mal an geht ) feuer aus soll für die brenn dauer weg sein.(Was Nicht geht) ICH HOFFE DAS IHR WIST WAS ICH MEIN MFG PINKY PS Ich schau mir das open mal an