Seite 1 von 7 12345 ... LetzteLetzte
Ergebnis 1 bis 15 von 104

Thema: Partisanen-Event abändern

  1. #1
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.026

    Frage Partisanen-Event abändern

    Es gibt ein Ereignis, bei dem man einige freie Einheiten bekommt, sobald eine Stadt zerstört wurde (nicht sicher, ob es an der Zerstörung liegt oder ab es eine Eroberung sein muss - habe es nur selten erlebt). Kann mir jemand sagen, wo ich das finden, wie es funktioniert (Python oder xml-Trigger) und ob man es so ändern kann, dass ich es auch bei einer einfachen Stadteroberung habe? Hintergrund ist, dass ich gerne hätte, dass sich in der eroberten Bevölkerung etwas Widerstand regt, der zu ein paar kleinen Scharmützeln im Umland führt.

    Am liebsten hätte ich dabei, dass ich den entstehenden Einheitentyp auch festlegen kann, aber ich würde doch erstmal gerne hören, was möglich ist.

  2. #2
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Die Partisanen in Civ4 sind irgendein absonderlicher Code-Krüppel, der aus nem Trigger im CvEventManager bei onCityRazed und nem Event besteht.

    Für ne "einfache" Stadteroberung sollte ausreichen, den entspr. Teil nach onCityAcquiredAndKept zu kopieren. Denk ich .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  3. #3
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.026
    Soweit hast du Recht, das Spiel stürzte nicht ab, nachdem ich es eingebaut habe, aber es passiert auch nichts. Ich habe zwar gamespercentactive (oder wie das heißt) auf 100% gesetzt, und die Vorraussetzung "CIVIC" von Emanzipation auf NONE, aber als ich das Szenario im Weltenbauer einmal asuprobiert habe, entstanden beim Gegner keine Partisanen, weder bei der eroberten oder vernichteten (beides probiert) Stadt noch bei der Hauptstadt. Woran mag das liegen?

  4. #4
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    kein Plan.
    Wie hast du's denn ausprobiert?
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  5. #5
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.026
    Naja, ich habe im WB einige Städte vom Gegner gebaut, schwache Einheiten rein und starke von mit davor, dann noch die Bevölkerung hochgesetzt, damit die Stad überlebt und einen Beobachter an der gegnerischen Hauptstadt abgesetzt, weil eine Option ja immer war, die Truppen dorthin zu ziehen. Aber wenn ich dann etwas erobert habe, kamen nie irgendwo neue Gegner dazu. Deshalb frage ich mich, ob es noch weitere Bedingungen gibt, die ich übersehen habe.

  6. #6
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    dann müsste es eigentlich gehen.

    probier mal den umgekehrten Fall aus, lass dich mal etwas erobern.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  7. #7
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.026
    Kann ich probieren, wäre aber nicht der Hauptzweck davon. Die Partisanen sollen der KI etwas nachhelfen, die ist in meinem Mod schon benachteiligt genug...

    Edit: Ich wurde erobert, aber nicht passierte. Es gab keine Partisanen.
    Geändert von Kathy (25. Juli 2009 um 16:31 Uhr)

  8. #8
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    schonmal ne andere Regierungsform anstatt Emanzipation ausprobiert (also in den Trigger-Infos)?
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  9. #9
    o0
    Registriert seit
    22.06.08
    Ort
    Rheinhessen
    Beiträge
    525
    Hast du den Python-Code im EventManager 1:1 genommen (also noch bei OnCityRazed)?

  10. #10
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.026
    Ich habe den Python-Code kopiert, nichts verändert. Er steht jetzt bei beiden Ereignissen im Eventmanager.

    Code:
    	def onCityRazed(self, argsList):
    		'City Razed'
    		city, iPlayer = argsList
    		iOwner = city.findHighestCulture()
    		
    		# Partisans!
    		if city.getPopulation > 1 and iOwner != -1 and iPlayer != -1:
    			owner = gc.getPlayer(iOwner)
    			if not owner.isBarbarian() and owner.getNumCities() > 0:
    				if gc.getTeam(owner.getTeam()).isAtWar(gc.getPlayer(iPlayer).getTeam()):
    					if gc.getNumEventTriggerInfos() > 0: # prevents mods that don't have events from getting an error
    						iEvent = CvUtil.findInfoTypeNum(gc.getEventTriggerInfo, gc.getNumEventTriggerInfos(),'EVENTTRIGGER_PARTISANS')
    						if iEvent != -1 and gc.getGame().isEventActive(iEvent) and owner.getEventTriggerWeight(iEvent) >= 0:
    							triggerData = owner.initTriggeredData(iEvent, true, -1, city.getX(), city.getY(), iPlayer, city.getID(), -1, -1, -1, -1)
    			
    		CvUtil.pyPrint("City Razed Event: %s" %(city.getName(),))
    	
    	def onCityAcquired(self, argsList):
    		'City Acquired'
    		iPreviousOwner,iNewOwner,pCity,bConquest,bTrade = argsList
    		CvUtil.pyPrint('City Acquired Event: %s' %(pCity.getName()))
    ### techconquest begin ###		
    		techcount=0
    		iX=pCity.getX()
    		iY=pCity.getY()
    		pLoser = gc.getPlayer(iPreviousOwner)
    		pWinner = gc.getPlayer(iNewOwner)
    		WinnerTeam=gc.getTeam(pWinner.getTeam())
    		LoserTeam=gc.getTeam(pLoser.getTeam())
    		for techcount in range (gc.getNumTechInfos()):
                            if ((LoserTeam.isHasTech(techcount)==true)and ((WinnerTeam.isHasTech(techcount)==false))):
                                WinnerTeam.setHasTech(techcount,1,iNewOwner,0,1)
                                CyInterface().addMessage(iNewOwner,false,15,CyTranslator().getText("TXT_KEY_TECH_CONQUERED",()),'',0,'Art/Interface/Buttons/General/happy_person.dds',ColorTypes(44), iX, iY, True,True)
                                break
    ### techconquest end ###
    	
    		# Partisans!
    		if city.getPopulation > 1 and iOwner != -1 and iPlayer != -1:
    			owner = gc.getPlayer(iOwner)
    			if not owner.isBarbarian() and owner.getNumCities() > 0:
    				if gc.getTeam(owner.getTeam()).isAtWar(gc.getPlayer(iPlayer).getTeam()):
    					if gc.getNumEventTriggerInfos() > 0: # prevents mods that don't have events from getting an error
    						iEvent = CvUtil.findInfoTypeNum(gc.getEventTriggerInfo, gc.getNumEventTriggerInfos(),'EVENTTRIGGER_PARTISANS')
    						if iEvent != -1 and gc.getGame().isEventActive(iEvent) and owner.getEventTriggerWeight(iEvent) >= 0:
    							triggerData = owner.initTriggeredData(iEvent, true, -1, city.getX(), city.getY(), iPlayer, city.getID(), -1, -1, -1, -1)
    Und bei der Civic habe ich NONE reingeschrieben, so dass es bei jeder Staatsform passieren können sollte. Jedenfalls ist das der Wert, der bei normalen Ereignissen steht. Ich vermute daher irgend einen anderen Trigger, den ich übersehen habe.

    HTML-Code:
    		<EventTriggerInfo>
    			<Type>EVENTTRIGGER_PARTISANS</Type>
    			<WorldNewsTexts>
    				<Text>TXT_KEY_EVENTTRIGGER_PARTISANS</Text>
    			</WorldNewsTexts>
    			<TriggerTexts>
    				<TriggerText>
    					<Text>TXT_KEY_EVENT_TRIGGER_PARTISANS_1</Text>
    					<Era>NONE</Era>
    				</TriggerText>
    			</TriggerTexts>
    			<bSinglePlayer>0</bSinglePlayer>
    			<iPercentGamesActive>100</iPercentGamesActive>
    			<iWeight>0</iWeight>
    			<bProbabilityUnitMultiply>0</bProbabilityUnitMultiply>
    			<bProbabilityBuildingMultiply>0</bProbabilityBuildingMultiply>
    			<Civic>NONE</Civic>
    			<iMinTreasury>0</iMinTreasury>
    			<iMinPopulation>0</iMinPopulation>
    			<iMaxPopulation>0</iMaxPopulation>
    			<iMinMapLandmass>0</iMinMapLandmass>
    			<iMinOurLandmass>0</iMinOurLandmass>
    			<iMaxOurLandmass>-1</iMaxOurLandmass>
    			<MinDifficulty>NONE</MinDifficulty>
    			<iAngry>0</iAngry>
    			<iUnhealthy>0</iUnhealthy>
    			<UnitsRequired/>
    			<iNumUnits>0</iNumUnits>
    			<iNumUnitsGlobal>0</iNumUnitsGlobal>
    			<iUnitDamagedWeight>0</iUnitDamagedWeight>
    			<iUnitDistanceWeight>0</iUnitDistanceWeight>
    			<iUnitExperienceWeight>0</iUnitExperienceWeight>
    			<bUnitsOnPlot>0</bUnitsOnPlot>
    			<BuildingsRequired/>
    			<iNumBuildings>0</iNumBuildings>
    			<iNumBuildingsGlobal>0</iNumBuildingsGlobal>
    			<iNumPlotsRequired>0</iNumPlotsRequired>
    			<bOwnPlot>0</bOwnPlot>
    			<iPlotType>-1</iPlotType>
    			<FeaturesRequired/>
    			<TerrainsRequired/>
    			<ImprovementsRequired/>
    			<BonusesRequired/>
    			<RoutesRequired/>
    			<ReligionsRequired/>
    			<iNumReligions>0</iNumReligions>
    			<CorporationsRequired/>
    			<iNumCorporations>0</iNumCorporations>
    			<bPickReligion>0</bPickReligion>
    			<bStateReligion>0</bStateReligion>
    			<bHolyCity>0</bHolyCity>
    			<bPickCorporation>0</bPickCorporation>
    			<bHeadquarters>0</bHeadquarters>
    			<Events>
    				<Event>EVENT_PARTISANS_1</Event>
    				<Event>EVENT_PARTISANS_2</Event>
    			</Events>
    			<PrereqEvents/>
    			<bPrereqEventPlot>0</bPrereqEventPlot>
    			<OrPreReqs/>
    			<AndPreReqs/>
    			<ObsoleteTechs/>
    			<bRecurring>1</bRecurring>
    			<bTeam>0</bTeam>
    			<bGlobal>0</bGlobal>
    			<bPickPlayer>0</bPickPlayer>
    			<bOtherPlayerWar>0</bOtherPlayerWar>
    			<bOtherPlayerHasReligion>0</bOtherPlayerHasReligion>
    			<bOtherPlayerHasOtherReligion>0</bOtherPlayerHasOtherReligion>
    			<bOtherPlayerAI>0</bOtherPlayerAI>
    			<iOtherPlayerShareBorders>0</iOtherPlayerShareBorders>
    			<OtherPlayerHasTech>NONE</OtherPlayerHasTech>
    			<bPickCity>0</bPickCity>
    			<bPickOtherPlayerCity>0</bPickOtherPlayerCity>
    			<bShowPlot>1</bShowPlot>
    			<iCityFoodWeight>0</iCityFoodWeight>
    			<PythonCanDo/>
    			<PythonCanDoCity/>
    			<PythonCanDoUnit/>
    			<PythonCallback/>
    		</EventTriggerInfo>

  11. #11
    Magie ist entscheidend Avatar von magic66
    Registriert seit
    15.02.07
    Ort
    Das Dorf
    Beiträge
    1.394
    Nein, niemals None da einfügen!!

    Dann wird der Trigger gar nicht angesprochen, weil das Programm dann nach der Staatsform "NONE" sucht und die gibt es nicht. -> Wird nie angesprochen, da musst du schon eine richtige, exestierende Staatsform hineinbringen, oder die Zeile mit der Staatsform ganz rauslöschen.
    Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
    Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!

  12. #12
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Das klingt logisch .

    Gut zu wissen , denn ich glaub', das werd' ich noch brauchen.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  13. #13
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.455
    kann ich mir ehrlich gesagt nicht vorstellen, dass es da probleme gibt...

    bzw. dass es einen unterschied macht, ob man

    < blabla >NONE< /blabla>

    benutzt oder

    < blabla/ >
    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)

  14. #14
    Magie ist entscheidend Avatar von magic66
    Registriert seit
    15.02.07
    Ort
    Das Dorf
    Beiträge
    1.394
    Zitat Zitat von Cybah Beitrag anzeigen
    kann ich mir ehrlich gesagt nicht vorstellen, dass es da probleme gibt...

    bzw. dass es einen unterschied macht, ob man

    < blabla >NONE< /blabla>

    benutzt oder

    < blabla/ >
    Sry, ich dachte, dass würde per Python bestimmt; in den XML muss natürlich NONE einfügen, sonst funktioniert das nicht. Da haben wir wohl aneinander vorbei geredet.



    Schnippel. Rest bleibt im kleine-Fragen-Thread. The_J
    Geändert von The_J (13. August 2009 um 02:24 Uhr)
    Mit Anstand, Tugen und Manieren,-kannst du dich nie blamieren!!
    Wäre, wenn und aber ... CIV ist kein Spiel der Konjunktive!

  15. #15
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.026
    Genau, NONE ist bei der EventTriggerinfo.xml überall da, wo die Staatsform keine Rolle spielt.
    Scheint so, als gäbe es ein anderes Problem mit meinem Trigger.

    Bin bei Python leider nicht so geduldig, weil ich es selbst nicht verstehe - wenn der Fehler da liegt, werde ich ihn sicher nicht finden.

    Was bedeutet:
    bSinglePlayer>0/bSinglePlayer

    Kommt das dann in SinglePlayer-Spielen nicht vor?





    Schnippel. Rest bleibt im kleine-Fragen-Thread. The_J
    Geändert von Kathy (09. Juni 2011 um 20:57 Uhr)

Seite 1 von 7 12345 ... LetzteLetzte

Berechtigungen

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