Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Weiteres Problem, das Spiel ist irgendwann ab und zu mal in einer Endlosschleife beim Rundenwechsel. Dabei liegt die ursache außerhalb des SDKs. Daher nehme ich an, dass dies an fehlenden Daten liegt. Denn meine Tests noch am Anfang der Woche gingen 100erte Runden ohne Probleme.
Ich werde wohl nur mit einer Vollständigen Beta weiteres Feststellen können.
edit: Das Problem wird im Zusammenhang mit den D3X9.dll und den Grafiktreiber verursacht. Das deutet wirklich auf fehlende Daten hin.
Cybah:
Mach bitte eine vollständige Alpha zum Testen. Mir reicht es, wenn ich die fehlenden Modelle und Sounds hätte.
bin unterwegs. bevor ich sechs stunden hochlade lass ich mal ai autoplay über nacht durchlaufen. generell glaub ich aber nicht das was anderes außer sdk oder python endlosschleifen in civ4 verursachen kann.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
meistens hängen schleifen in civ4 mit ki code zusammen.
edit: du kannst zum testen ja auch einfach die alten sounddateien nutzen und die neuen tiere rauslöscheb. geht am schnellsten.
Geändert von Cybah (09. Mai 2014 um 19:24 Uhr)
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Das Problem ist auf jeden Fall im Zusammenhang mit den Grafiktreiber. Wenn es Ki-Probleme wären, hät ich sowas geschrieben. Sowas würde ich erkennen. Gut, ich entferne mal die Tiere, schließlich, habe ich alle wichtigen Ordner ja hier gesichert.
Python würde ich auch schon mal ausschließene. Ich habe keine Schleifenbedingungen oder so geändert. Wenn dann müsste es eine Fehlermeldung hervorbringen.
Geändert von rucivfan (09. Mai 2014 um 19:40 Uhr)
Ich habe nur die Vermutung, es liegt an einen Tier, muss aber nicht an einen neuen Tier liegen. Einige Tiere haben andere Modelleinstellungen erhalten, fällt mir da so ein.
(edit: Toll, genau jetzt passiert es wieder. )
Der Fehler ist leider nicht reproduzierbar. Wenn er auftrat, trat er beim erneuten laden nicht wieder auf.
Es ist doch die KI.
Habe mal in das richtige Log reingeschaut.
edit: Frage, wie kommt es, dass ich 100erte Runden am Anfang der Woche keine Probleme hatte?
edit: Um genau zu sein, ist es die KI eines Tieres gerade. Immerhin war es ein Tier.
edit: Fehler gefunden. Es konnte nur bei Tieren auftreten.
Hintergrund ist folgendes: Ist auf einen Feld schon eine Einheit, so darf ein Tier nicht auf das Feld. Soweit das. Dies ist schon immer so, aber ich habe die canMoveInto so umgebaut, damit diese nur noch einmal aufgerufen wird statt zweimal für canMoveOrAttack. Alle Vorkommen von !bAttack wurden dafür durch bMove ersetzt. Aber genau bei den Tieren habe ich das nicht ersetzt. Weil meine Testspiele ohne Tiere waren, ist mir das nie aufgefallen.
Geändert von rucivfan (09. Mai 2014 um 22:57 Uhr)
hehe :-P dann bau ich den code erst ein wenns gefixt ist.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Fehler ist schon gefixt. Ich teste nur nochmal.
Habe heute mehrfach Spiele ohne Probleme beenden können.
Wobei ohne Probleme heißt, fehlende Grafikprobleme wurden ignoriert.
Nicht selten habe ich wegen Bergziegen nichts mehr vom Geschehen gesehen bis die KI mir die Sicht freigekämpft hat.
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Ich möchte noch anmerken, dass der Berserker ein aktives bBerserk-Attribut vom Testen hat.
Ach hast damit jetzt mal defendinvisible ausprobiert?
Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5
Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)
Hatte gerade eine Pythonfehler mit im Zusammenhang mit den Staatsmannaktionen.
Rot ist der Ort des Fehlers.Code:def handleInput (self, inputClass): ###### Cybah: BASE - Unit Buttons START ---------------------------------------------------------------------------------------------------------------------------- # sendModNetMessage -> sends data to GLOBAL GAME AREA (CvEventManager) # Initialisierung if g_pSelectedUnit: iOwner = g_pSelectedUnit.getOwner() iUnitID = g_pSelectedUnit.getID() pPlot = gc.getMap().plot( g_pSelectedUnit.getX(), g_pSelectedUnit.getY() ) # Großer Staatsmann if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9000 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9000, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9001 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9001, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9002 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9002, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9003 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9003, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9004 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9004, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9005 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9005, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) if (inputClass.getNotifyCode() == 11 and inputClass.getData1() == 9006 and inputClass.getData2() == g_pSelectedUnit.getOwner()): CyMessageControl().sendModNetMessage( 9006, pPlot.getX(), pPlot.getY(), iOwner, iUnitID ) ###### Cybah: BASE - Unit Buttons END ----------------------------------------------------------------------------------------------------------------------------
Warum wird eigentlich der Plot so bestimmt?
g_pSelectedUnit.plot() Würde direkt den Plot geben. Beim Selbst auslösen passierte nichts. Weiß daher auch nicht, welche Aktion es vielleicht gewesen sein könnte.
Geändert von rucivfan (10. Mai 2014 um 18:04 Uhr)