Sie sind nicht angemeldet.

whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

1

Dienstag, 5. Januar 2010, 22:09

Timer für Scenario

Nachdem hier alle so fleißig am Karteneditor arbeiten, habe ich mich auch hinreißen lassen und diesen installiert. Habe auch schon mal ne nette Karte.
Möchte hier gerne einen Timer einbauen um eine Aufgabe in einer bestimmten Zeit zu lösen. Aber wie geht das ?
Habe die Editoranleitung gründlich gelesen, aber nix gefunden. Also komme ich hierher und frage die Spezialisten

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

2

Dienstag, 5. Januar 2010, 22:21

RE: Timer für Scenario

Hallo,
es gibt 2 Timer, der eine läuft rückwärts und wird als Uhr im Spiel angezeigt, der andere läuft vorwärts und wird nicht angezeigt.

Syntax:

SET TIMERAKTIV = FALSE; $ Schalter

IF irgendwas THEN
{
TIMER_SET(0 , 600); $ 600 Sekunden
TIMER_START(0); $ ab jetzt läuft der rückwärts
TIMERAKTIV = TRUE;
}
IF TIMERAKTIV == TRUE && TIMER_0 < 1 THEN
{
TIMERAKTIV = FALSE;
TIMER_STOP(0); $ sonst läuft der mit einer riesengrossen Zahl weiter
LOST("HUMAN") $ Game over
}

und natürlich in "signals"
TIMERAKTIV = FALSE

Timer 1 geht genauso, aber da der vorwärts läuft, musst du
TIMER_SET(1,0)
und IF TIMER_1 > xxx
setzen.

Viel Erfolg damit.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

3

Mittwoch, 6. Januar 2010, 08:17

Hallo Mods, bitte ins Editor-Forum verschieben.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

4

Mittwoch, 6. Januar 2010, 08:52

Sorry wegen dem falschen Forum, bitte auch darum diesen Beitrag zu verschieben und Danke für die schnelle Antwort.
War mir aber ein bissi zu schnell, hab ja grad mal Inselwelten erstellt und jetzt soll ich schon scripten. Würde da Bitte noch ein paar Antworten brauchen.

Also ich hab das als Endlosgame, muß es wohl mal in ein Scenario umwandeln.
Dürfte wohl über GUID Scenario erstellen gehen.

Die Synthax gehört sicher ins Script, aber was wo genau hin ?

Reicht dieser Code oder Bedarf es sonst noch Code um das Scenario zum laufen zu bringen?

IF irgendwas THEN ..... kann ich das wirklich so schreiben oder gehört statt <irgendwas> ein bestimmtes Ereigns ?
Was ist der höchste Wert für TIMER_SET ?

Thx und nochmals sorry wegen dem falschen Forum, war ne Unachtsamkeit von mir.

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

5

Mittwoch, 6. Januar 2010, 09:16

Oh ha,
also an Deinen Fragen sehe ich, dass wir anders vorgehen müssen.
Wenn du ein Szenario erstellen willst, dann nimm dir erstmal ein vorhandes aus dem
Verzeichnis szenes/SingeEndlessAddon, z.B. "Prunkbaumeister" (ist glaube ich endless0031). Das lädst du in Dieters Map-Editor, änderst unter "Welt" den Namen "Prunkbaumeister" in "Mein Szenario" und speicherst es dir mal separat ab (zB als Meins.sze)
Wenn du das dann in SingeEndlessAddon kopierst und die szenes.cach löschst, sollte es beim nächsten Annostart mit angeboten werden.

Danach schaust du dir erstmal viele vorhandene Skripte im Map-Editor an und dann kannst du ja mal schrittweise was verändern.

Ohne eine Gewisse Einarbeitung funktioniert das "Skripten" nicht.
Du kannst aber auch einfach nur vorhandene Inseln zusammenfügen und das Skript weglassen.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

Bomi

Meister der Kleintools

Beiträge: 3 175

Registrierungsdatum: 2. Mai 2003

  • Nachricht senden

6

Mittwoch, 6. Januar 2010, 15:59

Zitat

Original von whoGo
Die Synthax gehört sicher ins Script, aber was wo genau hin ?

Ich habe im BEC 2007 so eine Countdown-Steuerung verwendet, nimm das am besten als Basis für eigene Experimente oder als "Lehrmaterial"...
  ATH, Bomi

Contests: 2008 BEC BOC 1602 | 2007 BEC BOC | 2006 BEC BOC | 2005 BEC BOC | 2004 BEC

