注册 | 登录

游侠NETSHOW论坛





查看: 5080|回复: 9
打印 上一主题 下一主题

[求助] 求关于Age of Pirates - Caribbean Tales人物的怎么修改? [复制链接]

帖子
533
精华
0
积分
267
金钱
13517
荣誉
0
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2009-12-10 16:25:42 |只看该作者 |倒序浏览
我想知道主角的HP怎么改  我占岛肉搏老被别人砍死!还有开始游戏时的指挥官怎么修改出来?按照以前的修改帖修改好像不能解除职务,解除了就消失了。

使用道具 举报

帖子
799
精华
0
积分
460
金钱
3570
荣誉
6
人气
2
评议
0
沙发
发表于 2009-12-10 19:26:00 |只看该作者
沉船都出了块半年了,估计现在也没什么人再玩海盗3加勒比传说了。

使用道具 举报

Fashion&man@(*$)%萌
游侠元老版主
游侠剑阁工作组【评测】
海魂☆飞翔的荷兰人
★★★★★★★

元老版主勋章版主勋章资深版主勋章大头像勋章

帖子
7125
精华
6
积分
6080
金钱
46651
荣誉
130
人气
172
评议
5

板凳
发表于 2009-12-10 21:22:11 |只看该作者
可以用GM8 改或者锁定 或者改相关文本实现, 不过升级以后应该就会还原了 除非你已经到最高级别了

使用道具 举报

帖子
429
精华
0
积分
235
金钱
809
荣誉
2
人气
0
评议
0
地板
发表于 2009-12-11 08:54:33 |只看该作者
海盗3加勒比传说?
是不是那个一出来的地方叫奥克贝的?
如果是的话我可以帮上你,如果不是的话那就没办法了........

使用道具 举报

帖子
533
精华
0
积分
267
金钱
13517
荣誉
0
人气
0
评议
0
5#
发表于 2009-12-11 11:45:55 |只看该作者
不是,就是男女兄妹主角的那个,一出来的岛叫莫纳岛,主要还是太老了,希望哪位知道的老兄能辛苦一下,把修改方法写出来,在这先谢谢了

使用道具 举报

帖子
429
精华
0
积分
235
金钱
809
荣誉
2
人气
0
评议
0
6#
发表于 2009-12-11 12:22:14 |只看该作者
原帖由 虚空破碎 于 2009-12-11 11:45 发表
不是,就是男女兄妹主角的那个,一出来的岛叫莫纳岛,主要还是太老了,希望哪位知道的老兄能辛苦一下,把修改方法写出来,在这先谢谢了




这个好象还真有,不过要等我晚上回家找找了..........

使用道具 举报

帖子
429
精华
0
积分
235
金钱
809
荣誉
2
人气
0
评议
0
7#
发表于 2009-12-11 18:42:50 |只看该作者
《加勒比海盗》2 游戏修改

1,开始等级,技能等修改

用记事本打开x:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\characters\characters_init.c文件,
查找以下字符:

