找回密码
 注册
X系列官方授权正版
搜索
查看: 1932|回复: 8

[原创] StarRuler Mod Project Extend for SR 1.1.0.0开工

[复制链接]
发表于 2014-2-13 00:01:12 | 显示全部楼层 |阅读模式
现阶段我已经制作好大部分我要添加进MOD第一个版本的子系统图标,包括各种安全反应堆、重力引擎、亚原子粒子体装甲及隔仓,安全反物质反应堆和中子炮暂时用GA的,哪个护盾太难做了。
现阶段我已经初步完成无工质引擎的代码(可运作,未测试BUG),并尝试制作无视穿甲效果的装甲相关代码,若成功还会挑战让穿甲效果减半的装甲。
我第一个添加进MOD的的子系统是重力发动机,只耗电不消耗燃料。截图:
子系统描述

关于只靠该引擎加速的证明:


相关代码(BasicEffects.as):void SpeedIfPower(Event@ evt, float Amount, float PowCost) {
        State@ power = evt.obj.getState(strPower);

        // Check if we have enough power
        if (power.getAvailable() <= evt.time * PowCost) {
                evt.state = ESC_DISABLE;
                return;
        }

        // Add thrust
        HulledObj@ obj = evt.obj;
        if (obj !is null) {
                obj.thrust = obj.thrust + Amount;
        }
}

void PowerThrustCons(Event@ evt, float PowCost) {
        Object@ obj = evt.obj;
        if(obj.velocity.getLengthSQ() > 0.f && obj.inOrbitAround() is null) {
                State@ pow = obj.getState(strPower);
                PowCost *= evt.time;
                if(pow.getAvailable() >= PowCost) {
                        pow.consume(PowCost,obj);
                }
                else {
                        evt.state = ESC_DISABLE;
                }
        }
}

Effects.txt:
//New
Name:        PowerThrust
        Value: Amount
        Value: PowCost
       
        OnActive:        BasicEffects::SpeedIfPower
        OnDeactive:        DecSpeed(Amount)
        Tick:                BasicEffects::PowerThrustCons

System: GravityThruster
        Name: #SS_GRAVITYTHRUSTER_NAME
        Description: #SS_GRAVITYTHRUSTER_DESC
        Appearance: ThrusterGravity
        Explosion: armor_explode lasting 0.4
       
        Tags: Engine
        Tied To: Engines 5, EnergyPhysics 5

        Available: (Techs.Engines.Level > 4) && (Techs.EnergyPhysics.Level > 4)
        Level: floor(weight(Techs.Engines.Level, 0.7, Techs.EnergyPhysics.Level, 0.3))
        Size: Scale
        HPLevel: Techs.Materials.Level-1 As Level
        Durability: HEALTH_MULT * 50 * Size * pow(HEALTH_CURVE,HPLevel)
        Mass: 50 * Size
       
        Costs: Metals[200 * progress(Size, 0.05, Level)], Electronics[15 * progress(Size, 0.05, Level)], AdvParts[100 * progress(Size, 0.05, Level)], Labr[5 * Size]
        Complexity: 0.5
       
        vThrust: Size * 700 * (2 - decay(pow(LEVEL_GAIN_CURVE,Level),35)) * GAME_THRUST_MULT
        vPowCost: 15 * decay(pow(LEVEL_GAIN_CURVE,Level),35) * Size //was 5 * decay...
       
        Provides: FuelStorage with
                Amount[Size * 10]
       
        Provides: PowerThrust with
                Amount[vThrust],
                PowCost[vPowCost]

        Requires:
                To Run: Control[15 * Size] //Was[5 * Size]
       
        Hints: Thrust[vThrust], Power[vPowCost * -1], Fuel[Size * 10]
(科技需求还没改)

新完成的图标

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2014-2-13 01:25:30 | 显示全部楼层
额。。。。。。为什么是1.1.0?我记得SR1.2.1都出了啊
回复

使用道具 举报

发表于 2014-2-13 09:30:55 | 显示全部楼层
For 1.1.0.0?
回复

使用道具 举报

 楼主| 发表于 2014-2-13 10:17:56 | 显示全部楼层
FRIGHTER 发表于 2014-2-13 01:25
额。。。。。。为什么是1.1.0?我记得SR1.2.1都出了啊

我当时在看FRB的代码,就随手把新MOD文件夹建在1.1版本的Mods目录下了,接下来就是复制原版文件加修改,用的也是1.1.0.0的文件。
因为FRB有一段时间没更新了,还是给1.1.0.0准备的版本。
不过,我新加入东西都在文本最底下,和原来的隔了一个注释“//New”,修改后的数据后面也有“//new,was (原文本)”,想把改动挪到1.2.1.2随时都可以。
回复

使用道具 举报

发表于 2014-2-15 10:24:51 | 显示全部楼层
祝开工顺利
回复

使用道具 举报

发表于 2014-2-15 10:28:36 | 显示全部楼层
MOD开发是基于原版MOD,还是FRB MOD的数据?
回复

使用道具 举报

 楼主| 发表于 2014-2-15 10:35:02 | 显示全部楼层
虔诚 发表于 2014-2-15 10:28
MOD开发是基于原版MOD,还是FRB MOD的数据?

原版,不过我看了FRB的代码,但是简单的复制粘贴。
回复

使用道具 举报

发表于 2014-2-15 10:45:11 | 显示全部楼层
开发初期探索时都是这样
as数据测试通过后,后面注意添加新部件到游戏里面后,要看一下数据的反馈量是否正常,有些新的数据名词还可能要到effect那边定义一下

每个部件的数据都要单独测试、处理完后再融合到MOD里面试运行几盘,差不多就可以等你新MOD发布了。

后面SR 2出来,大家抱团开发MOD吧。
回复

使用道具 举报

 楼主| 发表于 2014-2-15 10:55:28 | 显示全部楼层
虔诚 发表于 2014-2-15 10:45
开发初期探索时都是这样
as数据测试通过后,后面注意添加新部件到游戏里面后,要看一下数据的反馈量是否正 ...

SR2的MOD制作难度估计会加大,毕竟我不是学计算机的,制作SR1的MOD我都只能摸着石头过河,毕竟我没学过C++。
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站