注册 | 登录

游侠NETSHOW论坛





查看: 7692|回复: 57
打印 上一主题 下一主题

[分享] ++++沉船究竟怎么创建新船(纯属娱乐,非改慎入!)+++++ [复制链接]

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
跳转到指定楼层
楼主
发表于 2009-5-19 10:25:28 |只看该作者 |倒序浏览
更新:老方法建新船,新的更方便的方法,还有更多修改容后放出...........

装完游戏后,发现熟悉的c文件h文件又回来了,我们又回到了c时代,哈哈
昨天用一个晚上试验修改:
改变初始人物数据,创造新物品,创造新火炮,甚至修改技能数据,都一一攻略了....
现在,可以像以前一样创造新船了
说下我的做法:

1. 修改\Program\Ships\Ships_init.c 文件,
复制任一船数据并改动(想用那艘船就复制它的那一段代码),如:

///////////////////////////////////////////////////////////////////////////
/// Manowar
///////////////////////////////////////////////////////////////////////////
makeref(refShip,ShipsTypes[SHIP_MANOWAR]);
refShip.Name               = "Manowar";
refship.Soundtype     = "manowar";
refShip.Class     = 1;
refShip.Cannon             = CANNON_TYPE_CANNON_LBS24;
refShip.MaxCaliber         = 42;
refShip.Weight        = Tonnes2CWT(4000);
refShip.Capacity           = 6800;
refShip.CannonsQuantity    = 102;
refShip.rcannon        = 45;
refShip.lcannon        = 45;
refShip.fcannon        = 4;
refShip.bcannon        = 8;
refShip.MaxCrew            = 800;
refShip.MinCrew            = 160;
refShip.BoardingCrew      = 400;
refShip.GunnerCrew       = 80;
refShip.CannonerCrew    = 204;
refShip.SailorCrew     = 800;
refShip.SpeedRate     = 9.5;
refShip.TurnRate           = 25.0;
refShip.Price              = 550000;
refShip.HP                 = 10500;
refShip.SP                 = 100;
//refShip.AbordageLocation   = "Boarding Deck_01";
refship.Type.Merchant     = false;
refship.Type.War      = true;
refShip.fWindAgainstSpeed    = 1.0;
refShip.sea_enchantment     = 1.0;
refShip.lowpolycrew = 28;
refShip.buildtime = 140;
refship.Rocking.y = 0.3;
refship.Rocking.az = 0.02 ;
refship.WaterLine       = 0.5;
refship.SpeedDependWeight   = 0.45;
refship.SubSeaDependWeight   = 1.8;
refship.TurnDependWeight   = 0.45;
refship.WindAgainstSpeed   = 0.7;//boal
refship.CabinType          = "Cabin_Huge"; // boal 28.03.05
refship.DeckType           = "Big";

refship.InertiaAccelerationX = 1.5; refship.InertiaBrakingX  = 1.5;
refship.InertiaAccelerationY = 1.5; refship.InertiaBrakingY  = 1.5;
refship.InertiaAccelerationZ = 1.5; refship.InertiaBrakingZ  = 1.5;

refShip.GeraldSails.rey_b2  = 1;
refShip.GeraldSails.rey_b3  = 1;
refShip.GeraldSails.rey_c1  = 1;
refShip.GeraldSails.rey_c1.vscale  = 0.98;
refShip.GeraldSails.rey_b2.vscale  = 0.98;
refShip.GeraldSails.rey_b3.vscale  = 0.98;
refship.Track.Enable = true;
refship.Track1.ZStart = 0.30;
refship.Track1.LifeTime = 18.5;
refship.Track1.Width = "6.5, 7.5";
refship.Track1.Speed = "8.0, 9.0";
refship.Track2.ZStart = -0.15;
refship.Track2.LifeTime = 10.5;
refship.Track2.Width = "16.0, 18.0";
refship.Track2.Speed = "0.15, 0.25";
///////////////////////////////////////////////////////////////////////////

改为:

  
  
///////////////////////////////////////////////////////////////////////////
/// BT
///////////////////////////////////////////////////////////////////////////

makeref(refShip,ShipsTypes[SHIP_BT]);
refShip.Name               = "Manowar";                                             // 船名,需调用,不懂勿动
refship.Soundtype     = "manowar";
refShip.Class     = 1;
refShip.Cannon             = CANNON_TYPE_CANNON_LBS24;          //火炮类型,可以调用自创火炮
refShip.MaxCaliber         = 42;                                                        
refShip.Weight        = Tonnes2CWT(4000);
refShip.Capacity           = 6800;                                                      //    容量
refShip.CannonsQuantity    = 102;                        
refShip.rcannon        = 45;
refShip.lcannon        = 45;
refShip.fcannon        = 4;
refShip.bcannon        = 8;
refShip.MaxCrew            = 800;
refShip.MinCrew            = 160;
refShip.BoardingCrew      = 400;
refShip.GunnerCrew       = 80;
refShip.CannonerCrew    = 204;
refShip.SailorCrew     = 800;
refShip.SpeedRate     = 9.5;
refShip.TurnRate           = 25.0;                                                         // 船速
refShip.Price              = 550000;
refShip.HP                 = 10500;                                                           //  船的生命值(耐久度)
refShip.SP                 = 100;                                                                // 帆的生命值
//refShip.AbordageLocation   = "Boarding Deck_01";

refship.CanEncounter = false;                                                          // 新加的行,据说能让船唯一,NPC不可用

refship.Type.Merchant     = false;                                                     //造船厂不卖这船
refship.Type.War      = false;                                                           //未知,据说与唯一性有关,总之false
refShip.fWindAgainstSpeed    = 1.0;
refShip.sea_enchantment     = 1.0;
refShip.lowpolycrew = 28;
refShip.buildtime = 140;
refship.Rocking.y = 0.3;
refship.Rocking.az = 0.02 ;
refship.WaterLine       = 0.5;
refship.SpeedDependWeight   = 0.45;
refship.SubSeaDependWeight   = 1.8;
refship.TurnDependWeight   = 0.45;
refship.WindAgainstSpeed   = 0.7;//boal
refship.CabinType          = "Cabin_Huge"; // boal 28.03.05               
refship.DeckType           = "Big";

refship.InertiaAccelerationX = 1.5; refship.InertiaBrakingX  = 1.5;
refship.InertiaAccelerationY = 1.5; refship.InertiaBrakingY  = 1.5;
refship.InertiaAccelerationZ = 1.5; refship.InertiaBrakingZ  = 1.5;

refShip.GeraldSails.rey_b2  = 1;
refShip.GeraldSails.rey_b3  = 1;
refShip.GeraldSails.rey_c1  = 1;
refShip.GeraldSails.rey_c1.vscale  = 0.98;
refShip.GeraldSails.rey_b2.vscale  = 0.98;
refShip.GeraldSails.rey_b3.vscale  = 0.98;
refship.Track.Enable = true;
refship.Track1.ZStart = 0.30;
refship.Track1.LifeTime = 18.5;
refship.Track1.Width = "6.5, 7.5";
refship.Track1.Speed = "8.0, 9.0";
refship.Track2.ZStart = -0.15;
refship.Track2.LifeTime = 10.5;
refship.Track2.Width = "16.0, 18.0";
refship.Track2.Speed = "0.15, 0.25";


2. 给船编码,让它唯一,以便系统能找到它:
修改\Program\Ships\ships.h
文件

首先将
#define SHIP_TYPES_QUANTITY     28
#define SHIP_TYPES_QUANTITY_WITH_FORT  30
改为
#define SHIP_TYPES_QUANTITY     29
#define SHIP_TYPES_QUANTITY_WITH_FORT  31

(注意了,这步很容易引起模型出错!!)
再把
#define SHIP_BOAT               27
#define SHIP_FORT               28
改为
#define SHIP_BT                    27  (新加的船的索引,一定要在SHIP_BOAT 之前
#define SHIP_BOAT               28
#define SHIP_FORT               29

引申: 如果又加了第二艘船SHIP_BT2,这里就是
           #define SHIP_BT               27
           #define SHIP_BT2               28
           #define SHIP_BOAT               29
           #define SHIP_FORT               30


3 修改\Program\characters\RPGUtilite.c 文件,找到
    pchar.Ship.Type = GenerateShip((SHIP_LUGGER + rand(2) - 1), 0);
改为:
         pchar.Ship.Type = GenerateShip((SHIP_BT), 0);

以下为修改结果,进游戏F2界面正常,


进游戏F2界面:



城镇:



