LuaQuick框架(客户端)

996传奇引擎三端lua快速开发


ManageCondi(条件配置)

<p>[TOC]</p> <h1>配置表字段说明</h1> <table> <thead> <tr> <th>字段名</th> <th>是否必填</th> <th>字段说明</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>是</td> <td>条件唯一ID</td> </tr> <tr> <td>condi</td> <td>是</td> <td>条件配置参数</td> </tr> <tr> <td>isEvent</td> <td>否</td> <td>是否开启监听条件改变事件,任意值开启</td> </tr> <tr> <td>alert</td> <td>否</td> <td>条件不足时提示消息,配置空则不提示,多个提示以竖线分割</td> </tr> </tbody> </table> <h1>条件配置说明</h1> <table> <thead> <tr> <th>条件类型</th> <th>条件名称</th> <th>配置参数</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>101</td> <td>人物等级</td> <td>101^100</td> <td>人物等级 (≥100)</td> </tr> <tr> <td>101</td> <td>人物等级</td> <td>101^1^100</td> <td>人物等级 (≤1 且 ≥100)</td> </tr> <tr> <td>102</td> <td>转生等级</td> <td>102^10</td> <td>转生等级 (≥10)</td> </tr> <tr> <td>102</td> <td>转生等级</td> <td>102^1^10</td> <td>转生等级 (≤1 且 ≥10)</td> </tr> <tr> <td>103</td> <td>整数变量</td> <td>103^100001^10</td> <td>变量ID:100001值 (≥10)</td> </tr> <tr> <td>103</td> <td>整数变量</td> <td>103^100001^10^20</td> <td>变量:100001值 (≥10 且 ≤10)</td> </tr> <tr> <td>104</td> <td>角色职业</td> <td>104^0</td> <td>0.战士 1.法师 2.道士 3.通用</td> </tr> <tr> <td>105</td> <td>角色性别</td> <td>105^0</td> <td>0.男 1.女 2.通用</td> </tr> <tr> <td>106</td> <td>检测物品</td> <td>106^10010^10</td> <td>需要物品ID:10010 (≥10)</td> </tr> <tr> <td>107</td> <td>检测货币</td> <td>107^7^100</td> <td>需要货币ID:7 (≥100)</td> </tr> <tr> <td>108</td> <td>穿戴检测</td> <td>108^1^200100</td> <td>需要装备位置1佩戴装备ID:200100</td> </tr> <tr> <td>109</td> <td>时间戳</td> <td>109^1641006000</td> <td>需要(当前时间戳≥时间戳)</td> </tr> <tr> <td>109</td> <td>时间戳</td> <td>109^1641006000^1641009000</td> <td>需要(当前时间戳^时间戳1 且 当前时间戳≤时间戳2)</td> </tr> <tr> <td>110</td> <td>检测地图</td> <td>110^3</td> <td>需要当前人物所在地图ID为3(盟重省)</td> </tr> <tr> <td>111</td> <td>开服天数</td> <td>111^3</td> <td>需要开服天数(≥3)</td> </tr> <tr> <td>111</td> <td>开服天数</td> <td>111^3^10</td> <td>需要开服天数(≥3 且 ≤10)</td> </tr> <tr> <td>113</td> <td>合服天数</td> <td>113^3</td> <td>需要合服天数(≥3)</td> </tr> <tr> <td>113</td> <td>合服天数</td> <td>113^3^10</td> <td>需要合服天数(≥3 且 ≤10)</td> </tr> <tr> <td>114</td> <td>合服次数</td> <td>114^1</td> <td>需要合服次数(≥1)</td> </tr> <tr> <td>114</td> <td>合服次数</td> <td>114^1^3</td> <td>需要合服次数((≥1 且 ≤3)</td> </tr> <tr> <td>115</td> <td>检查公会</td> <td>115^1</td> <td>1.是否有公会 2.是否无公会</td> </tr> <tr> <td>116</td> <td>沙巴克成员</td> <td>116^1</td> <td>0.不是沙巴克成员 1.是沙巴克成员 2.是沙巴克老大</td> </tr> <tr> <td>117</td> <td>每周第几天</td> <td>117^7</td> <td>需要当天是周日</td> </tr> <tr> <td>117</td> <td>每周第几天</td> <td>117^6^7</td> <td>需要当天是周六或周日</td> </tr> <tr> <td>118</td> <td>每月第几天</td> <td>118^1</td> <td>需要当前是本月第1天</td> </tr> <tr> <td>118</td> <td>每月第几天</td> <td>118^1^5</td> <td>需要当前是本月第1~5天</td> </tr> <tr> <td>120</td> <td>每年第几月</td> <td>120^1</td> <td>需要当前是本年第1月</td> </tr> <tr> <td>120</td> <td>每年第几月</td> <td>120^1^2</td> <td>需要当前是本年第1~2月</td> </tr> <tr> <td>121</td> <td>键值变量</td> <td>121^100010^1^10</td> <td>需要键值变量ID:100010key1的值(≥10)</td> </tr> <tr> <td>121</td> <td>键值变量</td> <td>121^100010^1^10^20</td> <td>需要键值变量ID:100010key1的值(≥10 且 ≤20)</td> </tr> <tr> <td>122</td> <td>检测任务</td> <td>122^1001</td> <td>检测1001任务是否已结束(领取奖励之后)(关联cfg_ManageTask表ID)</td> </tr> <tr> <td>123</td> <td>检测游戏ID</td> <td>123^7911</td> <td>检测当前游戏ID是否是7911</td> </tr> <tr> <td>124</td> <td>检测服务器ID</td> <td>124^310457</td> <td>检测当前服务器ID是否是310457</td> </tr> <tr> <td>126</td> <td>检测设备</td> <td>126^1</td> <td>1.移动端 2.pc端</td> </tr> <tr> <td>127</td> <td>开服时间</td> <td>127^10</td> <td>需要开服时间(≥10分钟)</td> </tr> <tr> <td>127</td> <td>开服时间</td> <td>127^10^60</td> <td>需要开服时间(≥10分钟 且 ≤60分钟)</td> </tr> <tr> <td>128</td> <td>在线时间</td> <td>128^10</td> <td>需要当天在线时间(≥10分钟)</td> </tr> <tr> <td>128</td> <td>在线时间</td> <td>128^10^30</td> <td>需要当天在线时间(≥10分钟 且 ≤30分钟)</td> </tr> <tr> <td>129</td> <td>地图坐标</td> <td>129^biqi^100^200^5</td> <td>需要角色在biqi地图坐标100,200位置范围不能超过5</td> </tr> <tr> <td>130</td> <td>检查BUFF</td> <td>130^10001^0</td> <td>0.有10001BUFF 1.无10001BUFF</td> </tr> <tr> <td>131</td> <td>检查激活装扮</td> <td>131^10001</td> <td>是否激活10001装扮(关联cfg_ManageFashion表ID)</td> </tr> <tr> <td>132</td> <td>检查穿戴装备ID</td> <td>132^1^100101</td> <td>检查装备位置1佩戴装备ID(≥100101)</td> </tr> <tr> <td>132</td> <td>检查穿戴装备ID</td> <td>132^1^100101^100201</td> <td>检查装备位置1佩戴装备ID(≥100101 且 ≤100201)</td> </tr> <tr> <td>133</td> <td>检查活动是否开启</td> <td>133^1^2001</td> <td>检查活动ID2001(0.是否关闭 1.是否开启)(关联cfg_ManageActivity表ID)</td> </tr> <tr> <td>134</td> <td>检查人物属性</td> <td>134^4^1000</td> <td>检查人物属性ID:4(≥1000)</td> </tr> <tr> <td>134</td> <td>检查人物属性</td> <td>134^4^1000^2000</td> <td>检查人物属性ID:4(≥1000 且 ≤2000)</td> </tr> <tr> <td>135</td> <td>检查人物技能</td> <td>135^100^3</td> <td>检查人物技能ID:100,等级(≥3)</td> </tr> <tr> <td>135</td> <td>检查人物技能</td> <td>135^100^1^3</td> <td>检查人物技能ID:100,等级(≥1 且 ≤3)</td> </tr> <tr> <td>137</td> <td>检查任务组别</td> <td>137^1001</td> <td>检查任务组别是否已经结束(领取奖励之后)(关联cfg_ManageTask表ID)</td> </tr> <tr> <td>138</td> <td>检查穿戴装扮</td> <td>138^10010</td> <td>检查当前是否穿戴装扮ID:10010(关联cfg_ManageFashion表ID)</td> </tr> <tr> <td>140</td> <td>当前某时某分</td> <td>140^19:30^20:00</td> <td>检查当前时间(≥19:30 且 ≤20:00)</td> </tr> <tr> <td>141</td> <td>人物是否在安全区</td> <td>141^1</td> <td>1.检查是否在安全区 2.检查是否不在安全区</td> </tr> <tr> <td>142</td> <td>判断客服是否开启</td> <td>142^1</td> <td>1.检查是否开启 2.检查是否关闭</td> </tr> </tbody> </table> <h1>相关接口</h1> <ul> <li><strong><code>检查条件</code></strong></li> </ul> <p><code>player:check_condi(id,alert)</code></p> <table> <thead> <tr> <th>参数</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>number</td> <td>条件ID</td> </tr> <tr> <td>alert</td> <td>boolean</td> <td>条件不足时是否提示alert字段配置的消息</td> </tr> </tbody> </table> <h1>相关事件</h1> <ul> <li><strong><code>条件改变事件(模块内重写事件函数即可)</code></strong></li> </ul> <p><code>PanelModel.onChangeCondi(param)</code></p> <table> <thead> <tr> <th>param参数</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>type</td> <td>number</td> <td>条件类型</td> </tr> <tr> <td>id</td> <td>number</td> <td>条件ID</td> </tr> <tr> <td>state</td> <td>boolean</td> <td>是否满足条件</td> </tr> </tbody> </table> <h1>实例</h1> <pre><code class="language-lua">if player:check_condi(10001,true) then luaprint(&amp;quot;=======达成条件&amp;quot;) else luaprint(&amp;quot;=======未达成条件,同时提示alert字段配置的消息&amp;quot;) end</code></pre> <h3>动态插入条件(前后端按需要插入)</h3> <pre><code>function ManageCondi:insert(data) ---* data = { ---* id --不可重复 ---* condi --条件参数 ---* isEvent --任意值需要 ---* alert --条件不足时提示,可空 ---* } end -- 插入方法示例 function PanelMapMove:AddCondi(id,condi,isEvent,alert) if not (id and condi) then return end if type(id) == &amp;quot;table&amp;quot; then for i = 1, #id do if type(condi[i][1]) == &amp;quot;table&amp;quot; then ManageCondi:insert({id=id[i],condi=condi[i],isEvent=isEvent and isEvent[i],alert=alert and alert[i]}) else ManageCondi:insert({id=id[i],condi={condi[i]},isEvent=isEvent and isEvent[i],alert=alert and alert[i]}) end end else if type(condi[1]) == &amp;quot;table&amp;quot; then ManageCondi:insert({id=id,condi=condi,isEvent=isEvent,alert=alert}) else ManageCondi:insert({id=id,condi={condi},isEvent=isEvent,alert=alert}) end end end</code></pre> <h3>检测条件是否满足</h3> <p>---等同 player:check_condi ---@param id number|table 条件id ---@param isAlert boolean? 不满足是否警告</p> <pre><code>function ManageCondi.checkTarget(id,isAlert) end</code></pre>

页面列表

ITEM_HTML