浏览代码

fix: 兑换码生成工具

wanggangzero 4 月之前
父节点
当前提交
9a117c9aee
共有 29 个文件被更改,包括 1067 次插入668 次删除
  1. 二进制
      DevOps/兑换码生成器/activecode.exe
  2. 16 0
      DevOps/兑换码生成器/activecode.exe.config
  3. 二进制
      DevOps/兑换码生成器/activecode.pdb
  4. 二进制
      DevOps/兑换码生成器/doc/help/help.chm
  5. 322 0
      DevOps/兑换码生成器/doc/help/使用说明.html
  6. 36 0
      DevOps/兑换码生成器/package.txt
  7. 15 0
      DevOps/兑换码生成器/platform.txt
  8. 1 0
      DevOps/兑换码生成器/可修改兑换码数量.bat
  9. 648 644
      Gameserver/App/configs/GameConfig.php
  10. 1 1
      Gameserver/App/configs/GameConstants.php
  11. 1 1
      Gameserver/App/model/Const/GameConfig.php
  12. 1 1
      Gameserver/App/model/Const/sm_activity.php
  13. 1 1
      Gameserver/App/model/Const/sm_gate.php
  14. 1 1
      Gameserver/App/model/Const/sm_gate_unlock.php
  15. 1 1
      Gameserver/App/model/Const/sm_gem.php
  16. 1 1
      Gameserver/App/model/Const/sm_globalsettings.php
  17. 1 1
      Gameserver/App/model/Const/sm_hero.php
  18. 1 1
      Gameserver/App/model/Const/sm_heroType_typeId.php
  19. 1 1
      Gameserver/App/model/Const/sm_item.php
  20. 1 1
      Gameserver/App/model/Const/sm_predicate.php
  21. 1 1
      Gameserver/App/model/Const/sm_shop.php
  22. 1 1
      Gameserver/App/model/Const/sm_shop_cash.php
  23. 1 1
      Gameserver/App/model/Const/sm_skills.php
  24. 2 1
      Gameserver/App/model/Const/sm_subfun_unlock.php
  25. 1 1
      Gameserver/App/model/Const/sm_sysmail.php
  26. 1 1
      Gameserver/App/model/Const/sm_token_gift.php
  27. 1 1
      Gameserver/App/model/Const/sm_waveItem.php
  28. 1 1
      Gameserver/App/model/Const/sm_waves.php
  29. 9 5
      Gameserver/App/process/ActiveProc.php

二进制
DevOps/兑换码生成器/activecode.exe


+ 16 - 0
DevOps/兑换码生成器/activecode.exe.config

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+	<configSections>
+		<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+			<section name="activecode.plat" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+		</sectionGroup>
+	</configSections>
+	<startup>
+		<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+	</startup>
+	<appSettings>
+		<add key="title" value="激活码生成工具v1.01"></add>
+	    <add key="cipher" value="qh6jid4g598rfnwp37xyb2vetzuskcam"></add>
+	</appSettings>
+
+</configuration>

二进制
DevOps/兑换码生成器/activecode.pdb


二进制
DevOps/兑换码生成器/doc/help/help.chm


+ 322 - 0
DevOps/兑换码生成器/doc/help/使用说明.html

@@ -0,0 +1,322 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>使用说明</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<style type="text/css">
+/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */
+/* Author: Nicolas Hery - http://nicolashery.com */
+/* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff */
+/* Source: https://github.com/nicolahery/markdownpad-github */
+
+/* RESET
+=============================================================================*/
+
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
+  margin: 0;
+  padding: 0;
+  border: 0;
+}
+
+/* BODY
+=============================================================================*/
+
+body {
+  font-family: Helvetica, arial, freesans, clean, sans-serif;
+  font-size: 14px;
+  line-height: 1.6;
+  color: #333;
+  background-color: #fff;
+  padding: 20px;
+  max-width: 960px;
+  margin: 0 auto;
+}
+
+body>*:first-child {
+  margin-top: 0 !important;
+}
+
+body>*:last-child {
+  margin-bottom: 0 !important;
+}
+
+/* BLOCKS
+=============================================================================*/
+
+p, blockquote, ul, ol, dl, table, pre {
+  margin: 15px 0;
+}
+
+/* HEADERS
+=============================================================================*/
+
+h1, h2, h3, h4, h5, h6 {
+  margin: 20px 0 10px;
+  padding: 0;
+  font-weight: bold;
+  -webkit-font-smoothing: antialiased;
+}
+
+h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {
+  font-size: inherit;
+}
+
+h1 {
+  font-size: 28px;
+  color: #000;
+}
+
+h2 {
+  font-size: 24px;
+  border-bottom: 1px solid #ccc;
+  color: #000;
+}
+
+h3 {
+  font-size: 18px;
+}
+
+h4 {
+  font-size: 16px;
+}
+
+h5 {
+  font-size: 14px;
+}
+
+h6 {
+  color: #777;
+  font-size: 14px;
+}
+
+body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {
+  margin-top: 0;
+  padding-top: 0;
+}
+
+a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
+  margin-top: 0;
+  padding-top: 0;
+}
+
+h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {
+  margin-top: 10px;
+}
+
+/* LINKS
+=============================================================================*/
+
+a {
+  color: #4183C4;
+  text-decoration: none;
+}
+
+a:hover {
+  text-decoration: underline;
+}
+
+/* LISTS
+=============================================================================*/
+
+ul, ol {
+  padding-left: 30px;
+}
+
+ul li > :first-child, 
+ol li > :first-child, 
+ul li ul:first-of-type, 
+ol li ol:first-of-type, 
+ul li ol:first-of-type, 
+ol li ul:first-of-type {
+  margin-top: 0px;
+}
+
+ul ul, ul ol, ol ol, ol ul {
+  margin-bottom: 0;
+}
+
+dl {
+  padding: 0;
+}
+
+dl dt {
+  font-size: 14px;
+  font-weight: bold;
+  font-style: italic;
+  padding: 0;
+  margin: 15px 0 5px;
+}
+
+dl dt:first-child {
+  padding: 0;
+}
+
+dl dt>:first-child {
+  margin-top: 0px;
+}
+
+dl dt>:last-child {
+  margin-bottom: 0px;
+}
+
+dl dd {
+  margin: 0 0 15px;
+  padding: 0 15px;
+}
+
+dl dd>:first-child {
+  margin-top: 0px;
+}
+
+dl dd>:last-child {
+  margin-bottom: 0px;
+}
+
+/* CODE
+=============================================================================*/
+
+pre, code, tt {
+  font-size: 12px;
+  font-family: Consolas, "Liberation Mono", Courier, monospace;
+}
+
+code, tt {
+  margin: 0 0px;
+  padding: 0px 0px;
+  white-space: nowrap;
+  border: 1px solid #eaeaea;
+  background-color: #f8f8f8;
+  border-radius: 3px;
+}
+
+pre>code {
+  margin: 0;
+  padding: 0;
+  white-space: pre;
+  border: none;
+  background: transparent;
+}
+
+pre {
+  background-color: #f8f8f8;
+  border: 1px solid #ccc;
+  font-size: 13px;
+  line-height: 19px;
+  overflow: auto;
+  padding: 6px 10px;
+  border-radius: 3px;
+}
+
+pre code, pre tt {
+  background-color: transparent;
+  border: none;
+}
+
+kbd {
+    -moz-border-bottom-colors: none;
+    -moz-border-left-colors: none;
+    -moz-border-right-colors: none;
+    -moz-border-top-colors: none;
+    background-color: #DDDDDD;
+    background-image: linear-gradient(#F1F1F1, #DDDDDD);
+    background-repeat: repeat-x;
+    border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;
+    border-image: none;
+    border-radius: 2px 2px 2px 2px;
+    border-style: solid;
+    border-width: 1px;
+    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
+    line-height: 10px;
+    padding: 1px 4px;
+}
+
+/* QUOTES
+=============================================================================*/
+
+blockquote {
+  border-left: 4px solid #DDD;
+  padding: 0 15px;
+  color: #777;
+}
+
+blockquote>:first-child {
+  margin-top: 0px;
+}
+
+blockquote>:last-child {
+  margin-bottom: 0px;
+}
+
+/* HORIZONTAL RULES
+=============================================================================*/
+
+hr {
+  clear: both;
+  margin: 15px 0;
+  height: 0px;
+  overflow: hidden;
+  border: none;
+  background: transparent;
+  border-bottom: 4px solid #ddd;
+  padding: 0;
+}
+
+/* TABLES
+=============================================================================*/
+
+table th {
+  font-weight: bold;
+}
+
+table th, table td {
+  border: 1px solid #ccc;
+  padding: 6px 13px;
+}
+
+table tr {
+  border-top: 1px solid #ccc;
+  background-color: #fff;
+}
+
+table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+/* IMAGES
+=============================================================================*/
+
+img {
+  max-width: 100%
+}
+</style>
+</head>
+<body>
+<h1>激活码生成程序使用说明</h1>
+<pre><code>author: gwang(wanggangzero@qq.com)
+version: 1.1
+history: 2016.2.23 密码本从配置文件加载,并可以通过命令行更换密码本.
+         2016.2.22 对字符串生成过程进行了简单加密, 1. 使用密码本, 2. 进行均匀散列, 3. 利用平台和礼包编号进行散列.
+         2015.9.18 第一版的激活码,可以以base32编码生成8位字符串.(后被玩家猜解出规律) 
+</code></pre>
+
+<h2>1. 名词解释</h2>
+<pre><code>1. 平台:即渠道, uc,百度,360....
+2. 礼包(编号):即某个激活码活动的编号.
+</code></pre>
+
+<h2>2. 使用注意事项</h2>
+<pre><code>1. 礼包(编号)和以前的编号延续,(神宠)已经发出的不能重新使用.(新项目的时候不在此列)
+2. 生成了对应的激活码后, 需要在后[台管理器编辑](http://godpet.com/PetMulti/ConfClient/godpetdbmana.html#)对应的礼包信息,编号,名称,奖品id,失效时间.
+3. 全平台与其他平台并无不同,只不过这个激活码可以被任意平台接受,礼包编号不能重复(即如果发了全平台的激活码,就不要再发别的平台的激活码,所以这种激活码只能发放5万个礼包);
+</code></pre>
+
+<h2>3. 命令行</h2>
+<pre><code>1. -help 或 /?   显示帮助
+2. -debug        调试模式,可以修改生成激活码的数量
+3. -r            更换密码本.    
+</code></pre>
+
+
+</body>
+</html>
+<!-- This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com) -->

+ 36 - 0
DevOps/兑换码生成器/package.txt

@@ -0,0 +1,36 @@
+五一礼包(0)
+十一礼包(1)
+圣诞节礼包(2)
+元旦礼包(3)
+春节礼包(4)
+女神节礼包(5)
+光棍节礼包(6)
+父亲节礼包(7)
+母亲节礼包(8)
+情人节礼包(9)
+万圣节礼包(10)
+意见反馈参与奖(11)
+意见反馈一等奖(12)
+意见反馈二等奖(13)
+意见反馈三等奖(14)
+BUG反馈奖(15)
+BUG反馈奖(16)
+BUG反馈奖(17)
+BUG反馈奖(18)
+BUG反馈奖(19)
+BUG反馈奖(20)
+BUG反馈奖(21)
+BUG反馈奖(22)
+BUG反馈奖(23)
+BUG反馈奖(24)
+BUG反馈奖(25)
+BUG反馈奖(26)
+BUG反馈奖(27)
+BUG反馈奖(28)
+BUG反馈奖(29)
+BUG反馈奖(30)
+BUG反馈奖(31)
+BUG反馈奖(32)
+BUG反馈奖(33)
+BUG反馈奖(34)
+BUG反馈奖(35)

+ 15 - 0
DevOps/兑换码生成器/platform.txt

@@ -0,0 +1,15 @@
+全平台
+小米
+OPPO
+VIVO
+华为
+腾讯
+UC
+360
+百度
+当乐
+魅族
+安智
+联想
+金立
+anysdk

+ 1 - 0
DevOps/兑换码生成器/可修改兑换码数量.bat

@@ -0,0 +1 @@
+activecode.exe -debug

+ 648 - 644
Gameserver/App/configs/GameConfig.php

@@ -1,9 +1,10 @@
 <?php
+
 ////////////////////
- // 由CodeGenerator创建。
- // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
- // author: gwang 
- // 日期: 2024-12-31 17:04:22
+// 由CodeGenerator创建。
+// Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+// author: gwang 
+// 日期: 2024-12-31 17:04:22
 ////////////////////
 
 namespace loyalsoft;
@@ -13,26 +14,28 @@ namespace loyalsoft;
  */
 class GameConfig {
 // <editor-fold defaultstate="collapsed" desc="  基础代码 ">    
+
     /**
      * 是否启用codegen 
      */
-    private static function isCG()  {
-        return defined('CodeGen_Enabled') && CodeGen_Enabled; 
+    private static function isCG() {
+        return defined('CodeGen_Enabled') && CodeGen_Enabled;
     }
+
     /**
      * @var bool 分区是否使用独立的常量配置数据
      */
     private static $useZoneId = false;
+
     /**
      * 追加分区列表字符串
      * @return string
      */
-    private static function zoneid()
-    {
+    private static function zoneid() {
         global $zoneid;
         return self::$useZoneId ? "-zone$zoneid" : "";
     }
-	
+
     /**
      * @return ClientVersion
      */
@@ -75,6 +78,7 @@ class GameConfig {
     private static function get_hash_item($modelName, $itemId) {
         if (self::isCG()) {
             $data = self::$modelName();
+//            CLog::err(json_encode($data));
             if (property_exists($data, $itemId)) {
                 return $data->$itemId;
             }
@@ -84,1018 +88,1018 @@ class GameConfig {
         }
         return null;
     }
+
 // </editor-fold>
+
     /**
-    * 全局参数
-    * @return \globalsettings
-    */
-    public static function globalsettings()
-    { 
-        static $a = null; 
+     * 全局参数
+     * @return \globalsettings
+     */
+    public static function globalsettings() {
+        static $a = null;
         return self::initValue($a, 'globalsettings');
     }
+
     /**
-    * 停服计划
-    * @return \service_schedule
-    */
-    public static function service_schedule()
-    { 
-        static $a = null; 
+     * 停服计划
+     * @return \service_schedule
+     */
+    public static function service_schedule() {
+        static $a = null;
         return self::initValue($a, 'service_schedule');
     }
+
     /**
-    * @return \sm_service_schedule service_schedule item数据 
-    */
-    public static function service_schedule_getItem($itemid)
-    { 
+     * @return \sm_service_schedule service_schedule item数据 
+     */
+    public static function service_schedule_getItem($itemid) {
         return self::get_hash_item('service_schedule', $itemid);
     }
+
     /**
-    * 道具表
-    * @return \item
-    */
-    public static function item()
-    { 
-        static $a = null; 
+     * 道具表
+     * @return \item
+     */
+    public static function item() {
+        static $a = null;
         return self::initValue($a, 'item');
     }
+
     /**
-    * @return \sm_item item item数据 
-    */
-    public static function item_getItem($itemid)
-    { 
+     * @return \sm_item item item数据 
+     */
+    public static function item_getItem($itemid) {
         return self::get_hash_item('item', $itemid);
     }
+
     /**
-    * 系统邮件
-    * @return \sysmail
-    */
-    public static function sysmail()
-    { 
-        static $a = null; 
+     * 系统邮件
+     * @return \sysmail
+     */
+    public static function sysmail() {
+        static $a = null;
         return self::initValue($a, 'sysmail');
     }
+
     /**
-    * @return \sm_sysmail sysmail item数据 
-    */
-    public static function sysmail_getItem($itemid)
-    { 
+     * @return \sm_sysmail sysmail item数据 
+     */
+    public static function sysmail_getItem($itemid) {
         return self::get_hash_item('sysmail', $itemid);
     }
+
     /**
-    * 客户端版本信息
-    * @return \clientVersionHistory
-    */
-    public static function clientVersionHistory()
-    { 
-        static $a = null; 
+     * 客户端版本信息
+     * @return \clientVersionHistory
+     */
+    public static function clientVersionHistory() {
+        static $a = null;
         return self::initValue($a, 'clientVersionHistory');
     }
+
     /**
-    * @return \sm_clientVersionHistory clientVersionHistory item数据 
-    */
-    public static function clientVersionHistory_getItem($itemid)
-    { 
+     * @return \sm_clientVersionHistory clientVersionHistory item数据 
+     */
+    public static function clientVersionHistory_getItem($itemid) {
         return self::get_hash_item('clientVersionHistory', $itemid);
     }
+
     /**
-    * 错误信息表
-    * @return \errmsg
-    */
-    public static function errmsg()
-    { 
-        static $a = null; 
+     * 错误信息表
+     * @return \errmsg
+     */
+    public static function errmsg() {
+        static $a = null;
         return self::initValue($a, 'errmsg');
     }
+
     /**
-    * @return \sm_errmsg errmsg item数据 
-    */
-    public static function errmsg_getItem($itemid)
-    { 
+     * @return \sm_errmsg errmsg item数据 
+     */
+    public static function errmsg_getItem($itemid) {
         return self::get_hash_item('errmsg', $itemid);
     }
+
     /**
-    * 技能表
-    * @return \skills
-    */
-    public static function skills()
-    { 
-        static $a = null; 
+     * 技能表
+     * @return \skills
+     */
+    public static function skills() {
+        static $a = null;
         return self::initValue($a, 'skills');
     }
+
     /**
-    * @return \sm_skills skills item数据 
-    */
-    public static function skills_getItem($itemid)
-    { 
+     * @return \sm_skills skills item数据 
+     */
+    public static function skills_getItem($itemid) {
         return self::get_hash_item('skills', $itemid);
     }
+
     /**
-    * 战斗: 波次表
-    * @return \waves
-    */
-    public static function waves()
-    { 
-        static $a = null; 
+     * 战斗: 波次表
+     * @return \waves
+     */
+    public static function waves() {
+        static $a = null;
         return self::initValue($a, 'waves');
     }
+
     /**
-    * @return \sm_waves waves itemArray 
-    */
-    public static function waves_getItemArray($key)
-    { 
+     * @return \sm_waves waves itemArray 
+     */
+    public static function waves_getItemArray($key) {
         return self::get_hash_item('waves', $key);
     }
+
     /**
-    * 活动: 七日签到
-    * @return \activity_day7
-    */
-    public static function activity_day7()
-    { 
-        static $a = null; 
+     * 活动: 七日签到
+     * @return \activity_day7
+     */
+    public static function activity_day7() {
+        static $a = null;
         return self::initValue($a, 'activity_day7');
     }
+
     /**
-    * @return \sm_activity_day7 activity_day7 item数据 
-    */
-    public static function activity_day7_getItem($itemid)
-    { 
+     * @return \sm_activity_day7 activity_day7 item数据 
+     */
+    public static function activity_day7_getItem($itemid) {
         return self::get_hash_item('activity_day7', $itemid);
     }
+
     /**
-    * 章节表
-    * @return \gate
-    */
-    public static function gate()
-    { 
-        static $a = null; 
+     * 章节表
+     * @return \gate
+     */
+    public static function gate() {
+        static $a = null;
         return self::initValue($a, 'gate');
     }
+
     /**
-    * @return \sm_gate gate item数据 
-    */
-    public static function gate_getItem($itemid)
-    { 
+     * @return \sm_gate gate item数据 
+     */
+    public static function gate_getItem($itemid) {
         return self::get_hash_item('gate', $itemid);
     }
+
     /**
-    * 角色
-    * @return \hero
-    */
-    public static function hero()
-    { 
-        static $a = null; 
+     * 角色
+     * @return \hero
+     */
+    public static function hero() {
+        static $a = null;
         return self::initValue($a, 'hero');
     }
+
     /**
-    * @return \sm_hero hero item数据 
-    */
-    public static function hero_getItem($itemid)
-    { 
+     * @return \sm_hero hero item数据 
+     */
+    public static function hero_getItem($itemid) {
         return self::get_hash_item('hero', $itemid);
     }
+
     /**
-    * 装备部位表
-    * @return \equip_position
-    */
-    public static function equip_position()
-    { 
-        static $a = null; 
+     * 装备部位表
+     * @return \equip_position
+     */
+    public static function equip_position() {
+        static $a = null;
         return self::initValue($a, 'equip_position');
     }
+
     /**
-    * @return \sm_equip_position equip_position item数据 
-    */
-    public static function equip_position_getItem($itemid)
-    { 
+     * @return \sm_equip_position equip_position item数据 
+     */
+    public static function equip_position_getItem($itemid) {
         return self::get_hash_item('equip_position', $itemid);
     }
+
     /**
-    * 装备升级表
-    * @return \equip_levelupgrade
-    */
-    public static function equip_levelupgrade()
-    { 
-        static $a = null; 
+     * 装备升级表
+     * @return \equip_levelupgrade
+     */
+    public static function equip_levelupgrade() {
+        static $a = null;
         return self::initValue($a, 'equip_levelupgrade');
     }
+
     /**
-    * @return \sm_equip_levelupgrade equip_levelupgrade item数据 
-    */
-    public static function equip_levelupgrade_getItem($rarity, $qual, $posId, $level)
-    { 
+     * @return \sm_equip_levelupgrade equip_levelupgrade item数据 
+     */
+    public static function equip_levelupgrade_getItem($rarity, $qual, $posId, $level) {
         return self::get_hash_item('equip_levelupgrade', "$rarity-$qual-$posId-$level");
     }
+
     /**
-    * 章节礼包表
-    * @return \shop_gategift
-    */
-    public static function shop_gategift()
-    { 
-        static $a = null; 
+     * 章节礼包表
+     * @return \shop_gategift
+     */
+    public static function shop_gategift() {
+        static $a = null;
         return self::initValue($a, 'shop_gategift');
     }
+
     /**
-    * @return \sm_shop_gategift shop_gategift item数据 
-    */
-    public static function shop_gategift_getItem($itemid)
-    { 
+     * @return \sm_shop_gategift shop_gategift item数据 
+     */
+    public static function shop_gategift_getItem($itemid) {
         return self::get_hash_item('shop_gategift', $itemid);
     }
+
     /**
-    * 每日商店
-    * @return \shop_daily
-    */
-    public static function shop_daily()
-    { 
-        static $a = null; 
+     * 每日商店
+     * @return \shop_daily
+     */
+    public static function shop_daily() {
+        static $a = null;
         return self::initValue($a, 'shop_daily');
     }
+
     /**
-    * @return \sm_shop_daily shop_daily item数据 
-    */
-    public static function shop_daily_getItem($itemid)
-    { 
+     * @return \sm_shop_daily shop_daily item数据 
+     */
+    public static function shop_daily_getItem($itemid) {
         return self::get_hash_item('shop_daily', $itemid);
     }
+
     /**
-    * 钻石商店
-    * @return \shop_cash
-    */
-    public static function shop_cash()
-    { 
-        static $a = null; 
+     * 钻石商店
+     * @return \shop_cash
+     */
+    public static function shop_cash() {
+        static $a = null;
         return self::initValue($a, 'shop_cash');
     }
+
     /**
-    * @return \sm_shop_cash shop_cash item数据 
-    */
-    public static function shop_cash_getItem($itemid)
-    { 
+     * @return \sm_shop_cash shop_cash item数据 
+     */
+    public static function shop_cash_getItem($itemid) {
         return self::get_hash_item('shop_cash', $itemid);
     }
+
     /**
-    * 金币商店
-    * @return \shop_gold
-    */
-    public static function shop_gold()
-    { 
-        static $a = null; 
+     * 金币商店
+     * @return \shop_gold
+     */
+    public static function shop_gold() {
+        static $a = null;
         return self::initValue($a, 'shop_gold');
     }
+
     /**
-    * @return \sm_shop_gold shop_gold item数据 
-    */
-    public static function shop_gold_getItem($itemid)
-    { 
+     * @return \sm_shop_gold shop_gold item数据 
+     */
+    public static function shop_gold_getItem($itemid) {
         return self::get_hash_item('shop_gold', $itemid);
     }
+
     /**
-    * 商城供给表-应该是废弃了
-    * @return \shop_supply
-    */
-    public static function shop_supply()
-    { 
-        static $a = null; 
+     * 商城供给表-应该是废弃了
+     * @return \shop_supply
+     */
+    public static function shop_supply() {
+        static $a = null;
         return self::initValue($a, 'shop_supply');
     }
+
     /**
-    * @return \sm_shop_supply shop_supply item数据 
-    */
-    public static function shop_supply_getItem($itemid)
-    { 
+     * @return \sm_shop_supply shop_supply item数据 
+     */
+    public static function shop_supply_getItem($itemid) {
         return self::get_hash_item('shop_supply', $itemid);
     }
+
     /**
-    * 词条配置表
-    * @return \predicate
-    */
-    public static function predicate()
-    { 
-        static $a = null; 
+     * 词条配置表
+     * @return \predicate
+     */
+    public static function predicate() {
+        static $a = null;
         return self::initValue($a, 'predicate');
     }
+
     /**
-    * @return \sm_predicate predicate item数据 
-    */
-    public static function predicate_getItem($itemid)
-    { 
+     * @return \sm_predicate predicate item数据 
+     */
+    public static function predicate_getItem($itemid) {
         return self::get_hash_item('predicate', $itemid);
     }
+
     /**
-    * 商城军备
-    * @return \shop_junbei
-    */
-    public static function shop_junbei()
-    { 
-        static $a = null; 
+     * 商城军备
+     * @return \shop_junbei
+     */
+    public static function shop_junbei() {
+        static $a = null;
         return self::initValue($a, 'shop_junbei');
     }
+
     /**
-    * @return \sm_shop_junbei shop_junbei item数据 
-    */
-    public static function shop_junbei_getItem($itemid)
-    { 
+     * @return \sm_shop_junbei shop_junbei item数据 
+     */
+    public static function shop_junbei_getItem($itemid) {
         return self::get_hash_item('shop_junbei', $itemid);
     }
+
     /**
-    * 进化表
-    * @return \evolve
-    */
-    public static function evolve()
-    { 
-        static $a = null; 
+     * 进化表
+     * @return \evolve
+     */
+    public static function evolve() {
+        static $a = null;
         return self::initValue($a, 'evolve');
     }
+
     /**
-    * @return \sm_evolve evolve item数据 
-    */
-    public static function evolve_getItem($itemid)
-    { 
+     * @return \sm_evolve evolve item数据 
+     */
+    public static function evolve_getItem($itemid) {
         return self::get_hash_item('evolve', $itemid);
     }
+
     /**
-    * 7日签到累计
-    * @return \active_day7_accumulate
-    */
-    public static function active_day7_accumulate()
-    { 
-        static $a = null; 
+     * 7日签到累计
+     * @return \active_day7_accumulate
+     */
+    public static function active_day7_accumulate() {
+        static $a = null;
         return self::initValue($a, 'active_day7_accumulate');
     }
+
     /**
-    * @return \sm_active_day7_accumulate active_day7_accumulate item数据 
-    */
-    public static function active_day7_accumulate_getItem($itemid)
-    { 
+     * @return \sm_active_day7_accumulate active_day7_accumulate item数据 
+     */
+    public static function active_day7_accumulate_getItem($itemid) {
         return self::get_hash_item('active_day7_accumulate', $itemid);
     }
+
     /**
-    * 宝石表
-    * @return \gem
-    */
-    public static function gem()
-    { 
-        static $a = null; 
+     * 宝石表
+     * @return \gem
+     */
+    public static function gem() {
+        static $a = null;
         return self::initValue($a, 'gem');
     }
+
     /**
-    * @return \sm_gem gem item数据 
-    */
-    public static function gem_getItem($itemid)
-    { 
+     * @return \sm_gem gem item数据 
+     */
+    public static function gem_getItem($itemid) {
         return self::get_hash_item('gem', $itemid);
     }
+
     /**
-    * 秘宝表
-    * @return \gate_sbox
-    */
-    public static function gate_sbox()
-    { 
-        static $a = null; 
+     * 秘宝表
+     * @return \gate_sbox
+     */
+    public static function gate_sbox() {
+        static $a = null;
         return self::initValue($a, 'gate_sbox');
     }
+
     /**
-    * @return \sm_gate_sbox gate_sbox itemArray 
-    */
-    public static function gate_sbox_getItemArray($key)
-    { 
+     * @return \sm_gate_sbox gate_sbox itemArray 
+     */
+    public static function gate_sbox_getItemArray($key) {
         return self::get_hash_item('gate_sbox', $key);
     }
+
     /**
-    * 最新的成就
-    * @return \achieve_new
-    */
-    public static function achieve_new()
-    { 
-        static $a = null; 
+     * 最新的成就
+     * @return \achieve_new
+     */
+    public static function achieve_new() {
+        static $a = null;
         return self::initValue($a, 'achieve_new');
     }
+
     /**
-    * @return \sm_achieve_new achieve_new item数据 
-    */
-    public static function achieve_new_getItem($itemid)
-    { 
+     * @return \sm_achieve_new achieve_new item数据 
+     */
+    public static function achieve_new_getItem($itemid) {
         return self::get_hash_item('achieve_new', $itemid);
     }
+
     /**
-    * 人物属性
-    * @return \heroattr
-    */
-    public static function heroattr()
-    { 
-        static $a = null; 
+     * 人物属性
+     * @return \heroattr
+     */
+    public static function heroattr() {
+        static $a = null;
         return self::initValue($a, 'heroattr');
     }
+
     /**
-    * @return \sm_heroattr heroattr item数据 
-    */
-    public static function heroattr_getItem($itemid)
-    { 
+     * @return \sm_heroattr heroattr item数据 
+     */
+    public static function heroattr_getItem($itemid) {
         return self::get_hash_item('heroattr', $itemid);
     }
+
     /**
-    * 剧情对话
-    * @return \plots
-    */
-    public static function plots()
-    { 
-        static $a = null; 
+     * 剧情对话
+     * @return \plots
+     */
+    public static function plots() {
+        static $a = null;
         return self::initValue($a, 'plots');
     }
+
     /**
-    * @return \sm_plots plots item数据 
-    */
-    public static function plots_getItem($itemid)
-    { 
+     * @return \sm_plots plots item数据 
+     */
+    public static function plots_getItem($itemid) {
         return self::get_hash_item('plots', $itemid);
     }
+
     /**
-    * 商城宝箱表
-    * @return \shop_box
-    */
-    public static function shop_box()
-    { 
-        static $a = null; 
+     * 商城宝箱表
+     * @return \shop_box
+     */
+    public static function shop_box() {
+        static $a = null;
         return self::initValue($a, 'shop_box');
     }
+
     /**
-    * @return \sm_shop_box shop_box item数据 
-    */
-    public static function shop_box_getItem($itemid)
-    { 
+     * @return \sm_shop_box shop_box item数据 
+     */
+    public static function shop_box_getItem($itemid) {
         return self::get_hash_item('shop_box', $itemid);
     }
+
     /**
-    * 商城月卡
-    * @return \shop_monthcard
-    */
-    public static function shop_monthcard()
-    { 
-        static $a = null; 
+     * 商城月卡
+     * @return \shop_monthcard
+     */
+    public static function shop_monthcard() {
+        static $a = null;
         return self::initValue($a, 'shop_monthcard');
     }
+
     /**
-    * @return \sm_shop_monthcard shop_monthcard item数据 
-    */
-    public static function shop_monthcard_getItem($itemid)
-    { 
+     * @return \sm_shop_monthcard shop_monthcard item数据 
+     */
+    public static function shop_monthcard_getItem($itemid) {
         return self::get_hash_item('shop_monthcard', $itemid);
     }
+
     /**
-    * 7日狂欢活跃点奖励
-    * @return \activepointreward
-    */
-    public static function activepointreward()
-    { 
-        static $a = null; 
+     * 7日狂欢活跃点奖励
+     * @return \activepointreward
+     */
+    public static function activepointreward() {
+        static $a = null;
         return self::initValue($a, 'activepointreward');
     }
+
     /**
-    * @return \sm_activepointreward activepointreward item数据 
-    */
-    public static function activepointreward_getItem($type, $pointId)
-    { 
+     * @return \sm_activepointreward activepointreward item数据 
+     */
+    public static function activepointreward_getItem($type, $pointId) {
         return self::get_hash_item('activepointreward', "$type-$pointId");
     }
+
     /**
-    * 活动任务
-    * @return \activeTask
-    */
-    public static function activeTask()
-    { 
-        static $a = null; 
+     * 活动任务
+     * @return \activeTask
+     */
+    public static function activeTask() {
+        static $a = null;
         return self::initValue($a, 'activeTask');
     }
+
     /**
-    * @return \sm_activeTask activeTask item数据 
-    */
-    public static function activeTask_getItem($itemid)
-    { 
+     * @return \sm_activeTask activeTask item数据 
+     */
+    public static function activeTask_getItem($itemid) {
         return self::get_hash_item('activeTask', $itemid);
     }
+
     /**
-    * 活动任务根据类型的不同分开
-    * @return \activeTask_type
-    */
-    public static function activeTask_type()
-    { 
-        static $a = null; 
+     * 活动任务根据类型的不同分开
+     * @return \activeTask_type
+     */
+    public static function activeTask_type() {
+        static $a = null;
         return self::initValue($a, 'activeTask_type');
     }
+
     /**
-    * @return \sm_activeTask_type activeTask_type itemArray 
-    */
-    public static function activeTask_type_getItemArray($key)
-    { 
+     * @return \sm_activeTask_type activeTask_type itemArray 
+     */
+    public static function activeTask_type_getItemArray($key) {
         return self::get_hash_item('activeTask_type', $key);
     }
+
     /**
-    * 活动
-    * @return \activity
-    */
-    public static function activity()
-    { 
-        static $a = null; 
+     * 活动
+     * @return \activity
+     */
+    public static function activity() {
+        static $a = null;
         return self::initValue($a, 'activity');
     }
+
     /**
-    * @return \sm_activity activity item数据 
-    */
-    public static function activity_getItem($itemid)
-    { 
+     * @return \sm_activity activity item数据 
+     */
+    public static function activity_getItem($itemid) {
         return self::get_hash_item('activity', $itemid);
     }
+
     /**
-    * 公告
-    * @return \announcement
-    */
-    public static function announcement()
-    { 
-        static $a = null; 
+     * 公告
+     * @return \announcement
+     */
+    public static function announcement() {
+        static $a = null;
         return self::initValue($a, 'announcement');
     }
+
     /**
-    * @return \sm_announcement announcement item数据 
-    */
-    public static function announcement_getItem($itemid)
-    { 
+     * @return \sm_announcement announcement item数据 
+     */
+    public static function announcement_getItem($itemid) {
         return self::get_hash_item('announcement', $itemid);
     }
+
     /**
-    * 战力荣誉榜信息
-    * @return \rank_fightpowerreward
-    */
-    public static function rank_fightpowerreward()
-    { 
-        static $a = null; 
+     * 战力荣誉榜信息
+     * @return \rank_fightpowerreward
+     */
+    public static function rank_fightpowerreward() {
+        static $a = null;
         return self::initValue($a, 'rank_fightpowerreward');
     }
+
     /**
-    * @return \sm_rank_fightpowerreward rank_fightpowerreward item数据 
-    */
-    public static function rank_fightpowerreward_getItem($itemid)
-    { 
+     * @return \sm_rank_fightpowerreward rank_fightpowerreward item数据 
+     */
+    public static function rank_fightpowerreward_getItem($itemid) {
         return self::get_hash_item('rank_fightpowerreward', $itemid);
     }
+
     /**
-    * 主线荣誉榜信息
-    * @return \rank_passgatereward
-    */
-    public static function rank_passgatereward()
-    { 
-        static $a = null; 
+     * 主线荣誉榜信息
+     * @return \rank_passgatereward
+     */
+    public static function rank_passgatereward() {
+        static $a = null;
         return self::initValue($a, 'rank_passgatereward');
     }
+
     /**
-    * @return \sm_rank_passgatereward rank_passgatereward item数据 
-    */
-    public static function rank_passgatereward_getItem($itemid)
-    { 
+     * @return \sm_rank_passgatereward rank_passgatereward item数据 
+     */
+    public static function rank_passgatereward_getItem($itemid) {
         return self::get_hash_item('rank_passgatereward', $itemid);
     }
+
     /**
-    * 玩家等级表
-    * @return \player_level
-    */
-    public static function player_level()
-    { 
-        static $a = null; 
+     * 玩家等级表
+     * @return \player_level
+     */
+    public static function player_level() {
+        static $a = null;
         return self::initValue($a, 'player_level');
     }
+
     /**
-    * @return \sm_player_level player_level item数据 
-    */
-    public static function player_level_getItem($itemid)
-    { 
+     * @return \sm_player_level player_level item数据 
+     */
+    public static function player_level_getItem($itemid) {
         return self::get_hash_item('player_level', $itemid);
     }
+
     /**
-    *  辅助:主线剧情解锁
-    * @return \gate_unlock
-    */
-    public static function gate_unlock()
-    { 
-        static $a = null; 
+     *  辅助:主线剧情解锁
+     * @return \gate_unlock
+     */
+    public static function gate_unlock() {
+        static $a = null;
         return self::initValue($a, 'gate_unlock');
     }
+
     /**
-    * @return \sm_gate_unlock gate_unlock itemArray 
-    */
-    public static function gate_unlock_getItemArray($key)
-    { 
+     * @return \sm_gate_unlock gate_unlock itemArray 
+     */
+    public static function gate_unlock_getItemArray($key) {
         return self::get_hash_item('gate_unlock', $key);
     }
+
     /**
-    * 辅助: 波次直查
-    * @return \waveItem
-    */
-    public static function waveItem()
-    { 
-        static $a = null; 
+     * 辅助: 波次直查
+     * @return \waveItem
+     */
+    public static function waveItem() {
+        static $a = null;
         return self::initValue($a, 'waveItem');
     }
+
     /**
-    * @return \sm_waveItem waveItem item数据 
-    */
-    public static function waveItem_getItem($gateId, $waveId)
-    { 
+     * @return \sm_waveItem waveItem item数据 
+     */
+    public static function waveItem_getItem($gateId, $waveId) {
         return self::get_hash_item('waveItem', "$gateId-$waveId");
     }
+
     /**
-    * 道具宝箱表
-    * @return \item_2023_box
-    */
-    public static function item_2023_box()
-    { 
-        static $a = null; 
+     * 道具宝箱表
+     * @return \item_2023_box
+     */
+    public static function item_2023_box() {
+        static $a = null;
         return self::initValue($a, 'item_2023_box');
     }
+
     /**
-    * @return \sm_item_2023_box item_2023_box item数据 
-    */
-    public static function item_2023_box_getItem($itemid)
-    { 
+     * @return \sm_item_2023_box item_2023_box item数据 
+     */
+    public static function item_2023_box_getItem($itemid) {
         return self::get_hash_item('item_2023_box', $itemid);
     }
+
     /**
-    * 人物分类
-    * @return \heroType_typeId
-    */
-    public static function heroType_typeId()
-    { 
-        static $a = null; 
+     * 人物分类
+     * @return \heroType_typeId
+     */
+    public static function heroType_typeId() {
+        static $a = null;
         return self::initValue($a, 'heroType_typeId');
     }
+
     /**
-    * @return \sm_heroType_typeId heroType_typeId itemArray 
-    */
-    public static function heroType_typeId_getItemArray($key)
-    { 
+     * @return \sm_heroType_typeId heroType_typeId itemArray 
+     */
+    public static function heroType_typeId_getItemArray($key) {
         return self::get_hash_item('heroType_typeId', $key);
     }
+
     /**
-    * 激活码表
-    * @return \token_gift
-    */
-    public static function token_gift()
-    { 
-        static $a = null; 
+     * 激活码表
+     * @return \token_gift
+     */
+    public static function token_gift() {
+        static $a = null;
         return self::initValue($a, 'token_gift');
     }
+
     /**
-    * @return \sm_token_gift token_gift item数据 
-    */
-    public static function token_gift_getItem($itemid)
-    { 
+     * @return \sm_token_gift token_gift item数据 
+     */
+    public static function token_gift_getItem($itemid) {
         return self::get_hash_item('token_gift', $itemid);
     }
+
     /**
-    * 公共兑换码
-    * @return \token_publicgift
-    */
-    public static function token_publicgift()
-    { 
-        static $a = null; 
+     * 公共兑换码
+     * @return \token_publicgift
+     */
+    public static function token_publicgift() {
+        static $a = null;
         return self::initValue($a, 'token_publicgift');
     }
+
     /**
-    * @return \sm_token_publicgift token_publicgift item数据 
-    */
-    public static function token_publicgift_getItem($itemid)
-    { 
+     * @return \sm_token_publicgift token_publicgift item数据 
+     */
+    public static function token_publicgift_getItem($itemid) {
         return self::get_hash_item('token_publicgift', $itemid);
     }
+
     /**
-    * 游戏功能解锁信息
-    * @return \fun_unlock
-    */
-    public static function fun_unlock()
-    { 
-        static $a = null; 
+     * 游戏功能解锁信息
+     * @return \fun_unlock
+     */
+    public static function fun_unlock() {
+        static $a = null;
         return self::initValue($a, 'fun_unlock');
     }
+
     /**
-    * @return \sm_fun_unlock fun_unlock item数据 
-    */
-    public static function fun_unlock_getItem($itemid)
-    { 
+     * @return \sm_fun_unlock fun_unlock item数据 
+     */
+    public static function fun_unlock_getItem($itemid) {
         return self::get_hash_item('fun_unlock', $itemid);
     }
+
     /**
-    * 首充表
-    * @return \firstrecharge_reward
-    */
-    public static function firstrecharge_reward()
-    { 
-        static $a = null; 
+     * 首充表
+     * @return \firstrecharge_reward
+     */
+    public static function firstrecharge_reward() {
+        static $a = null;
         return self::initValue($a, 'firstrecharge_reward');
     }
+
     /**
-    * @return \sm_firstrecharge_reward firstrecharge_reward item数据 
-    */
-    public static function firstrecharge_reward_getItem($itemid)
-    { 
+     * @return \sm_firstrecharge_reward firstrecharge_reward item数据 
+     */
+    public static function firstrecharge_reward_getItem($itemid) {
         return self::get_hash_item('firstrecharge_reward', $itemid);
     }
+
     /**
-    * 累计充值
-    * @return \accumulaterecharge
-    */
-    public static function accumulaterecharge()
-    { 
-        static $a = null; 
+     * 累计充值
+     * @return \accumulaterecharge
+     */
+    public static function accumulaterecharge() {
+        static $a = null;
         return self::initValue($a, 'accumulaterecharge');
     }
+
     /**
-    * @return \sm_accumulaterecharge accumulaterecharge item数据 
-    */
-    public static function accumulaterecharge_getItem($itemid)
-    { 
+     * @return \sm_accumulaterecharge accumulaterecharge item数据 
+     */
+    public static function accumulaterecharge_getItem($itemid) {
         return self::get_hash_item('accumulaterecharge', $itemid);
     }
+
     /**
-    * 次级功能开启表
-    * @return \subfun_unlock
-    */
-    public static function subfun_unlock()
-    { 
-        static $a = null; 
+     * 次级功能开启表
+     * @return \subfun_unlock
+     */
+    public static function subfun_unlock() {
+        static $a = null;
         return self::initValue($a, 'subfun_unlock');
     }
+
     /**
-    * @return \sm_subfun_unlock subfun_unlock item数据 
-    */
-    public static function subfun_unlock_getItem($itemid)
-    { 
+     * @return \sm_subfun_unlock subfun_unlock item数据 
+     */
+    public static function subfun_unlock_getItem($itemid) {
         return self::get_hash_item('subfun_unlock', $itemid);
     }
+
     /**
-    * 商城总表
-    * @return \shop
-    */
-    public static function shop()
-    { 
-        static $a = null; 
+     * 商城总表
+     * @return \shop
+     */
+    public static function shop() {
+        static $a = null;
         return self::initValue($a, 'shop');
     }
+
     /**
-    * @return \sm_shop shop item数据 
-    */
-    public static function shop_getItem($itemid)
-    { 
+     * @return \sm_shop shop item数据 
+     */
+    public static function shop_getItem($itemid) {
         return self::get_hash_item('shop', $itemid);
     }
+
     /**
-    * 转盘抽奖
-    * @return \activity_lottery_tree
-    */
-    public static function activity_lottery_tree()
-    { 
-        static $a = null; 
+     * 转盘抽奖
+     * @return \activity_lottery_tree
+     */
+    public static function activity_lottery_tree() {
+        static $a = null;
         return self::initValue($a, 'activity_lottery_tree');
     }
+
     /**
-    * @return \sm_activity_lottery_tree activity_lottery_tree item数据 
-    */
-    public static function activity_lottery_tree_getItem($itemid)
-    { 
+     * @return \sm_activity_lottery_tree activity_lottery_tree item数据 
+     */
+    public static function activity_lottery_tree_getItem($itemid) {
         return self::get_hash_item('activity_lottery_tree', $itemid);
     }
+
     /**
-    * 转盘抽奖累计次数奖励
-    * @return \activity_lotterynum_accumulate
-    */
-    public static function activity_lotterynum_accumulate()
-    { 
-        static $a = null; 
+     * 转盘抽奖累计次数奖励
+     * @return \activity_lotterynum_accumulate
+     */
+    public static function activity_lotterynum_accumulate() {
+        static $a = null;
         return self::initValue($a, 'activity_lotterynum_accumulate');
     }
+
     /**
-    * @return \sm_activity_lotterynum_accumulate activity_lotterynum_accumulate item数据 
-    */
-    public static function activity_lotterynum_accumulate_getItem($itemid)
-    { 
+     * @return \sm_activity_lotterynum_accumulate activity_lotterynum_accumulate item数据 
+     */
+    public static function activity_lotterynum_accumulate_getItem($itemid) {
         return self::get_hash_item('activity_lotterynum_accumulate', $itemid);
     }
+
     /**
-    * 人参果兑换稀有物资表
-    * @return \activity_lotteryitem_exchange
-    */
-    public static function activity_lotteryitem_exchange()
-    { 
-        static $a = null; 
+     * 人参果兑换稀有物资表
+     * @return \activity_lotteryitem_exchange
+     */
+    public static function activity_lotteryitem_exchange() {
+        static $a = null;
         return self::initValue($a, 'activity_lotteryitem_exchange');
     }
+
     /**
-    * @return \sm_activity_lotteryitem_exchange activity_lotteryitem_exchange item数据 
-    */
-    public static function activity_lotteryitem_exchange_getItem($itemid)
-    { 
+     * @return \sm_activity_lotteryitem_exchange activity_lotteryitem_exchange item数据 
+     */
+    public static function activity_lotteryitem_exchange_getItem($itemid) {
         return self::get_hash_item('activity_lotteryitem_exchange', $itemid);
     }
+
     /**
-    * 限时贩售
-    * @return \activity_promopackinfo
-    */
-    public static function activity_promopackinfo()
-    { 
-        static $a = null; 
+     * 限时贩售
+     * @return \activity_promopackinfo
+     */
+    public static function activity_promopackinfo() {
+        static $a = null;
         return self::initValue($a, 'activity_promopackinfo');
     }
+
     /**
-    * @return \sm_activity_promopackinfo activity_promopackinfo item数据 
-    */
-    public static function activity_promopackinfo_getItem($itemid)
-    { 
+     * @return \sm_activity_promopackinfo activity_promopackinfo item数据 
+     */
+    public static function activity_promopackinfo_getItem($itemid) {
         return self::get_hash_item('activity_promopackinfo', $itemid);
     }
+
     /**
-    * 限时贩售不同礼包分类
-    * @return \activity_promopackinfo_type
-    */
-    public static function activity_promopackinfo_type()
-    { 
-        static $a = null; 
+     * 限时贩售不同礼包分类
+     * @return \activity_promopackinfo_type
+     */
+    public static function activity_promopackinfo_type() {
+        static $a = null;
         return self::initValue($a, 'activity_promopackinfo_type');
     }
+
     /**
-    * @return \sm_activity_promopackinfo_type activity_promopackinfo_type itemArray 
-    */
-    public static function activity_promopackinfo_type_getItemArray($key)
-    { 
+     * @return \sm_activity_promopackinfo_type activity_promopackinfo_type itemArray 
+     */
+    public static function activity_promopackinfo_type_getItemArray($key) {
         return self::get_hash_item('activity_promopackinfo_type', $key);
     }
+
     /**
-    * 战令表
-    * @return \activity_battlepass
-    */
-    public static function activity_battlepass()
-    { 
-        static $a = null; 
+     * 战令表
+     * @return \activity_battlepass
+     */
+    public static function activity_battlepass() {
+        static $a = null;
         return self::initValue($a, 'activity_battlepass');
     }
+
     /**
-    * @return \sm_activity_battlepass activity_battlepass item数据 
-    */
-    public static function activity_battlepass_getItem($itemid)
-    { 
+     * @return \sm_activity_battlepass activity_battlepass item数据 
+     */
+    public static function activity_battlepass_getItem($itemid) {
         return self::get_hash_item('activity_battlepass', $itemid);
     }
+
     /**
-    * 战令类型区别
-    * @return \activity_battlepass_type
-    */
-    public static function activity_battlepass_type()
-    { 
-        static $a = null; 
+     * 战令类型区别
+     * @return \activity_battlepass_type
+     */
+    public static function activity_battlepass_type() {
+        static $a = null;
         return self::initValue($a, 'activity_battlepass_type');
     }
+
     /**
-    * @return \sm_activity_battlepass_type activity_battlepass_type itemArray 
-    */
-    public static function activity_battlepass_type_getItemArray($key)
-    { 
+     * @return \sm_activity_battlepass_type activity_battlepass_type itemArray 
+     */
+    public static function activity_battlepass_type_getItemArray($key) {
         return self::get_hash_item('activity_battlepass_type', $key);
     }
+
     /**
-    * 装备道具表
-    * @return \equip
-    */
-    public static function equip()
-    { 
-        static $a = null; 
+     * 装备道具表
+     * @return \equip
+     */
+    public static function equip() {
+        static $a = null;
         return self::initValue($a, 'equip');
     }
+
     /**
-    * @return \sm_equip equip item数据 
-    */
-    public static function equip_getItem($itemid)
-    { 
+     * @return \sm_equip equip item数据 
+     */
+    public static function equip_getItem($itemid) {
         return self::get_hash_item('equip', $itemid);
     }
+
     /**
-    * 宝石槽位表
-    * @return \gem_slotposition
-    */
-    public static function gem_slotposition()
-    { 
-        static $a = null; 
+     * 宝石槽位表
+     * @return \gem_slotposition
+     */
+    public static function gem_slotposition() {
+        static $a = null;
         return self::initValue($a, 'gem_slotposition');
     }
+
     /**
-    * @return \sm_gem_slotposition gem_slotposition item数据 
-    */
-    public static function gem_slotposition_getItem($itemid)
-    { 
+     * @return \sm_gem_slotposition gem_slotposition item数据 
+     */
+    public static function gem_slotposition_getItem($itemid) {
         return self::get_hash_item('gem_slotposition', $itemid);
     }
+
     /**
-    * 装备合成表
-    * @return \equip_compose
-    */
-    public static function equip_compose()
-    { 
-        static $a = null; 
+     * 装备合成表
+     * @return \equip_compose
+     */
+    public static function equip_compose() {
+        static $a = null;
         return self::initValue($a, 'equip_compose');
     }
+
     /**
-    * @return \sm_equip_compose equip_compose item数据 
-    */
-    public static function equip_compose_getItem($itemid)
-    { 
+     * @return \sm_equip_compose equip_compose item数据 
+     */
+    public static function equip_compose_getItem($itemid) {
         return self::get_hash_item('equip_compose', $itemid);
     }
+
     /**
-    * 装备套装
-    * @return \equip_suit
-    */
-    public static function equip_suit()
-    { 
-        static $a = null; 
+     * 装备套装
+     * @return \equip_suit
+     */
+    public static function equip_suit() {
+        static $a = null;
         return self::initValue($a, 'equip_suit');
     }
+
     /**
-    * @return \sm_equip_suit equip_suit item数据 
-    */
-    public static function equip_suit_getItem($itemid)
-    { 
+     * @return \sm_equip_suit equip_suit item数据 
+     */
+    public static function equip_suit_getItem($itemid) {
         return self::get_hash_item('equip_suit', $itemid);
     }
+
     /**
-    * 新手7日签到
-    * @return \activity_day7sign_newplayer
-    */
-    public static function activity_day7sign_newplayer()
-    { 
-        static $a = null; 
+     * 新手7日签到
+     * @return \activity_day7sign_newplayer
+     */
+    public static function activity_day7sign_newplayer() {
+        static $a = null;
         return self::initValue($a, 'activity_day7sign_newplayer');
     }
+
     /**
-    * @return \sm_activity_day7sign_newplayer activity_day7sign_newplayer item数据 
-    */
-    public static function activity_day7sign_newplayer_getItem($itemid)
-    { 
+     * @return \sm_activity_day7sign_newplayer activity_day7sign_newplayer item数据 
+     */
+    public static function activity_day7sign_newplayer_getItem($itemid) {
         return self::get_hash_item('activity_day7sign_newplayer', $itemid);
     }
+
     /**
-    * 全局参数2
-    * @return \glc2
-    */
-    public static function glc2()
-    { 
-        static $a = null; 
+     * 全局参数2
+     * @return \glc2
+     */
+    public static function glc2() {
+        static $a = null;
         return self::initValue($a, 'glc2');
     }
+
     /**
-    * 战力公式: 装备系数表
-    * @return \equip_power
-    */
-    public static function equip_power()
-    { 
-        static $a = null; 
+     * 战力公式: 装备系数表
+     * @return \equip_power
+     */
+    public static function equip_power() {
+        static $a = null;
         return self::initValue($a, 'equip_power');
     }
+
     /**
-    * @return \sm_equip_power equip_power item数据 
-    */
-    public static function equip_power_getItem($rarity, $qual, $position)
-    { 
+     * @return \sm_equip_power equip_power item数据 
+     */
+    public static function equip_power_getItem($rarity, $qual, $position) {
         return self::get_hash_item('equip_power', "$rarity-$qual-$position");
     }
+
     /**
-    * 新手引导表
-    * @return \guide
-    */
-    public static function guide()
-    { 
-        static $a = null; 
+     * 新手引导表
+     * @return \guide
+     */
+    public static function guide() {
+        static $a = null;
         return self::initValue($a, 'guide');
     }
+
     /**
-    * @return \sm_guide guide item数据 
-    */
-    public static function guide_getItem($type, $stepId)
-    { 
+     * @return \sm_guide guide item数据 
+     */
+    public static function guide_getItem($type, $stepId) {
         return self::get_hash_item('guide', "$type-$stepId");
     }
+
     /**
-    * 当前版本(时间戳)
-    * @return \ver
-    */
-    public static function ver()
-    { 
-        static $a = null; 
+     * 当前版本(时间戳)
+     * @return \ver
+     */
+    public static function ver() {
+        static $a = null;
         return self::initValue($a, 'ver', false);
     }
+
     /**
-    * 客户端配置数据
-    * @return \client
-    */
-    public static function client()
-    { 
-        static $a = null; 
+     * 客户端配置数据
+     * @return \client
+     */
+    public static function client() {
+        static $a = null;
         return self::initValue($a, 'client', false);
     }
 }
-

+ 1 - 1
Gameserver/App/configs/GameConstants.php

@@ -22,7 +22,7 @@ class GameConstants {
      */
     public static function GetCipherString() {
         switch (PLAT) {
-            case 'and':                                                         # android平台 20171101110403
+            case 'tap':                                                         # android平台 20171101110403
                 return "qh6jid4g598rfnwp37xyb2vetzuskcam";
             case 'web':                                                         # web平台
                 return "zgyqfmpav4whex9td7nu2kj8b5ris36c";

+ 1 - 1
Gameserver/App/model/Const/GameConfig.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-13 10:31:48
+ // 日期: 2025-01-15 18:41:47
 ////////////////////
 
 /**

+ 1 - 1
Gameserver/App/model/Const/sm_activity.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-09-20 15:50:58
+ // 日期: 2025-01-15 17:50:01
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_gate.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-08 14:21:58
+ // 日期: 2025-01-13 14:00:03
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_gate_unlock.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-08 14:21:58
+ // 日期: 2025-01-13 14:00:03
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_gem.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-13 10:33:03
+ // 日期: 2025-01-13 17:51:58
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_globalsettings.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-13 10:12:39
+ // 日期: 2025-01-13 14:09:17
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_hero.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-13 10:21:58
+ // 日期: 2025-01-15 10:21:58
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_heroType_typeId.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-13 10:21:58
+ // 日期: 2025-01-15 10:21:58
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_item.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-09 09:59:25
+ // 日期: 2025-01-15 17:37:41
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_predicate.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-10 10:05:34
+ // 日期: 2025-01-15 17:00:46
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_shop.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-12-18 18:10:09
+ // 日期: 2025-01-14 09:51:58
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_shop_cash.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-12-18 18:09:27
+ // 日期: 2025-01-14 09:51:58
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_skills.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-09 17:42:59
+ // 日期: 2025-01-15 09:57:09
 ////////////////////
 
 

+ 2 - 1
Gameserver/App/model/Const/sm_subfun_unlock.php

@@ -35,7 +35,8 @@ class sm_subfun_unlock
     *  4.固定活动 开始时间 结束时间 【仙树寻宝】
     *  5.不限时活动 长期存在  开始时间(功能解锁时间) 长期存在 
     *  6.不限时活动 长期存在 配置好开始时间 长期存在 
-    *  7.开始时间(功能解锁时间) 不长期存在 奖励领取后消失  
+    *  7.开始时间(功能解锁时间) 不长期存在 奖励领取后消失
+    *  8:活动功能里包含的子功能的开放情况,8就是开放  
     */
     public $type;
 

+ 1 - 1
Gameserver/App/model/Const/sm_sysmail.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-12-23 15:21:05
+ // 日期: 2025-01-15 16:59:12
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_token_gift.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-20 17:35:46
+ // 日期: 2025-01-15 18:28:53
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_waveItem.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-10 17:36:54
+ // 日期: 2025-01-15 12:05:28
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_waves.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2025-01-10 17:36:54
+ // 日期: 2025-01-15 12:05:28
 ////////////////////
 
 

+ 9 - 5
Gameserver/App/process/ActiveProc.php

@@ -15,6 +15,8 @@ namespace loyalsoft;
  */
 class ActiveProc {
 
+    const tab_token_gift = "tab_token_gift";
+
     /**
      * 逻辑分发
      * 所有的Proc中必须有这样一个方法
@@ -85,7 +87,7 @@ class ActiveProc {
                     'gold' => ctx()->baseInfo->gold,
                     'reward' => StoreProc::$reward,
                     'reward_Gem' => StoreProc::$reward_Gem,
-                    'reward_equip' => StoreProc::$reward_equip,            
+                    'reward_equip' => StoreProc::$reward_equip,
         ));
     }
 
@@ -110,7 +112,7 @@ class ActiveProc {
                     'cash' => ctx()->baseInfo->cash,
                     'reward' => StoreProc::$reward,
                     'reward_Gem' => StoreProc::$reward_Gem,
-                    'reward_equip' => StoreProc::$reward_equip,          
+                    'reward_equip' => StoreProc::$reward_equip,
         ));
     }
 
@@ -269,6 +271,7 @@ class ActiveProc {
             $packageID = $activeCode->package;                                      # 礼包id
             $packageInfo = GameConfig::token_gift_getItem($packageID);               # 礼包常量数据
             my_Assert(null != $packageInfo, ErrCode::err_const_no);                 # 防御
+            CLog::err(json_encode($packageInfo));
             my_Assert($packageInfo->expirets >= now() && $packageInfo->startTs <= now(),
                     ErrCode::active_activecode_outtime);                            # 激活码已经失效,或者礼包尚未开启
 
@@ -276,7 +279,8 @@ class ActiveProc {
             my_Assert(!in_array($packageID, $privateState->usedTokens), ErrCode::active_hasgetted); # 已经领取过该礼包了
             my_Assert(!self::checkActiveCodeIsUsed($activeCode), ErrCode::active_activecode_used);  # 检查 该激活码是否别人已经使用过了
             $err = StoreProc::AddMultiItemInStore($packageInfo->reward);            # 发放礼包
-            my_Assert(ErrCode::ok == $err, $err);                                   # 防御发放礼包过程出错
+            EmailProc::SendPackageByCodeMail(req()->zoneid, req()->uid, $packageInfo->reward);
+//            my_Assert(ErrCode::ok == $err, $err);                                   # 防御发放礼包过程出错
             $ok = self::setActiveCodeUserRecord($activeCode, req()->uid);           # 插入数据库
             my_Assert($ok, ErrCode::err_db);                                        # 数据库操作失败- 重试
         }
@@ -315,7 +319,7 @@ class ActiveProc {
                 $activeCode->plat, $activeCode->package, $activeCode->number);
         $rows = daoInst()
                 ->select()
-                ->from(self::tab_toke_gift)                                     # 表名
+                ->from(self::tab_token_gift)                                     # 表名
                 ->where($sql)
                 ->count();
         return $rows > 0;
@@ -330,7 +334,7 @@ class ActiveProc {
     static function setActiveCodeUserRecord($actvieCode, $uid) {
         $actvieCode->uid = $uid;                                                # 添加uid
         $ret = daoInst()
-                ->insert(self::tab_toke_gift)                                   # 表名
+                ->insert(self::tab_token_gift)                                   # 表名
                 ->data($actvieCode)
                 ->exec();
         return $ret > 0;