Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: AnnoZone Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

FelixA

Insel-Eroberer

  • »FelixA« ist der Autor dieses Themas

Beiträge: 424

Registrierungsdatum: 14. Januar 2010

  • Nachricht senden

21

Donnerstag, 3. Juni 2010, 16:21

Hier ist es. Ich wäre euch sehr dankbar, wenn ihr es verbessern würdet. Jetzt wo ich die Schalter eingebaut habe, läuft es nicht mehr richtig. Die Meldung erscheint nicht mehr.
»FelixA« hat folgende Datei angehängt:
  • Feindesland.zip (363,83 kB - 611 mal heruntergeladen - zuletzt: 15. Januar 2024, 14:59)
  Die Weiten des Universums sind so unergründlich wie der menschliche Verstand!
_____________________________
Felix
ANNO 2071 M.A.UG.-Chefprogrammierer

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FelixA« (3. Juni 2010, 16:24)


anno-michi

Boardsmutje

Beiträge: 909

Registrierungsdatum: 27. Oktober 2009

  • Nachricht senden

22

Donnerstag, 3. Juni 2010, 16:58

Ich habs mir jetzt mal angesehen...

Warum hast du am Anfang alle Schalter auf "TRUE" gesetzt?

das ist nicht nötig...
Vielleicht verursacht das den Fehler.. :scratch:

Und lass das SET vor den jeweiligen Schaltern weg!

Schreib einfach:
IF GERNAL = TRUE (FALSE) && *blablabla* THEN GERNAL2 = FALSE (TRUE)

So müsste das mit den Schaltern klappen...
  Spannende ANNO Let's Plays und andere Gaming-Streams gibts auf meinem YouTube Kanal! :up:
Schau doch mal vorbei!

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

23

Donnerstag, 3. Juni 2010, 17:08

Hallo,
warum schaust du nicht einfach in ein anderes Skript.

Aber gut - das mit dem SET habe ich oben schon erwähnt, den Rest hat Barbarella erklärt, Syntax steht im Skriptbuch. Das bekommst du sicher hin.
Schau mal nach., ob du eine Klammer oder ein Semikolon vergessen hast, beliebte Fehler ...

Wenn nicht, setze nur das Skript nochmal rein, das reicht mir
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

Larnak

Schatzjäger

Beiträge: 3 158

Registrierungsdatum: 28. Februar 2008

  • Nachricht senden

24

Donnerstag, 3. Juni 2010, 17:40

Zitat

Original von anno-michi
Ganz schön gut für jemanden, der noch nie ein Anno-Script geschrieben hat!


Dass liegt daran, dass diese Prinzipien einfach immer wieder auftauchen - wenn man damit einmal was zu tun hatte/ sie einmal gelernt hat (if-then, boolsche Variablen, ...), dann kann man das fast überall wieder anwenden - nur die Syntax ist meist etwas anders. :)

FelixA:
Du musst Dich da einfach durcharbeiten und mit den Dingen (siehe Admiral Drake), die Du hast, immer wieder überprüfen, was funktioniert und wo noch was stecken bleibt.
Nach dem Ausschlussprinzip kannst Du Dich dann zum Fehler vorarbeiten und ihn beseitigen.
Das ist fummelig und kann auch nervig sein - aber so ist das eben :hey:

PCs sind nicht so effizient wie Menschen darin, Sprachfehler ihrer Kommunikationspartner auszugleichen :D
Uns ist es egal, wenn Du "Wir haben ein Haus , das schön ist" statt "Wir haben ein Haus, das schön ist" schreibst - der Computer könnte dann aber nichts mehr damit anfangen (angenommen, er würde normale Sprache verstehen)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Larnak« (3. Juni 2010, 17:44)


Annoraner

Schatzjäger

Beiträge: 2 028

Registrierungsdatum: 9. Juli 2007

  • Nachricht senden

25

Donnerstag, 3. Juni 2010, 18:52

@ FelixA:

Du hast noch viel Arbeit noch vor dir.... schaue dir mal meine beiden "Allianz"-Szenarios an.

Nicht nur ein haufen Skriptprobleme sondern auch beim Aufbau / Zuweisung haperts noch.
Oder soll der Spieler gegen sich selbst kämpfen. :D

Keine Angst....das schafst Du schon. Schließlich hat es auch Anno-Michi gelernt. :up:

Ich werde versuchen, in der nächsten Zeit wieder öfters im Chat / in der Zone zu sein.
Vielleicht helfen auch andere.


@ Larnak:

Bitte trage was konstruktives bei und wiederhole nicht andere. Entweder laß es, oder hilf anständig.
Danke für dein Verständnis.

Larnak

Schatzjäger

Beiträge: 3 158

Registrierungsdatum: 28. Februar 2008

  • Nachricht senden

26

Donnerstag, 3. Juni 2010, 19:18

Ich habe niemanden wiederholt :)

Das war als ergänzender Hinweis/ Ermutigung gedacht - wenn es Dir nicht gefällt, einfach nicht beachten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Larnak« (3. Juni 2010, 19:19)


