# CSOL缔造者专用KZ插件-PowerKz **Repository Path**: csolcreator/power-kz ## Basic Information - **Project Name**: CSOL缔造者专用KZ插件-PowerKz - **Description**: CSOL缔造者专用KZ插件-PowerKz - **Primary Language**: Lua - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-02-01 - **Last Updated**: 2022-07-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CSOL缔造者Kz专用插件 PowerKz PowerKz插件,一款免费开源的CSOL缔造者模式专用的Kz插件 想要体验插件功能请搜网通一区: Kz插件PowerKz测试图 版本 **1.2.5** *** ## 特性 * 支持自定义插件配置 * 支持多起点多终点计时装置 * 支持按【0】返回起点 * 基于Sugar框架,支持单事件多函数绑定 * 复活时给予玩家无限子弹的Scout与USP45 * 范围传送功能与范围触发方块传送 * 添加切换阵营和切换模型的命令 * 玩家通关后拥有调整重力的权限(可在聊天框输入命令进行重力的调整) * 跳跃排行榜功能 * 存点和读点和上一个存点功能 * 添加范围触发方块方式的kz跳点功能 * 添加对竞速模式地图的支持,竞速模式禁止玩家存点 * 支持添加Kz落脚点组 * 支持计时完成时间公告 *** ## 使用教程 1. 把所需脚本都复制到自己的项目目录下,然后在 **project.json** 中引用,示例如下 ```json { "game": [ "sugar/SugarUtil.lua", "sugar/SugarGame.lua", "PowerKzCommon.lua", "PowerKzConfig.lua", "PowerKzGame.lua", "game.lua"], "ui": [ "sugar/SugarUtil.lua", "sugar/SugarUi.lua", "PowerKzCommon.lua", "PowerKzConfig.lua", "PowerKzUi.lua", "ui.lua"] } ``` 上面的代码只是展示了PowerKz插件依赖的所有脚本,用户也可以自行添加自己的脚本文件 2. 在 **ui.lua** 中添加以下代码 ```lua PowerKzUi:run() ``` 3. 再在 **game.lua** 中进行配置 用户必须在 **game.lua** 中完成对插件的配置,**注意**,不论用户是否调用了配置插件的代码,**game.lua** 文件的最后一行都必须是下面的代码 ```lua PowerKzGame:run() ``` 具体可配置的项请查看 **本文** 中的 *自定义配置* 章节 *** ## 可用命令 指玩家在聊天框输入的文字可实现特定的功能 #### 阵营切换命令 * goct 去CT阵营 * got 去T阵营 #### 模型切换命令 * 默认角色/初始人物 * 男英雄 * 女英雄 * 普通僵尸 * 暗影芭比 * 憎恶屠夫 * 巫蛊术尸 * 恶魔之子 * 送葬者 * 嗜血女妖 * 腐化禁卫 * 痛苦女王 * 暴虐钢骨 * 追猎傀儡 * 爆弹狂魔 * 段翼恶灵 * 赤炎恶鬼 #### 重力调整命令 玩家完成计时后才拥有调整重力的权限 注意!切换为 **僵尸模型** 时重力调整命令失效! * 正常重力 玩家还原为普通的重力 * 月球重力 重力很小,跳得很高 * 超级重力 重力很大,基本跳不起来 * 超级轻盈 重力非常小 #### 其他命令 * 跳跃排行榜 可显示当前跳跃的排行 * cp/存点 保存当前玩家的位置 * tp/读点 读取玩家保存的最后一个位置 * stuck 读取上一个存点 *** ## 自定义配置 PowerKz插件的配置,用户可根据自己的需求在 **game.lua** 文件中调用对应的方法进行配置 #### PowerKzConfig:setEnableInvincible(bool) * bool 布尔值 是否开启无敌,默认开启 #### PowerKzConfig:setEnableReturnStart(bool) * bool 布尔值 是否允许按 **[0]** 返回起点,默认开启 #### PowerKzConfig:setEnableUnlimitedAmmo(bool) * bool 布尔值 是否为默认武器开启无限子弹,默认开启 #### PowerKzConfig:setStayTime(stayTime) * stayTime 可在kz落脚点停留的时长,单位(厘秒) #### PowerKzConfig:setEnableTouchConvey(bool) * bool 布尔值 是否允许使用触发方块进行传送,默认关闭 #### PowerKzConfig:setEnableTimer(bool) * bool 布尔值 是否开启计时器,默认开启 #### PowerKzConfig:setEnableRaceMode * bool 布尔值 #### PowerKzConfig:addStarterPosition(position) * position 计时开始装置的坐标 添加计时开始装置,可添加多个计时开始装置,如果对应坐标不存在装置则会报错 例子: ```lua -- 添加了两个计时开始装置 PowerKzConfig:addStarterPosition({x=8, y=-2, z=0}) PowerKzConfig:addStarterPosition({x=0, y=-1, z=0}) ``` #### PowerKzConfig:addStoperPosition(position) * position 计时结束装置的坐标 添加计时结束装置,可添加多个计时结束装置,如果对应坐标不存在装置则会报错 例子: ```lua -- 添加了两个计时结束装置 PowerKzConfig:addStoperPosition({x=0, y=-7, z=0}) PowerKzConfig:addStoperPosition({x=6, y=-7, z=1}) ``` #### PowerKzConfig:addStartPoint(position) * position 起点的坐标 添加按 **[0]** 返回的起点 例子: ```lua -- 添加了一个起点,玩家按0可传送到此坐标 PowerKzConfig:addStartPoint({x=-185, y=178, z=6}) ``` #### PowerKzConfig:addTouchConvey(blockPosition, target) * blockPosition 范围触发方块的坐标 * target 传送目的地的坐标 添加范围触发方块的传送,玩家在进入范围触发方块内会被立即传送到指定位置,如果对应坐标不存在触发方块则会报错 例子: ```lua PowerKzConfig:addTouchConvey({x=-2, y=-6, z=0}, {x=0, y=0, z=0}) ``` #### PowerKzConfig:addRangeConvey(vertexA, vertexB, target) * vertexA 顶点A * vertexB 顶点B * target 目标点 添加一个范围传送,空间中两个顶点可以确定一个长方体,玩家进入这个长方体的范围内就会被传送至目标点 例子: ```lua -- 进玩家指定范围后会返回到对应的目标点 PowerKzConfig:addRangeConvey({x=14, y=-14, z=0}, {x=6, y=-18, z=0}, {x=1, y=0, z=0}) ``` *** #### function PowerKzConfig:addTouchFootHold(blockPosition, target) * blockPosition 范围触发方块的坐标 * target 目标传送点 添加范围触发方块式的kz跳点,如果对应坐标不存在触发方块则会保错 ## 计划 * 增加按键提示 * 增加速度显示功能