(氵)有关于使用deepseek辅助mod制作
最近在贴吧看到有很多人用deepseek整活,所以我也打算看看他能做到什么。问了一个相关问题,把他的回答放在下面,看看有没有佬来评价一下。:为你的《远行星号》独立阵营添加可用舰船,需按以下步骤检查和配置:
### 1. **舰船文件配置**
- **路径与文件**:确保舰船的 `.ship` 文件放置在 `mod目录/data/hulls` 下,文件名与舰船ID一致。
- **Hull ID**:在 `.ship` 文件中确认 `"hullId": "your_ship_id"` 无拼写错误。
### 2. **阵营配置文件**
- **引用舰船**:在阵营的 `.faction` 文件(如 `data/campaign/factions/your_faction.faction`)中,添加舰船的Hull ID到 `"ships"` 列表:
```json
{
"ships": ["your_ship_id_1", "your_ship_id_2"]
}
```
- **Tags匹配**:若使用标签筛选,确保舰船文件包含对应阵营的tag(如 `"tags": ["your_faction"]`)。
### 3. **Variant文件配置**
- **路径**:将 `.variant` 文件放在 `data/variants` 下,确保文件名与 `.ship` 文件关联。
- **武器与模块**:检查variant中的武器槽位是否有效,避免因装备不可用导致加载失败。
### 4. **蓝图与市场生成**
- **蓝图注册**:在 `data/campaign/blueprints.csv` 或独立蓝图中添加舰船蓝图,确保阵营的 `"startShips"` 或市场配置引用这些蓝图。
- **市场条件**:在阵营的 `markets.json` 中设置合理的生成条件(如科技等级、舰队类型)。
### 5. **Hull数据表**
- **ship_data.csv**:确认舰船的Hull ID在 `ship_data.csv` 中存在,且 `faction` 列包含阵营ID。
### 6. **日志排查**
- **检查日志**:启动游戏后查看 `starsector-core/starsector.log`,定位加载错误(如文件缺失、ID冲突)。
### 7. **其他常见问题**
- **科技等级冲突**:确保舰船的 `techLevel` 与阵营设定匹配(如 `HIGH_TECH` 或 `LOW_TECH`)。
- **部署点限制**:舰船 `deploymentPointsCost` 不宜过高,避免被生成规则过滤。
---
**示例文件结构**:
```
your_mod/
├─ data/
│├─ hulls/
││└─ your_ship.ship
│├─ variants/
││└─ your_ship.variant
│├─ campaign/
││├─ factions/
│││└─ your_faction.faction
││└─ blueprints.csv
│└─ ship_data.csv
└─ mod_info.json
```
完成以上配置后,重新加载MOD并测试。若问题仍存,根据日志提示调整错误条目。确保每个环节的ID一致性,通常问题多出在拼写错误或文件路径错误。 faction的的路径错了
data\world\factions
而且也没有什么所谓的蓝图.csv
有关于该观点的事:刚刚又问他能不能帮我做个船插
这是回复:以下是一个基于《远行星号》LazyLib模组框架的舰船插件代码示例,实现了您描述的效果:
```java
package demo.hullmods;
import com.fs.starfarer.api.combat.BaseHullMod;
import com.fs.starfarer.api.combat.MutableShipStatsAPI;
import com.fs.starfarer.api.combat.ShipAPI.HullSize;
public class AdvancedMaintenanceCore extends BaseHullMod {
// 定义效果参数
private static final float PEAK_TIME_BONUS = 10f; // 峰值时间增加百分比
private static final float SUPPLIES_REDUCTION = 20f; // 补给消耗减少百分比
private static final float CR_RECOVERY_BONUS = 25f; // CR每日恢复率增加百分比
@Override
public void applyEffectsBeforeShipCreation(HullSize hullSize,
MutableShipStatsAPI stats,
String id) {
// 修改峰值时间
stats.getPeakCRDuration().modifyPercent(id, PEAK_TIME_BONUS);
// 减少补给消耗
stats.getSuppliesPerMonth().modifyPercent(id, -SUPPLIES_REDUCTION);
// 提高CR恢复率(基础值+百分比提升)
stats.getBaseCRRecoveryRatePercentPerDay().modifyPercent(id, CR_RECOVERY_BONUS);
}
// 描述文本生成
@Override
public String getDescriptionParam(int index, HullSize hullSize) {
if (index == 0) return Math.round(PEAK_TIME_BONUS) + "%";
if (index == 1) return Math.round(SUPPLIES_REDUCTION) + "%";
if (index == 2) return Math.round(CR_RECOVERY_BONUS) + "%";
return null;
}
// 其他配置
@Override
public boolean isApplicableToShip(ShipAPI ship) {
return true; // 适用于所有舰船
}
}
```
需要配套的**hull_mods.csv**条目:
```csv
id,name,short,long,tags,rarity,cost,perma-mod,hidden,career_limited,description prefix,description,tech/manufacturer
advanced_maintenance_core,"先进维护核心","先进维护核心",,,"common",5000,FALSE,FALSE,FALSE,,"增加峰值时间 %s%%,减少%s%%补给消耗,提升%s%%CR恢复率",tech
```
### 关键代码解析:
1. **效果实现**:
- `getPeakCRDuration()`:处理峰值时间
- `getSuppliesPerMonth()`:控制补给消耗
- `getBaseCRRecoveryRatePercentPerDay()`:影响CR恢复速率
2. **数值运算注意事项**:
- 补给消耗使用负数修正值实现减少效果
- 百分比修改采用`modifyPercent`方法
3. **兼容性建议**:
```java
@Override
public void applyEffectsAfterShipCreation(ShipAPI ship, String id) {
// 检测冲突插件
if (ship.getVariant().hasHullMod("automated")) {
ship.getVariant().removeMod("advanced_maintenance_core");
}
}
```
可添加类似代码防止与自动化舰船插件冲突
### 开发环境建议:
1. 推荐使用:
- **LazyLib**:基础工具库
- **MagicLib**:高级API支持
- **Console Commands**:实时调试
2. 测试时建议通过控制台命令直接添加插件:
```
addhullmod advanced_maintenance_core
```
### 平衡性注意事项:
如果发现效果过强,可以通过以下方式调整:
```java
// 根据舰船规模调整效果
float sizeMultiplier = 1f;
switch (hullSize) {
case CAPITAL_SHIP: sizeMultiplier = 0.6f; break;
case CRUISER: sizeMultiplier = 0.8f; break;
case DESTROYER: sizeMultiplier = 1f; break;
case FRIGATE: sizeMultiplier = 1.2f; break;
}
stats.getSuppliesPerMonth().modifyPercent(id, -SUPPLIES_REDUCTION * sizeMultiplier);
```
建议将此插件设置为:
- 占用至少30点OP
- 无法与强化舱壁等维护类插件叠加
- 需要安装自动化舰体改造作为前置科技
经过简单的修改(代码实现部分没动)后在游戏内实现如图(不知道怎么游戏内截屏,所以直接用手机拍的)
肯定是做不出那些特殊插,但如果只是简单的修改数据,这家伙应该还是做得到的吧{:tieba_44:}
AAASTG 发表于 2025-1-30 12:32
有关于该观点的事:刚刚又问他能不能帮我做个船插
这是回复:以下是一个基于《远行星号》LazyLib模组框架的舰 ...
太震撼了,我先蹲一个,成了叫我
衫雨落 发表于 2025-4-21 17:01
太震撼了,我先蹲一个,成了叫我
事实上已经成了很多了(
不搞太复杂的就行。
ds老师有你游的数据的
但不能都靠他,比如有时会凭空给你捏一个import( 衫雨落 发表于 2025-4-21 17:01
太震撼了,我先蹲一个,成了叫我
ds老师数据只到0.95.1,你要真用得注意一下( 我也想自己做个MOD 但是我太菜了 看了半天没看明白 AAASTG 发表于 2025-4-26 14:01
ds老师数据只到0.95.1,你要真用得注意一下(
这段时间我用了一下用来写游戏代码,ds辅助用确实可以,我注意一下()
页:
[1]