Seite 8 von 38 ErsteErste ... 45678910111218 ... LetzteLetzte
Ergebnis 106 bis 120 von 568

Thema: PAE V Beta 2 - Patch 4

  1. #106
    SNAFU Avatar von Tschuggi
    Registriert seit
    08.04.11
    Ort
    Bei deiner Mutter
    Beiträge
    1.127
    Pie,

    hotfix... hab ich natürlich schon bei deiner ersten Antwort eingebaut, hätte da auch mal zuerst nachdenken und dann fragen können...

    @Söldner anheuern und auf Feinde hetzen: die stehen die meiste Zeit rum und machen gar nichts, weder plündern noch angreifen. Hab das jetzt in mehreren Spielen mehrfach erlebt, dass sowohl die eigenen (HI) als auch die Söldner der KI einfach gar nichts machen. Why?
    Πάντα χωρεῖ καὶ οὐδὲν μένει

    www.masterofmana.com

    http://www.civforum.de/showthread.php?t=73790

  2. #107
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    23.394
    CyRandom gibt's bei mir nicht. CvRandom.get() ist die Funktion die ich oben zitiert hab. Der Aufruf ist:

    Code:
    iRand = gc.getGame().getSorenRandNum(20, "Chance of City revolt")
    ->
    Code:
    int CyGame::getSorenRandNum(int iNum, TCHAR* pszLog) 
    {
    	return m_pGame ? m_pGame->getSorenRandNum(iNum, pszLog) : -1;
    }
    ->
    Code:
    int CvGame::getSorenRandNum(int iNum, const char* pszLog)
    {
    	return m_sorenRand.get(iNum, pszLog);
    }
    ->
    Code:
    unsigned short CvRandom::get(unsigned short usNum, const TCHAR* pszLog)
    {
    	if (pszLog != NULL)
    	{
    		if (GC.getLogging() && GC.getRandLogging())
    		{
    			if (GC.getGameINLINE().getTurnSlice() > 0)
    			{
    				TCHAR szOut[1024];
    				sprintf(szOut, "Rand = %d on %d (%s)\n", getSeed(), GC.getGameINLINE().getTurnSlice(), pszLog);
    				gDLL->messageControlLog(szOut);
    			}
    		}
    	}
    
    	m_ulRandomSeed = ((RANDOM_A * m_ulRandomSeed) + RANDOM_C);
    
    	unsigned short us = ((unsigned short)((((m_ulRandomSeed >> RANDOM_SHIFT) & MAX_UNSIGNED_SHORT) * ((unsigned long)usNum)) / (MAX_UNSIGNED_SHORT + 1)));
    
    	return us;
    }
    €: Der Fehler tritt ja nicht auf, wenn der String NULL ist. Also muss die Ursache im Debug-Block von CvRandom::get() liegen.

    €²: GC.getLogging() sollte immer FALSE sein, für alle Vorkommen von Logging, getLogging etc. siehe Anhang.
    Angehängte Dateien Angehängte Dateien
    Geändert von Flunky (18. Dezember 2012 um 18:04 Uhr)

  3. #108
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Zitat Zitat von Tschuggi Beitrag anzeigen
    @Söldner anheuern und auf Feinde hetzen: die stehen die meiste Zeit rum und machen gar nichts, weder plündern noch angreifen. Hab das jetzt in mehreren Spielen mehrfach erlebt, dass sowohl die eigenen (HI) als auch die Söldner der KI einfach gar nichts machen. Why?
    Gar nix? Gehen die nicht rum und suchen irgendein Ziel? Es kann natürlich auch sein, dass sie eigene Städte verteidigen möchte und quer durchs Land läuft. Mehr als sie setzen kann ich auch nicht. Und ihnen "Angriff" vorzugeben, wirds wohl auch nicht ausmachen, aber kann ich ja testen. Obwohl man ja NOTUNAI setzen sollte, hab ich mal gelesen....


    Flunky: Achja, hattest du ja schon gesagt. Das bringt Hoffnung!
    na gut, wie schaff ich es, dass er den char als NULL definiert. denk nicht, einfach nur mit "" ? wäre das im python dann None... na ich werds probieren. weil NULL (C-var) mag python gar nicht.

  4. #109
    SNAFU Avatar von Tschuggi
    Registriert seit
    08.04.11
    Ort
    Bei deiner Mutter
    Beiträge
    1.127
    Zitat Zitat von Pie Beitrag anzeigen
    Gar nix? Gehen die nicht rum und suchen irgendein Ziel? Es kann natürlich auch sein, dass sie eigene Städte verteidigen möchte und quer durchs Land läuft. Mehr als sie setzen kann ich auch nicht. Und ihnen "Angriff" vorzugeben, wirds wohl auch nicht ausmachen, aber kann ich ja testen. Obwohl man ja NOTUNAI setzen sollte, hab ich mal gelesen....


    Flunky: Achja, hattest du ja schon gesagt. Das bringt Hoffnung!
    na gut, wie schaff ich es, dass er den char als NULL definiert. denk nicht, einfach nur mit "" ? wäre das im python dann None... na ich werds probieren. weil NULL (C-var) mag python gar nicht.
    Na ja, meistens stehen die einfach nur auf einem Feld und bewegen sich gar nicht, z. T. ziehen sie mal ein Feld weiter. Plündern tun sie gar nicht und wenn ich ihnen eigene Einheiten vor die Nase setze (auch schwächere oder einzelne), greifen die leider auch nicht an. Afaik, versuchen die nicht, eigene Städte zu verteidigen, da sie ja einfach stehen bleiben und gar nichts machen.
    Πάντα χωρεῖ καὶ οὐδὲν μένει

    www.masterofmana.com

    http://www.civforum.de/showthread.php?t=73790

  5. #110
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    23.394
    Zitat Zitat von Pie Beitrag anzeigen
    Flunky: Achja, hattest du ja schon gesagt. Das bringt Hoffnung!
    na gut, wie schaff ich es, dass er den char als NULL definiert. denk nicht, einfach nur mit "" ? wäre das im python dann None... na ich werds probieren. weil NULL (C-var) mag python gar nicht.
    NULL wäre schon richtig. Warum mag Python das nicht? Hat bei mir testweise funktioniert.

  6. #111
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Die ersten bzw ersten 2 Runden sind sie auch bewegungsunfähig. Aber das wirst du ja schon bemerkt haben. Du meinst bestimmt die, die bereits über 2 Runden da sind...

  7. #112
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Flunky: ist das mit getMapRandNum dasselbe wie mit getSorenRandNum. 2. var ebenfalls NULL möglich? weil dann setz ich es bei getMap auch auf NULL.

    und Flunky, kannst du mir nachsehen was der unterschied zw
    Game::isNetworkMultiPlayer() und
    Game::isGameMultiPlayer() ist

    ob zweites alle Spiele (Pitboss, PBEM, LAN) umfasst und ersteres nur LAN ?

  8. #113
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    23.394
    getMapRandNum ist identisch dazu, nur in den oberen drei Codeblöcken ist Soren durch Map ersetzt.
    Code:
    bool CvGame::isGameMultiPlayer() const																 
    {
    	return (isNetworkMultiPlayer() || isPbem() || isHotSeat());
    }

  9. #114
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Danke Flunky. Kanns somit wieder online stellen.

    Nein NULL nimmt er nicht. Ist C. None ist Python.

  10. #115
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Ich bitte euch die Umstände zu entschuldigen. Es gibt ein ausgebessertes Patch 4 vom 18.12.
    Bitte dieses neu runterladen. Es ist savegame-kompatibel und hat folgende Änderungen:

    ---- PAE V Beta 2 Patch 4 Ausbesserung ---- 18.12.2012
    -) Versuch getSorenRandNum CtDs zu vermeiden
    -) Im OCC können nun auch Hauptstädte überlaufen
    -) SöldnerFeaturePopUp nur in eigenen Städten


    Diese Version sollte nun auch Story- und MP-tauglich sein.

    Wer möchte eine "Apocalypto"-Story schreiben?

  11. #116
    Registrierter Benutzer Avatar von Thorgal
    Registriert seit
    06.08.09
    Beiträge
    5.238
    Zitat Zitat von Tschuggi Beitrag anzeigen
    @Söldner anheuern und auf Feinde hetzen: die stehen die meiste Zeit rum und machen gar nichts, weder plündern noch angreifen. Hab das jetzt in mehreren Spielen mehrfach erlebt, dass sowohl die eigenen (HI) als auch die Söldner der KI einfach gar nichts machen. Why?
    Zitat Zitat von Pie Beitrag anzeigen
    Gar nix? Gehen die nicht rum und suchen irgendein Ziel? Es kann natürlich auch sein, dass sie eigene Städte verteidigen möchte und quer durchs Land läuft. Mehr als sie setzen kann ich auch nicht. Und ihnen "Angriff" vorzugeben, wirds wohl auch nicht ausmachen, aber kann ich ja testen. Obwohl man ja NOTUNAI setzen sollte, hab ich mal gelesen....
    Ich hab's bisher nur in der Nacht des Releases angetestet und hab dementsprechend keine Ahnung, wie die sich verhalten, außer dass die 2 Runden unbeweglich sind. Was ich gut find, weil man so ne Reaktionszeit hat. Aber an sich, warum gibt's du ihnen nicht die Lemming-AI (also den bedingungslosen Stadtangriff)? Zumindest wenn man den Trupp mit Rammen aufrüstet, weil sie dann ja auch nicht mehr plündern, sondern Städte erobern sollen.

    Wie ist das eigentlich für die KI? Wann setzt die das Anheuern ein?

  12. #117
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Ja, das werd ich eh demnächst versuchen, wenn ich zum Testspielen komm:
    dem Stadtangriffstrupp die Lemmingsache und allen anderen Attack

    Wann die KI das Beauftragen einsetzt: es gibt eine kleine Wahrscheinlichkeit wenn sie mehr als 500 Gold hat und eine höhere bei mehr als 1000 Gold.
    Dann werden alle benachbarten Civs in einen Pott geworfen, wo die CIV (Auftraggeber) verärgert oder wütend is. Und aus diesem Pott wird dann eine ausgewürfelt.

    Die Grenze von 500 Gold hab ich deshalb genommen, weil sie ja auch im Notfall "Anheuern" soll, wenn eine ihrerer Städte belagert wird.

  13. #118
    Registrierter Benutzer Avatar von Thorgal
    Registriert seit
    06.08.09
    Beiträge
    5.238
    Das mit der Goldgrenze hört sich sinnvoll an. Bei der verärgert-wütend Sache könnte auch noch die Frage miteinfließen, ob die KI einen Krieg gegen die Ziv führt oder vielleicht sogar ob sie plant einen zu führen. So dass sie die Söldner als Kriegsvorbereitung einsetzt. Vorausgesetzt, das ist überhaupt möglich abzufragen.

  14. #119
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    17.786
    Das mit dem Kriegsführen hab ich mir erspart, weil die sollen ja sowieso immer "helfen", auch in Kriegszeiten
    Das gleiche bei Kriegsplänen. Weiß auch nicht, ob ich das erfragen kann, aber ich habs mir nach kurzer Überlegung gespart.

  15. #120
    Registrierter Benutzer Avatar von Thorgal
    Registriert seit
    06.08.09
    Beiträge
    5.238
    Ist auch besser so, sonst wird der Code noch länger.

Seite 8 von 38 ErsteErste ... 45678910111218 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •