过渡开发人员、记录和测试 2.13 以发布最终修复。
VSH2 插件存储库
注意:本自述文件将很快更新。感谢您的耐心等待!
VSH2 是 VSH1 的重写。 VSH1 和 FF2 都有一个非常糟糕的游戏模式框架,使用劣质、hacky 编码。我什至可以说他们可能根本没有框架,也没有任何真正的代码结构。
VSH2 实际上有一个结构化的、基于事件的框架,它结合了 FF2 和 VSH1 的最佳功能,不仅具有多人 Boss 支持,而且还可以更轻松地添加新 Boss ,并通过为开发人员提供充分的支持来赋予他们真正独特的能力和机制。 ,通过代码而不是严格的配置文件进行不受限制的控制。
《FF2》的目的是以通用、千篇一律的方式非常容易地添加 Boss。当然,这是一个权衡:在《FF2》中真正定制 Boss 机制和能力而无需重新编码《FF2》本身的某些部分,即使不是不可能,也要困难得多。 VSH2,因为它至少需要一些 SourcePawn 的经验,对于新手来说创建新 Boss 比使用 FF2 更困难,但选择 VSH2 奖励会采取更困难的路线,允许你控制几乎每个单独的 Boss 行为,并且逻辑。
如果您确实需要帮助来设置 boss,或者至少需要一些有关用于 boss 构建的 API 的信息,那么可以通过查看 VSH2 wiki 来利用 VSH2 庞大的 API
注意: VSH2 作为 VSH1 的替代品,开箱即用,可以完美运行,但它的设计考虑了有能力的 SourcePawn开发人员,以充分利用从头开始编码的框架!
addons/sourcemod/configs
。确保保留配置中的文件夹结构。使用新的 sourcepawn 语法(sourcemod 1.7+)。
需要括号的语句(例如“if”语句)应将括号的每一侧间隔开,并且起始括号接触构造关键字,例如, construct( code/expression )
。
传达消息的单行注释必须有 3 个斜杠: ///
。
传达消息的多行注释应该有一个额外的开头星号: /**
。
少于 30 行代码的属性、函数和方法应以 K&R C 风格的{
大括号开头,例如: ret func() {
。
局部变量名称应采用蛇形命名法。
属性名称必须具有其类型的单字母前缀。
函数、方法、方法映射、枚举、枚举值必须以 PascalCase 命名。 Pascal_Case 也是可以接受的。
用作标志的枚举值可以是大写的。
命名常量规则:
1.0
)应该是在其使用位置添加0.0
的枚举常量。3.14
)应该由预处理器定义。链接的if
语句还不错,但如果数据一次只能是一件事,请使用if-else if
语句。
if-else if
语句,请使用switch
语句。位字段/标志允许您将单个 int 用作 32 个布尔值。如果一个元素可以同时具有多个方面,则很有用。
1 << n
其中n
为 0 到 31。int_log.inc
中使用IntLog2
: n == IntLog2(1 << n)
无前置增量++i, i--
,仅后置增量i++, i--