[ 本帖最后由 hansenal 于 2009-5-23 22:55 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
沙发
发表于 2009-5-19 10:41:12 |只看该作者

回复 #1 hansenal 的帖子

哈哈 我也测试成功  方法和海盗3一样。。。。。。。。。。

自创新的船只 和新的船只模式我看比较难........................
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
板凳
发表于 2009-5-19 10:57:02 |只看该作者
原帖由 2697 于 2009-5-19 10:41 发表
哈哈 我也测试成功  方法和海盗3一样。。。。。。。。。。

自创新的船只 和新的船只模式我看比较难........................


问题是以前可以自创新船没问题的,这次估计某些文件改动了,召唤达人啊!!!

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
地板
发表于 2009-5-19 11:23:47 |只看该作者

回复 #3 hansenal 的帖子

你会改负重????/???????????????
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
5#
发表于 2009-5-19 12:04:40 |只看该作者
原帖由 2697 于 2009-5-19 11:23 发表
你会改负重????/???????????????


似乎不是负重问题,而是人物在船只初始化时未能找到正确的“落脚点”造成的......

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
6#
发表于 2009-5-19 12:53:54 |只看该作者

回复 #5 hansenal 的帖子

我的意思是 你会改人物的负重???
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
7#
发表于 2009-5-19 13:12:18 |只看该作者
原帖由 2697 于 2009-5-19 12:53 发表
我的意思是 你会改人物的负重???


没有弄错的话,最大负重应该是GetMaxItemsWeight这个吧,还没去改,不是很肯定,LS可以试下

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
8#
发表于 2009-5-19 13:25:40 |只看该作者

回复 #7 hansenal 的帖子

不行。。。。。。。。。。。,,,,,,,,,,,,,,,,,,,,,,,,,,[伤心啊]
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
9#
发表于 2009-5-19 13:38:12 |只看该作者
那么试着找下 SPECIAL_E 和 SPECIAL_P 吧,这两个跟负重密切相关

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
10#
发表于 2009-5-19 13:47:34 |只看该作者

回复 #9 hansenal 的帖子

把这两个属性都搞到10 ,再学会一个加30负重的特技,负重才能提高到220.......
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
422
精华
0
积分
211
金钱
1397
荣誉
0
人气
0
评议
0
11#
发表于 2009-5-19 20:51:53 |只看该作者
我只想把船帆改得和船体一样无敌!!!

每次海战都被打得没了桅杆

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
12#
发表于 2009-5-19 21:54:05 |只看该作者
大家难道就没有好办法吗?
难道是因为看的人不多?
唉,新出来的游戏如果版主能像模拟人生3或戎装公主一样放“版头”就好了,你看人家多红火!!

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
13#
发表于 2009-5-20 00:15:31 |只看该作者
经过一个晚上的反复试验,终于找到DIY自己的船只的方法了,太晚了,明天再放出教程!

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
14#
发表于 2009-5-20 00:16:28 |只看该作者
另外说句,改负重的方法也找到了..........

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
15#
发表于 2009-5-20 00:17:58 |只看该作者

回复 #14 hansenal 的帖子

哈哈  能不能放出来??? ....................
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
137
精华
0
积分
69
金钱
1716
荣誉
0
人气
0
评议
0
16#
发表于 2009-5-20 00:29:58 |只看该作者

回复 #15 2697 的帖子

一说到负重你就忍不住了,呵呵呵呵........

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
17#
发表于 2009-5-20 00:48:14 |只看该作者

回复 #14 hansenal 的帖子

哈哈 成攻了  谢谢你..............................
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

帖子
1222
精华
1
积分
912
金钱
11487
荣誉
10
人气
5
评议
0
18#
发表于 2009-5-20 11:09:34 |只看该作者
教程还是比较长的,我想知道多少人需要,
需要的人请回帖说下吧.........

使用道具 举报

帖子
646
精华
0
积分
334
金钱
1222
荣誉
1
人气
0
评议
0
19#
发表于 2009-5-20 14:38:06 |只看该作者
写吧 现在技术贴比较少了

使用道具 举报

帖子
3149
精华
0
积分
1676
金钱
13638
荣誉
10
人气
14
评议
0
20#
发表于 2009-5-20 14:40:40 |只看该作者

回复 #19 wizardslay 的帖子

做新船的方法和海盗3的方法差不多...................
他还是妖吗?不是...
是神仙?不是....  
答:是如来佛祖!
肖龙王何时出现在中国...

使用道具 举报

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

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

GMT+8, 2025-9-2 23:12 , Processed in 0.342179 second(s), 12 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到