for(n=0; n<TOTAL_CHARACTERS; n++)
{
?? makeref(ch,Characters[n]);
?? //DeleteAttribute(ch,"act");
?? DeleteAttribute(ch,"");
(这个以下是开始在船上工作的人员,以后召收的指挥官属性修改在后面)

................
ch.skill.freeskill = 100;  ---这是修改后的技能点数,
ch.perks.freepoints = 100;  ---这是修改后的能力点数,
................
ch.rank = 8001; ---这是修改后的开始级别,和以后要召收的指挥官等级有关联,不要大于主角的等级数.

指挥官的开始等级修改后,把以下字段删除掉:
ch.rank = sti(ch.skill.Leadership) + sti(ch.skill.Fencing) + sti(ch.skill.Gun) + sti(ch.skill.Sailing) + sti(ch.skill.Accuracy) + sti(ch.skill.Cannons) + sti(ch.skill.Grappling) + sti(ch.skill.Repair) + sti(ch.skill.Defence) + sti(ch.skill.Commerce) + sti(ch.skill.Sneak) - 13;

(各种技能的开始值不用修改了,因为修改技能点数后,再手动加上去就可以了.)

以下是开始时在你船上的工作人员,原来都是-1表示没有,1表示你自己,2是女主角,不要添1,3以后是其他人.
?? ch.Fellows.Passengers.boatswain = "2";
?? ch.Fellows.Passengers.navigator = "3";
?? ch.Fellows.Passengers.doctor = "4";
?? ch.Fellows.Passengers.cannoner = "5";
?? ch.Fellows.Passengers.treasurer = "6";
?? ch.Fellows.Passengers.carpenter = "7";
....................


makeref(ch,Characters[1]);?? //Blaze Sharp
ch.name?? = XI_ConvertString("Blaze");
(这个以下是男主角部分)
......................
ch.model = "devlin";   --人物代码,可以换成其他人物形像来玩.
....................
ch.skill.freeskill = 100;  ---这是修改后的技能点数,
ch.perks.freepoints = 100;  ---这是修改后的能力点数,
..............

ch.rank = 8200; ---这是修改后的开始级别,数值必须要比前面的指挥官的等级数大一些,上万可能出错.

................
ch.money = "9999990";  --这是修改后的金钱,多了好像就出错了.
..............
ch.Ship.Name = "Quicksilver";  --船的名字.改成喜欢的中文名字.
ch.Ship.Type = GenerateShip(SHIP_LUGGER, 1);  --这是开始的船,一条小破船.
改成:
ch.Ship.Type = GenerateShip(SHIP_BATTLESHIP, 1);

其中括号里的SHIP_BATTLESHIP是战列舰的代码,表示你一开始就用了战列舰,你还可以在X:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\ships\Ships_init.c 文件里修改这条战舰的其他属性.

GiveItem2Character(ch, "blade1"); ?? ---------------开始时的佩剑,改为blade17,游戏中的好剑“绝壁”
EquipCharacterByItem(ch, "blade1");?? ------------- 同上
GiveItem2Character(ch, "gun1"); ??? -------------?? 开始时的佩枪,改为gun7,
EquipCharacterByItem(ch, "gun1"); ?? -------------同上
GiveItem2Character(ch, "spyglass1"); -------------开始时的望远镜,改为spyglass4
EquipCharacterByItem(ch, "spyglass1"); -------------同上

...............

makeref(ch,Characters[2]);??
ch.name?? = XI_ConvertString("Beatrice");
(这个以下是女主角部分,修改和男主角一样,不再重复)


2,船支属性修改

按照以下的修改,游戏中可能会遇到这样无敌的敌方船支,如果非要改一条自己专用的船,具体作法就是船的数据,比如船体和船帆的耐久度,航行速度等在内存中修改(方法见关于修改《沉船》的帖子)。至于火炮类型和最大口径以及船员数,可以还用以下方法来修改,因为电脑可能还没有升级这些。

用记事本打开X:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\ships\Ships_init.c 文件,在这个文件里可以修改游戏里各种类型的船的容量,船体的血值,帆的血值,最大船员数,装载的火炮类型和数量,以及航速和转速等.

以战列舰为例,以下数据是修改后的结果.需要修改的地方加以说明.
///////////////////////////////////////////////////////////////////////////
/// Battleship
///////////////////////////////////////////////////////////////////////////
makeref(refShip,ShipsTypes[SHIP_BATTLESHIP]); ----SHIP_BATTLESHIP是这条战列舰的代码,就是在前面加入开始拥有的船支.
refShip.Name ?? ?? ?? ?? = "Battleship";
refship.Soundtype ??? = "lineship";
refShip.Class ??? = 1;
refShip.Cannon ?? ?? ?? = CANNON_NAME_MORTAR;  ----可以升级到迫击炮,在Cannons_init.c?? 火炮文件里有各种火炮的数据和代码.
refShip.MaxCaliber ?? ?? = 92;          ----可升级的最大口径.这里的数字参考Cannons_init.c 文件里的相关数据,不是自己乱改.
refShip.Weight ?? ??? = Tonnes2CWT(893000);     --承重量
refShip.Capacity ?? ?? ??? = 885500;          ---船舱容量
refShip.CannonsQuantity = 180;          --可装的火炮数量
refShip.rcannon ?? ??? = 80;             --以下四项是左右舷和前后火炮配置,数量加起来等于总数量.
refShip.lcannon ?? ??? = 80;
refShip.fcannon ?? ??? = 8;
refShip.bcannon ?? ??? = 22;
refShip.MaxCrew ?? ?? ?? = 800;     ---最多船员数,效果不太明显
refShip.MinCrew ?? ?? ?? = 180;
refShip.BoardingCrew ?? = 900;    --参加甲板战的人,抢船时用到,多一些
refShip.GunnerCrew ?? = 650;     --枪手,参加陆战的人.攻城参战人员,
refShip.CannonerCrew = 360;     --炮手,是大炮数量的2陪.
refShip.SailorCrew ??? = 800; ?? ?? ?? ?? ?? ?? --水手数,和refShip.MaxCrew?? = 800相等.
refShip.SpeedRate ??? = 123.4;   ---航速,太大没意思
refShip.TurnRate ?? ?? ??? = 312.0;   --转变速度, 太大没意思
refShip.Price ?? ?? ?? ??? = 3000000;   --出售价格,
refShip.HP ?? ?? ?? ?? ??? = 996700;   --船体血值
refShip.SP ?? ?? ?? ?? ??? = 99100;    --船帆血值   
refShip.AbordageLocation = "Boarding Deck_01";
refship.Type.Merchant ??? = true;   --船厂是否出售该船.
refship.Type.War ?? = true;
...........
另:安装MOD-Supermod后,游戏中船坞可以买到任何船支。


3,火炮属性修改
用记事本打开x:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\cannons\Cannons_init.c?? 在这个文件里可以修改某种火炮的装填时间等.

在这里主要是修改炮弹的装填时间,以下是以迫击炮为例,因为在战列舰修改里把迫击炮作为战列舰的最大配置类型:
makeref(rCannon,Cannon[CANNON_TYPE_MORTAR]);
rCannon.type = CANNON_NAME_MORTAR;  --等号后面是迫击炮代码,可以加到上面Ships_init.c文件里某种船的里面
rCannon.caliber = 92;             
rCannon.name = "caliber92";
rCannon.picture = "cannons13";
rCannon.Sound = "fort_cannon_fire";
rCannon.ReloadTime = 40;       -----装填时间,修改后的数据.
rCannon.Cost = 2000;
rCannon.Weight = 160; 
........................


4,召收的指挥官修改

本来想把指挥官改成MM,但在游戏里这些指挥官不像在1代里那样跟随主角战斗,所以就放弃了.

记事本打开G:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\scripts\utils.c ,

查找以下字符:

if (CharacterType == OFFICER)
?? {
characters[iChar].type = WARRIOR;
//LAi_NPC_Equip(&characters[iChar], sti(characters
[iChar].rank), true, false);
if(sti(characters[iChar].rank) > 15)
{
characters[iChar].rank = 15;
}
?? }

