SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

mod概述

查看数: 6006 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-11-29 11:31

正文摘要:

当前是用WML编写mod。 WML是Wesnoth Markup Language缩写,它用于编写Wesnoth中所有配置,包括场景、单位、存盘文件、以及用户界面布局。WML形成的文件扩展名是cfg,它和INI、XML相似,是种简单的字符文本文件。语 ...

回复

ancientcc 发表于 2020-11-29 11:32:02

FAQ

使用cache后带来的副作用

A:第一次生成*.bin中包含“空”值attribute,之后生成却没有这些attribute?
Q:第一次生成*.bin时,它没有对应cache文件,直接由WML生成,这个生成的config直接存入文件,这时存入的config是容许有“空”值attribute。

程序会以这个config生成cache文件,在生成时,“空”值attribute会被丢弃

第二次或接下次生成对应的*.bin时,它检测到有cache文件,不从WML生成而这读对应cache文件以生成config,这时cache文件中已是没了“空”值attribute,由它生成的config自然不再包含这些attribute。致使以这个config生成的*.bin也不会有“空”值attribute。

处理这个问题方法,程序认为空值attribute等同该attribute不存在。
ancientcc 发表于 2020-11-29 11:31:38

编写mod

编写mod分为编辑和转换两个步骤。

编辑
选择一种自己喜欢文本编辑器,像Visutal Studio,UlterEdit,按WML语法生成相应文件。

要制作一个战役,一般要生成的文件。

场景:用于描述战役。它定义了战斗目标,使用的音乐,阵营及阵营中单位,要触发事件,总之可说是所有事情。除了*.cfg,场景还需要至少一张地图。wesnoth提供了专门地图编辑器以生成地图。

功能上说,只要编写出场景就可做完一个mod了。

兵种:系统自带了不少兵种,但如果你希望有自己兵种,那就需要生成那个兵种的*.cfg文件。

除了场景和兵种,你还可以做很多很多,像地形(显示出来的图像,抗性等等),界面布局,AI特色,系统默认参数。

对于多人对战mod,和单机mod区别不大。

编辑后将生成*.cfg和地图文件,它们默认放在<kingdom>\data\core目录下。这些文件被提供”转换”输入,运行时不需要。

转换
转换是把由编辑生成的*.cfg(包括战场地图)转换为*.bin。

当前转换是由可执行程序kingdom.exe完成,是的,它和主程序kingdom.exe是同一个,只是它们使用的命令行参数不一样而已。

转换后将生成若干*.bin,它们默认放在运行时要求的<kingdom>\xml目录下。



以上生成的mod只支持英文。如果要支持多国语言,像中文,除了编辑和转换还需要编写*.pot和*.po,然后用小软件,像Poedit,生成相应的*.mo文件。运行时*.mo要被放在<kingdom>\translations目录下。

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2025-5-2 04:26 , Processed in 0.071243 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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