[Mappen] Diverse Fragen

Joined
Jun 4, 2006
Messages
57
Points
0
Frage 11:

Was muss man eigentlich machen um Offizielle Maps zu erstellen.
Ich sah mal irgendwo ein Map Pack mit 25 Maps und wenn man die Runtergeladen hatte gingen die irgendwie als offizielle maps durch
und konnten sofern der Gegenspieler dieselbe map installiert hatte auch Online mit Statistik gespielt werden.
Ich würde meine Maps gerne mal mit Statistik Gamen also als offizielle Map, wie mach ich das?

P.s. Meine Map mit dem Vulkan ist jetzt fertig und bereit zum Download,
falls du mal sehen möchtest was man mit deiner Hilfe alles hinkriegt dann klick Hier.
 
Joined
Nov 28, 2007
Messages
1,724
Points
215
Deine Map sieht verdammt geil aus. Der Vulkan ist dir echt gut gelungen. Aber die Map ist echt verdammt hardwarehungrig :D. Daran kannst du aber nichts ändern, das liegt an der Änderung des Wasserhöhe.

Deine Frage kann ich leider nicht wirklich beantworten.

Es gibt zwar einen Trick wie man bei jeder Map die Statistikaufzeichnung manuell einschalten kann, aber der ist zu umständlich. Wie man Maps offiziell machen kann weiß ich nicht. Ob mit Stats oder ohne ist doch aber sowieso nicht so wichtig, oder?
 
Joined
Jun 4, 2006
Messages
57
Points
0
Stimmt eigentlich,
Jetzt habe ich noch eine Frage zu den .ini's

Frage 12:
Ich möchte meine Map so programmieren, das überprüft wird ob die .ini aktiv ist.
Also wenn man die Map Online bekommt ist sie nicht aktiv bis man das Spiel neu startet.
Ich hab mir dazu folgendes überlegt:

Ich mache ein Skript welches ein Brefing erzeugt in dem es heisst: .ini Datei ist nicht aktiv, bitte beenden Sie das Spiel und starten sie C&C Generals Zero Hour neu.

Dann möchte ich in meiner .ini Datei irgendetwas welches verhindert das dieses Briefing durchgeführt wird.
Da gibt es bestimmt eine Funktion dafür.
Denn wenn die .ini verhindert dass die Skripts ausgeführt werden ist klar das die .ini aktiv ist.

Oder falls so etwas nicht geht, gibt es eventuell eine andere Möglichkeit um zu überprüfen ob die .ini aktiv ist?
 
Joined
Nov 28, 2007
Messages
1,724
Points
215
das wird schwierig.

denn sobald du so etwas machst beendet die map automatisch mit der meldung: spieldaten nicht mehr synchron.

ich kenne mich mit .ini dateien zwar nicht aus aber du könntest es z.B. so versuchen:

du gibst irgendeiner unbeweglichen einheit einen locomotor (somit kann diese sich nun bewegen). über ein script forderst du sie auf, dies zu tun. wenn sie sich bewegt, ist die .ini datei aktiv, wenn nicht, ist die .ini datei nicht aktiv.

so viel zur theorie. wie gesagt wird die map aber vermutlich beendet bevor es überhaupt zu irgendeiner meldung kommen kann.

ich würde an deiner stelle einfach ein briefing machen, das immer angezeigt wird.
 
Joined
Jun 4, 2006
Messages
57
Points
0
Hii, nach über einem Jahr C&C Pause bin ich wieder zurück.

Zu meiner Frage Nr. 12 bringe ich sogar eine Lösung mit.
Im Wourldbuilder erzeugt man ein Briefing in dem z.B. das hier steht:
Code:
Karte falsch Installiert. Bitte starten Sie "C&C Stunde Null" neu.

Nun packt man in den Ordner in dem die Map gespeichert ist eine Editor Datei welche mit der Endung .str aufhört.
In dieser Datei gibt man folgendes ein:
Code:
Karte falsch Installiert. Bitte starten Sie "C&C Stunde Null" neu.
" "
End

Das war bereits der Zaubertrick,
Wenn man die Map über C&C downloadet ist die .ini Datei sowie die .str Datei nicht aktiv, das heisst unser Briefing erscheint.
Beim Neustart von C&C wird die .ini sowie die .str Datei aktiv und unsere .str Datei verhindert nun das Briefing.
 