修改 characters[iChar].rank = 15;

为:
characters[iChar].rank = 8015; ----------不要大于主角的等级数。

注意:召收的指挥官等级和主角的等级,以及前面修改的指挥官开始时的等级相关联。

5,让小贩出售所有武器物品
打开G:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\scripts\utils.c

查找

void GiveItemToTrader(aref ch)
{
int irand;

DeleteAttribute(ch, "items");

TakeNItems(ch,"blade1", Rand(1)+1);
TakeNItems(ch,"gun1", Rand(1)+1);
int iChance = 0;
float fLuck = GetSummonSkillFromName(pchar, SKILL_SNEAK);
fLuck = fLuck * (1.0 + (0.5 * iGameArcade));
for(int i = 0; i < ITEMS_QUANTITY, i++)
{
?? if(!CheckAttribute(&Items, "groupID"))
?? {
continue;
?? }
?? if(Items.groupID == SABERGUN_ITEM_TYPE)
?? {
continue;
?? }
?? if(!CheckAttribute(&Items, "rare"))
?? {
continue;
?? }
?? if(CheckAttribute(&Items, "uniq") && sti(items.uniq) != 0)
?? {
continue;
?? }
?? if(items.groupID == BLADE_ITEM_TYPE || items.groupID == GUN_ITEM_TYPE || items.groupID == SPYGLASS_ITEM_TYPE)
?? {
if(stf(items.rare) < 10.0)
{
continue;
}
if(CheckAttribute(&items, "minlevel"))
{
if(sti(items.minlevel) > sti(pchar.rank) + 3)
{
??? continue;
}
}
iChance = rand(100); //蝮?怦?镳噔桦 ? 2 疣珥 戾踵龛珈?镳?沐礤疰赍 栩屐?磬 觐疣犭??蝾疸钼鲶.
if(stf(items.rare) + fLuck >= iChance)
{

TakeNItems(ch,items [ i ] .id, 3);

}
?? }
}
}
void PlaceCharacter(aref ch, string group, string stype)

换成:

void GiveItemToTrader(aref ch)
{
int irand;

DeleteAttribute(ch, "items");

TakeNItems(ch,"blade1", Rand(1)+1);
TakeNItems(ch,"gun1", Rand(1)+1);
int iChance = 0;
float fLuck = GetSummonSkillFromName(pchar, SKILL_SNEAK);
fLuck = fLuck * (11.0 + (10.5 * iGameArcade));
for(int i = 0; i < ITEMS_QUANTITY, i++)
{

TakeNItems(ch,items [ i ] .id, 5);??————"5"是修改后的值,表示每种物品每次的出售数量

}
}
void PlaceCharacter(aref ch, string group, string stype)