Annoraner

Schatzjäger

Beiträge: 2 028

Registrierungsdatum: 9. Juli 2007

  • Nachricht senden

27

Donnerstag, 3. Juni 2010, 21:19

Also...Ich schaue mir das Szen an und stelle folgendes fest:

1. Städte / Objekte ID stimmen von vorne bis hinten nicht im Skript.

2. im Tab Diplomatie: Hast Du es eingetragen *CG01 <-> HUMAN01 -127*?

3. Spieltyp (im Tab General) kann auf *0* bleiben.

4. im Tab Soldaten:
Dort hast Du dem CG Monster (Spinnen) gegeben und dem Spieler Soldaten.
Dies kann mitunter zu Problem führen (besonders die "Monster")
=> Frage einen erfahreren Szenariobastler.

5. im Tab Welt: Bist Du sicher das nichts deaktiviert werden muß (in den Programmoptionen)?

6. bebaute Inseln für den Spieler / CG: dies kann mitunter zu Problemen führen (da habe Ich genug Erfahrung)

Wie ansonsten im Chat besprochen:
Schaue dir mal folgende Threads an:
Schalter im Spiel
Erste Editorschritte

:hinweis:
Außerdem vielleicht lese dir einfach mal das 1503 Editor Forum durch.
Schaue dir ein 1503 Szenario an und nehme dir dann das Skript vor.

Kopieren / Einfügen mußt Du nicht machen da Du es verstehen musst wie sowas aufgebaut ist / wird.


[OT]
@ Larnak:
Gib deinen Senf im 1404 Forum ab.
Deine Beiträge hier sind einfach überflüßig. (Meine Meinung) - Wenn was dazu besprechen gibt, bitte via PN oder im Chat. Danke.
[/OT]

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Annoraner« (3. Juni 2010, 21:20)


FelixA

Insel-Eroberer

  • »FelixA« ist der Autor dieses Themas

Beiträge: 424

Registrierungsdatum: 14. Januar 2010

  • Nachricht senden

28

Donnerstag, 3. Juni 2010, 21:25

Was stimmt den mit den Objekt IDs nicht?
  Die Weiten des Universums sind so unergründlich wie der menschliche Verstand!
_____________________________
Felix
ANNO 2071 M.A.UG.-Chefprogrammierer

29

Donnerstag, 3. Juni 2010, 21:25

@Annoraner Das im Diplomatie Tab ist ein automatischer Eintrag vom Editor.
  Höflichkeit ist die höchste Form der Verachtung!

Annoraner

Schatzjäger

Beiträge: 2 028

Registrierungsdatum: 9. Juli 2007

  • Nachricht senden

30

Donnerstag, 3. Juni 2010, 21:31

Zitat aus Admiral Drakes Skriptbuch:

OBJECT_STADT "CITY11C" 531

*die Zahl ist die Stadt-Idenrnummer. Die erste Siedlung ist INSELID - 1, jede weitere Siedlung auf der gleichen Insel + 256*

Also Insel Nr 5 (im Editor) -1 = OBJECT_STADT "CITY1" 4

---------------------------

Auf die Gefahr das Ich mich schon zum 3. Male wiederhole:

Zitat

Schaue dir ein 1503 Szenario (aus dem Annopool) an und nehme dir dann das Skript vor.


@ Dickerbaer:
Danke, war mir nicht 100% sicher.....

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Annoraner« (3. Juni 2010, 21:32)


FelixA

Insel-Eroberer

  • »FelixA« ist der Autor dieses Themas

Beiträge: 424

Registrierungsdatum: 14. Januar 2010

  • Nachricht senden

31

Donnerstag, 3. Juni 2010, 21:33

So habe ich es doch gemacht!
  Die Weiten des Universums sind so unergründlich wie der menschliche Verstand!
_____________________________
Felix
ANNO 2071 M.A.UG.-Chefprogrammierer

Annoraner

Schatzjäger

Beiträge: 2 028

Registrierungsdatum: 9. Juli 2007

  • Nachricht senden

32

Donnerstag, 3. Juni 2010, 21:40

Und welches Szenario hast Du dir als Vorlage genommen?

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

33

Donnerstag, 3. Juni 2010, 22:46

Also ich habe mir das ganze Szenario längere Zeit angesehen und ein wenig drin rumprobiert. Ich denke auch, dass ich den Fehler gefunden habe (ist per PN raus).
Zusammenfassend: alles, aber wirklich alles, was Annoraner hier gepostet hat, ist entweder doppelt, falsch, überflüssig oder dämlich.
@Annoraner: geh besser Baby füttern und hör auf, hier Leute vollzuquatschen
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

FelixA

Insel-Eroberer

  • »FelixA« ist der Autor dieses Themas

Beiträge: 424

Registrierungsdatum: 14. Januar 2010

  • Nachricht senden

34

Freitag, 4. Juni 2010, 08:18

Ich habe Admiral Drakes Skriptbuch benutzt.
  Die Weiten des Universums sind so unergründlich wie der menschliche Verstand!
