高级玩家

- 贡献度
- 0
- 金元
- 3569
- 积分
- 357
- 精华
- 0
- 注册时间
- 2010-4-17
|
本帖最后由 自由的神 于 2021-1-8 19:05 编辑
去找一个名为Pirates_Shipyard.c的文件,一般在Program/DIALOGS/russian/Shipyard这个文件夹里面
用任意能编辑并且无损保存的软件编辑它
找到类似这样的段落,这是修改舰船HP的:
////////////////////////////////////////// HP ////////////////////////////////////////////////////
case "ship_tunning_HP":
s1 = DLG_TEXT_SHY[257] + shipHP;
s1 = s1 + DLG_TEXT_SHY[258]+ HPMatherial1 + DLG_TEXT_SHY[259]+ HPMatherial2+DLG_TEXT_SHY[260];
s1 = s1 + DLG_TEXT_SHY[261] + HPWorkPrice + DLG_TEXT_SHY[262];
dialog.Text = s1;
Link.l1 = DLG_TEXT_SHY[263];
Link.l1.go = "ship_tunning_HP_start";
Link.l2 = DLG_TEXT_SHY[264];
Link.l2.go = "ship_tunning_not_now";
break;
case "ship_tunning_HP_start":
amount = HPWorkPrice;
if(makeint(Pchar.money) >= makeint(amount / 2 +0.5))
{
AddMoneyToCharacter(Pchar, -makeint(amount / 2 +0.5));
NPChar.Tuning.Money = makeint(amount - makeint(amount / 2 +0.5));
NPChar.Tuning.Matherial1 = HPMatherial1; // GOOD_EBONY
NPChar.Tuning.Matherial2 = HPMatherial2; // GOOD_SANDAL
NPChar.Tuning.ShipType = Pchar.Ship.Type;
NPChar.Tuning.ShipName = RealShips[sti(Pchar.Ship.Type)].BaseName;
NextDiag.TempNode = "ship_tunning_HP_again";
dialog.text = DLG_TEXT_SHY[265];
link.l1 = DLG_TEXT_SHY[266];
link.l1.go = "Exit";
case "ship_tunning_HP_again":
if (sti(NPChar.Tuning.ShipType) == sti(Pchar.Ship.Type) && NPChar.Tuning.ShipName == RealShips[sti(Pchar.Ship.Type)].BaseName)
{
NextDiag.TempNode = "ship_tunning_HP_again";
dialog.Text = DLG_TEXT_SHY[274] + sti(NPChar.Tuning.Matherial1) + DLG_TEXT_SHY[275] + sti(NPChar.Tuning.Matherial2) + DLG_TEXT_SHY[276] + sti(NPChar.Tuning.Money) + DLG_TEXT_SHY[277];
Link.l1 = DLG_TEXT_SHY[278];
Link.l1.go = "ship_tunning_HP_again_2";
Link.l2 = DLG_TEXT_SHY[279];
Link.l2.go = "Exit";
}
else
{
DeleteAttribute(NPChar, "Tuning");
NextDiag.TempNode = "ship_tunning_again";
dialog.Text = DLG_TEXT_SHY[280];
Link.l1 = DLG_TEXT_SHY[281];
Link.l1.go = "Exit";
AddQuestRecord("ShipTuning", "Lose");
CloseQuestHeader("ShipTuning");
}
break;
case "ship_tunning_HP_again_2":
checkMatherial(Pchar, NPChar, GOOD_EBONY, GOOD_SANDAL);
if(sti(NPChar.Tuning.Matherial2) < 1 && sti(NPChar.Tuning.Matherial1) < 1 && sti(NPChar.Tuning.Money) < 1)
{
DeleteAttribute(NPChar, "Tuning");
NextDiag.TempNode = "ship_tunning_again";
dialog.text = DLG_TEXT_SHY[282];
link.l1 = DLG_TEXT_SHY[283];
link.l1.go = "ship_tunning_HP_complite";
}
else
{
NextDiag.TempNode = "ship_tunning_HP_again";
dialog.Text = DLG_TEXT_SHY[284] + sti(NPChar.Tuning.Matherial1) + DLG_TEXT_SHY[285] + sti(NPChar.Tuning.Matherial2) + DLG_TEXT_SHY[286] + sti(NPChar.Tuning.Money) + DLG_TEXT_SHY[287];
link.l1 = DLG_TEXT_SHY[288];
link.l1.go = "Exit";
AddQuestRecord("ShipTuning", "t1");
AddQuestUserData("ShipTuning", "sText", DLG_TEXT_SHY[289] + sti(NPChar.Tuning.Matherial1)+ DLG_TEXT_SHY[290]+ sti(NPChar.Tuning.Matherial2)+DLG_TEXT_SHY[291]+ sti(NPChar.Tuning.Money) + DLG_TEXT_SHY[292]);
}
break;
case "ship_tunning_HP_complite":
AddTimeToCurrent(6, 30);
shTo = &RealShips[sti(Pchar.Ship.Type)];
DeleteAttribute(NPChar, "Tuning");
// изменим
shTo.HP = sti(shTo.HP) + makeint(sti(shTo.HP)/5);
shTo.Tuning.HP = true;
// finish <--
NextDiag.TempNode = "ship_tunning_again";
dialog.Text = DLG_TEXT_SHY[293];
Link.l1 = DLG_TEXT_SHY[294];
Link.l1.go = "Exit";
AddQuestRecord("ShipTuning", "End");
CloseQuestHeader("ShipTuning");
需要修改的是这一段
case "ship_tunning_HP_start":
amount = HPWorkPrice;
if(makeint(Pchar.money) >= makeint(amount / 2 +0.5))(这行是订金检查,那个2就是付改造金额的二分之一为订金,如果身上的钱不够这个数不能开始改造,即使你修改了不要钱也一样,把那个2改为1000或者10000就基本等于无效了)
{
AddMoneyToCharacter(Pchar, -makeint(amount / 2 +0.5));(这行往下四行全是材料和金额,在每行前面加//就等于无效化,这几行改完改造就不会花钱和材料,但如果你不改上面那行包里的钱少于订金依然不能改造,哪怕实际上并不会付一分钱)
NPChar.Tuning.Money = makeint(amount - makeint(amount / 2 +0.5));
NPChar.Tuning.Matherial1 = HPMatherial1; // GOOD_EBONY
NPChar.Tuning.Matherial2 = HPMatherial2; // GOOD_SANDAL (加//的到这行为止)
NPChar.Tuning.ShipType = Pchar.Ship.Type;
NPChar.Tuning.ShipName = RealShips[sti(Pchar.Ship.Type)].BaseName;
下面还有一段
shTo.HP = sti(shTo.HP) + makeint(sti(shTo.HP)/5);
shTo.Tuning.HP = true;
// finish <--
其中
shTo.HP = sti(shTo.HP) + makeint(sti(shTo.HP)/5);是每次修改的属性,/5就等于每次改造增加现有舰船属性的20%,改为/1就是每次改造增加属性的100%
shTo.Tuning.HP = true;是改造限制,默认只能改一次,在这行前面加上//,改为//shTo.Tuning.HP = true;就可以改造无限多次了
其他属性的修改也一样,找到类似的段落逐个修改就好
|
|