和小贩对话时,游戏有几秒的停顿,是游戏正在读取数据,因为要把所有的东西列出来。

把绝壁剑的使用等级和伤害数据改大后,再买上后发放给你的随从指挥官,这样他们就一剑杀敌了。

6,人物名字汉化

记事本打开G:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\Program\characters\english\Characters_names.c ,

这个文件里按国家分了段落,分别是:
// English --英国
// Holland --荷兰
// French --法国
// Spain  --西班牙

每个国家下面又有三个段,分别是:

// man names  --男人名
// women names  --女人名
// families     --家族名

人物名字太多,这里以修改游戏中MM的名字为例:

查找以下字符:

// women names
n = 0;
n = AddStr2Array(&sEnWomenNames, n, "Adelina,Alicia,Alison,Amanda,Amelia,Amy,Anne,Astrid,Audrey,Aurelia,Aurora,Avis");
n = AddStr2Array(&sEnWomenNames, n, "Bella,Camilla,Cecilia,Celia,Clare,Claudia,Diana,Edith,Eloise,Emily,Emma");
.................

特别注意每条引号里的名字个数,不是随意添加个数的,必须和原来的名字数目相等,每个名字用逗号分割开,如上面两条中,第一条里有12个,第二条有11个.可以改成以下内容:

// women names
n = 0;

n = AddStr2Array(&sFrWomenNames, n, "张曼玉,刘嘉铃,林青霞,杨恭如,伊能静,黄奕,李小璐,孙俪,赵薇,周迅,马伊俐,王菲");
n = AddStr2Array(&sFrWomenNames, n, "萧蔷,胡慧中,王祖贤,李嘉欣,关之琳,王菲,曹颖,范冰冰,林青霞,李美凤,巩俐");
........................
文件共有四处// women names,所以最好把文件里四处MM的名字都改成中文.

游戏中非主角人物的名字是随机分配的,所以改了以后,你也不知道这些名字倒底用在谁的身上,也许王菲在酒吧里正在做女招待?或者你所召收的指挥官其中有个叫刘德华?

修改好后,把这个文件分别保存在characters目录下的english文件夹中,覆,盖,原,文,件,即可.若不行就再其他几个文件夹中的同名文件。
english (英国)?? ---汉化用的文件夹。
french (法国)
german (德国)
italian  (意大利)
spanish (西班牙)

西方人名的格式是姓在后,名在前,
// families 字段下面是各个国家的姓,和名字组合在一起,所以这样修改后,前面是中文名字,后面还有英文字符的姓.有点儿美中不中,所以最好是把// families字段里面的姓都删除掉,只留下逗号.

后面附有只留下逗号的//families 字段文件附件,其他男性名字和女性名字自己再修改。

7,分辨率修改

记事本打开G:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\engine.ini文件,这是配置文件,查找

screen_x = 800 ----这是你原来所调的分辨率值
screen_y = 600?? ----这是你原来所调的分辨率值

修改为:

screen_x = 1280?? -----这里的数字参照你当前显卡的设置
screen_y = 1024 ------这里的数字参照你当前显卡的设置

保存文件。

运行游戏时不要点击config.exe,点击engine.exe。

如果之前在config.exe中已经把fullscreen Mode (全屏模式)对勾去掉。这样修改后,虽然不是在全屏模式,但游戏照样占满屏幕。


8,加勒比海盗2MOD-Supermod汉化技巧:

方法是安装好加勒比海盗2中文版后,把以下文件备份,再安装MOD-Supermod,安装完后把备份的汉化文件再覆盖原来的文件,然后把其他没有汉化的新英文文件汉化了,

文件位置参照christiedo 给出的加勒比海盗2汉化主要文件位置:

1,汉化字库文件:LG_Data文件夹
2,安装目录\RESOURCE\INI\texts下的english文件夹(这个文件夹里是界面文字:)
3,program\dialog\english文件夹(对话文字,主要增加了新的对话文件,也是主要汉化部分。)
4,根目录下engine.exe(必须)


9,妓院名字和小电影片断的修改

G:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\RESOURCE\INI\texts\english\commands_name.txt

游戏只提供了三个视频片断,自己可以加入更多的小电影来欣赏。

把需要的视频文件转换成WMV格式,放在G:\Program Files\Star Interactive\Age of Pirates - Caribbean Tales\RESOURCE\VIDEOS目录下,文件名的顺序依次是

Whore_0.wmv
Whore_1.wmv
Whore_2.wmv
Whore_3.wmv
Whore_4.wmv
............
Whore_30.wmv等,

把rand(2)改成rand(30)即可。

使用道具 举报

