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.

1

Mittwoch, 27. August 2008, 17:51

Kontorabriss --> Verloren

Ich möchte in einem Endlosspiel erreichen, dass der Human Player verliert, wenn er das letzte Kontor seiner Stadt abreisst.

Es ist ein Endlosspiel, ich habe dort schon Stadt IDs berechnet, bzw Städte erfolgreich als Objekte definiert, ebenso verkaufen Ureinwohner genau diese Dinge welche ich ihnen ins Kontor cheatete.

Es hat also schon einen ziemlichen Bart an Skript Befehlen. (erfolgreich)

Es geht um mein Projekt, mehrere eigene Städte auf einer Insel zu bebauen, welches scheitern würde, wenn einer der User das letzte Kontor oder MHH einer Stadt löscht.
Daher möchte ich, dass in diesem Falle der Spieler verloren hat und die Ratten kommen.


Folgende Daten habe ich: 5 Städte auf Insel 29 (ID 28 )

OBJECT_STADT "CITY1" 28
OBJECT_STADT "CITY2" 284
OBJECT_STADT "CITY3" 540
OBJECT_STADT "CITY4" 796
OBJECT_STADT "CITY5" 1052


Der Aliasname der Human Players ist "HUMAN"

Ich versuchte beipielsweise folgenden Befehl "IF OBJECT "CITY1" KILLED"


Naja ab da verliess es mich, ich fand zwar noch heraus, das es einen "lost" Befehl gibt in dem der Spieleralias eingetragen wird und das man mit "THEN" werkelt, aber nun brauche ich Schützenhilfe.

Könnte mir jemand etwas zusammenwursteln, was in etwa klappen könnte, damit ich gezielter probieren kann wie ich weiter komme?


Das Skript kann ich per PN zuschicken, hier solls nicht drin stehen!

annokrat

Schatzjäger

Beiträge: 4 772

Registrierungsdatum: 15. November 2003

  • Nachricht senden

2

Mittwoch, 27. August 2008, 20:21

IF OBJECT "CITY_1" KILLED THEN
{
LOST ("HUMAN")
}

in ergänzung unserer diskussion im chat.

annokrat
  anno 1503, das beste anno aller zeiten.
anno 1701, das anno für ewige anfänger.

3

Mittwoch, 27. August 2008, 21:44

DANKE!


Funktioniert, allerdings habe ich jetzt Probleme mit den alten Skript Bestandteilen, welche nun nicht mehr laufen.




$ -------------------------------------------------------
$ BY DICKERBAER ORIGINAL BY BOMI B.
$ -------------------------------------------------------
INITBLOCK()
{
TIMER_SET(1,0);
TIMER_START(1);
}
$ -------------------------------------------------------
$ VARIABLEN INITIALISIEREN...
$ -------------------------------------------------------
SET ENDFLAG = FALSE;
$ -------------------------------------------------------
$ CHEATS IN ENDLOSSCHLEIFE...
$ -------------------------------------------------------
IF ENDFLAG == FALSE && TIMER_1 > 10 THEN
{
$CHEAT CG
CHEAT("CITY8", "HEILKRAEUTER", 10);
CHEAT("CITY8", "HOLZ", 10);
CHEAT("CITY8", "MUSKETE", 10);


bla bla bla...


SET_FOR_BUY("SCHWERT","VENECIA",10);
SET_FOR_BUY("AXT","VENECIA",10);
$DIPLOMATIE
SET_DIPLOMACY("CG01","CG02", -127);
TIMER_STOP(1);
TIMER_SET(1,0);
TIMER_START(1);
}

Inkl, dass sich die CG nicht mehr beruhigen läuft es EIGENTLICH, insofern ich das mit den Kontoren lasse.

Wohin mit deinem obigen Skript? Entweder es kommen sofort Ratten, oder die Cheats laufen nicht.
  Höflichkeit ist die höchste Form der Verachtung!

annokrat

Schatzjäger

Beiträge: 4 772

Registrierungsdatum: 15. November 2003

  • Nachricht senden

4

Mittwoch, 27. August 2008, 22:11

da es eine bedingung für sieg oder niederlage ist, würde ich es ganz ans ende setzen.

annokrat
  anno 1503, das beste anno aller zeiten.
anno 1701, das anno für ewige anfänger.

drkohler

Master of Editor

Beiträge: 1 578

Registrierungsdatum: 18. Juni 2003

  • Nachricht senden

5

Mittwoch, 27. August 2008, 22:54

Ist in deinem IF-blabla auch ein ENDFLAG=TRUE drin (sonst wird das IF dauernd durchlaufen, sobald du 19 Sekunden gespielt hast.....)

6

Mittwoch, 27. August 2008, 23:02

Nein es ist keines vorhanden, da dies ein endlos Cheat sein sollte um den Eingeborenen Handel aufzubessern.



SET_FOR_BUY("SCHWERT","VENECIA",10);
SET_FOR_BUY("AXT","VENECIA",10);
$DIPLOMATIE
SET_DIPLOMACY("CG01","CG02", -127);
TIMER_STOP(1);
TIMER_SET(1,0);
TIMER_START(1);
$SONSTIGES
}
IF OBJECT "CITY12" KILLED THEN
{
LOST ("HUMAN")
}


Ergibt funktionierende Cheats, aber nicht funktionierende Kontorfrage.


City 12 ist korrekt! Auch die StadtID. Ich glaube ich muss passen die Sache das Endflag korrekt einzusetzen überfordert mich. (Falls wer sagen mag wie es geht, dann höre ich gerne zu)


Das bla bla besteht nur aus "set for sell" "set for buy" sowie dem Cheat
  Höflichkeit ist die höchste Form der Verachtung!

Bomi

Meister der Kleintools

Beiträge: 3 175

Registrierungsdatum: 2. Mai 2003

  • Nachricht senden

7

Donnerstag, 28. August 2008, 01:29

Zitat

Original von Dickerbaer
IF OBJECT "CITY12" KILLED THEN...

Probier mal:

IF ENDFLAG == FALSE && OBJECT "CITY12" KILLED THEN
{
ENDFLAG = TRUE;
LOST ("HUMAN");
}
  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

drahtwurm

Team AnnoZone

Beiträge: 518

Registrierungsdatum: 10. April 2005

  • Nachricht senden

8

Donnerstag, 28. August 2008, 01:43

Hallo,

habe mich auch ein wenig in das Problem verbissen!
Habe auch ein wenig Turbo Pascal Erfahrung wegen Syntax.

Ich denke, es ist ein grundlegendes Problem.
Ich kann beispielsweise auch die Befehle SHOWTEXT oder MINIMAP_ALERT als Ablaufanzeiger nicht nutzen.


Hans der Drahtwurm

annokrat

Schatzjäger

Beiträge: 4 772

Registrierungsdatum: 15. November 2003

  • Nachricht senden

9

Donnerstag, 28. August 2008, 17:47

es könnte auch sein, dass das object CITY12 noch existiert.

annokrat
  anno 1503, das beste anno aller zeiten.
anno 1701, das anno für ewige anfänger.

Bomi

Meister der Kleintools

Beiträge: 3 175

Registrierungsdatum: 2. Mai 2003

  • Nachricht senden

10

Donnerstag, 28. August 2008, 18:48

Zitat

Original von annokrat
es könnte auch sein, dass das object CITY12 noch existiert

Jo - selbst wenn man z.B. das letzte Kontor abreißt, aber immer noch irgendwo ein vereinsamter Soldat rumschwirrt, könnte das aus Sicht von 1503 bedeuten, dass die Stadt eben nicht tot ist :scratch:
  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

11

Donnerstag, 28. August 2008, 19:09

Zitat

Original von Bomi

Zitat

Original von Dickerbaer
IF OBJECT "CITY12" KILLED THEN...

Probier mal:

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



Volltreffer! DANKE! :hauwech:



Ein herzlichen Dank auch an die anderen, welche sich einen Kopf drum machten! :hauwech:
  Höflichkeit ist die höchste Form der Verachtung!