_____________________________
Felix
ANNO 2071 M.A.UG.-Chefprogrammierer

DerEwigeGeist

Plankenstürmer

Beiträge: 33

Registrierungsdatum: 16. Mai 2012

  • Nachricht senden

35

Mittwoch, 23. Mai 2012, 12:22

sorry, wenn ich das hier nochmal wieder aufmache, aber ich habe etwas änliches vor (inspiriert von diesem thema) und komme nicht weiter. vielleicht stehe ich einfach nur aufm schlauch, aber ich habe mit scripten grad erst angefangen und bin deshalb noch nicht so bewandert.

Das ist war der erste versuch

IF PLAYER "HUMAN01" INHABITANTCOUNT "ALL" > 100 THEN
{
SHOWTEXT("BLABLA.htm");
}


und wenn ich 100 Einwohner hatte kam auch die meldung, die ich wollte, aber genau wie bei FelixA ging si nicht weg. daraufhin habe ich versucht den vorschlag von Barbarella durchzuführen:

IF PLAYER "HUMAN01" INHABITANTCOUNT "ALL" > 100 && SCHALTER1 == FALSE THEN
{
SHOWTEXT("HILFE.htm");
SCHALTER1 = TRUE;
}

und dazu bei SIGNALS:

SCHALTER1 = FALSE


Jetzt kommt gar nichts mehr. warum? wo liegt mein fehler? :aua:
  Errare humanum est

Admiral Drake

Schatzjäger

Beiträge: 2 698

Registrierungsdatum: 3. November 2004

  • Nachricht senden

36

Mittwoch, 23. Mai 2012, 13:51

so aus dem Kopf sage ich mal, du musst alle deine Schalter ganz am Ende definieren und zusätzlich bei Signals mit einem Wert versehen (oder andersrum, jedenfalls habe ich alle Schalter immer 2x im Skript) - und hinter der letzten Anweisung ist kein Semikolon (man ist das lange her, ich weiß nicht mal, ob da eins sein müsste)
  Nur wer nichts tut, macht auch keine Fehler. Nicht meckern, sondern anpacken !

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Admiral Drake« (23. Mai 2012, 13:52)


anno-michi

Boardsmutje

Beiträge: 909

Registrierungsdatum: 27. Oktober 2009

  • Nachricht senden

37

Mittwoch, 23. Mai 2012, 16:02

schreib irgendwo am Anfang von dem Script den Befehl: SET SCHALTER1 = FALSE

dadurch weiß das Script, dass der Schalter auf "false" gestellt ist und nur so kann es den nächsten Befehl (Meldung anzeigen, wenn über 100 EW und Schalter1 auf "false" ist) ausführen.

danach wird der Schalter vom Script auf "TRUE" gestellt, was eine weitere Aktivierung dieser Scriptzeile verhindert (und die Meldung wird nach dem ersten Wegklicken nichtmehr angezeigt)
  Spannende ANNO Let's Plays und andere Gaming-Streams gibts auf meinem YouTube Kanal! :up:
Schau doch mal vorbei!

DerEwigeGeist

Plankenstürmer

Beiträge: 33

Registrierungsdatum: 16. Mai 2012

  • Nachricht senden

38

Mittwoch, 23. Mai 2012, 20:56

ich hab das jetzt so verstanden:

INITBLOCK()
{
SET SCHALTER1 = FALSE;
}
IF PLAYER "HUMAN01" INHABITANTCOUNT "ALL" > 100 && SCHALTER1 == FALSE THEN
{
SHOWTEXT("HILFE.htm");
SCHALTER1 = TRUE
}

und bei SIGNALS immer noch

SCHALTER1 = FALSE


Aber jetzt passiert bei dem erreichen der 100EW marke rein gar nichts mehr. irgenwo muss ich euch falsch verstanden haben.
wo liegt mein fehler? :keineahnung:
  Errare humanum est

39

Mittwoch, 23. Mai 2012, 20:58

Kopier bitte einmal dein gesamtes Skript inkl Spielerliste etc hier rein, alle Häkchen rein und dann unten auf "Save all"
  Höflichkeit ist die höchste Form der Verachtung!

DerEwigeGeist

Plankenstürmer

Beiträge: 33

Registrierungsdatum: 16. Mai 2012

  • Nachricht senden

40

Mittwoch, 23. Mai 2012, 21:23

Dank an euere Mithilfe. habs jetzt raus (nach studieren von hervés szen. jetzt stehe ich aber vor einem anderen problem. ich habe:

INITBLOCK()
{
SET_UNIT_VISIBLE( "SHIP4", FALSE );
}

SET EINS = FALSE;

IF EINS == FALSE && PLAYER "HUMAN01" INHABITANTCOUNT "ALL" > 50 THEN
{
EINS = TRUE;
SHOWTEXT( "TNT.HTM" );
SET_UNIT_VISIBLE( "SHIP4", TRUE );
}

müsste "SHIP4" jetzt am anfang nicht unsichtbar seein und erst bei SET_UNIT_VISIBLE( "SHIP4", TRUE ); sichtbar werden ????
  Errare humanum est