ANNOTunesANNOToolsMetropolaris, Georgolaris1602-Zeugs1503-SzenarienDieter's 1503-Editor

whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

7

Mittwoch, 6. Januar 2010, 20:37

Habe ich bereits getan ;) und es ist feinstes "Lehrmaterial". Der Timer läuft mal einwandfrei.

Was leider nicht läuft ist der Warenverkauf der Eingeborenen.

OBJECT_DEFINE
----------------------------
[ OBJECT_STADT "frei gewählter Name" InselID ] nehme ich mal an
$ Afrikaner
OBJECT_STADT "AFR1" 13
$ Piraten
OBJECT_STADT "PIR2" 19

PLAYERMAPPER_DEFINE
----------------------------
[ "SpAlias" SpielerID ]
"HUMAN01" 0
"ESKIMOS01" 1
"BEDUINEN01" 2
"AFRIKANER05" 3
"SUEDSEE01" 4
"PIRAT01" 5
"CG01" 6
"CG02" 7
"DUMMYPLAYER" 31


SCRIPT_KERNEL
----------------------------
$ -------------------------------------------------------
$ Script Juli 2007 by Bomi B.
$ -------------------------------------------------------
INITBLOCK()
{
TIMER_SET(0,720000);
TIMER_START(0);
TIMER_SET(1,10);
TIMER_START(1);
}
$ -------------------------------------------------------
$ Variablen initialisieren...
$ -------------------------------------------------------
SET ENDFLAG = FALSE;
$ -------------------------------------------------------
$ Permanente Abfragen...
$ -------------------------------------------------------
IF ENDFLAG == FALSE && TIMER_0 < 100 THEN
{
TIMER_STOP(1);
SHOWMESSAGE("BEC2007-Save.htm");
}
IF ENDFLAG == FALSE && TIMER_0 < 1 THEN
{
ENDFLAG = TRUE;
TIMER_STOP(0);
TIMER_STOP(1);
LOST("HUMAN01");
}
$ -------------------------------------------------------
$ Eingeborenenhandel...
$ -------------------------------------------------------
IF ENDFLAG == FALSE && TIMER_1 > 5 THEN
{
TIMER_STOP(1);
TIMER_SET(1,0);
$ Afrikaner I, Zucker, Wolle
SET_FOR_BUY("SALZ","AFRIKANER05",41);
SET_FOR_BUY("TABAK","AFRIKANER05",42);
CHEAT("AFR1","HEILKRAEUTER",13);
CHEAT("AFR1","TIERHAEUTE",13);
SET_FOR_SELL("HEILKRAEUTER","AFRIKANER05",12);
SET_FOR_SELL("TIERHAEUTE","AFRIKANER05",27);
$ Piraten, Marmor
CHEAT("PIR2","ZIEGEL",10);
CHEAT("PIR2","WERKZEUG",8);
SET_FOR_SELL("ZIEGEL","PIRATEN02",10);
SET_FOR_SELL("WERKZEUG","PIRATEN02",8);
$ Timer neu starten
TIMER_START(1);
}

SIGNALS
----------------------------
SCHUETTIINITSIG = TRUE ?? Was ist das ???
ENDFLAG = FALSE

Der Pirat und der Afrikaner handeln ganz normal wie ohne Script. Denke mal ich muß die noch irgendwie behandeln.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »whoGo« (6. Januar 2010, 20:38)


S.D.

Boardsmutje

Beiträge: 1 055

Registrierungsdatum: 21. Oktober 2006

  • Nachricht senden

8

Mittwoch, 6. Januar 2010, 21:27

äääh

mach daraus :SET_FOR_SELL("ZIEGEL","PIRATEN02",10); SET_FOR_SELL("WERKZEUG","PIRATEN02",8) ;

mal: SET_FOR_SELL("ZIEGEL","PIRAT01",10); SET_FOR_SELL("WERKZEUG","PIRAT01",8) ;

und das: SCHUETTIINITSIG = TRUE

muss laufen, wenn der initblock mitläuft.
ist also richtig da wo es nun ist.

whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

9

Donnerstag, 7. Januar 2010, 01:19

Das mit dem PIRAT geht klar, war aber nicht das Problem. Weder "AFRIKANER05", noch "PIRAT01" handeln wie gescriptet, sondern nach Standard.

Beim TIMER tritt jetzt das Problem auf, daß er sich nicht speichert. Wird ein Savegame geladen fängt er wieder bei 0 (respektive bei 720000) an, was ja nicht sein soll.

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

10

Donnerstag, 7. Januar 2010, 12:17

Hallo,
bedenke immer: ein Fehler - und der Rest des Scriptes wird u.U. nicht ausgeführt.
Du liegst schon bei den Stadt-Objekten falsch, wenn du es so gemacht hast wie im Kommentar.

OBJECT_STADT "STADT5" 4

Die Stadt-ID ist Insel-ID - 1, solange du nur eine Siedlung auf der Insel hast.
Wenn es mehrere sind, addierst du bei jeder weiteren Siedlung 256 dazu.

In welcher Reihenfolge die Siedlungen dabei betrachtet werden, weiss ich nicht (ich nehme mal an, das die Koordinaten eine Rolle spielen).

Und pass auf, wenn du nachträglich eine Insel rausnimmst, verschieben sich die Insel-IDs.

Viel Erfolg

edit: schaul mal genau einen Thread tiefer, Dickerbaer hat es da sehr schön erklärt.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Admiral Drake« (7. Januar 2010, 12:19)


whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

11

Freitag, 8. Januar 2010, 22:18

So will nix verschreien, dürfte das aber mal hinbekommen haben.
Timer_0 läuft und bleibt auch im Save erhalten. Muß halt noch schauen wie es nach längerer Spieltezit aussieht.
Das mit dem SET_FOR_SELL ..._BUY läuft jetzt auch.

