3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 3014|回复: 2
打印 上一主题 下一主题

[求助] 沉船之城改船不要材料怎么修改

[复制链接]

2

主题

86

帖子

427

积分

高级玩家

Rank: 4

贡献度
1
金元
4225
积分
427
精华
0
注册时间
2016-4-10
跳转到指定楼层
主题
发表于 2019-9-22 16:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
800金元
求助大佬,修改了百慕大48磅炮以后发现材料需要的实在太多了,开F8到处飞也受不了啊,翻着了个改船的MOD,结果死链了,所以说还有没有会改的大佬,或者谁还有沉船研究第三弹—— 最简单的改船方案,让你随心所欲改船!https://bbs.3dmgame.com/thread-770124-1-1.html
(出处: 3DMGAME论坛)
这个帖子发的MOD,跪求,感激不尽


回复

使用道具 举报

3

主题

327

帖子

357

积分

高级玩家

Rank: 4

贡献度
0
金元
3569
积分
357
精华
0
注册时间
2010-4-17
舒服的沙发
发表于 2021-1-8 18:51 | 只看该作者
本帖最后由 自由的神 于 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;就可以改造无限多次了

其他属性的修改也一样,找到类似的段落逐个修改就好


回复

使用道具 举报

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

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-4-6 00:15 , Processed in 0.121513 second(s), 14 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表