Sie sind nicht angemeldet.

1

Freitag, 22. Januar 2010, 22:03

Schalter im Spiel

Ich habe von verschiedenen Usern hin und wieder Skriptfragen beantwortet.
Eine Sache fiel mir besonders schmerzlich auf, viele erkannten nicht, was die Einträge unter Signals bedeuten.

Diese Einträge (FLAGS) sind Schalter im Spiel, welche an, oder aus geschaltet werden können.

Oftmals wird dann aus vielen alten Skripts zusammenkopiert und überall sind nicht genutzte "Schalter" im Skript.
Am Ende läuft garnichts mehr.

Diese Schalter werden von Autor zu Autor willkürlich benannt und werden (von guten Skriptern) immer unten bei Signals eingetragen.


Zum nutzen dieser Schalter ein Beispiel:

SET GRANTLER = FALSE;

Ein Schalter namens Grantler wird oben in das Skript Kernel eingetragen (Ob in den Initblock, oder nicht ist Situationsabhängig)
Diesen Schalter wollen wir nutzen, wenn was bestimmtes passiert, soll er AN sein, ein "Signal" geben, was etwas auslöst.


IF GRANTLER == FALSE && OBJECT "CITY11C" INHABITANTCOUNT "SIEDLER" > 100 THEN
{
GRANTLER = TRUE;
GOTO_SCREEN( 165, 696, 23 );
ASSIGN_ALL_SOLDIERS("GOTT01","SPINNE7");
ASSIGN_OBJECT("CITY11B","CG01");
ASSIGN_OBJECT("CITY20A","CG02");
SHOWTEXT("Mibosuche1.htm");
}

Wenn die Stadt CITY11C 100 Siedler hat, wird der Schalter Grantler angeschaltet und Dinge passieren.


Unten bei Signals ist im Grunde das "Kontrollämpchen des Schalters" vor dem Spielstart ist dieses natürlich aus!
Natürlich muss auch eine "Lampe" drin sein, deswegen der Eintrag, sonst glotzt ihr im Grunde in eine leere Fassung (Das Skript läuft nicht).

Also bei Signals.

GRANTLER = FALSE

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Dickerbaer« (22. Januar 2010, 23:24)


2

Freitag, 22. Januar 2010, 22:30

Ihr habt nun diesen Schalter ausgelöst "GRANTLER=TRUE", eine Sache ist passiert und unten Bei Signals hat Anno AUTOMATISCH von "GRANTLER=FALSE" in "GRANTLER=TRUE" umgeschaltet.


Gut, sagt ihr euch, eigentlich wollt ihr aber noch mehr, euch ist aber bewußt, dass man eine leuchtende Glühlampe nur "aus" stellen kann und nicht doppelt an, oder doppelt aus.

Ihr kramt also einen zweiten Schalter aus der Schublade, der im Spiel etwas auslösen soll, wenn die Grantlerleuchte bereits leuchtet.

SET WURSTBROT = FALSE;
Dies wird genau so wie der GRANTLER Schalter eingebaut.

Wenn der GRANTLER an ist, der Spieler also schon 100 Siedler in CITY11C hatte soll was passieren, also:
IF GRANTLER == TRUE && WURSTBROT == FALSE && OBJECT "CITY11C" INHABITANTCOUNT "SIEDLER" > 1000 THEN
{
WURSTBROT = TRUE;
GOTO_SCREEN( 195, 606, 13 );
ASSIGN_OBJECT("ELKE","CG01");
ASSIGN_OBJECT("ANNA","CG02");
SHOWTEXT("Mibosuche2.htm");
}
(Bei 1000 Siedlern in der selben Stadt passiert was...)

Auch der WURSTBROT Eintrag wurde von euch als kleines Glühlämpchen als
WURSTBROT = FALSE
unter Signals eingetragen.



Wenn alles klappte hätte Anno nun folgendes daraus gemacht.
GRANTLER = TRUE
WURSTBROT = TRUE



Wenn ihr das alles verstanden habt, dann könnt ihr nun über "TRUE" und "FALSE" FLAGS an und aus schalten.
  Höflichkeit ist die höchste Form der Verachtung!

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Dickerbaer« (22. Januar 2010, 23:01)


3

Freitag, 22. Januar 2010, 22:33

Wenn jemand mag kann er diese Texte in Fachchinesisch übersetzen, ich selber erkläre lieber so.
  Höflichkeit ist die höchste Form der Verachtung!

4

Samstag, 6. Februar 2010, 22:05

Mal ein paar Worte...

...fürs Skript..

WEIN, PELZE, SCHMUCK, KLEIDUNG, LAMPENOEL, SEIDESTOFFE, STOFFE, HEILKRAEUTER, GEWUERZE, TABAKWAREN, ALKOHOL, SALZ, LEDER, NAHRUNG, HOLZKOHLE, WALSPECK, FARBSTOFFE, SEIDE, SEILE, TIERHAEUTE, FLACHS, EISEN, MEHL, KORN, FLEISCH, TABAK, ZUCKER, WOLLE, KANONESHIP, AXT, RUESTUNG, MAMOR, ZIEGEL, HOLZ, WERKZEUG, MAMORSTEIN, STEINE, EDELSTEINE, SALZSTEIN, GOLD, EISENERZ, LANZE, ARMBRUST, BOGEN, SCHWERT, [ GEWEHR oder MUSKETE ] noch nachprüfen

Annoraner

Schatzjäger

Beiträge: 2 028

Registrierungsdatum: 9. Juli 2007

  • Nachricht senden

5

Samstag, 6. Februar 2010, 22:06

MUSKETE

Dies funktioniert.

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

6

