Multiplayer KI baut nicht ab
» Siedler Map Source Forum » Siedler DEdK Script Forum » Multiplayer KI baut nicht ab
Seiten: 1 2 Nächste Seite
Play4FuN
|
#1 04.10.2014 22:01 Beiträge: 704 |
Multiplayer KI baut nicht ab
Ich versuche mich momentan an einer Multiplayerkarte, leider spielen die KI nicht so ganz mit
Nachdem ich die Computerspieler dazu gebracht habe Gebäude zu bauen und wieder zu reparieren bzw. neu bauen, bleibt (vorerst) nur ein was offen: obwohl einige Rohstoffhaufen in der Nähe der KI liegen UND extracting = 1 aufgerufen wurde, baut die KI keinerlei Rohstoffe ab!
Hat jemand Erfahrung damit oder eine Idee?
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#2 04.10.2014 23:18 Beiträge: 1472 |
Generell ist die S5 KI zu nichts zu gebrauchen...
Versuch mal AI.Village_EnableExtracting(player, flag)
Play4FuN
|
#3 05.10.2014 09:34 Beiträge: 704 |
Auf ein Mal ...
Warum auch immer, nun funktioniert zumindest "extracting = 1".
Ich wollte der KI bspw. nach gewisser Zeit mehr Leibis geben - also das Maximum erhöhen. Dazu habe ich erneut SetupPlayerAI aufgerufen, das hat offenbar für Probleme gesorgt, da die KI weder reparierte noch den Bauplan befolgte. (Das Problem habe ich behoben durch AI.Village_SetSerfLimit)
Ich habe mit MP noch wenig Erfahrung, wie sieht es da mit Desyncs aus?
1. Kann ich "normale" Briefings ohne weiteres nutzen?
2. Tribute - kann ich die bspw. für pID 1 UND 2 erstellen, sodass jeder Spieler seine eigenen Tribute hat?
3. Kann ich normal für jeden Spieler Quests erstellen? (Analog zu Tributen, nur andere pID)
4. Message("..." - wird bei jedem Spieler gleichermaßen angezeigt?
5. Wovon sollte ich in einer Koop-Map evtl. die Finger lassen?
Ganz schön viel Hilfe wäre nett - besonders wegen den Quests etc.
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#4 05.10.2014 10:48 Beiträge: 1472 |
So viel kann ich jetzt auch nicht dazu sagen...
1) Ja, Briefings laufen für jeden Spieler getrennt ab. Du solltest allerdings auf die finished und action -funktionen verzichten.
2) Tribute sind super, um das Script zu synchronisieren: Du erstellst für einen KI-Spieler bei Beginn der Map Tribute. Werden diese dann lokal von einem Spieler per GUI.PayTribute bezahlt, läuft die ausgelöste Funktion synchron ab.
3) Müsste eigentlich lokal für jeden Spieler sein, würde ich aber über Tribute synchronisieren.
4) Message ist lokal, für alle gibt es eine Funktion um eine Chatnachricht zu senden (die wird dann über Message ausgegeben).
5) GUI-Änderungen! Für jeden Button jeder Entity würdest du einen Tribut zum synchronisieren brauchen
Play4FuN
|
#5 05.10.2014 11:32 Beiträge: 704 |
Oh - das klingt mir etwas zu kompliziert!
Was genau heißt das jetzt für mich?
1. Briefings also ohne action und finished-function - ok.
2. Was meinst Du mit der Synchronisierung über Tribute?
3. Kann ich nun eine Aufgabe einfach zwei Mal erstellen, ein mal mit SpielerID 1 und ein mal mit Spieler ID 2, sodass beide Spieler jeweils die Quest bekommen?
4. Messages kann ich ganz normal verwenden - ok.
5. GUI-Änderungen werde ich nicht vornehmen...
Danke schonmal für Deine Hilfe, wäre nett, wenn Du mir das mit den Tributen erklären könntest!
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#6 05.10.2014 12:36 Beiträge: 1472 |
Du erstellst in der FMA für jede Quest für jeden Spieler einen Tribut bei Spieler 8 (Gegner-KI => unsichtbar) . Wenn dann ein Spieler eine Quest löst, ruft das Script GUI.PayTribute(player, tributeId) auf, um den Tribut zu bezahlen. In der Callback-Funktion kann dann das Questmenü aktualisiert werden und z.B. Truppen erstellt werden.
Kantelo
|
#7 05.10.2014 16:36 Beiträge: 357 |
Wie läuft das eigentlich mit den Camera Funktionen?
Theoretisch ist doch dan auch so was wie RPG im Multiplayer möglich.
mcb
|
#8 05.10.2014 17:03 Beiträge: 1472 |
Theoretich ja, aber ich kann dazu nur das sagen, was ich Noigis DOTA-Script finde
Play4FuN
|
#9 06.10.2014 15:15 Beiträge: 704 |
DefeatCondition und Aufbau
Meine Koop-Map ist jetzt landschaftlich fertig, nur die KI sind noch nicht "reif" ...
Kann es sein, dass dieser Befehl:
MapEditor_CreateHQDefeatCondition
den Namen oder die ID des Hauptquartiers ändert?
Es gibt auf der ganzen Karte genau eine Einheit mit dem Namen "P1HQ", doch angeblich existiert dieses nicht.
Edit:
Mit dem LuaDebugger herausgefunden: Der Aufruf gibt der Burg automatisch den Namen "MapEditor_LastHQ" - was passiert, wenn ich mehrere Burgen habe, ist noch nicht getestet ...
Nun hänge ich erneut am Aufbau der KI. Trotz Ressis, Leibis und Platz hört sie auf ein mal auf mit Bauen...
Gibt es ein Maximum für den Constructionplan?
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Dieser Beitrag wurde von Play4FuN am 06.10.2014 um 15:31 editiert.
mcb
|
#10 06.10.2014 15:35 Beiträge: 1472 |
Er ändert den Namen, soweit ich weiß...
Einfach nicht verwenden
Play4FuN
|
#11 06.10.2014 15:44 Beiträge: 704 |
Zitat von mcb:
Einfach nicht verwenden
Aber wenn ich den Aufruf weglasse, hat dann der entsprechende Spieler trotzdem verloren, wenn er seine (einzige) Burg verliert?
Nochwas: kann man einer KI verbieten best. Truppen zu rekrutieren, also ähnlich zu SetAIunitsToBuild?
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Zedeg
|
#12 06.10.2014 16:00 Beiträge: 428 |
Der Aufruf gibt der Burg automatisch den Namen "MapEditor_LastHQ"
ERNSTHAFT?! Deshalb konnte ich nichts mit meiner Burg anfangen.
Aber wenn ich den Aufruf weglasse, hat dann der entsprechende Spieler trotzdem verloren, wenn er seine (einzige) Burg verliert?
Gerade 'mal getestet: Nö.
Nochwas: kann man einer KI verbieten best. Truppen zu rekrutieren, also ähnlich zu SetAIunitsToBuild?
Mit SetAIUnitsToBuild baut die KI nur diese Einheiten! Sonst keine --> Verbot.
____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski
mcb
|
#13 06.10.2014 16:03 Beiträge: 1472 |
Schreib selber einen SimpleJob. Wenn der in der FMA gestartet wird, läuft der auch synchron auf allen PCs.
Play4FuN
|
#14 06.10.2014 16:05 Beiträge: 704 |
Zitat von Zedeg:
ERNSTHAFT?! Deshalb konnte ich nichts mit meiner Burg anfangen.
Ja, eben getestet!
Zitat von Zedeg:
Gerade 'mal getestet: Nö.
Mist! Dann muss ich mir was einfallen lassen ...
Zitat von Zedeg:
Mit SetAIUnitsToBuild baut die KI nur diese Einheiten! Sonst keine --> Verbot.
Okay, es gibt also keine "umkehrte" Version!?
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#15 06.10.2014 16:09 Beiträge: 1472 |
Du kannst Logic.PlayerSetGameStateToLost(playerId) nehmen. Viel mehr macht Defeat auch nicht
Play4FuN
|
#16 06.10.2014 16:10 Beiträge: 704 |
@mcb: Einen SimpleJob im Sinne von
if IsDead(Burg) then Defeat ...
Ne, das geht nicht so ganz.
Ungefähr so?
StartSimpleJob("NiederlageJobP1") function NiederlageJobP1() if IsDead("P1HQ") then PlayerSetGameStateToLost(1) return true end end
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#17 06.10.2014 16:17 Beiträge: 1472 |
Genau. Und Logic.PlayerSetGameStateToWon(pID) aufrufen, wenn der Gegner besiegt ist.
Play4FuN
|
#18 06.10.2014 16:30 Beiträge: 704 |
Zitat von mcb:
Genau. Und Logic.PlayerSetGameStateToWon(pID) aufrufen, wenn der Gegner besiegt ist.
Aber für den Sieg reicht doch der Aufruf von "Victory", dann haben beide Spieler gewonnen (falls beide überlebt haben).
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#19 06.10.2014 16:33 Beiträge: 1472 |
Müsstest du ausprobieren... Ich kann dir nr das sagen was ich aus Noigis DOTA weiß...
Play4FuN
|
#20 06.10.2014 16:39 Beiträge: 704 |
Okay, ich gehe/ging davon aus, dass Victory() reicht/funktioniert, weil ich das aus einer anderen Koop-Map habe. Lasset die Tests beginnen. Vielleicht schaffe ich es, noch diese Woche fertig zu werden ... Ich liebe Koop-Karten
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Play4FuN
|
#21 07.10.2014 11:19 Beiträge: 704 |
Kanonen und verdammt dumme KI
Kann ich den Befehl Logic.Upgtadesettlercategory auch auf Kanonen anwenden bzw. wie?
...
Ich hasse die KI, wie man die Siedler 5 KI nur hassen kann! >.<
Nachdem im Singleplaye alles reibungslos geklappt hat, versagen die KI im MP enttäuschend!
Es gibt u.a. 2 KI, die ihre Siedlungen relativ nah aneinander aufbauen mittels constructionplan. Im SP steht die erste Mine samt Wohnhaus und Bauernhof nach nicht ein mal 2 Minuten.
Ich habe jedoch alleine ein LAN-Spiel gestartet ("playalone" und siehe da: KI = doof!
1. Sie benötigen gut 10 min. um überhaupt etwas zu bauen, obwohl Ressis etc. vorhanden
2. Eine der KI bebaut Minen und DZs bei dem ANDEREN Computerspieler, sodass der keine Minen und DZs mehr besetzen kann!
Obwohl im SP alles einwandfrei lief - so ein .... Mist. WIe kann ich das Problem lösen?
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Dieser Beitrag wurde von Play4FuN am 07.10.2014 um 12:13 editiert.
mcb
|
#22 07.10.2014 13:07 Beiträge: 1472 |
Jetzt weißt du, warum ich mir selber eine KI schreibe...
Ich hab leider keine Idee, wie das zu beeinflussen ist. Du kannst dir höchstens mal die anderen Koop-Karten ansehen und deren KI analysieren.
Play4FuN
|
#23 07.10.2014 13:12 Beiträge: 704 |
Ich habe ja einiges davon aus anderen MP Koop Maps.
Leider klappt es nur im MP nicht Im SP wie gesagt keine Probleme!!! Trotz selber Karte + Skript.
Liegt es evtl. daran, dass ich dieses "playalone" verwenden habe? Unwahrscheinlich aber ...
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#24 07.10.2014 13:28 Beiträge: 1472 |
Keine Ahnung. Hab noch nie MP gespielt... Wir könnens mal im MP ausprobieren...
Play4FuN
|
#25 07.10.2014 13:58 Beiträge: 704 |
Mp
Über s Internet? An sich gerne aber ich hatte Probleme mit meinem Account und außerdem die alte Version und möchte nicht updaten
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
Seiten: 1 2 Nächste Seite