Joined
Jun 4, 2006
Messages
57
Points
0
Frage Nr. 13
Ich habe eine Map programmiert bei der ich nun kurz vor Fertigstellung nicht mehr weiter komme.
Es ist eine 4 Spieler Karte und in der Mitte gibt es eine Stadt welche über eine "Amerikanische Bürgerwehr" verfügt.
Wenn ich gegen KI Gegner Spiele dann fahren Sie leider viel zu nah an der Stadt vorbei und greifen dann die Stadt an.
Das möchte ich verhindern indem ich programmiere das alle KI Gegner mit der "Bürgerwehr" verbündet sind oder zumindest neutral gestellt.
Nur leider weis ich nicht wie ich das anstelle.

Mit folgendem Script habe ich dafür gesorgt das alle Spieler gegen die "Bürgerwehr" vorgehen:
Code:
** WENN **
    Wahr.
*** DANN ***
  [???] Spieler xxx  erachtet Spieler player0  als Feind
  [???] Spieler xxx  erachtet Spieler player1  als Feind
  [???] Spieler xxx  erachtet Spieler player2  als Feind
  [???] Spieler xxx  erachtet Spieler player3  als Feind
  [???] Spieler xxx  erachtet Spieler player4  als Feind
  [???] Spieler xxx  erachtet Spieler player5  als Feind
  [???] Spieler xxx  erachtet Spieler player6  als Feind
  [???] Spieler xxx  erachtet Spieler player7  als Feind
  [???] Spieler player0  erachtet Spieler xxx  als Feind
  [???] Spieler player1  erachtet Spieler xxx  als Feind
  [???] Spieler player2  erachtet Spieler xxx  als Feind
  [???] Spieler player3  erachtet Spieler xxx  als Feind
  [???] Spieler player4  erachtet Spieler xxx  als Feind
  [???] Spieler player5  erachtet Spieler xxx  als Feind
  [???] Spieler player6  erachtet Spieler xxx  als Feind
  [???] Spieler player7  erachtet Spieler xxx  als Feind

dabei ist der Spieler "xxx" die Bürgerwehr
aber wie hebe ich diese Regel für alle KI Spieler wieder auf?
 
Joined
Nov 28, 2007
Messages
1,724
Points
215
Das war bereits der Zaubertrick,
Wenn man die Map über C&C downloadet ist die .ini Datei sowie die .str Datei nicht aktiv, das heisst unser Briefing erscheint.
Beim Neustart von C&C wird die .ini sowie die .str Datei aktiv und unsere .str Datei verhindert nun das Briefing.

Bist gar nicht mal so dumm wie du aussiehst:D
Netter Trick.

Bzgl. deiner letzten Frage.. was passiert denn, wenn du das hier machst?

Code:
** WENN **
    Wahr.
*** DANN ***
  [???] Spieler xxx  erachtet Spieler player0  als Feind
  [???] Spieler xxx  erachtet Spieler player1  als Feind
  [???] Spieler xxx  erachtet Spieler player2  als Feind
  [???] Spieler xxx  erachtet Spieler player3  als Feind
  [???] Spieler xxx  erachtet Spieler player4  als Feind
  [???] Spieler xxx  erachtet Spieler player5  als Feind
  [???] Spieler xxx  erachtet Spieler player6  als Feind
  [???] Spieler xxx  erachtet Spieler player7  als Feind
  [???] Spieler player0  erachtet Spieler xxx  als Feind
  [???] Spieler player1  erachtet Spieler xxx  als Feind
  [???] Spieler player2  erachtet Spieler xxx  als Feind
  [???] Spieler player3  erachtet Spieler xxx  als Feind
  [???] Spieler player4  erachtet Spieler xxx  als Feind
  [???] Spieler player5  erachtet Spieler xxx  als Feind
  [???] Spieler player6  erachtet Spieler xxx  als Feind
  [???] Spieler player7  erachtet Spieler xxx  als Feind

  [???] Spieler SkirmishGLA erachtet Spieler xxx als Neutral
  [???] Spieler SkirmishTox erachtet Spieler xxx als Neutral
.
.
.

  [???] Spieler xxx erachtet Spieler SkirmishGLA als Neutral
  [???] Spieler xxx erachtet Spieler SkirmishTox als Neutral
.
.
.

Theoretisch müsste das doch funktionieren, oder?
Kannst es ja erstmal nur für eine Fraktion testen bevor du alle 12 in beide Richtungen in das Script ballerst.

Eventuell kannst du sogar unter Edit -> Edit Playerlist ganz sturr die Fraktionen als verbündet einstellen. Das solltest du zuerst probieren. Bin mir grade nicht so sicher, ob das funktioniert in Skirmish Maps, habe ewig nichts mehr erstellt.
 
Joined
Jun 4, 2006
Messages
57
Points
0
Bist gar nicht mal so dumm wie du aussiehst:D
Netter Trick.