帖子
429
精华
0
积分
235
金钱
809
荣誉
2
人气
0
评议
0
8#
发表于 2009-12-11 21:12:29 |只看该作者
加勒比海盗2中文版DebugMode指令集






修改游戏根目录下engine.ini内
debugwindow = 1
进入游戏F5键激活

指令如下:
LAi_SetImmortal(pchar, true)----开启无敌模式
LAi_SetImmortal(pchar, false)----关闭无敌模式
AddPartyExp(pchar, N)----给与N值量的经验
AddMoneyToCharacter(pchar, N)----给与N值量的资金
pchar.Rank----角色等级
pchar.Money----角色资金
pchar.Skill.Freeskill----技能点
pchar.Perks.Freepoints----能力点

pchar.ship.HP----船体耐久
pchar.ship.SP----船帆耐久
pchar.ship.Crew.BoardingCrew----冲锋队
pchar.ship.Crew.GunnerCrew----陆战队
pchar.ship.Crew.CannonerCrew----火炮组,数量多到一定量几乎感觉不到火炮Reload
pchar.ship.Crew.SailorCrew----航行组
pchar.ship.Crew.Quantity----海员总数
pchar.ship.Crew.Morale----海员士气

GenerateShip(N, true)----N=0-18,生成船只。0是最小的船,18是Manowar
pchar.ship.type----船只代码,上一条指令返回的数值用在此处
pchar.ship.cannons.type----数值0-12。舰载炮0-7,岸炮8-12。当然岸炮也能舰载。
8为32磅
9为36磅
10为42磅
11为48磅
12为92磅臼炮。因为92磅炮的BigBall参数是开启的,所以炮弹巨大。

GiveItem2Character(pchar,XXX)----给与指定XXX个人物品1单位,个人物品代码附后。
TakeNItems(PChar, XXX, N)----给与指定个人物品N单位
HalfMap1----布雷斯持有的半张地图
HalfMap2----比阿特丽斯持有的半张地图
Patent_France----法国私掠许可证
Patent_England----英国私掠许可证
Patent_Spain----西班牙私掠许可证
Patent_Holland----荷兰私掠许可证
Patent_Pirate----海盗标记,即海盗私掠许可证
Patent_Smuggler----走私者护身符
blade1至blade11----一般刀剑
blade12----丑小鸭
blade13----华贵细剑
blade14----黄金针
blade15----黄蜂
blade16----伊夫利特
blade17----绝壁
blade18----阿斯塔里亚
gun1至gun5----一般火器
gun6----四孔之王,备弹4发火器
gun7----决斗者之梦,备弹2发火器
spyglass1至spyglass3----一般望远镜
spyglass4----高雅望远镜,7倍全功能。当然可以修改成20倍以上。
spyglass5----伽利略望远镜,20倍天体望远镜。功能不如高雅。我把它修改成了200倍全功能型,但是......晃眼啊
gunblade1至gunblade8----资料篇里的枪剑合一,测试不成功
其他任务物品就不列举了。

pchar.ship.cargo.goods.XXX----船只载荷物
货物代码:
Balls{炮 弹}
Grapes{葡 萄 弹}
Knippels{链 球 弹}
Bombs{高 爆 弹}
Sailcloth{帆 布}修理消耗品
Planks{厚 木 板}修理消耗品
Food{食 物}海员消耗品
Medicine{医 药}海员消耗品
Equipment3{卓 越 之 刃}海员装备,可增加冲锋队能力。测试不成功
其他货物就不列举了


通过内存修改的Manowar
99000载荷
60000耐久
9900帆耐久
45.1速度
97.9转向
20.0逆风速
1000操帆手
1000冲锋队
1000陆战队
500火力组
水线青铜板,游戏中起装甲作用。现实却是提船速的。
丝帆,太豪华了。东方航路来的东西在游戏里成了消耗品。
102门92磅要塞臼炮,内存修改实际炮数还在摸索中。
所以显示150门实际装102,不想通过改
refShip.CannonsQuantity
refShip.rcannon
refShip.lcannon
refShip.fcannon
refShip.bcannon
这5个参数达到目的。

使用道具 举报

帖子
429
精华
0
积分
235
金钱
809
荣誉
2
人气
0
评议
0
9#
发表于 2009-12-11 21:13:37 |只看该作者
好了,因为时间太久远了点,能够找到就这么多了,希望对你有帮助吧

使用道具 举报

帖子
533
精华
0
积分
267
金钱
13517
荣誉
0
人气
0
评议
0
10#
发表于 2009-12-12 09:08:46 |只看该作者
非常感谢,呵呵,确实很有帮助!!!!!!

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-7-22 07:14 , Processed in 0.299134 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到