Starfarer自定义修改武器及船体
本帖最后由 qing7000 于 2012-7-17 21:08 编辑2012-7-17 21:04
刚刚看了zspeng1209的帖子,发现了一个好工具
http://sseditor.dyndns.org/sse/dev/打开这个网址是一个船体的编辑器,这样就可以不用自己去写那些脚本了。{:3_194:}
用谷歌浏览器可以翻译成中文,这样看起来很方便
咱秉承要搞出一艘超级战舰的精神,细细的看了下游戏的各种文件,终于试出了可以修改武器及船体{:3_143:},如果有图片的话也可以自己做新的战舰
1.修改船体
船体数据文件在游戏安装目录\starfarer-core\data\hulls下
*.shop是船体的外观定义文件里面包括船体的贴图,武器槽的位置及类型等等
ship_data.csv文件是所有船体的属性设置文件,包括装甲,辐射槽的总量,辐射消散的速度等等
ship_data.csv可以使用excel和wps打开。推荐使用excel2003或者wps打来,我的是excel2010,打开时中文部分就全是乱码。{:3_195:}
修改的顺序是,先在ship_data.csv新增一条数据,可以复制原有的数据一条,然后适当的修改。关键是”id“列要改成新的id。
其他的属性,可以看列名随便改,如果英语不好就学我用翻译器。
新增好后,保存退出。然后在\starfarer-core\data\hulls下复制一个.shop文件,把文件名改成你刚刚新增的那个“id”。
最后用UE打开你复制的.shop文件,把里面的”hullId“改成你新增的“id”,“hullName”仿照原来的样子也改一个。
.shop文件中其他的参数为船的大小,武器槽的位置,种类等等,我还没完全搞明白,大家可以自己试试。
复制的数据需要和.shop文件相对应,比如在ship_data.csv中复制的数据是”奥德赛“航母,那复制的.shop文件就应该是”奥德赛“的.shop文件“odyssey.ship”。
这样就新增了一个船体。
2.修改武器
武器数据文件在游戏安装目录\starfarer-core\data\weapons下
*.wpn是武器的外观定义文件里面
weapon_data.csv文件是所有武器的属性设置文件,包括伤害,价格,射程等等
修改的顺序和船体修改的顺序一样,现在weapon_data.csv增加数据,然后增加一个.wpn文件,并把文件中的id改成新增的id。
这样武器和船体就修改新增好了。
3.加载到游戏中
之前的工作只是新增了武器和船体的数据,其实并没有把这些加到游戏中去,这一步我们要做的就是把我们新增的武器和船体加到空间站中,使我们可以买到这些东西。
\starfarer-core\data\scripts\world\corvus下的Corvus.java是游戏初始时的设置文件,其主要是设置空间站
用UE打开Corvus.java
可以看到下面的代码
SectorEntityToken hegemonyStation = system.addOrbitalStation(system.getEntityByName("Corvus II"), 45, 300, 50, "轨道空间站", "hegemony");
这个是定义空间站的,定义的是哪个空间站,就看空间站的名字就行了。之后搜索等号左边的词,找到类似这样的代码
initOrbitalStationCargo(sector, hegemonyStation);
括号外面的”initOrbitalStationCargo“就是初始化空间站商品的方法了,其他的空间站初始化的方法名字不同,但是结构是一样的。
搜索initOrbitalStationCargo,找到
private void initOrbitalStationCargo(SectorAPI sector, SectorEntityToken station) {
CargoAPI cargo = station.getCargo();
List weaponIds = sector.getAllWeaponIds();
// for (int i = 0; i < 10; i++) {
// String weaponId = (String) weaponIds.get((int) (weaponIds.size() *
// Math.random()));
// int quantity = (int)(Math.random() * 7 + 3);
// cargo.addWeapons(weaponId, quantity);
// }
// focused on weapons that are hard to get from looting
// and present an upgrade path for the initial ships
// cargo.addWeapons("heavymg", 5);
//strike
cargo.addWeapons("bomb", 25);
cargo.addWeapons("reaper", 12);
//Support
cargo.addWeapons("lightac", 25);
cargo.addWeapons("lightmg", 40);
cargo.addWeapons("annihilator", 10);
cargo.addWeapons("taclaser", 10);
cargo.addWeapons("harpoon_single", 12); //medium
//assault
cargo.addWeapons("lightmortar", 40);
cargo.addWeapons("miningblaster", 1); //medium
//PD
cargo.addWeapons("swarmer", 5);
cargo.addWeapons("mininglaser", 25);
cargo.addWeapons("pdlaser", 25);
cargo.addWeapons("flak", 5); //medium
cargo.addWeapons("shredder", 5); //medium
cargo.addWeapons("annihilatorpod", 1); //medium
cargo.addWeapons("pilum", 2); //medium
cargo.addWeapons("mark9", 2); //large
// cargo.addCrew(CrewXPLevel.ELITE, 25);
// cargo.addCrew(CrewXPLevel.VETERAN, 200);
cargo.addCrew(CrewXPLevel.REGULAR, 30);
cargo.addCrew(CrewXPLevel.GREEN, 500);
cargo.addMarines(100);
cargo.addSupplies(630);
cargo.addFuel(500);
cargo.addMothballedShip(FleetMemberType.SHIP, "vigilance_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "hound_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "lasher_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "brawler_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "dram_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "enforcer_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "condor_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "hammerhead_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "sunder_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "valkyrie_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "falcon_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "eagle_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "dominator_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "venture_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "atlas_Hull", null);
cargo.addMothballedShip(FleetMemberType.SHIP, "onslaught_Hull", null);
cargo.addMothballedShip(FleetMemberType.FIGHTER_WING, "talon_wing", null);
cargo.addMothballedShip(FleetMemberType.FIGHTER_WING, "talon_wing", null);
}
这个就是方法的主体。
cargo.addWeapons("flak", 5); 是增加武器,“flak”是武器的id, 5是武器的初始数量
cargo.addMothballedShip(FleetMemberType.SHIP, "falcon_Hull", null);是增加船体,“falcon_Hull”是"船体id_Hull“
加好响应的代码后,新开游戏,我们添加的武器和船体就可以在空间站中买到了
支持一下~~ 强人!拜读另存,一会儿试验一下 很详细了! 好厉害的楼主! 。。。弱弱的文一下,,,修改ship_data.csv后 所有的船都是??? 怎么办 你用什么打开cvs的?
我excel2010打开中文部分都是乱码,最后直接用UE打开修改的
不过在别人的电脑上wps2012打开保存显示正常,excel2003也可以 。。。。额excel2010 vidaiou 发表于 2012-7-17 18:29 static/image/common/back.gif
。。。。额excel2010
{:3_103:}换个吧,excel2010真心伤不起 这个调整后会不会又无法开启存档的,有点怕怕 qing7000 发表于 2012-7-17 18:49 static/image/common/back.gif
换个吧,excel2010真心伤不起
有备份文件吗,没的话,重现装一次游戏也就行了
远望深蓝 发表于 2012-7-17 18:50 static/image/common/back.gif
这个调整后会不会又无法开启存档的,有点怕怕
不会的
不过需要新开游戏,这个是在新开游戏的时候加载你修改的武器和船体
qing7000 发表于 2012-7-17 19:00 static/image/common/back.gif
不会的
不过需要新开游戏,这个是在新开游戏的时候加载你修改的武器和船体
...
这个就明白啦,试一试,哈哈。这个游戏很有趣啊
...重新下载了。。。重装了一遍 话说 mod没冲突吧 .....又重新装了一遍,,,,,话说不用改系统的 去改mod,,简单多了 网页打不开?? 感谢楼主~~~~~~~~~~~~~~~~ shit,手贱去拖那个迅雷悬浮窗,拖了半天纳闷拖了张图片下来{:3_195:} vidaiou 发表于 2012-7-17 23:45 static/image/common/back.gif
.....又重新装了一遍,,,,,话说不用改系统的 去改mod,,简单多了
{:3_174:}我还没装mod
今天装个mod,然后在mod里添加,原理其实是差不多的
好东西~~ 请问怎么上传自己做的PSD图片呀? siyan12 发表于 2012-8-7 17:10 static/image/common/back.gif
请问怎么上传自己做的PSD图片呀?
在编辑器的一般界面上,中心下面的那个就是上传图片,点击旁边的按钮加载图片,然后设置好,最后只要把图片加到游戏目录下船体图片的相应位置,在配置中把路径指向就行了
{:3_153:}不错不错这个比较省功夫 不会弄啊,用2003或wps保存后不能进入游戏
此贴必火!!!!!!!!!!!!!! guduxin 发表于 2012-8-13 16:13 static/image/common/back.gif
不会弄啊,用2003或wps保存后不能进入游戏
不能进入游戏?
把错误贴来看看呢
果断给力啊,这个 网页打不开??:lol:lol:lol:lol
页:
[1]
2