Hehe
und es geht noch weiter.

Leider funktioniert das mit dem Skript nicht, auch nicht wenn ich es mittels Timer so einstelle das es ein paar Sekunden nach den oberen kommt.
Es bereits in der playerliste zu ändern hatte ich noch nicht versucht, doch auch das funktionierte leider nicht.
Die einzige Lösung ist es, erst zu definieren welche Player KI's sind und welche nicht, doch das gilt bekanntlich als unmöglich.
Ich habe mich jetzt ca. 4 Std mit dem unmöglichen befasst und nach etlichen Enttäuschungen und Wutausbrüchen endlich die Lösung gefunden. :idee

Ich habe mir die KI Scripte angesehen und nach dingen gesucht welche die KI eindeutig vom normalen Spielern unterscheidet.
Das einzige was man verwenden konnte ist, das unsere KI ab der ersten Millisekunde die Kaserne, Kraftwerk oder das Supply Center Baut, für einen normalen Spieler unmöglich.
Ein script zu finden für Gebäude welche noch im Bau sind war gar nicht so einfach, aber auch so was gibt es, und folgendermassen sieht die Lösung aus:


Beziehung Timer
Code:
** WENN **
    Wahr.
*** DANN ***
  Setz [COLOR="#FFFF00"]Timer'Beziehung deaktivieren[/COLOR]'. Ablaufend in 0.10 Sekunden 
  Setz Timer'[COLOR="#DAA520"]Beziehung Feind[/COLOR]'. Ablaufend in 1.00 Sekunden


Beziehung auswertung pl0
Code:
** WENN **
    [???] Spieler player0  hat Gleich  1  Einheiten/Gebaude, (Art ist 'FS_SUPPLY_CENTER') im  Areal 'Beziehung_KI'
  ** ODER **
    [???] Spieler player0  hat Gleich  1  Einheiten/Gebaude, (Art ist 'FS_BARRACKS') im  Areal 'Beziehung_KI'
  ** ODER **
    [???] Spieler player0  hat Gleich  1  Einheiten/Gebaude, (Art ist 'FS_POWER') im  Areal 'Beziehung_KI'
*** DANN ***
  Deaktiv. Skript '[COLOR="#800000"]Beziehung Feind pl0[/COLOR]'.


Beziehung Deaktivieren
Code:
** WENN **
    Timer '[COLOR="#FFFF00"]Beziehung deaktivieren[/COLOR]' ist abgelaufen
*** DANN ***
  Deaktiv. Skript '[COLOR="#800080"]Beziehung auswertung pl0[/COLOR]'.
  Deaktiv. Skript 'Beziehung auswertung pl1'.
  Deaktiv. Skript 'Beziehung auswertung pl2'.
  Deaktiv. Skript 'Beziehung auswertung pl3'.
  Deaktiv. Skript 'Beziehung auswertung pl4'.
  Deaktiv. Skript 'Beziehung auswertung pl5'.
  Deaktiv. Skript 'Beziehung auswertung pl6'.
  Deaktiv. Skript 'Beziehung auswertung pl7'.


Beziehung Feind pl0
Code:
** WENN **
    Timer '[COLOR="#DAA520"]Beziehung Feind[/COLOR]' ist abgelaufen
*** DANN ***
  [???] Spieler player0  erachtet Spieler xxx  als Feind
  [???] Spieler xxx  erachtet Spieler player0  als Feind


Die Beziehungs scripts zu den andern 7Player hab ich jetzt nicht gepostet aber das sollte selbst erklärend sein.
Ich hoffe diese Scripts helfen auch andern Spielern weiter.

Gruss pORDEX
 
Joined
Nov 28, 2007
Messages
1,724
Points
215
Die alternative Lösung wäre es, die KI Scripts in deine Map zu importieren.

Dann kannst du nämlich in jeden KI Ordner Scripts reinpacken, ohne, dass der Computerspieler aufhört zu funktionieren.

Durch so ein zusätzliches Script in jedem Ordner hättest du dann ganz einfach die Beziehung ändern können:

Code:
Spieler <This player> erachtet Spieler xxx als Neutral
Spieler xxx erachtet Spieler <This player> als Neutral

Durch das Importieren der Scripts, wird die Karte leider extrem groß (Dateigröße), was online häufig mit Übertragungsproblemen einhergeht.

Gut, dass du einen funktionierenden Workaround gefunden hast. Beeindruckend, wie gut du inzwischen mit der Materie umgehen kannst ;). Wirklich schlaue Lösung.
 
Top Bottom