2013年8月29日 星期四

我自己目前習慣使用的兩個檔案搜尋工具分別是:「Everything」和「DocFetcher」,前者可以用超快速度搜尋檔名,後者可以透過建立索引後搜尋文件檔案的內文。

FileSeek是一款小巧、免費的搜尋軟體,搜尋檔案內容的速度還算快,也支援中文內容的搜尋。另外FileSeek還有兩個特色,一個是它不需要事先建立索引檔案,直接搜尋即可;另外一個是它支援搜尋一些特殊的檔案類型



《文明》系列游戏自带的Debug模式,即测试模式可以做到许多事情,灵活运用Debug模式可以为你免去使用作弊器的不稳定情况,甚至可以让你成为《文明5》Mod技术达人。
在游戏中开启Debug模式流程如下:



Sid Meiers Civilization V\Assets\DLC\DLC_01\Gameplay\XML

文件--   CIV5Civilization_Mongol

<Row>
       <CivilizationType>CIVILIZATION_MONGOL</CivilizationType>
       <RegionType>REGION_NATURALWONDER</RegionType>
</Row>
<Row>
      <CivilizationType>CIVILIZATION_MONGOL</CivilizationType>
      <StartAlongOcean>true</StartAlongOcean>
</Row>

<Row>
<CivilizationType>CIVILIZATION_文明名稱</CivilizationType>
<RegionType>REGION_地形名稱</RegionType>
</Row>


目前已知的理念:

独裁
 一级理念:
- 精英部队:受伤的单位攻击时造成+25%伤害。
- 总动员:购买单位需要的金钱减少33%。
- 统一战线:当和同一敌人作战时,军事城邦会比以往赠送2倍的单位。
- 未来主义:每当一个大艺术家、大音乐家或大文学家诞生时,对已知的所有文明施加+100魅力。
- 工业间谍:以2倍速度偷取科技。
- 边界强化:从每个城墙、城堡、兵工厂和军事基地获得+2本地快乐。
- 全民医疗:每个国家奇观+1本地快乐(也有部分前瞻写着+2,注意这个理念可以被所有意识形态采用)
 二级理念:
- 军国主义:从每个军营、军械库和军事学校获得+2本地快乐。
- 闪电战:大军事家+3移动力。装甲部队+15攻击力,+1移动力并无视敌人的控制领域(zone of control)。
- 警察国家:每个法院+3本地快乐。以2倍的速度建造法院。
- 民族主义:减少33%单位维护费。
- 第三条道路:战略资源数量加倍。首都+5食物、+5科研。
- 全面战争:建造军事单位时+25%产能。新建军事单位+15经验。
 三级理念:
- 敢死队:允许所有空中单位进行自杀式攻击,对一个单位造成大量伤害(这个在最新视频里看不到)
- 炮舰外交:对所有你可以勒索的城邦,每回合+6影响力
- 个人崇拜:对有共同敌人的文明施加+50%魅力
- 战争论(Clausewitz's Legacy):选择此理念后的50回合内,所有军事单位+25%攻击加成。


2013年8月28日 星期三

易宁:修改单位技能属性(例:为末日机甲增加1回合无限攻击、视野扩大3点、对远程攻击+50%防御)



2013年8月27日 星期二

注意: 不要在原資料夾 ,開新資料夾暫存原來檔案,會失效 需改名
          建議不要改太大 ,會失去遊戲樂趣

總共對43個領袖特性整理 ,方便大家使用,不清楚代碼說明,可以查閱遊戲內百科




新世界的修改位置:  X:\Civilization5\SidMeier'sCivilization\Assets\DLC\Expansion2\Gameplay\XML\Buildings

 注意: 不要在原資料夾 ,開新資料夾暫存原來檔案,會失效 需改名

武則天,修改國家特有的造紙坊

 

記事本打開CIV5Buildings.xml文件,搜索PAPER_MAKER<Cost>1</Cost>就是一回合建造 

 

-------------------------------------------------- ------------------------------ 

然後找到 

<Row> 

<BuildingType>BUILDING_PAPER_MAKER</BuildingType> 

<YieldType>YIELD_GOLD</YieldType> 

<Yield>2</Yield> 

</Row> 

這個是每回合2金幣,注意前面是YIELD不是FLAVOR 

-------------------------------------------------- ------------------------------ 

上面為一組 

 

添加新的功能需在加一組  <Row> ... </Row>

 

<Row> 
<BuildingType>BUILDING_PAPER_MAKER</BuildingType>
<YieldType>YIELD_CULTURE</YieldType>
<Yield>20</Yield>
</Row> 

 

如果要加文化就在</Row>下一行按格式添加:

<Row> 

<BuildingType>BUILDING_PAPER_MAKER</BuildingType> 

<YieldType>YIELD_CULTURE</YieldType> 

<Yield>20</Yield> 

</Row> 

就是每回合20點文化,

加信仰就把CULTURE改成FAITHPRODUCTION是工業,SCIENCE是科研,FOOD是食物 

這樣一座造紙坊,就可以每回合加所有資源了,一般建議不超過20,多了就沒意思了 

 

 

有人想早點做出造紙坊,可以修改這裡X:\Civilization5\SidMeier'sCivilizationV\Assets\DLC\Expansion2\Gameplay\XML\Technologies文件夾下的CIV5Technologies.xml 

搜索POTTERY就是製陶 

<Cost>35</Cost>這裡35改成1就是1回合研發完畢 

還有WRITING是文字,同樣改成1,這樣你第三回合就能做出造紙坊了 

同樣的電腦也會1回合研發完,所以其他的科技就別改了 

 

 

領袖特性修改:

美麗新世界的文件是在這裡修改:X:\Civilization5\SidMeier'sCivilizationV\Assets\DLC\Expansion2\Gameplay\XML\Civilizations文件夾下的CIV5Traits.xml文件 

比如武則天,搜索<Type>TRAIT_ART_OF_WAR</Type>可以看到: 

<GreatGeneralRateModifier>50</GreatGeneralRateModifier> 

<GreatGeneralExtraBonus>15</GreatGeneralExtraBonus> 

這兩項是武則天自帶的特性,如要添加,就在下一行按格式增加: 

<GreatPeopleRateModifier>100</GreatPeopleRateModifier> 

所有偉人出現機率增加倍率,100就是一倍 

<LevelExperienceModifier>-25</LevelExperienceModifier> 

升級所需經驗減少百分比-25% 

<GreatGeneralRateModifier>100</GreatGeneralRateModifier> 

天朝大軍點數1 

<GreatGeneralExtraBonus>15</GreatGeneralExtraBonus> 

天朝大軍加成 

<CityUnhappinessModifier>-50</CityUnhappinessModifier> 

印度城市不滿-50% 

<PopulationUnhappinessModifier>-50</PopulationUnhappinessModifier> 

印度人口不滿-50% 

<CityStateBonusModifier>50</CityStateBonusModifier> 

亞歷山大友邦提供資源 

<CityStateFriendshipModifier>100</CityStateFriendshipModifier> 

亞歷山大友邦互惠互利 

<FightWellDamaged>true</FightWellDamaged> 

日本受傷後無視戰鬥力減成 

<LandBarbarianConversionPercent>50</LandBarbarianConversionPercent> 

德國陸地蠻族營地轉化為自己部隊機率 

<SeaBarbarianConversionPercent>50</SeaBarbarianConversionPercent> 

奧斯曼海洋蠻族轉化為自己部隊機率 

<MoveFriendlyWoodsAsRoad>true</MoveFriendlyWoodsAsRoad> 

易洛魁友方林地相當於道路 

<CapitalBuildingModifier>25</CapitalBuildingModifier> 

羅馬建築首都建築增加25%產能 

<PlotBuyCostModifier>-25</PlotBuyCostModifier> 

美國購買地格消耗-25% 

<CultureFromKills>100</CultureFromKills> 

殺人增加文化1 

<CityCultureBonus>2</CityCultureBonus> 

法國所有城市增加2文化 

<TradeRouteChange>1</TradeRouteChange> 

阿拉伯商路增加幾條 

<WonderProductionModifier>20</WonderProductionModifier> 

**建築奇觀產能20% 

<PlunderModifier>200</PlunderModifier> 

桑海掠奪金錢倍數 

<GoldenAgeDurationModifier>50</GoldenAgeDurationModifier> 

波斯黃金時代延長百分比 

<GoldenAgeMoveChange>1</GoldenAgeMoveChange> 

波斯黃金時代增加移動 

<GoldenAgeCombatModifier>10</GoldenAgeCombatModifier> 

波斯黃金時代增加攻擊力百分比 

<GreatScientistRateModifier>100</GreatScientistRateModifier> 

巴比倫大科學家增加1倍點數 

<NaturalWonderFirstFinderGold>500</NaturalWonderFirstFinderGold> 

西班牙自然奇觀產出500金錢 

<NaturalWonderSubsequentFinderGold>100</NaturalWonderSubsequentFinderGold> 

西班牙自然奇觀效果1 

<NaturalWonderYieldModifier>100</NaturalWonderYieldModifier> 

西班牙自然奇觀產出加倍 

<NaturalWonderHappinessModifier>100</NaturalWonderHappinessModifier> 

西班牙自然奇觀增加笑臉加倍 

<FasterInHills>true</FasterInHills> 

印加丘陵相當於道路 

<ImprovementMaintenanceModifier>-50</ImprovementMaintenanceModifier> 

印加非丘陵維護費50% 

<NoHillsImprovementMaintenance>true</NoHillsImprovementMaintenance> 

印加無丘陵維護費 

<PlotCultureCostModifier>-25</PlotCultureCostModifier> 

城市擴展文化邊界所需減少 

<PolicyCostModifier>-25</PolicyCostModifier> 

政策消耗-20%烏托邦?太容易了好不好。。OTZ 

<NearbyImprovementCombatBonus>10</NearbyImprovementCombatBonus> 

波利尼西亞特性離近碉堡戰鬥加成10% 

<NearbyImprovementBonusRange>2</NearbyImprovementBonusRange> 

波利尼西亞特性離近碉堡舉例2 

<CombatBonusImprovement>IMPROVEMENT_FORT</CombatBonusImprovement> 

波利尼西亞特性碉堡種類——碉堡,此處已經更改,所有文明皆可替換。 

<EmbarkedAllWater>true</EmbarkedAllWater> 

初始狀態即可進入大洋 

<EmbarkedToLandFlatCost>true</EmbarkedToLandFlatCost> 

丹麥特性登陸只消耗1點移動力 

<ExtraEmbarkMoves>2</ExtraEmbarkMoves> 

英國海上移動+2 

<FasterAlongRiver>true</FasterAlongRiver> 

過河相當於道路 

</Row> 

修改器和MOD可以扔一邊了,改了以上兩點已經夠牛了! 

文明5:美麗新世界,還有禁止核彈,這玩意太不和諧了,種田黨必禁: 

打開X:\Civilization5\SidMeier'sCivilizationV\Assets\DLC\Expansion2\Gameplay\XML\GameInfo文件夾下的CIV5Projects.xml 

刪掉<AllowsNukes>true</AllowsNukes>即可   


最新DLC修改地址
 遊戲目錄文件夾/Assets/DLC/Expansion2/Gameplay/XML
主要修改文件地址
 遊戲目錄文件夾/Assets/DLC/Expansion2/Gameplay/XML/Civilizations
 CIV5Civilizations這個XML文檔包括除開DLC以外的所有國家應該
 主要文件有一些開局設置 文明的顏色貼圖之類 文明的領袖設定,起始的移民數量,坐下後的免費建築和免費科技
 比如 <Civilization_FreeBuildingClasses>這個詞條是免費建築

    <Civilization_FreeBuildingClasses>
                 <Row>
                         <CivilizationType>CIVILIZATION_AMERICA</CivilizationType>
                         <BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
                 </Row>
                 <Row>
                         <CivilizationType>CIVILIZATION_ARABIA</CivilizationType>
                         <BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
                 </Row>
         </Civilization_FreeBuildingClasses>
這裡中間的那兩個建築就是分別屬於兩個文明的初始建築,皇宮
 如果想改初始擁有其他建築就直接按照已有的文件複製一個粘貼注意好原版的格式就好,別多一個或少一個空格或換行。
                <Row>
                         <CivilizationType>CIVILIZATION_CHINA</CivilizationType>
                         <BuildingClassType>BUILDINGCLASS_PYRAMID</BuildingClassType>
                 </Row>
比如上面這個就是我給中國添加了初始金字塔。。。
</Civilization_BuildingClassOverrides> 這個詞條下的建築都是屬於單個文明的特殊建築
 想要自己擁有這個特殊建築就
                <Row>
                         <CivilizationType>CIVILIZATION_CHINA</CivilizationType>
                         <BuildingClassType>BUILDINGCLASS_TEMPLE</BuildingClassType>
                         <BuildingType>BUILDING_MUD_PYRAMID_MOSQUE</BuildingType>
                 </Row>
像這樣第一行裡的文明改成中國,第二行是建築的類型,第三行是建築的名稱
Civilization_FreeUnits這個詞條是免費移民
                <Row>
                         <CivilizationType>CIVILIZATION_ARABIA</CivilizationType>
                         <UnitClassType>UNITCLASS_SETTLER</UnitClassType>
                         <Count>1</Count>
                         <UnitAIType>UNITAI_SETTLE</UnitAIType>
                 </Row>
第一行是文明,第二行是兵種類型,這裡顯示的是移民,第三行是數量,第四行是兵種名稱。開局想多要點移民就把數字改下就好

<Civilization_FreeTechs>這個是初始科技
                <Row>
                         <CivilizationType>CIVILIZATION_AMERICA</CivilizationType>
                         <TechType>TECH_AGRICULTURE</TechType>
                 </Row>
這個是美國的初始科技,就是農耕,每個國家都有,如果要自己獨享這個免費科技的話就把其他國家的都刪除。。。。哈哈哈然後再把這個農耕科技需要的點數改成幾倍。。。(筆者還沒試驗過,理論上應該沒問題)

<Civilization_Leaders>這個詞條能看到文明的領袖名稱,但是沒有我們修改領袖特色需要的內部名稱。。。感覺沒什麼意義
                <Row>
                         <CivilizationType>CIVILIZATION_CHINA</CivilizationType>
                         <LeaderheadType>LEADER_WU_ZETIAN</LeaderheadType>
                 </Row>
 <Civilization_Religions>這個是宗教設定不知道幹嘛的,起始又沒宗教。。。
<Civilization_UnitClassOverrides>各個文化的特殊特色兵種。。。把自己想要的添加就好
                 <Row>
                         <CivilizationType>CIVILIZATION_BARBARIAN</CivilizationType>
                         <UnitClassType>UNITCLASS_WARRIOR</UnitClassType>
                         <UnitType>UNIT_BARBARIAN_WARRIOR</UnitType>
                 </Row>
這裡能招募的文明是野人,單位類型是戰士,單位名稱是野人戰士。。想用哪個特色單位直接改那個文明就好了,但是要注意的是,如果兩個同時期的兵種,比如英國長弓和諸葛弩一起添加了,就會按排名順序決定哪個登場,貌似這樣。。。求指教

 然後下面這個是改初始出現的環境
    <Civilization_Start_Along_Ocean>
                 <Row>
                         <CivilizationType>CIVILIZATION_ENGLAND</CivilizationType>
                         <StartAlongOcean>true</StartAlongOcean>
                 </Row>
                 <Row>
                         <CivilizationType>CIVILIZATION_OTTOMAN</CivilizationType>
                         <StartAlongOcean>true</StartAlongOcean>
                 </Row>
         </Civilization_Start_Along_Ocean>
比如第一個 英國,出現在海邊,還一個奧斯曼也是海邊優先
    <Civilization_Start_Along_River>
                 <!--<Row>
                         <CivilizationType>CIVILIZATION_AMERICA</CivilizationType>
                         <StartAlongRiver>true</StartAlongRiver>
                 </Row>-->
河邊出現的美國
<Civilization_Start_Region_Priority>地區優先
                <Row>
                         <CivilizationType>CIVILIZATION_RUSSIA</CivilizationType>
                         <RegionType>REGION_TUNDRA</RegionType>
                 </Row>
比如上面這條就是俄羅斯出現在苔原凍土地區優先

<Civilization_Start_Region_Avoid>這個是什麼優先?迴避?
                <Row>
                         <CivilizationType>CIVILIZATION_EGYPT</CivilizationType>
                         <RegionType>REGION_FOREST</RegionType>
                 </Row>
這個是埃及避開森林地區。。。
 這樣的話就能操控自己的出現地了,比如想在沙漠就在出現的地區編寫自己的文明,然後在不想出現的地方編寫所在地形的代碼
 地區代碼
<RegionType>REGION_JUNGLE</RegionType>叢林
<RegionType>REGION_GRASS</RegionType>草原
<RegionType>REGION_DESERT</RegionType>沙漠
<RegionType>REGION_TUNDRA</RegionType>凍土
 編輯在長河流和海邊出現不在地區優先中編輯 而是上面的
<Civilization_Start_Along_River>
 <Civilization_Start_Along_Ocean>
這兩個裡編輯。

 接下來是編寫CIV5Traits這個文件就是各國的國家特色都是由領袖決定的
 其實打開這個文件後,會有一堆語法告訴你哪個玩意是需要用什麼語法寫
 比如這個<Column name="GreatPersonGiftInfluence" type="integer" default="0"/>
告訴你必須是填寫整數,屏蔽是0?也就是沒效果的意思?
                 <Row>
                         <ID>0</ID>
                         <Type>TRAIT_PHILOSOPHICAL</Type>
                         <Description></Description>
                         <ShortDescription></ShortDescription>
                         <GreatPeopleRateModifier>100</GreatPeopleRateModifier>
                 </Row>
上面這個是哪個國家ID是0,剛剛查了下貌似是美國
 
http://www.civclub.net/bbs/viewthread.php?tid=100491&extra=&page=1
http://jingyan.baidu.com/article/27fa7326f19ca346f8271fdb.html

2013年8月19日 星期一

必須撰寫在synchronized的區塊內,
當wait()被呼叫時,則會釋放所有的鎖,
並寫在try-catch(InterruptedException e)內,

1. void wait()
讓執行緒進入等待狀態
2. void notify()
喚醒一個等待中的執行緒,若有多個執行緒,則由JVM決定
3. void notifyAll()
喚醒所有等待中的執行緒

注意:考慮在複雜程式上的邏輯正確,在執行緒交互呼叫wait()和notify()時,可能先配合滿足的條件再呼叫函式,例如設計前置布林值或計數器來作為呼叫的條件



import static java.lang.System.out;
public class Ex_WaitNotify {
  public static void main(String[] args) {
    One one = new One();
    one.start();
    synchronized(one) { // 主執行緒取得one的鎖
      String tName = Thread.currentThread().getName();
      out.print("one 進入 wait pool ");
      out.println("(" + tName + ")");
      try {
        one.wait();
      } catch (InterruptedException e) {}
      out.print("one 離開 wait pool ");
      out.println("(" + tName + ")");
    }
  }
}

class One extends Thread {
  public void run() {
    synchronized (this) {
      String tName = Thread.currentThread().getName();
      out.print("呼叫 notify() ");
      out.println("(" + tName + ")");
      notify();
      out.print("notify() 呼叫完畢! ");
      out.println("(" + tName + ")");
    }
  }
}

// X值與X-1值做AND運算,若傳回0,則為2次方數值
int X;
cin >> X;
cout << !(X&(X-1)) << endl; 

標籤

總網頁瀏覽量

Translate

網誌存檔

Popular Posts

Blog Archive