Was jedoch nicht geht ist SET_FOR_BUY("SCHWERT",... (oder andere Waffen) die kauft er nämlich nur 1x. Danach liegen die beim .sav-Game im Kontor. Gibt es da quasi zu CHEAT("irgendwas",.. einen negativ Befehl wo man die wieder rausbekommt ? Waffen dürfte er im Gegensatz zu anderen Waren im Kontorlager nicht abbauen, denn wenn man zB. "EISEN" verkauft liegt das im .sav-Game nicht im Kontor.

Gibt es vielleicht überhaupt irgendwo eine Liste mit all diesen SCRIPT-Befehlen oder muß man da alle Scenarios durchschauen. Falls es keine Solche gibt, aber auch andererseits Interesse daran besteht, würde ich gerne mithelfen eine Solche zusammenzustellen.

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

12

Freitag, 8. Januar 2010, 22:48

Also, die meisten Befehle funktionieren anscheinend auch mit negativen Werten, aber das musst du einfach mal ausprobieren.

Mit den Listen ist das immer so eine Sache. Ich baue mir gerade eine Excel-Tabelle auf, in die ich alles eintrage, was ich irgendo gefunden habe. Die möchte ich aber nicht weitergeben, bevor ich nicht wirklich ausprobiert habe, ob das funzt und wie die Syntax ist usw.

Wenn du konkrete Fragen hast, werde ich wie bisher nicht mit meinem Wissen hinter dem Berg halten, aber eigentlich bin ich ja auch noch ein ziemlicher Neuling.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

13

Freitag, 8. Januar 2010, 23:39

Also eine Excelliste wäre echt super würde dir beim Erstellen gerne helfen. Bin auch nicht Unerfahren im Code schreiben. (programiere mit VbA für Excel).
Was mir hier aber noch fehlt ist eben eine genaue Liste der Befehle und deren Synthax. Und dann natürlich die Erfahrung was geht und wie Anno so tickt.

Ich hätte da so eine nette Geschichte um die Herum man Quests aufbauen kann. Jede mit anderen Herausforderungen. Würde mich freuen wenn hier eine Zusammenarbeit entsteht.

PS: Das mit dem negativ Wert CHEAT("WARE","..",-69) funktioniert nicht, da geht der ganze Block nicht. Dachte es mir eh weil im Kontorlager kannst auch keinen negativen Wert eingeben. Aber probiert hab ichs natürlich.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »whoGo« (9. Januar 2010, 00:02)


14

Freitag, 8. Januar 2010, 23:47

Ich vermute du hast den selben Fehler gemacht wie ich und das Manual des Map Editors mit dem des Inseleditors überspeichert.

Im Map Editor Manual ist ein kleiner Ordner Namens "Skript", dort steht alles drin was bekannt ist, lade dir notfalls den Map Edit wieder runter.

Ich habe Anno 1503 komplett mit allen Editoren deinstalliert um Ruhe vor mir selbst zu haben, wenn ihr jedoch eine Skriptfrage habt könnt ihr diese per PN stellen.

Die Antwort wird aber dauern, habe jetzt andere Prioritäten.
*und wieder wech*
  Höflichkeit ist die höchste Form der Verachtung!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dickerbaer« (8. Januar 2010, 23:50)


whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

15

Freitag, 8. Januar 2010, 23:58

Jo genau das habe ich zuerst gemacht weil es so in der Anleitung steht. Hatte dann jedoch fehlerhafte Beschriftungstexte im Editor. Habe dann alles neu istalliert.
Jedoch der Inseleditor funktioniert NUR wenn er im selben Verzeichnis ist wie die editor.exe. Wenn ich den wo anders hintue gibt er mir beim Start ne Fehlermeldung, daß was nicht gefunden wird.

Thx auf jedenfall für deinen Hinweis werde dort gleich nachschauen.

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

16

Samstag, 9. Januar 2010, 08:28

Zitat

Original von whoGo
PS: Das mit dem negativ Wert CHEAT("WARE","..",-69) funktioniert nicht, da geht der ganze Block nicht. Dachte es mir eh weil im Kontorlager kannst auch keinen negativen Wert eingeben. Aber probiert hab ichs natürlich.


Genau da ist mein Problem. Ich habe das mit den negativen Werten gerade auch ausprobiert - und anscheinend sofort wieder so einen blöden Fehler reingebaut.
Nachdem ich es dann nochmal langsam probiert habe (erst +5, um zu sehen, dass der Befehl sauber ist) und dann mit -20, hat es funktioniert. Vielleicht ist bei dir einfach der Wert zu groß gewesen.

Genau deshalb werde ich nur Sachen weitergeben, die in einem Szenario von mir auch funktionieren, und dann am besten zusammen mit dem Szen.

Ich habe jetzt auch endlich Dieters Skript.txt gefunden und gelesen. Wirklich schön aufbereitet, hätte mir mein Excel-Sheet anscheinend sparen können. Immerhin habe ich in der Zwischenzeit das eine oder andere ausprobiert, was bei ihm noch unter "sonstiges" steht.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Admiral Drake« (9. Januar 2010, 08:30)


whoGo

Plankenstürmer

  • »whoGo« ist der Autor dieses Themas

Beiträge: 35

Registrierungsdatum: 20. Juni 2005

  • Nachricht senden

17

Samstag, 9. Januar 2010, 09:59

Also das mit dem negativ Wert bei CHEAT geht definitiv nicht. Kaum wurde der Befehl aufgerufen schwirrte das Game ab. Selbst bei Wert 0.
d.h. CHEAT( "Stadtname", "Material", menge > 0 )

Habe aber jetzt eine super Schaltung gefunden, wie man doch mit den Ureinwohnern Waffen dealen kann. Funkt nur ein bissi anders. D.h. die benötigen nur große Mengen aufeinmal. (SET_FOR_BUY(...., 69 ) <--- einzige Zahl wo geht.
Man kann aber die Gesamtmenge begrenzen und dann den Deal ausschalten.
Wie das mit Waffen halt so ist. Mit Kleinmengen geht da nix ;)
Aber man kann damit super Waffenlieferungen an die KI (Ureinwohner vorerst mal, Pirat geht nicht) gestalten. Waffen find ich deswegen so interessant, nicht weil ich gerne kämpfe, das mag ich eigentlich gar nicht. Sondern weil die Produktion außer Kosten nix (keine Einnahmen) bringt und daher ein genaues wirtschaften erfordert.

Habe auch von Endless auf Scenario umgestellt. Die Vorteile fürs Handel-scripten wiegen die Mehrarbeit um einiges auf.

Thx @ Dickerbaer für den tippt zur Anleitung. War sehr nützlich. Hatte das ganze Zocken doch auch sein Gutes. Du kannst mit der Weitergabe deiner gemachten Erfahrungen anderen große Freude bereiten. Und das ist doch was.

18

Samstag, 9. Januar 2010, 10:24

Freude bereiten ja aber nur noch denen die es verdienen, ich hab dich im ICQ aufgenommen, kannst das ja dann an Drake weiterleiten, er hat kein ICQ, PN geht auch.
  Höflichkeit ist die höchste Form der Verachtung!

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Dickerbaer« (9. Januar 2010, 10:29)


Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

19

Sonntag, 10. Januar 2010, 21:01

@whoGo: du hast eine PN von mir (schon seit gestern)
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !