游侠NETSHOW论坛
标题: [Majesty 2] 存档修改方法 [打印本页]
作者: davidmouse 时间: 2009-9-20 14:13:10 标题: [Majesty 2] 存档修改方法
Majesty 2的修改方法出人意料地简单,参数设置不说,居然连存档文件都没加密
对于战役存档,我们需要做的就是用文本编辑器(记事本等)打开“我的文档\majesty2\profiles\0\saves\campaigns\save#\mission.sav”(#为存档序号);单人游戏存档路径则为“我的文档\majesty2\profiles\0\saves\singles\save#\mission.sav”
如不确定哪个存档是自己想要改的,也可先打开同文件夹中的info.sav,里面记录了该存档的名称和保存时间
那么下面介绍修改方法
注:1.研究仍在进行中,所以暂时并不能解释全部参数,欢迎补充指正
2.说明统一加在//号后,实际存档文件不包含//及其后部分(这是废话 >_< );普通注释绿色,重点注释兰色
3.各参数可改动的幅度未测试,请不要改得太过,否则后果自负
第一部分 entity
entity部分包含了存档中所有单位的基本信息,包括敌我英雄、怪物、建筑、巢穴、可破坏的景观等
该部分条目的命名方式与游戏中的实际名称基本相同,修改时只需要在其中查找自己需要修改的条目名称即可。如修改城堡只需查找“{entity "castle”,修改卫兵只需查找“{entity "guard”。而其中有几类条目带有统一前缀,包括hero_(英雄)、guild_()公会、logovo_(巢穴)等
这里以英雄为例
{entity "hero_elf" 0x688//条目类型为英雄,职业精灵,内部遍号0x688
{player 255}//(接上行)由于各单位的属性都是分几部分保存的,所以要记住此编号
{operatable}
{aid 25}
{position -83.03 -30.65}//所在位置坐标
{xform zl 21.38}
{"fsm"//当前动作
{animationstates {"walk" 68.3977 2.025 0 "POSE_FINISHED"}
}
{statework "move_default"
{active}
{activeanim "walk"}
}
{worksubset "default"}
{working}
{phase 1}
{current_sta 20}
{treads "tread_pose"}
}
{"entitynationality"
{fatherland {kingdomdescriptor "player"}//阵营,参数:player、enemy
{humanplayer 0}
}
{havefatherland 1}
}
{"name"//姓名,有人喜欢的话研究下姓名和id的对应关系吧
{locname {prefixid 0}
{nameid 35}
{surnameid 17}
{prefix ""}
{name "#elfN20"}
{surname "#elfS3"}
}
}
{"entityclasses"//分类,可选类别待统计
"blood_splash"
"dwarf_friendly_target"
"elf"
"hero"
"mana_user"
"unit"
}
{"level"//等级,当前Lv和当前XP以及上次更新单位外观时的等级
{currentlevel 17}
{currentexperience 586.235}
{lastlevelupdatedview 16}
}
{"rpgmodule"
{effectorcash//单位身上附有的临时属性加成
{movement 1.5}
{dps 5 37 5}
{defence 13 43 73}
}
{unitclassrandomization//单位相对于基础值的属性浮动
{strength -5}//(接上行)全部改成正值,单兵坦克诞生
{agility -1}
{intellect 5}
{stamina -2}
{dps "" "" ""}//dps和defence的修改方法参见上面临时属性加成
{defence "" "" ""}
}
{perks//拥有的专长(从市场、公会等处购买的非消耗品,武器防具不在此列)
{perkinstance "perk_enchant_weapon_attack"}
{perkinstance "artefact_of_protection"}
{perkinstance "artefact_of_regeneration" {reactivate 0.265}
}
{perkinstance "state_elf_buff" {remove 26.997}
}
}
}
{"health"
{value_new
{max 475.2}//最大HP
{current 142.264}//当前HP
}
}
{"mana"
{value {Value 130.588 UseMin 1 Min 0 UseMax 1 Max 156}//当前和最大MP
}
}
{"motivator"//行动动机(这里只分为工作、装备升级和休息三类)
{current_motive relaxation}
{task_counters
{work 0}
{relaxation 0}
}
{source_motives
{work {Value 0 UseMin 1 Min 0 UseMax 1 Max 100}
}
{relaxation {Value 0 UseMin 1 Min 0 UseMax 1 Max 100}
}
}
{update_motives
{work}
{relaxation}
}
{change_factors
{work 1}
{relaxation 1}
}
}
{"motivationmodifier"
{isentitydie 0}
}
{"mover"
{footpath {handle 0}
{flag 1}
{state 10}
{destination -33.4833 -31.1262}
{lookat 1 -31.1262}
{action "move"}
{goal "move"}
{anim "work"}
}
{syncanimation "move_resume"}
}
{"itemsattachment"//武器及防具(目前不确定此参数是否与属性挂钩)
{attachment "p_weapon" "hero_elf_bow_03"}
{attachment "p_helm" "hero_elf_helm_03"}
{attachment "p_shield" "hero_elf_shield_03"}
}
{"snd_props"//命中与闪避因子
{prop {tag "attackprop"}{val "arrow_light"}}
{prop {tag "hitprop"}{val "leather"}}
}
{"texmod"
{"/entity/units/heroes/hero_elf/hero_elf_tracery_" "0"}
}
{".speed_property" {moving}//移动速度因子(未测试)
{speed_factor 1.5}
}
}
====================================================================
第二部分 extenders
extenders部分包含了单位的其他信息。该部分信息只能通过内部编号进行查找
下面继续以刚才的精灵英雄为例
{extenders 0x688//内部编号
{"ideath"
{is_alive 1}//是否死亡(看样子应该可以将刚死的英雄复活,未测试)
{phase 1}
{phase_timer -1}
}
{"unit"
{owner_building 0xd1f}//所属建筑(本例中即所隶属的公会)
{in_building 0}//是否在建筑物中
{can_interact 1}//是否可与玩家互动
{taxcashcard//所持税金
{cangetfromcard}
{satietybarrier 250}
{classes
"hero_elf"
}
{treasurekeeper
"money" 332.5}
}
{personalcashcard//所持个人财产
{cangetfromcard}
{satietybarrier 250}
{classes
"hero_elf"
}
{treasurekeeper
"money" 155.072 "id" 5}
}
}
{"actionmanager"
{actions//可用的攻击方式
{action
{name "elf_basic_attack"}
}
{action
{name "elf_roots"}
}
{action
{name "elf_roots_friendly_target"}
}
{action
{name "elf_imp_attack"}
}
{action
{name "elf_buff"}
}
{action
{name "elf_magic_arrow"}
}
}
{dt_waiting 0.074}
{target 0x688}
}
{"attacker"//战斗相关,待测
{status 0}
}
{"behaviour"
{is_start 1}
{is_force 0}
{is_attack_mode 0}
{is_safety_mode 0}
{is_lock_safety_mode 0}
{safety_timer
0}
{updatetimer
0.075}
{current_task//当前行动
{"GoSafetyBuildingTask"
{base
{active}
{status "working"}
}
{usebuildingtask
{base
{active}
{status "working"}
}
{walktask
{base
{active}
{status "working"}
}
{target -33.4833 -31.1262}//目标坐标
{distance -1}
{is_stopping 1}
{path_handle 0}
}
{buildingid 0xd1f}//目标内部编号
}
{is_order 0}
{gosafetybuildingmovement
{base
{visibility 1}
{changevisible 1}
}
{is_die 0}
{is_free 0}
{is_fear 0}
{is_order 0}
{is_complit 1}
}
}
}
{current_strategy "everyday"}
{party_id -1}
{party_rank -1}
}
{"m2inventory"//道具
{effectorcash//来自道具的属性加成
{dps "" 32 ""}
{defence 10 40 70}
}
{allitems
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}//生命药剂疗效,法力药剂同理,待测
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"HealthPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 50}
}
{"ManaPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 25}
}
{"ManaPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 25}
}
{"ManaPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 25}
}
{"ManaPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 25}
}
{"ManaPotion"
{bottle_base {inventory_base {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
}
{effect 25}
}
{"Armour"
{type "hero_elf" 2}//护甲类型及等级
{inventoryitem {owner 0x688}
{active 1}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
}
{"Enchant"
{base_inventory {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
{name "enchant_weapon_attack"}//法师塔武器附魔
{perk "perk_enchant_weapon_attack"}
{type "enchant_static"}
}
{"Weapon"
{w_base
{owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{weapon_name "hero_elf_bow_03"}//武器类型及等级
{enchant "perk_enchant_weapon_poison"}//是否已涂毒
}
{"Artefact"
{base_inventory {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
{name "artefact_of_protection"}//守护之戒
{perk "artefact_of_protection"}
}
{"Enchant"
{base_inventory {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
{name "enchant_weapon_poison"}//武器涂毒,估计为上面“是否已涂毒”参数的前提条件
{perk "perk_enchant_weapon_poison"}
{type "enchant_attack"}
}
{"Artefact"
{base_inventory {owner 0x688}
{active 0}
{effectorparams
{dps "" "" ""}
{defence "" "" ""}
}
{editorname ""}
}
{cost}
{name "artefact_of_regeneration"}//恢复之叶
{perk "artefact_of_regeneration"}
}
}
}
}
作者: davidmouse 时间: 2009-9-20 14:13:31
第二部分 extenders (续)
再举一个extenders部分的建筑条目的例子
{extenders 0xd1f//对应entity "guild_elf" 0xd1f
{"entity_seller"//拥有的服务
{orderindex 22}
{productedcommodities "elf_buff" 4}
{productedcommodities "elf_imp_attack" 4}
{productedcommodities "elf_magic_arrow" 4}
{productedcommodities "magic_roots" 1}
{productedcommodities "rest_elf" 9}
}
{"home"
{visitor 0x688}
}
{"building"
{brownie
{mood {Value 100 UseMin 1 Min 0 UseMax 0 Max 100}
}
{factor 1}
}
{force_points
{level 1}
{bones 9}
{is_init 1}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
{logic_point
{counter 0}
}
}
{lastupdatedhealthpercent 100}
{onepiecebuildhealthpercentprice 1e-007}
{stampset 1 0xd20}
{stamp "bg_guild_elf"}
{cashmachine
{base}
{accounts {tax "money" 0}
{personal "money" 0}
}
}
{guildentity 0x688}//下属成员
{guildentity 0x689}
{guildentity 0x68a}
{in_build 0}
{can_attack 1}
}
{"m2inventory"
{effectorcash
{dps "" "" ""}
{defence "" "" ""}
}
{allitems
}
}
{"laboratory"
{inventedinvention "elf_imp_attack"}//已研究的商品
{inventedinvention "elf_buff"}
{inventedinvention "elf_magic_arrow"}
{inventedinvention "magic_roots"}
}
{"orderflag"//是否为攻击/防御任务目标,也许下水道可以用这个来拆?
{attackorders
}
{protectorders
}
}
}
====================================================================
第三部分 helper
helper/quests记录了主线和支线任务的详细信息
{"helper/quests"
{"visit_sansay"
{launched}
{state Victory}//当前状态,本例中为“已完成”
{launch_condition//(支线)任务开始条件
{"Mission start"}
}
{victory_condition//任务目标
{"Arrival"
{properties
{zone "sansay"}
{"Observe type" "Player unit"}
{kingdom player}
}
}
}
{victory_reaction//任务奖励
{"Experience"
{properties
{type zone}
{Zone expa}
{Units "hero_beastmaster hero_blademaster hero_cleric hero_darkpriest hero_dwarf hero_elf hero_hunter hero_mage hero_marksman hero_paladin hero_paladin_spirit hero_priest hero_rogue hero_warrior"}
{Count 5000}
{Kingdom player}
}
}
{"Change fraction"
{properties
{type tag}
{Tag sansay_house}
{New_kingdom player}
}
}
{"Fog of war"
{properties
{type zone}
{Zone "expa fog_river fog_mount1 "}
{Kingdom player}
}
}
{"css.play"
{properties
{css "13_sansay_miamot"}
}
}
{"Delete entity"
{properties
{type tag}
{Tag sansay_fx}
{Zone sansay}
}
}
}
{quest_data//基本信息
{Name "#13_Quest4_name"}
{Description "#13_Quest4_text"}
{Quest_type Additional}
{Kingdom player}
{Counter_type none}
}
}
====================================================================
helper/spawn_program_collection部分指定了非招募类单位(怪物、税官、平民、卫兵等)的生成机制
{"helper/spawn_program_collection"
{"skeleton"//产生骷髅
{"spawn type" units}//所属类别
{raw undead_skeleton}
{Nationality Same}
{level 0}//生成等级
{"AI task"//生成后的行动
{task attack_in_zone}
{target_zone near_castle}
}
{postspawn}
{postspawn_i 1}
{gold 10}//生成的单位持有的财产
{count "1 1"}//每次生成的数量,待测
{"spawn time" 45}//生成所需时间
{"max count" 5}//最大数量
{"First wave"}
}
====================================================================
第四部分 其他
{"days_counter"
{timer 41.189}//当前时间,进制待测
{days_count 66}//当前天数
}
{"fog"//战争迷雾开关,待测
1
}
{"kingdoms"
{kingdom {kingdomdescriptor {kingdomdescriptor "player"}
{humanplayer 1}
}
{kingdomtreasure "money" 17943.8 "wood" 0 "id" 1}//王国财产
{color -9655297}
{"defflagcosts"
0 0 0 0}
{exist_statue 1}
{min_duty_money 25}//收税策略
{min_collect_money 10}
}
{"upgrades_limitations"//建筑等级限制,待测
{upgrade "guild_mage" {lim {max_up_level 2}
}
}
{upgrade "guild_rogue" {lim {max_up_level 2}
}
}
{upgrade "market" {lim {max_up_level 2}
}
}
{upgrade "smithy" {lim {max_up_level 2}
}
}
{upgrade "tradepost" {lim {max_up_level 2}
}
}
}
作者: 284663882 时间: 2009-9-20 14:38:43
有待研究
作者: davidmouse 时间: 2009-9-21 01:08:09
lord要组队,而且不能当领队
作者: mpc05 时间: 2009-9-27 08:07:39
Cool. thanks fos sharing.. still need some time to be familiar with this game first...
作者: VC 时间: 2009-9-27 10:05:56
技术贴 虽然不是修改派 谢谢分享
作者: kanvinv 时间: 2009-10-2 22:38:49
不错,很有用,不过太多地方是待测啊,又要试过才知
作者: powertools 时间: 2009-10-2 23:33:56
看得头昏,能不能发个修改的bt点的存档让咱玩玩,这游戏太难了,一关都没打过去.....
作者: magicway 时间: 2009-11-3 15:55:04
技术贴支持,能更详细就好!!!
我加一点
{effectorcash//单位身上附有的临时属性加成
{movement 1.5}
{dps 5 37 5}
{defence 13 43 73}
}
{unitclassrandomization//单位相对于基础值的属性浮动
{strength -5}//(接上行)全部改成正值,单兵坦克诞生
{agility -1}
{intellect 5}
{stamina -2}
{dps "" "" ""}//dps和defence的修改方法参见上面临时属性加成
{defence "" "" ""}
这里的{dps "" "" ""}注意""和""之间有空格,中间三个""分别对应战士,巡游,牧师(法师)的攻击
如要修改,战士改为{dps 50 "" ""} ,巡游改为{dps "" 50 ""},法师改为{dps "" "" 50},PS:如果愿意,你可以把所有的攻击都修改
防御的就修改{defence "" "" ""}分别对应上面的职业攻击数值修改,{defence 近战 远程 法术}
作者: 风与风筝 时间: 2009-11-4 01:11:27
唉~~多好的游戏啊 ,就这样被修改工具给废了......
作者: magicelfzz 时间: 2010-1-12 13:58:17
好东西·~~~谢谢lz~~~顶一下~~~~~
| 欢迎光临 游侠NETSHOW论坛 (https://game.ali213.net/) |
Powered by Discuz! X2 |