Autor |
|
hollow
aka Hollow Man
  

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: germania
Beiträge: 251
 |
|
|
02.03.2003, 11:56 |
|
pokerface
Vampire
Verwarnung: 1


Dabei seit: Januar 2003
Geschlecht: 
Herkunft: Bergheim
Beiträge: 1017
 |
|
begin xxx
AddTopic xxx (musste dann dem Backofen geben)
end xxx
Dann noch auf Dialog gehen und nen neuen Topic aufmachen.
Dann klickste unten auf Result und schreibst : PCJoin"Backofen"
Auf ID den Backofen wählen und dann müsste es gehen.
__________________ Chatter1: Es gibt auch ein Leben jenseits des Internets!
Chatter2: wtf...
Chatter2: Link?
|
|
02.03.2003, 12:07 |
|
hollow
aka Hollow Man
  

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: germania
Beiträge: 251
 |
|
es geht net
__________________
Wenn die Wölfe heimkehren
Geleitet von der Kriegerschar!
Wenn die Raben wieder fliegen!
Wenn die stolzen Horden nahen!
www.get-metalized.de

|
|
02.03.2003, 17:28 |
|
madmaxx
Ehrenmitglied


Dabei seit: Januar 2003
Geschlecht: 
Herkunft:
Beiträge: 3257
 |
|
@poker: das wollte er doch garnet 
hmm...
Wen ich mal zeit hab schreib ich den rein
//EDIT//
So jetzt hab ich zeit...
Also
begin xxx
if ( OnActivate == 1 )
if ( MenuMode == 1)
return
endif
MessageBox "Was möchten sie backen?" " Brot " " Brötchen " " Nichts "
if ( messageOn == 1 )
set button to GetButtonPressed
if ( button == 0 )
player->removeitem'TeigID'
player->additem'brot'
Set messageOn to 0
return
endif
if ( button == 1 )
player->removeitem'TeigID'
player->additem'broetchen'
return
endif
if ( button == 2 )
return
endif
endif
end xxx
Vieleicht solte man auch erst aus mehl teig machen?
__________________
"Die Flamme unsrer Väter wird nie erlöschen
sie lodert in uns auf Ewigkeiten
die Zeit steht kurz still, wir erinnern uns
mit stolzem Gefühl."
Das aktuelle TESCSKompendium & einiges mehr findet ihr hier
Dieser Beitrag wurde von madmaxx am 02.03.2003, 18:09 Uhr editiert.
|
|
02.03.2003, 17:38 |
|
pokerface
Vampire
Verwarnung: 1


Dabei seit: Januar 2003
Geschlecht: 
Herkunft: Bergheim
Beiträge: 1017
 |
|
Zitat: Original von Mr.Attronach
es geht net
Machs doch selber ...
__________________ Chatter1: Es gibt auch ein Leben jenseits des Internets!
Chatter2: wtf...
Chatter2: Link?
|
|
02.03.2003, 17:59 |
|
madmaxx
Ehrenmitglied


Dabei seit: Januar 2003
Geschlecht: 
Herkunft:
Beiträge: 3257
 |
|
mensch poker!
Abgesehen davon, das dein... 'script' nicht das wahr, was er wollte ist eine solche reaktion unangebracht...
Auch du hasst desöfteren so - und heftiger reagfiert... also fass dirbitte erstmal an deine eigene nase
__________________
"Die Flamme unsrer Väter wird nie erlöschen
sie lodert in uns auf Ewigkeiten
die Zeit steht kurz still, wir erinnern uns
mit stolzem Gefühl."
Das aktuelle TESCSKompendium & einiges mehr findet ihr hier
|
|
02.03.2003, 18:07 |
|
hollow
aka Hollow Man
  

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: germania
Beiträge: 251
 |
|
|
02.03.2003, 19:23 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
zu Mad's Script: Button und MessageOn müssen meiner Erfahrung nach als Shorts definiert werden und die passage um die Messagebox sollte imho folgendermassen aussehen:
if (MessageOn == 0)
MessageBox "Was möchten sie backen?" " Brot " " Brötchen " " Nichts "
set MessageOn to 1
endif
Ausserdem stellt das script nicht sicher, dass der player wirklich teig bei sich hat, daher folgende Änderung: statt
if ( button == 0 )
player->removeitem'TeigID'
player->additem'brot'
Set messageOn to 0
return
endif
besser
if ( button == 0 )
if (player -> getitemcount TeigID > 0)
player->removeitem'TeigID' 1
player->additem'brot' 1
else
messagebox "Sie haben keinen Teig!"
endif
Set messageOn to 0
return
endif
und entsprechendes für die Brötchen. die Mengenangabe bei Additem und Removeitem ist ebenfalls unverzichtbar!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
Dieser Beitrag wurde von Garak am 02.03.2003, 20:54 Uhr editiert.
|
|
02.03.2003, 20:48 |
|
hollow
aka Hollow Man
  

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: germania
Beiträge: 251
 |
|
es geht immer noch net wie würde das script von
Garak und madMaxx507 zusammen aussehen?
__________________
Wenn die Wölfe heimkehren
Geleitet von der Kriegerschar!
Wenn die Raben wieder fliegen!
Wenn die stolzen Horden nahen!
www.get-metalized.de

|
|
03.03.2003, 17:20 |
|
chris_tm
Bard
  
Dabei seit: Februar 2003
Geschlecht: 
Herkunft: München
Beiträge: 37
 |
|
Ich hab zwar selbst noch nie eine elseif/ if / else Kombination benutzt aber es müsste eigentlich funktionieren :
Begin brotbacken
short messageOn
short button
if ( MenuMode == 1 )
Return
endif
if ( OnActivate == 1 )
if ( messageOn == 0 )
MessageBox "Was möchten sie backen?" " Brot " " Brötchen " " Nichts "
set messageOn to 1
set button to GetButtonPressed
endif
endif
if ( messageOn == 1 )
if ( button == 0 )
if ( player -> GetItemCount TeigID > 0 )
player->RemoveItem TeigID 1
player->AddItem brotID 1
set messageOn to 0
else
MessageBox "Sie haben keinen Teig!"
set messageOn to 0
elseif ( button == 1 )
if ( player -> GetItemCount TeigID > 0 )
player->RemoveItem TeigID 1
player->AddItem broetchenID 1
set messageOn to 0
else
MessageBox "Sie haben keinen Teig"
set messageOn to 0
elseif ( button == 2 )
set messageOn to 0
endif
endif
endif
endif
endif
End brotbacken
Das script muss an den Ofen und der muss natürlich ein Activator sein, da man ihn sonst nicht "anklicken" kann.
Und vorher müssen das Brot und das Brötchen und der Teig mit der jeweils entsprechenden ID angelegt worden sein.
__________________
Meine Site
Dieser Beitrag wurde von chris_tm am 03.03.2003, 20:57 Uhr editiert.
|
|
03.03.2003, 20:51 |
|
madmaxx
Ehrenmitglied


Dabei seit: Januar 2003
Geschlecht: 
Herkunft:
Beiträge: 3257
 |
|
garak has spoken 
__________________
"Die Flamme unsrer Väter wird nie erlöschen
sie lodert in uns auf Ewigkeiten
die Zeit steht kurz still, wir erinnern uns
mit stolzem Gefühl."
Das aktuelle TESCSKompendium & einiges mehr findet ihr hier
|
|
03.03.2003, 21:02 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Chris, Du hast Dich doch noch mal in den Ifs verheddert (geht mit Einrücken natürlich leichter...):
beide male nach
MessageBox "Sie haben keinen Teig!"
set messageOn to 0
muss ein endif eingefügt werden (um den Else-Block abzuschliessen), dafür können am ende ein-zwei davon weg!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
04.03.2003, 11:34 |
|
chris_tm
Bard
  
Dabei seit: Februar 2003
Geschlecht: 
Herkunft: München
Beiträge: 37
 |
|
Stimmt, dann langen am Ende 3 endifs.
Wie gesagt hab ich noch kein Script mit "else" geschrieben...immer nur mit "elseif".
Man könnte den ganzen Block aber auch so machen :
if ( messageOn == 1 )
if ( button <= 1 )
if ( player -> GetItemCount TeigID < 1 )
MessageBox "Sie haben keinen Teig!"
set messageOn to 0
elseif ( button == 0 )
player->RemoveItem TeigID 1
player->AddItem brotID 1
set messageOn to 0
elseif ( button == 1 )
player->RemoveItem TeigID 1
player->AddItem broetchenID 1
set messageOn to 0
elseif ( button == 2 )
set messageOn to 0
endif
endif
endif
Dann hätte man die Abfrage ob Teig im Inventar ist nur einmal.
__________________
Meine Site
|
|
04.03.2003, 12:12 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
MessageOn ist nur eine Hilfsvariable, Du kannst damit die Messagebox nicht schliessen! Wenn die Teigabfrage unbedingt nur ein mal gemacht werden soll, dann bevor man den Auswahldialog bringt.
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
04.03.2003, 14:08 |
|
chris_tm
Bard
  
Dabei seit: Februar 2003
Geschlecht: 
Herkunft: München
Beiträge: 37
 |
|
Ich denke schon, dass das geht....allerdings hatte ich noch ein "Return" vergessen:
if ( messageOn == 1 )
if ( button <= 1 )
if ( player -> GetItemCount TeigID < 1 )
MessageBox "Sie haben keinen Teig!"
set messageOn to 0
Return
im Detail:
-messageOn ist 1, also wurde ein button gedrückt.
-wenn der button den Wert 0 oder 1 hat...
-und der player weniger als einen Teig hat dann:
>gibts die Message und
->messageOn wird wieder 0.
->> Return verhindert die Abfragen der anderen Alternativen(button 0,1,2)
->>>Da messagOn wieder 0 ist müsste man den Ofen erst wieder anklicken bevor irgendwas passiert.
Eine Endloswiederholung einer Message kann durch eine Variable doch genauso verhindert werden wie durch eine Funktion (OnActivate).
Oder meinst Du was anderes?
EDIT:
Nach einem Test des scripts weiss ich jetzt was Du meinst. Undzwar kommt die meldung immer wenn man den Ofen anklickt. Das kann man zwar auch verhindern in dem man das script umschreibt aber dann muss man den Ofen immer zweimal anklicken, was nicht so doll ist.
Hast recht gehabt
__________________
Meine Site
Dieser Beitrag wurde von chris_tm am 04.03.2003, 16:08 Uhr editiert.
|
|
04.03.2003, 14:55 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
zu Deiner Detailanalyse:
MessageOn = 1 heist nicht Button gedrückt, sondern Messagebox auf dem Schirm - und auch das nur, weil es im Script so gesetzt wird. Der eigentliche Denkfehler ist, dass einige MessageOn und Button für Systemvariablen halten - Imho sind beide Variablen nur Namenskonventionen, an die sich der Originalscripter gehalten hat, also persönliche Vorlieben/Angewohnheiten, wie sie jeder Programmierer entwickelt... er hätte genausogut Pancake und Coffecup schreiben können...
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
04.03.2003, 20:43 |
|
chris_tm
Bard
  
Dabei seit: Februar 2003
Geschlecht: 
Herkunft: München
Beiträge: 37
 |
|
Ich weiß, daß messageOn und button genausogut "Herbert" und "Willi" heißen könnte.
Und ja, es stimmt, daß messageOn==1 bedeutet, daß die Message auf dem Schirm ist.(für GetButtonPressed ist hier ja "button" da)
Entschuldige bitte meine schlampige Detailanalyse.
Kommt nicht wieder vor 
__________________
Meine Site
|
|
05.03.2003, 02:29 |
|
hollow
aka Hollow Man
  

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: germania
Beiträge: 251
 |
|
so, sry aber es funzt immer noch net! Wenn ich dann den ofen anklicke kommt "was möchtest du backen"...
dann wähle ich etwas auf und nichts passiert. dann will ich den Ofen wieder anwählen und es geht net mehr
Naja vielleicht könnt ihr ja dann auch noch mal ins skript einbauen dass man aus Korn Teig machen kann...?!?
Thx
__________________
Wenn die Wölfe heimkehren
Geleitet von der Kriegerschar!
Wenn die Raben wieder fliegen!
Wenn die stolzen Horden nahen!
www.get-metalized.de

|
|
11.03.2003, 13:56 |
|
chris_tm
Bard
  
Dabei seit: Februar 2003
Geschlecht: 
Herkunft: München
Beiträge: 37
 |
|
Sorry, mein Fehler. Ich hab oben ein paar Zeilen in falscher Reihenfolge geschrieben.
Das hier ist jetzt getestet und funzt :
Begin brotbacken
short messageOn
short button
if ( MenuMode == 1 )
Return
endif
if ( OnActivate == 1 )
if ( messageOn == 0 )
MessageBox "Was möchten sie backen?" " Brot " " Brötchen " " Nichts "
set messageOn to 1
elseif ( messageOn == 1 )
set button to GetButtonPressed
if ( button == 0 )
if ( player -> GetItemCount TeigID > 0 )
player->RemoveItem TeigID 1
player->AddItem BrotID 1
set messageOn to 0
else
MessageBox "Sie haben keinen Teig !"
set messageOn to 0
endif
elseif ( button == 1 )
if ( player -> GetItemCount TeigID > 0 )
player->RemoveItem TeigID 1
player->AddItem BrötchenID 1
set messageOn to 0
else
MessageBox "Sie haben keinen Teig !"
set messageOn to 0
endif
elseif ( button == 2 )
set messageOn to 0
endif
endif
endif
endif
endif
End brotbacken
Was ein bischen unschön an dem script ist, ist daß man nachdem man sich für Brot/ Brötchen oder Nichts entschieden hat, den Ofen nochmal anklicken muss, damit was passiert.
Ich weiss leider auch nicht, wie man das besser lösen könnte.
__________________
Meine Site
|
|
11.03.2003, 14:25 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
bedarf nur einer winzigen änderung, chris:
Begin brotbacken
short messageOn
short button
if ( OnActivate == 1 )
MessageBox "Was möchten sie backen?" " Brot " " Brötchen " " Nichts "
set messageOn to 1
endif
if ( messageOn == 1 )
set button to GetButtonPressed
if ( button == 0 )
if ( player -> GetItemCount TeigID > 0 )
player->RemoveItem TeigID 1
player->AddItem BrotID 1
set messageOn to 0
else
MessageBox "Sie haben keinen Teig !"
set messageOn to 0
endif
elseif ( button == 1 )
if ( player -> GetItemCount TeigID > 0 )
player->RemoveItem TeigID 1
player->AddItem BrötchenID 1
set messageOn to 0
else
MessageBox "Sie haben keinen Teig !"
set messageOn to 0
endif
elseif ( button == 2 )
set messageOn to 0
endif
endif
endif
endif
End brotbacken
OnActivate soll ja nur dafür sorgen, dass die Messagebox nur einmal gezeigt wird - die Buttonbehandlung muß einfach ausserhalb der OnActivate-bedingung stehen...
Ach ja: die Menumode-Geschichte ist nur notwendig, wenn Gegenstände bewegt werden oder timer laufen sollen - hier also unnötig!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
Dieser Beitrag wurde von Garak am 11.03.2003, 17:16 Uhr editiert.
|
|
11.03.2003, 17:14 |
|
|