- UID
- 1330491
- 主题
- 13
- 阅读权限
- 40
- 帖子
- 1747
- 精华
- 0
- 积分
- 876
- 金钱
- 4476
- 荣誉
- 0
- 人气
- 3
- 在线时间
- 3092 小时
- 评议
- 0
- 帖子
- 1747
- 精华
- 0
- 积分
- 876
- 金钱
- 4476
- 荣誉
- 0
- 人气
- 3
- 评议
- 0
|
原帖由 碎花如雨 于 2008-2-15 13:28 发表 
啊 謝謝 還有一件事情
船帆在哪裡改
防止船帆受损的方法我不清楚。
我是添加了一条秘籍来实现全部修理,这样就可以随时修理。。。。。
这么做的好处是,由于海盗3在某些港口里,自己的船队在停泊时会互相碰撞,造成桅杆断裂。
我就加了这个秘籍来修理。
在interface的ship.c里,confirmShipChangeName()函数就是用来更新船名并检查作弊码的,
我加了一条秘籍“hsrepairall”,用来完全修理该船,一条秘籍“hsfullcrew”,用来把该船人员补满
修改后如下:
void confirmShipChangeName()
{
if (shipIndex== -1) return;
bool isCheatCode = false;
if(GameInterface.edit_box.str == "hsrepairall")
{
int i, cn;
ref cheatchref;
for(i=0; i<COMPANION_MAX; i++)
{
cn = GetCompanionIndex(pchar,i);
if(cn==-1) continue;
cheatchref = GetCharacter(cn);
///////////////////////////////////
if(CheckAttribute(cheatchref, "ship.sails.color"))
{
cheatchref.ship.oldsails.color = cheatchref.ship.sails.color;
}
if(CheckAttribute(cheatchref, "ship.sails.gerald_name"))
{
cheatchref.ship.oldsails.gerald_name = cheatchref.ship.sails.gerald_name;
}
DeleteAttribute(cheatchref,"ship.sails");
DeleteAttribute(cheatchref,"ship.masts");
if(CheckAttribute(cheatchref, "ship.oldsails.color"))
{
cheatchref.ship.sails.color = cheatchref.ship.oldsails.color;
}
if(CheckAttribute(cheatchref, "ship.oldsails.gerald_name"))
{
cheatchref.ship.sails.gerald_name = cheatchref.ship.oldsails.gerald_name;
}
///////////////////////////////////
}
RepairAllShips();
isCheatCode = true;
}
if(GameInterface.edit_box.str == "hsfullcrew")
{
ref rBaseShip = GetRealShip(GetCharacterShipType(pchar));
pchar.ship.Crew.Quantity = rBaseShip.MaxCrew;
pchar.ship.Crew.BoardingCrew = rBaseShip.BoardingCrew;
pchar.ship.Crew.GunnerCrew = rBaseShip.GunnerCrew;
pchar.ship.Crew.CannonerCrew = rBaseShip.CannonerCrew;
pchar.ship.Crew.SailorCrew = rBaseShip.SailorCrew;
isCheatCode = true;
}
if(GameInterface.edit_box.str == "ExpBooster")
{
AddPartyExp(pchar, 500000);
isCheatCode = true;
}
if(GameInterface.edit_box.str == "MoneyBooster")
{
AddMoneyToCharacter(pchar, 100000);
isCheatCode = true;
}
if(GameInterface.edit_box.str == "BestSaber")
{
GiveItem2Character(pchar, "blade18");
isCheatCode = true;
}
if(GameInterface.edit_box.str == "BestGun")
{
GiveItem2Character(pchar, "gun7");
isCheatCode = true;
}
if(GameInterface.edit_box.str == "GodMode")
{
if(LAi_IsImmortal(pchar) == true)
{
LAi_SetImmortal(pchar, 0);
}
else
{
LAi_SetImmortal(pchar, 1);
}
isCheatCode = true;
}
if(isCheatCode == false)
{
refcharacter.ship.name = GameInterface.edit_box.str;
}
GameInterface.edit_box.str = refcharacter.ship.name;
SetCurrentNode("SHIP_INFO_TEXT");
} |
|