Sonntag, 7. Februar 2010, 19:00

Stammt FLEISCH von der Rinderfarm und heißt Hopfen auch HOPFEN ?
Ist MAMORSTEIN wirklich im Spiel ? Lagern kann man das jedenfalls nicht. Es gibt auch STEINE, aber auch die kann man nicht lagern. Wahrscheinlich Lost Features.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

7

Sonntag, 7. Februar 2010, 19:24

FLEISCH = Rindfleisch


MAMORSTEIN ist das was der Marmorsteinmetz aus seiner Marmormine holt. Wenn du Marmorstein auf ein Schiff laden würdest, würde dieses als Marmor angezeigt werden.
Beim Abladen in ein Kontor löst sich diese Ware dann in Luft auf.
Das Gleiche gilt für STEINE.

Ich hätte diese Waren daher nicht erwähnen dürfen.

Es gibt z.B noch wesentlich mehr Waren, welche nicht vom Spieler verwendet werden können, z.B. GRAS, BAUM, KARTOFFEL, KRÄUTER
[THEORIE]
Es ist vermutlich immer das selbe Prinzip. Irgendeine Pflanze produziert den Rohstoff "BAUM", der Holzfäller holt diesen Rohstoff ab und produziert daraus Holz.

Nicht jede Pflanze produziert "BAUM" wodurch manches nicht genutzt wird.


Hmm man könnte ja mal KARTOFFEL in ein MHH Skripten und gucken ob der Bauer welche holen geht, wenn man eine kleine Farm ohne Kartoffeln hat in deren EZB ein MHH steht.

Ich vermute aber dass dies nicht funktionieren wird, da man Anno gegen sowas gewiss gesichert hat.
[/THEORIE]
  Höflichkeit ist die höchste Form der Verachtung!

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

8

Sonntag, 7. Februar 2010, 20:20

Ich denke, der Haken an der Theorie ist, dass man diese "Güter" nicht im MHH lagern kann, weil es keinen Lagerplatz dafür gibt. Ich tippe nach wie vor auf Lost Features.
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

anno-michi

Boardsmutje

Beiträge: 909

Registrierungsdatum: 27. Oktober 2009

  • Nachricht senden

9

Mittwoch, 31. März 2010, 17:08

So ich hab da jetzt noch eine frage zu Schalter im Spiel:

Ich möchte anhand der Schalter erreichen, dass, wenn ein (in meinem Fall 2) Schiff untergeht, das Spiel zu Ende ist.

Auch habe ich schon ein Script gefunden, das das Gewünschte Ergebnis erzielen sollte:

IF ENDFLAG == FALSE && ( OBJECT "NAME" KILLED
|| OBJECT "NAME" KILLED ) THEN
{
ENDFLAG = TRUE;
LOST ("HUMAN");
}

Auch muss ich ja bei [OBJECT_DEFINE] die gewünschten Objeke (Schiffe) eintragen:

OBJECT_FIGUR "NAME" (und danach ist eine Zahl, weiß aber nicht wofür die steht, vllt ist das der Fehler...)

Aber ich muss irgendwo einen Scriptfehler haben... :keineahnung:
Denn im Spiel funzt das nicht...

Was hat es mit der Zahl nach dem Objektname auf sich?
Ich glaube nämlich das diese falsch ist - aber wenn ich nicht weiß welche richtig ist, kann ich jetzt nichts machen...

Wäre froh über eine Antwort :hey:


€dit:
Das mit der Zahl hat sich geklärt (bin selbst draufgekommen):
das ist die Zahl die im Schiffe-Reiter unter Eindeutige ID steht.

So, ich habe dann das im [OBJECT_DEFINE] geändert, aber es funzt immer noch nicht...
  Spannende ANNO Let's Plays und andere Gaming-Streams gibts auf meinem YouTube Kanal! :up:
Schau doch mal vorbei!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »anno-michi« (31. März 2010, 17:22)


Annoraner

Schatzjäger

Beiträge: 2 028

Registrierungsdatum: 9. Juli 2007

  • Nachricht senden

10

Mittwoch, 31. März 2010, 18:34

OBJECT_FIGUR "NAME"

OBJECT_FIGUR "ANNORANER" 1

1 ist die ID für "Annoraner"
Diese kannst Du finden im Map Editor.

ich dachte es müßte so heißen:

{
$ANNORANER TOT
IF SHOW == FALSE && ENDFLAG == FALSE && OBJECT "ANNORANER" KILLED THEN
ENDFLAG = TRUE;
LOST ("HUMAN");
}


oder nicht?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Annoraner« (31. März 2010, 19:01)


anno-michi

Boardsmutje

Beiträge: 909

Registrierungsdatum: 27. Oktober 2009

  • Nachricht senden

11

Mittwoch, 31. März 2010, 19:15

Naja ich hab das Script aus Drakes Osterei rausgelesen...^^

Da steht das so drin, allerdings nicht mit einem Schiff, sondern mit der Bedienmannschaft...


So, ich hab das jetzt gleich mal ausprobiert - es funzt nicht!
Irgendwo muss noch ein Fehler sein....
  Spannende ANNO Let's Plays und andere Gaming-Streams gibts auf meinem YouTube Kanal! :up:
Schau doch mal vorbei!

anno-michi

Boardsmutje

Beiträge: 909

Registrierungsdatum: 27. Oktober 2009

  • Nachricht senden

12

Mittwoch, 31. März 2010, 22:06

So, jetzt funzt alles wieder :hauwech:
Danke Dickerbaer (wie so oft) :blumen:
  Spannende ANNO Let's Plays und andere Gaming-Streams gibts auf meinem YouTube Kanal! :up:
Schau doch mal vorbei!