Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Ok, jetzt wieder was zum Thema:
Bräuchte ein Script (oder besser einen Teil) der alle 15 Tage eine Kreatur "pruduziert" d.h. Sie wird bei ihm Plaziert mit PlaceOnMe dort plaziert. Dass soll aber alle 15 Tage passieren, also nicht nur ein einziges mal sondern alle 15 Tage. Die Kreatur ID heist jetzt einfach "ID"
-Teemperor
if ( date == 0 )
set date to DaysPassed
set date to ( date + 15 ) ; wenn du die Zeile weglässt erstellt es die
;Kreatur auch gleich beim ersten mal
endif
if ( date <= DaysPassed )
set date to DaysPassed
set date to ( date + 15 )
... Kreatur erzeugen
endif
ich habe keine Script-Anfrage, sondern ein Script-Problem und hoffe, dass mir jemand sagen was an diesem script hier falsch ist, denn eigentlich habe ich nur copy-und paste gemacht.
Habe einen neuen sound mit einer eigenen wave-datei erstellt. Dann diesen auf einen activator gelegt und ein script aus der Liste namens "Waterfall" kopiert. Dann habe ich ein neues Script gewählt, den Namen geändert und die ID meines sounds gegen die bestehenden ausgetauscht und save!
Jetzt kriege ich beim Laden des Spiels immer ein paar unschöne Fehlermeldungen, siehe screens! Keine Ahnung was da los ist!:huh:
Das kann sein, dass die ID doppelt ist, zwar nicht in der TC, aber in meiner anderen Mod. Habe gerade versuch die ID des sounds zu ändern, aber der CS bietet mir keine Möglichkeit mehr sie zu editieren, nichtmal löschen geht?!
Man kann doch eigentlich bei allen Sachen die ID nachträglich ändern, wieso nicht bei sounds?
Gibt es... öffne das CS und bereite alles vor um das TC-Plugin wie gewohnt zu laden. Bevor du aber gleich auf [OK] klickst, markierst du das TC-Plugin nochmal und klickst auf "DETAILS"... nun geht ein Fenster auf. Das scrollst runter bis irgendwo "SOUN" kommt. Hoffentlich hast du jetzt nicht zu viele eigene Sounds in der TC angelegt. Du wählst den "bösen" Eintrag aus, so dass er markiert ist und drückst [Del]... dann fragt er dich, ob die Ignore-Flag gesetzt werden soll. Da sagst du YES und machst das Fenster wieder zu. Jetzt öffnest du das Plugin mit OK und der böse Sound ist weg. Erstelle nun einfach einen neuen, ändere und speichere das Script entsprechend und speicher das Plugin ab. Fertig.
Ich weis nicht, ob dass Problem vor diesem hier schon abgeschlossen war, aber
ich schreib einfach meines rein.
Ich habe einen Tresor erstellt , bei dem nach dem Aktivieren eine MessageBox erscheint, die nach dem Code fragt. Dann hat man die Möglichkeit, mit den Buttons 1-9 den dreistelligen Code, der in den Globalen Variablen SaveFirstNumber, SaveSecondNumber und SaveThirdNumber gespeichert ist, einzugeben.
Dazu gibt es vie Schritte:
1. Button der 1. Stelle wird gedrückt, Variable wird auf Wert gesetzt.
2. Zweite MessageBox erscheint, zweite Stelle wird eingegeben.
3. Dritte Stelle wird eingegeben.
4. Überprüfung der Variablen
Der Save ist eine Tür und braucht desshalb keine "Rotate"-Befehle.
Mein Problem ist, dass sich irgendwie viele Message-Boxen überlappen und kein Button anklickbar ist, sobald man den Save aktiviert.
Hier ist der Script:
Begin SaveScript
short State
short MessageOn1
short MessageOn2
short MessageOn3
short button
short First
short Second
short Third
short Activated
short Code1
short Code2
short Code3
short Opened
set Code1 to SaveFirstNumber
set Code2 to SaveSecondNumber
set Code3 to SaveThirdNumber
if ( OnActivate == 1 )
if ( Opened == 0 )
set Activated to 1
return
else
set Opened to 0
Activate
endif
endif
if ( Activated == 1 )
if ( State == 0 )
set MessageOn1 to 1
if ( MessageOn1 == 1 )
MessageBox "Bitte gebt den Code ein. %.0f - %.0f - %.0f " First , Second , Third "1" "2" "3" "4" "5" "6" "7" "8" "9"
set button to GetButtonPressed
if ( button >= 0 )
set MessageOn1 to 0
endif
if ( button == 0 )
set First to 1
set State to 1
elseif ( button == 1 )
set First to 2
set State to 1
elseif ( button == 2 )
set First to 3
set State to 1
elseif ( button == 3 )
set First to 4
set State to 1
elseif ( button == 4 )
set First to 5
set State to 1
elseif ( button == 5 )
set First to 6
set State to 1
elseif ( button == 6 )
set First to 7
set State to 1
elseif ( button == 7 )
set First to 8
set State to 1
elseif ( button == 8 )
set First to 9
set State to 1
endif
endif
elseif ( State == 1 )
MessageBox "Bitte gebt den Code ein. %.0f - %.0f - %.0f " First , Second , Third "1" "2" "3" "4" "5" "6" "7" "8" "9"
set MessageOn2 to 1
if ( MessageOn2 == 1 )
set button to GetButtonPressed
if ( button >= 0 )
set MessageOn2 to 0
endif
if ( button == 0 )
set Second to 1
set State to 2
elseif ( button == 1 )
set Second to 2
set State to 2
elseif ( button == 2 )
set Second to 3
set State to 2
elseif ( button == 3 )
set Second to 4
set State to 2
elseif ( button == 4 )
set Second to 5
set State to 2
elseif ( button == 5 )
set Second to 6
set State to 2
elseif ( button == 6 )
set Second to 7
set State to 2
elseif ( button == 7 )
set Second to 8
set State to 2
elseif ( button == 8 )
set Second to 9
set State to 2
endif
endif
elseif ( State == 2 )
MessageBox "Bitte gebt den Code ein. %.0f - %.0f - %.0f " First , Second , Third "1" "2" "3" "4" "5" "6" "7" "8" "9"
set MessageOn3 to 1
if ( MessageOn3 == 1 )
set button to GetButtonPressed
if ( button >= 0 )
set MessageOn3 to 0
endif
if ( button == 0 )
set Third to 1
set State to 3
elseif ( button == 1 )
set Third to 2
set State to 3
elseif ( button == 2 )
set Third to 3
set State to 2
elseif ( button == 3 )
set Third to 4
set State to 3
elseif ( button == 4 )
set Third to 5
set State to 3
elseif ( button == 5 )
set Third to 6
set State to 3
elseif ( button == 6 )
set Third to 7
set State to 3
elseif ( button == 7 )
set Third to 8
set State to 3
elseif ( button == 8 )
set Third to 9
set State to 3
endif
endif
elseif ( State == 3 )
if ( First == Code1 ) && ( Second == Code2 ) && ( Third == Code3 )
Activate
MessageBox "Ihr habt den richtigen Code eingegeben."
set Activated to 0
set State to 0
set Third to 0
set Second to 0
set Opened to 1
set First to 0
set MessageOn1 to 0
set MessageOn2 to 0
set MessageOn3 to 0
else
MessageBox " Ihr habt den falschen Code eingegeben. "
set Activated to 0
set State to 0
set Third to 0
set Second to 0
set First to 0
set MessageOn1 to 0
set MessageOn2 to 0
set MessageOn3 to 0
endif
endif
endif
End SaveScript
Die Tab´s im Script sind wohl irgendwie velroren gegangen, sorry.
Sorry, aber dein Script sieht ein wenig gruselig aus. Wenn du schon Globals für den Code definierst, brauchst du die nicht auch noch in lokale Variablen zu kopieren, um sie zu prüfen. Ausserdem hat dein Script heftige Endlosschleifen produziert, daher auch die Tonnen von Fenstern und das Prüfen am Ende war auch buggy. Aber keine Sorge, dass bekommt man hin. Probier mal das hier:
Code:
Begin BX_SafeScript
;powered by £exaTec
short Activated
short MessageOn
short button
short State
short NR1
short NR2
short NR3
IF ( OnActivate == 1 )
set Activated to 1
endif
IF ( Activated == 0 )
return
EndIF
IF ( State == 5 )
set State to 0
set Activated to 0
IF ( NR1 == LX_CODENR_1 )
IF ( NR2 == LX_CODENR_2 )
IF ( NR3 == LX_CODENR_3 )
MessageBox "Ihr habt den richtigen Code eingegeben."
Activate
return
EndIF
EndIF
EndIF
MessageBox " Ihr habt den falschen Code eingegeben. "
return
EndIF
if ( State == 0 )
set NR1 to 0
set NR2 to 0
set NR3 to 0
set MessageOn to 1
EndIF
IF ( MessageOn == 1 )
IF ( State <= 2 )
MessageBox "Bitte gebt den Code ein: %.0f - %.0f - %.0f " NR1 , NR2 , NR3 "1" "2" "3" "4" "5" "6" "7" "8" "9"
Else
MessageBox "Bitte bestätigt den Code: %.0f - %.0f - %.0f " NR1 , NR2 , NR3 "BESTÄTIGEN" "VERWERFEN" "ABBRECHEN"
EndIF
set State to ( State + 1 )
set MessageOn to 0
Return
EndIF
set button to GetButtonPressed
IF ( button == -1 )
return
EndIF
IF ( State == 1 )
set NR1 to ( button + 1 )
set MessageOn to 1
ElseIF ( State == 2 )
set NR2 to ( button + 1 )
set MessageOn to 1
ElseIF ( State == 3 )
set NR3 to ( button + 1 )
set MessageOn to 1
ElseIF ( State == 4 )
IF ( button == 0 )
set State to 5
return
ElseIF ( button == 2 )
set Activated to 0
EndIF
set State to 0
EndiF
End BX_SafeScript
Damit sollte es funktionieren, ist 'ne Abwandlung eines Scripts, dass ich so ähnlich auch in meiner Hausmod einsetze...
Das er ein bisschen komisch ist, kann vieleicht daran liegen, dass ich einfach wild drauf los geschrieben habe und hinterher nur die gröbsten Fehler korrigiert habe.
Die Globalen waren aber dazu da, um den Code hinterher noch im Spiel verändern zu können
Das ist ja auch wieterhin möglich, aber wie gesagt: Man definiert Globals, um auf die Werte von überall her einen Zugriff zu ermöglichen. Folglich mußt du die Global nicht in eine lokale Variable kopieren, wenn du sie nur abfragen willst. Du kannst sie direkt ansprechen. In eine Local kopieren müßtest du sie nur, wenn du den Wert im Script verändern willst, ohne die Global selbst zu ändern. Das macht dieses Script allerdings nicht, daher ist es unnötig und frißt nur Speicher
Was das draufloscoden angeht... kenne ich - mit entsprechenden Resultaten :lol:
Jaja, gut. Also soweit läuft der Script ja, aber nachdem man im Spiel "Bestätigen" klickt, erscheint der bei mir sehr verhasste "EXPRESSION-ERROR", gefolgt von "Right eval".
Ich habe keine ahnung was die beiden bedeuten, wesshalb ich den Script nicht verbessern kann.
Trotzdem werde ich dich in den Credits erwähnen.
Hm. Bei mir funktioniert das Script tadellos. Der Fehler muß bei dir liegen. Mögliche Ursache:
Hast du nach dem Einbau meines Scripts deine Globals wieder reingeschrieben:
Code:
IF ( NR1 == [COLOR="Red"][B]LX_CODENR_1[/B][/COLOR] )
Falls nicht existiert meine Global in deiner Mod natürlich nicht, das könnte das der Grund für das Problem sein. Falls doch, überprüfe die Schreibweise.
Es könnte auch sein, dass irgendeine der von mir benutzten lokalen Veriablen bei dir als Globale Variable existiert (durch irgendeine Mod, die ich nicht verwende), dann kann das auch problematisch sein.