Bläddra i källkod

学院模块提交

cyzhao 4 år sedan
förälder
incheckning
4725674f7a

+ 20 - 1
Gameserver/Amfphp/base/CmdCode.php

@@ -1057,7 +1057,26 @@ class CmdCode {
     const cmd_event_GetNotifications = 7201;
     const cmd_event_GetNotifications = 7201;
 
 
 // </editor-fold>
 // </editor-fold>
-// 
+ 
+// <editor-fold defaultstate="collapsed" desc="学院操作码 - 73xx">
+
+    /**
+     *  激活某任务卡
+     */
+    const cmd_college_ActiveTaskCard = 7301;
+    
+    /**
+     *  领取任务卡奖励
+     */
+    const cmd_college_ReceiveTaskCardReward = 7302;
+    
+    /**
+     *  领取课程奖励
+     */
+    const cmd_college_ReceiveCourseReward = 7303;
+
+// </editor-fold>
+ 
     // <editor-fold defaultstate="collapsed" desc="    反射方法    ">
     // <editor-fold defaultstate="collapsed" desc="    反射方法    ">
 
 
     /**
     /**

+ 4 - 0
Gameserver/Amfphp/base/OpeCode.php

@@ -71,6 +71,10 @@ class OpeCode {
      */
      */
     const Event = 612;
     const Event = 612;
 
 
+    /**
+     * 
+     */
+    const college = 613;
 //
 //
 //
 //
     // <editor-fold defaultstate="collapsed" desc="反射方法">
     // <editor-fold defaultstate="collapsed" desc="反射方法">

+ 767 - 740
Gameserver/Amfphp/configs/GameConfig.php

@@ -1,12 +1,10 @@
 <?php
 <?php
-
 namespace loyalsoft;
 namespace loyalsoft;
-
 ////////////////////
 ////////////////////
-// 由CodeGenerator创建。
-// Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
-// author: gwang 
-// 日期: 2021-03-01 16:38:18
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2021-03-03 13:52:53
 ////////////////////
 ////////////////////
 
 
 /**
 /**
@@ -14,28 +12,25 @@ namespace loyalsoft;
  */
  */
 class GameConfig {
 class GameConfig {
 // <editor-fold defaultstate="collapsed" desc="  基础代码 ">    
 // <editor-fold defaultstate="collapsed" desc="  基础代码 ">    
-
     /**
     /**
      * 是否启用codegen 
      * 是否启用codegen 
      */
      */
-    private static function isCG() {
-        return defined('CodeGen_Enabled') && CodeGen_Enabled;
+    private static function isCG()  {
+        return defined('CodeGen_Enabled') && CodeGen_Enabled; 
     }
     }
-
     /**
     /**
      * @var bool 分区是否使用独立的常量配置数据
      * @var bool 分区是否使用独立的常量配置数据
      */
      */
     private static $useZoneId = false;
     private static $useZoneId = false;
-
     /**
     /**
      * 追加分区列表字符串
      * 追加分区列表字符串
      * @return string
      * @return string
      */
      */
-    private static function zoneid() {
+    private static function zoneid()
+    {
         global $zoneid;
         global $zoneid;
         return self::$useZoneId ? "-zone$zoneid" : "";
         return self::$useZoneId ? "-zone$zoneid" : "";
     }
     }
-
     /**
     /**
      * 初始化指定变量, 非null的情况下直接跳出
      * 初始化指定变量, 非null的情况下直接跳出
      * 可能从文件中或者redis中获取原始数据对变量进行初始化
      * 可能从文件中或者redis中获取原始数据对变量进行初始化
@@ -43,7 +38,8 @@ class GameConfig {
      * @param string $modelName 用来初始化变量的资源名称
      * @param string $modelName 用来初始化变量的资源名称
      * @param bool $isHash 数据是否采用hash结构(否:普通字符串)
      * @param bool $isHash 数据是否采用hash结构(否:普通字符串)
      */
      */
-    static private function initValue(&$a, $modelName, $isHash = true) {
+    static private function initValue(&$a, $modelName, $isHash = true)
+    {
         $key = 'gamecfg-' . $modelName . self::zoneid();
         $key = 'gamecfg-' . $modelName . self::zoneid();
         if (is_null($a)) {
         if (is_null($a)) {
             if (self::isCG()) {
             if (self::isCG()) {
@@ -54,21 +50,21 @@ class GameConfig {
                         $value = JsonUtil::decode($value);                      # 取参数中的或者默认值
                         $value = JsonUtil::decode($value);                      # 取参数中的或者默认值
                     }
                     }
                     $a = arr2obj($para);
                     $a = arr2obj($para);
-                }
+                }			
             } else {
             } else {
                 $a = $isHash ? gMem()->hgetall($key) : gMem()->get($key);
                 $a = $isHash ? gMem()->hgetall($key) : gMem()->get($key);
             }
             }
         }
         }
         return $a;
         return $a;
     }
     }
-
-    /**
+    /** 
      * 获取hash结构的一个item
      * 获取hash结构的一个item
      * @param string $modelName 模块名称
      * @param string $modelName 模块名称
      * @param mixed/string/int $itemId 索引
      * @param mixed/string/int $itemId 索引
      * @return mixed
      * @return mixed
      */
      */
-    private static function get_hash_item($modelName, $itemId) {
+    private static function get_hash_item($modelName, $itemId)
+    {
         if (self::isCG()) {
         if (self::isCG()) {
             $data = self::$modelName();
             $data = self::$modelName();
             if (property_exists($data, $itemId)) {
             if (property_exists($data, $itemId)) {
@@ -80,1156 +76,1187 @@ class GameConfig {
         }
         }
         return null;
         return null;
     }
     }
-
 // </editor-fold>
 // </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 self::initValue($a, 'globalsettings');
     }
     }
-
     /**
     /**
-     * 英雄模块
-     * @return \hero
-     */
-    public static function hero() {
-        static $a = null;
+    * 英雄模块
+    * @return \hero
+    */
+    public static function hero()
+    { 
+        static $a = null; 
         return self::initValue($a, 'hero');
         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 self::get_hash_item('hero', $itemid);
     }
     }
-
     /**
     /**
-     * 英雄的升级(属性加成)
-     * @return \heroextra_level
-     */
-    public static function heroextra_level() {
-        static $a = null;
+    * 英雄的升级(属性加成)
+    * @return \heroextra_level
+    */
+    public static function heroextra_level()
+    { 
+        static $a = null; 
         return self::initValue($a, 'heroextra_level');
         return self::initValue($a, 'heroextra_level');
     }
     }
-
     /**
     /**
-     * @return \sm_heroextra_level heroextra_level item数据 
-     */
-    public static function heroextra_level_getItem($heroId, $quality) {
+    * @return \sm_heroextra_level heroextra_level item数据 
+    */
+    public static function heroextra_level_getItem($heroId, $quality)
+    { 
         return self::get_hash_item('heroextra_level', $heroId)->$quality;
         return self::get_hash_item('heroextra_level', $heroId)->$quality;
     }
     }
-
     /**
     /**
-     * [废弃]
-     * @return \item
-     */
-    public static function item() {
-        static $a = null;
+    * [废弃]
+    * @return \item
+    */
+    public static function item()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item');
         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 self::get_hash_item('item', $itemid);
     }
     }
-
     /**
     /**
-     * [废弃]
-     * @return \itemlevel
-     */
-    public static function itemlevel() {
-        static $a = null;
+    * [废弃]
+    * @return \itemlevel
+    */
+    public static function itemlevel()
+    { 
+        static $a = null; 
         return self::initValue($a, 'itemlevel');
         return self::initValue($a, 'itemlevel');
     }
     }
-
     /**
     /**
-     * @return \sm_itemlevel itemlevel item数据 
-     */
-    public static function itemlevel_getItem($itemid) {
+    * @return \sm_itemlevel itemlevel item数据 
+    */
+    public static function itemlevel_getItem($itemid)
+    { 
         return self::get_hash_item('itemlevel', $itemid);
         return self::get_hash_item('itemlevel', $itemid);
     }
     }
-
     /**
     /**
-     * 英雄的升级——每级成长消耗经验需求表
-     * @return \hero_levelexp
-     */
-    public static function hero_levelexp() {
-        static $a = null;
+    * 英雄的升级——每级成长消耗经验需求表
+    * @return \hero_levelexp
+    */
+    public static function hero_levelexp()
+    { 
+        static $a = null; 
         return self::initValue($a, 'hero_levelexp');
         return self::initValue($a, 'hero_levelexp');
     }
     }
-
     /**
     /**
-     * @return \sm_hero_levelexp hero_levelexp item数据 
-     */
-    public static function hero_levelexp_getItem($itemid) {
+    * @return \sm_hero_levelexp hero_levelexp item数据 
+    */
+    public static function hero_levelexp_getItem($itemid)
+    { 
         return self::get_hash_item('hero_levelexp', $itemid);
         return self::get_hash_item('hero_levelexp', $itemid);
     }
     }
-
     /**
     /**
-     * 英雄的升阶(消耗金币+ 属性加成)
-     * @return \heroextra_dengjie
-     */
-    public static function heroextra_dengjie() {
-        static $a = null;
+    * 英雄的升阶(消耗金币+ 属性加成)
+    * @return \heroextra_dengjie
+    */
+    public static function heroextra_dengjie()
+    { 
+        static $a = null; 
         return self::initValue($a, 'heroextra_dengjie');
         return self::initValue($a, 'heroextra_dengjie');
     }
     }
-
     /**
     /**
-     * @return \sm_heroextra_dengjie heroextra_dengjie item数据 
-     */
-    public static function heroextra_dengjie_getItem($itemid) {
+    * @return \sm_heroextra_dengjie heroextra_dengjie item数据 
+    */
+    public static function heroextra_dengjie_getItem($itemid)
+    { 
         return self::get_hash_item('heroextra_dengjie', $itemid);
         return self::get_hash_item('heroextra_dengjie', $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 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 self::get_hash_item('gate', $itemid);
     }
     }
-
     /**
     /**
-     * 关卡波茨数据
-     * @return \gatelevel
-     */
-    public static function gatelevel() {
-        static $a = null;
+    * 关卡波茨数据
+    * @return \gatelevel
+    */
+    public static function gatelevel()
+    { 
+        static $a = null; 
         return self::initValue($a, 'gatelevel');
         return self::initValue($a, 'gatelevel');
     }
     }
-
     /**
     /**
-     * @return \sm_gatelevel gatelevel item数据 
-     */
-    public static function gatelevel_getItem($itemid) {
+    * @return \sm_gatelevel gatelevel item数据 
+    */
+    public static function gatelevel_getItem($itemid)
+    { 
         return self::get_hash_item('gatelevel', $itemid);
         return self::get_hash_item('gatelevel', $itemid);
     }
     }
-
     /**
     /**
-     * 关卡—— 星级奖励
-     * @return \gate_starreward
-     */
-    public static function gate_starreward() {
-        static $a = null;
+    * 关卡—— 星级奖励
+    * @return \gate_starreward
+    */
+    public static function gate_starreward()
+    { 
+        static $a = null; 
         return self::initValue($a, 'gate_starreward');
         return self::initValue($a, 'gate_starreward');
     }
     }
-
     /**
     /**
-     * @return \sm_gate_starreward gate_starreward item数据 
-     */
-    public static function gate_starreward_getItem($chapterId, $hardLevel) {
+    * @return \sm_gate_starreward gate_starreward item数据 
+    */
+    public static function gate_starreward_getItem($chapterId, $hardLevel)
+    { 
         return self::get_hash_item('gate_starreward', "$chapterId-$hardLevel");
         return self::get_hash_item('gate_starreward', "$chapterId-$hardLevel");
     }
     }
-
     /**
     /**
-     * 任务
-     * @return \task
-     */
-    public static function task() {
-        static $a = null;
+    * 任务
+    * @return \task
+    */
+    public static function task()
+    { 
+        static $a = null; 
         return self::initValue($a, 'task');
         return self::initValue($a, 'task');
     }
     }
-
     /**
     /**
-     * @return \sm_task task item数据 
-     */
-    public static function task_getItem($itemid) {
+    * @return \sm_task task item数据 
+    */
+    public static function task_getItem($itemid)
+    { 
         return self::get_hash_item('task', $itemid);
         return self::get_hash_item('task', $itemid);
     }
     }
-
     /**
     /**
-     * 
-     * @return \playerlevel
-     */
-    public static function playerlevel() {
-        static $a = null;
+    * 
+    * @return \playerlevel
+    */
+    public static function playerlevel()
+    { 
+        static $a = null; 
         return self::initValue($a, 'playerlevel');
         return self::initValue($a, 'playerlevel');
     }
     }
-
     /**
     /**
-     * @return \sm_playerlevel playerlevel item数据 
-     */
-    public static function playerlevel_getItem($itemid) {
+    * @return \sm_playerlevel playerlevel item数据 
+    */
+    public static function playerlevel_getItem($itemid)
+    { 
         return self::get_hash_item('playerlevel', $itemid);
         return self::get_hash_item('playerlevel', $itemid);
     }
     }
-
     /**
     /**
-     * 言灵类道具
-     * @return \item_yanling
-     */
-    public static function item_yanling() {
-        static $a = null;
+    * 言灵类道具
+    * @return \item_yanling
+    */
+    public static function item_yanling()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_yanling');
         return self::initValue($a, 'item_yanling');
     }
     }
-
     /**
     /**
-     * @return \sm_item_yanling item_yanling item数据 
-     */
-    public static function item_yanling_getItem($itemid) {
+    * @return \sm_item_yanling item_yanling item数据 
+    */
+    public static function item_yanling_getItem($itemid)
+    { 
         return self::get_hash_item('item_yanling', $itemid);
         return self::get_hash_item('item_yanling', $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 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 self::get_hash_item('shop', $itemid);
     }
     }
-
     /**
     /**
-     * 停服计划
-     * @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 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 self::get_hash_item('service_schedule', $itemid);
     }
     }
-
     /**
     /**
-     * 任务步骤
-     * @return \task_step
-     */
-    public static function task_step() {
-        static $a = null;
+    * 任务步骤
+    * @return \task_step
+    */
+    public static function task_step()
+    { 
+        static $a = null; 
         return self::initValue($a, 'task_step');
         return self::initValue($a, 'task_step');
     }
     }
-
     /**
     /**
-     * @return \sm_task_step task_step item数据 
-     */
-    public static function task_step_getItem($itemid) {
+    * @return \sm_task_step task_step item数据 
+    */
+    public static function task_step_getItem($itemid)
+    { 
         return self::get_hash_item('task_step', $itemid);
         return self::get_hash_item('task_step', $itemid);
     }
     }
-
     /**
     /**
-     * 任务卡
-     * @return \item_taskcard
-     */
-    public static function item_taskcard() {
-        static $a = null;
+    * 任务卡
+    * @return \item_taskcard
+    */
+    public static function item_taskcard()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_taskcard');
         return self::initValue($a, 'item_taskcard');
     }
     }
-
     /**
     /**
-     * @return \sm_item_taskcard item_taskcard item数据 
-     */
-    public static function item_taskcard_getItem($itemid) {
+    * @return \sm_item_taskcard item_taskcard item数据 
+    */
+    public static function item_taskcard_getItem($itemid)
+    { 
         return self::get_hash_item('item_taskcard', $itemid);
         return self::get_hash_item('item_taskcard', $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 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 self::get_hash_item('sysmail', $itemid);
     }
     }
-
     /**
     /**
-     * 言灵附加随机表
-     * @return \item_additional
-     */
-    public static function item_additional() {
-        static $a = null;
+    * 言灵附加随机表
+    * @return \item_additional
+    */
+    public static function item_additional()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_additional');
         return self::initValue($a, 'item_additional');
     }
     }
-
     /**
     /**
-     * @return \sm_item_additional item_additional item数据 
-     */
-    public static function item_additional_getItem($itemid) {
+    * @return \sm_item_additional item_additional item数据 
+    */
+    public static function item_additional_getItem($itemid)
+    { 
         return self::get_hash_item('item_additional', $itemid);
         return self::get_hash_item('item_additional', $itemid);
     }
     }
-
     /**
     /**
-     * 活跃点奖励表
-     * @return \task_active_reward
-     */
-    public static function task_active_reward() {
-        static $a = null;
+    * 活跃点奖励表
+    * @return \task_active_reward
+    */
+    public static function task_active_reward()
+    { 
+        static $a = null; 
         return self::initValue($a, 'task_active_reward');
         return self::initValue($a, 'task_active_reward');
     }
     }
-
     /**
     /**
-     * @return \sm_task_active_reward task_active_reward item数据 
-     */
-    public static function task_active_reward_getItem($itemid) {
+    * @return \sm_task_active_reward task_active_reward item数据 
+    */
+    public static function task_active_reward_getItem($itemid)
+    { 
         return self::get_hash_item('task_active_reward', $itemid);
         return self::get_hash_item('task_active_reward', $itemid);
     }
     }
-
     /**
     /**
-     * 竞技场 上榜单奖励
-     * @return \pvp_rankreward
-     */
-    public static function pvp_rankreward() {
-        static $a = null;
+    * 竞技场 上榜单奖励
+    * @return \pvp_rankreward
+    */
+    public static function pvp_rankreward()
+    { 
+        static $a = null; 
         return self::initValue($a, 'pvp_rankreward');
         return self::initValue($a, 'pvp_rankreward');
     }
     }
-
     /**
     /**
-     * @return \sm_pvp_rankreward pvp_rankreward item数据 
-     */
-    public static function pvp_rankreward_getItem($itemid) {
+    * @return \sm_pvp_rankreward pvp_rankreward item数据 
+    */
+    public static function pvp_rankreward_getItem($itemid)
+    { 
         return self::get_hash_item('pvp_rankreward', $itemid);
         return self::get_hash_item('pvp_rankreward', $itemid);
     }
     }
-
     /**
     /**
-     * 竞技 商店
-     * @return \pvp_shop
-     */
-    public static function pvp_shop() {
-        static $a = null;
+    * 竞技 商店
+    * @return \pvp_shop
+    */
+    public static function pvp_shop()
+    { 
+        static $a = null; 
         return self::initValue($a, 'pvp_shop');
         return self::initValue($a, 'pvp_shop');
     }
     }
-
     /**
     /**
-     * @return \sm_pvp_shop pvp_shop item数据 
-     */
-    public static function pvp_shop_getItem($itemid) {
+    * @return \sm_pvp_shop pvp_shop item数据 
+    */
+    public static function pvp_shop_getItem($itemid)
+    { 
         return self::get_hash_item('pvp_shop', $itemid);
         return self::get_hash_item('pvp_shop', $itemid);
     }
     }
-
     /**
     /**
-     * 配置的关卡相关的战斗数据
-     * @return \gate_combat
-     */
-    public static function gate_combat() {
-        static $a = null;
+    * 配置的关卡相关的战斗数据
+    * @return \gate_combat
+    */
+    public static function gate_combat()
+    { 
+        static $a = null; 
         return self::initValue($a, 'gate_combat');
         return self::initValue($a, 'gate_combat');
     }
     }
-
     /**
     /**
-     * @return \sm_gate_combat gate_combat item数据 
-     */
-    public static function gate_combat_getItem($itemid) {
+    * @return \sm_gate_combat gate_combat item数据 
+    */
+    public static function gate_combat_getItem($itemid)
+    { 
         return self::get_hash_item('gate_combat', $itemid);
         return self::get_hash_item('gate_combat', $itemid);
     }
     }
-
     /**
     /**
-     * 每日任务
-     * @return \task_daily
-     */
-    public static function task_daily() {
-        static $a = null;
+    * 每日任务
+    * @return \task_daily
+    */
+    public static function task_daily()
+    { 
+        static $a = null; 
         return self::initValue($a, 'task_daily');
         return self::initValue($a, 'task_daily');
     }
     }
-
     /**
     /**
-     * @return \sm_task_daily task_daily item数据 
-     */
-    public static function task_daily_getItem($itemid) {
+    * @return \sm_task_daily task_daily item数据 
+    */
+    public static function task_daily_getItem($itemid)
+    { 
         return self::get_hash_item('task_daily', $itemid);
         return self::get_hash_item('task_daily', $itemid);
     }
     }
-
     /**
     /**
-     * 英雄的升级——成长可消耗的道具表
-     * @return \hero_levelexp_costitem
-     */
-    public static function hero_levelexp_costitem() {
-        static $a = null;
+    * 英雄的升级——成长可消耗的道具表
+    * @return \hero_levelexp_costitem
+    */
+    public static function hero_levelexp_costitem()
+    { 
+        static $a = null; 
         return self::initValue($a, 'hero_levelexp_costitem');
         return self::initValue($a, 'hero_levelexp_costitem');
     }
     }
-
     /**
     /**
-     * @return \sm_hero_levelexp_costitem hero_levelexp_costitem item数据 
-     */
-    public static function hero_levelexp_costitem_getItem($itemid) {
+    * @return \sm_hero_levelexp_costitem hero_levelexp_costitem item数据 
+    */
+    public static function hero_levelexp_costitem_getItem($itemid)
+    { 
         return self::get_hash_item('hero_levelexp_costitem', $itemid);
         return self::get_hash_item('hero_levelexp_costitem', $itemid);
     }
     }
-
     /**
     /**
-     * 引导触发
-     * @return \guide_trigger
-     */
-    public static function guide_trigger() {
-        static $a = null;
+    * 圣哲学院表
+    * @return \college
+    */
+    public static function college()
+    { 
+        static $a = null; 
+        return self::initValue($a, 'college');
+    }
+    /**
+    * @return \sm_college college item数据 
+    */
+    public static function college_getItem($itemid)
+    { 
+        return self::get_hash_item('college', $itemid);
+    }
+    /**
+    * 引导触发
+    * @return \guide_trigger
+    */
+    public static function guide_trigger()
+    { 
+        static $a = null; 
         return self::initValue($a, 'guide_trigger');
         return self::initValue($a, 'guide_trigger');
     }
     }
-
     /**
     /**
-     * @return \sm_guide_trigger guide_trigger item数据 
-     */
-    public static function guide_trigger_getItem($itemid) {
+    * @return \sm_guide_trigger guide_trigger item数据 
+    */
+    public static function guide_trigger_getItem($itemid)
+    { 
         return self::get_hash_item('guide_trigger', $itemid);
         return self::get_hash_item('guide_trigger', $itemid);
     }
     }
-
     /**
     /**
-     * 任务节点
-     * @return \task_node
-     */
-    public static function task_node() {
-        static $a = null;
+    * 任务节点
+    * @return \task_node
+    */
+    public static function task_node()
+    { 
+        static $a = null; 
         return self::initValue($a, 'task_node');
         return self::initValue($a, 'task_node');
     }
     }
-
     /**
     /**
-     * @return \sm_task_node task_node item数据 
-     */
-    public static function task_node_getItem($itemid) {
+    * @return \sm_task_node task_node item数据 
+    */
+    public static function task_node_getItem($itemid)
+    { 
         return self::get_hash_item('task_node', $itemid);
         return self::get_hash_item('task_node', $itemid);
     }
     }
-
     /**
     /**
-     * 
-     * @return \gate_mainland
-     */
-    public static function gate_mainland() {
-        static $a = null;
+    * 圣哲学院课程表
+    * @return \course
+    */
+    public static function course()
+    { 
+        static $a = null; 
+        return self::initValue($a, 'course');
+    }
+    /**
+    * @return \sm_course course item数据 
+    */
+    public static function course_getItem($itemid)
+    { 
+        return self::get_hash_item('course', $itemid);
+    }
+    /**
+    * 
+    * @return \gate_mainland
+    */
+    public static function gate_mainland()
+    { 
+        static $a = null; 
         return self::initValue($a, 'gate_mainland');
         return self::initValue($a, 'gate_mainland');
     }
     }
-
     /**
     /**
-     * @return \sm_gate_mainland gate_mainland item数据 
-     */
-    public static function gate_mainland_getItem($itemid) {
+    * @return \sm_gate_mainland gate_mainland item数据 
+    */
+    public static function gate_mainland_getItem($itemid)
+    { 
         return self::get_hash_item('gate_mainland', $itemid);
         return self::get_hash_item('gate_mainland', $itemid);
     }
     }
-
     /**
     /**
-     * 动作事件表
-     * @return \eventAction
-     */
-    public static function eventAction() {
-        static $a = null;
+    * 动作事件表
+    * @return \eventAction
+    */
+    public static function eventAction()
+    { 
+        static $a = null; 
         return self::initValue($a, 'eventAction');
         return self::initValue($a, 'eventAction');
     }
     }
-
     /**
     /**
-     * @return \sm_eventAction eventAction item数据 
-     */
-    public static function eventAction_getItem($itemid) {
+    * @return \sm_eventAction eventAction item数据 
+    */
+    public static function eventAction_getItem($itemid)
+    { 
         return self::get_hash_item('eventAction', $itemid);
         return self::get_hash_item('eventAction', $itemid);
     }
     }
-
     /**
     /**
-     * 碎片
-     * @return \segment
-     */
-    public static function segment() {
-        static $a = null;
+    * 碎片
+    * @return \segment
+    */
+    public static function segment()
+    { 
+        static $a = null; 
         return self::initValue($a, 'segment');
         return self::initValue($a, 'segment');
     }
     }
-
     /**
     /**
-     * @return \sm_segment segment item数据 
-     */
-    public static function segment_getItem($itemid) {
+    * @return \sm_segment segment item数据 
+    */
+    public static function segment_getItem($itemid)
+    { 
         return self::get_hash_item('segment', $itemid);
         return self::get_hash_item('segment', $itemid);
     }
     }
-
     /**
     /**
-     * 关卡-区域表
-     * @return \gate_zone
-     */
-    public static function gate_zone() {
-        static $a = null;
+    * 关卡-区域表
+    * @return \gate_zone
+    */
+    public static function gate_zone()
+    { 
+        static $a = null; 
         return self::initValue($a, 'gate_zone');
         return self::initValue($a, 'gate_zone');
     }
     }
-
     /**
     /**
-     * @return \sm_gate_zone gate_zone item数据 
-     */
-    public static function gate_zone_getItem($itemid) {
+    * @return \sm_gate_zone gate_zone item数据 
+    */
+    public static function gate_zone_getItem($itemid)
+    { 
         return self::get_hash_item('gate_zone', $itemid);
         return self::get_hash_item('gate_zone', $itemid);
     }
     }
-
     /**
     /**
-     * 建筑表_2021.2.5
-     * @return \build
-     */
-    public static function build() {
-        static $a = null;
+    * 建筑表_2021.2.5
+    * @return \build
+    */
+    public static function build()
+    { 
+        static $a = null; 
         return self::initValue($a, 'build');
         return self::initValue($a, 'build');
     }
     }
-
     /**
     /**
-     * @return \sm_build build item数据 
-     */
-    public static function build_getItem($itemid) {
+    * @return \sm_build build item数据 
+    */
+    public static function build_getItem($itemid)
+    { 
         return self::get_hash_item('build', $itemid);
         return self::get_hash_item('build', $itemid);
     }
     }
-
     /**
     /**
-     * 神秘商城道具表-by goodstype
-     * @return \secretshop_goodsType
-     */
-    public static function secretshop_goodsType() {
-        static $a = null;
+    * 神秘商城道具表-by goodstype
+    * @return \secretshop_goodsType
+    */
+    public static function secretshop_goodsType()
+    { 
+        static $a = null; 
         return self::initValue($a, 'secretshop_goodsType');
         return self::initValue($a, 'secretshop_goodsType');
     }
     }
-
     /**
     /**
-     * @return \sm_secretshop_goodsType secretshop_goodsType item数据 
-     */
-    public static function secretshop_goodsType_getItem($itemid) {
+    * @return \sm_secretshop_goodsType secretshop_goodsType item数据 
+    */
+    public static function secretshop_goodsType_getItem($itemid)
+    { 
         return self::get_hash_item('secretshop_goodsType', $itemid);
         return self::get_hash_item('secretshop_goodsType', $itemid);
     }
     }
-
     /**
     /**
-     * 神秘商城刷新价格表
-     * @return \secretshop_refresh
-     */
-    public static function secretshop_refresh() {
-        static $a = null;
+    * 神秘商城刷新价格表
+    * @return \secretshop_refresh
+    */
+    public static function secretshop_refresh()
+    { 
+        static $a = null; 
         return self::initValue($a, 'secretshop_refresh');
         return self::initValue($a, 'secretshop_refresh');
     }
     }
-
     /**
     /**
-     * @return \sm_secretshop_refresh secretshop_refresh item数据 
-     */
-    public static function secretshop_refresh_getItem($itemid) {
+    * @return \sm_secretshop_refresh secretshop_refresh item数据 
+    */
+    public static function secretshop_refresh_getItem($itemid)
+    { 
         return self::get_hash_item('secretshop_refresh', $itemid);
         return self::get_hash_item('secretshop_refresh', $itemid);
     }
     }
-
     /**
     /**
-     * 神秘商城道具表-by typeId
-     * @return \secretshop_typeId
-     */
-    public static function secretshop_typeId() {
-        static $a = null;
+    * 神秘商城道具表-by typeId
+    * @return \secretshop_typeId
+    */
+    public static function secretshop_typeId()
+    { 
+        static $a = null; 
         return self::initValue($a, 'secretshop_typeId');
         return self::initValue($a, 'secretshop_typeId');
     }
     }
-
     /**
     /**
-     * @return \sm_secretshop_typeId secretshop_typeId item数据 
-     */
-    public static function secretshop_typeId_getItem($itemid) {
+    * @return \sm_secretshop_typeId secretshop_typeId item数据 
+    */
+    public static function secretshop_typeId_getItem($itemid)
+    { 
         return self::get_hash_item('secretshop_typeId', $itemid);
         return self::get_hash_item('secretshop_typeId', $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 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 self::get_hash_item('clientVersionHistory', $itemid);
     }
     }
-
     /**
     /**
-     * 分区列表
-     * @return \zonelist
-     */
-    public static function zonelist() {
-        static $a = null;
+    * 分区列表
+    * @return \zonelist
+    */
+    public static function zonelist()
+    { 
+        static $a = null; 
         return self::initValue($a, 'zonelist');
         return self::initValue($a, 'zonelist');
     }
     }
-
     /**
     /**
-     * @return \sm_zonelist zonelist item数据 
-     */
-    public static function zonelist_getItem($itemid) {
+    * @return \sm_zonelist zonelist item数据 
+    */
+    public static function zonelist_getItem($itemid)
+    { 
         return self::get_hash_item('zonelist', $itemid);
         return self::get_hash_item('zonelist', $itemid);
     }
     }
-
     /**
     /**
-     * 兑换码礼包
-     * @return \tokenGift
-     */
-    public static function tokenGift() {
-        static $a = null;
+    * 兑换码礼包
+    * @return \tokenGift
+    */
+    public static function tokenGift()
+    { 
+        static $a = null; 
         return self::initValue($a, 'tokenGift');
         return self::initValue($a, 'tokenGift');
     }
     }
-
     /**
     /**
-     * @return \sm_tokenGift tokenGift item数据 
-     */
-    public static function tokenGift_getItem($itemid) {
+    * @return \sm_tokenGift tokenGift item数据 
+    */
+    public static function tokenGift_getItem($itemid)
+    { 
         return self::get_hash_item('tokenGift', $itemid);
         return self::get_hash_item('tokenGift', $itemid);
     }
     }
-
     /**
     /**
-     * 活动配置
-     * @return \activity
-     */
-    public static function activity() {
-        static $a = null;
+    * 活动配置
+    * @return \activity
+    */
+    public static function activity()
+    { 
+        static $a = null; 
         return self::initValue($a, 'activity');
         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 self::get_hash_item('activity', $itemid);
     }
     }
-
     /**
     /**
-     * 任务卡商店
-     * @return \taskcard_shop
-     */
-    public static function taskcard_shop() {
-        static $a = null;
+    * 任务卡商店
+    * @return \taskcard_shop
+    */
+    public static function taskcard_shop()
+    { 
+        static $a = null; 
         return self::initValue($a, 'taskcard_shop');
         return self::initValue($a, 'taskcard_shop');
     }
     }
-
     /**
     /**
-     * @return \sm_taskcard_shop taskcard_shop item数据 
-     */
-    public static function taskcard_shop_getItem($itemid) {
+    * @return \sm_taskcard_shop taskcard_shop item数据 
+    */
+    public static function taskcard_shop_getItem($itemid)
+    { 
         return self::get_hash_item('taskcard_shop', $itemid);
         return self::get_hash_item('taskcard_shop', $itemid);
     }
     }
-
     /**
     /**
-     * 碎片_按品质索引
-     * @return \segment_byPinzhi
-     */
-    public static function segment_byPinzhi() {
-        static $a = null;
+    * 碎片_按品质索引
+    * @return \segment_byPinzhi
+    */
+    public static function segment_byPinzhi()
+    { 
+        static $a = null; 
         return self::initValue($a, 'segment_byPinzhi');
         return self::initValue($a, 'segment_byPinzhi');
     }
     }
-
     /**
     /**
-     * @return \sm_segment_byPinzhi segment_byPinzhi item数据 
-     */
-    public static function segment_byPinzhi_getItem($quailty, $itemType) {
+    * @return \sm_segment_byPinzhi segment_byPinzhi item数据 
+    */
+    public static function segment_byPinzhi_getItem($quailty, $itemType)
+    { 
         return self::get_hash_item('segment_byPinzhi', $quailty)->$itemType;
         return self::get_hash_item('segment_byPinzhi', $quailty)->$itemType;
     }
     }
-
     /**
     /**
-     * 
-     * @return \npc
-     */
-    public static function npc() {
-        static $a = null;
+    * 
+    * @return \npc
+    */
+    public static function npc()
+    { 
+        static $a = null; 
         return self::initValue($a, 'npc');
         return self::initValue($a, 'npc');
     }
     }
-
     /**
     /**
-     * @return \sm_npc npc item数据 
-     */
-    public static function npc_getItem($itemid) {
+    * @return \sm_npc npc item数据 
+    */
+    public static function npc_getItem($itemid)
+    { 
         return self::get_hash_item('npc', $itemid);
         return self::get_hash_item('npc', $itemid);
     }
     }
-
     /**
     /**
-     * 活动: 在线礼包
-     * @return \activity_onlinegift
-     */
-    public static function activity_onlinegift() {
-        static $a = null;
+    * 活动: 在线礼包
+    * @return \activity_onlinegift
+    */
+    public static function activity_onlinegift()
+    { 
+        static $a = null; 
         return self::initValue($a, 'activity_onlinegift');
         return self::initValue($a, 'activity_onlinegift');
     }
     }
-
     /**
     /**
-     * @return \sm_activity_onlinegift activity_onlinegift item数据 
-     */
-    public static function activity_onlinegift_getItem($itemid) {
+    * @return \sm_activity_onlinegift activity_onlinegift item数据 
+    */
+    public static function activity_onlinegift_getItem($itemid)
+    { 
         return self::get_hash_item('activity_onlinegift', $itemid);
         return self::get_hash_item('activity_onlinegift', $itemid);
     }
     }
-
     /**
     /**
-     * GM号的UID
-     * @return \GM_uids
-     */
-    public static function GM_uids() {
-        static $a = null;
+    * GM号的UID
+    * @return \GM_uids
+    */
+    public static function GM_uids()
+    { 
+        static $a = null; 
         return self::initValue($a, 'GM_uids');
         return self::initValue($a, 'GM_uids');
     }
     }
-
     /**
     /**
-     * 活动, 全服注册礼包
-     * @return \activity_reggift
-     */
-    public static function activity_reggift() {
-        static $a = null;
+    * 活动, 全服注册礼包
+    * @return \activity_reggift
+    */
+    public static function activity_reggift()
+    { 
+        static $a = null; 
         return self::initValue($a, 'activity_reggift');
         return self::initValue($a, 'activity_reggift');
     }
     }
-
     /**
     /**
-     * @return \sm_activity_reggift activity_reggift item数据 
-     */
-    public static function activity_reggift_getItem($itemid) {
+    * @return \sm_activity_reggift activity_reggift item数据 
+    */
+    public static function activity_reggift_getItem($itemid)
+    { 
         return self::get_hash_item('activity_reggift', $itemid);
         return self::get_hash_item('activity_reggift', $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 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 self::get_hash_item('errmsg', $itemid);
     }
     }
-
     /**
     /**
-     * 公会捐献卡牌奖励
-     * @return \guilddonatereward
-     */
-    public static function guilddonatereward() {
-        static $a = null;
+    * 公会捐献卡牌奖励
+    * @return \guilddonatereward
+    */
+    public static function guilddonatereward()
+    { 
+        static $a = null; 
         return self::initValue($a, 'guilddonatereward');
         return self::initValue($a, 'guilddonatereward');
     }
     }
-
     /**
     /**
-     * @return \sm_guilddonatereward guilddonatereward item数据 
-     */
-    public static function guilddonatereward_getItem($itemid) {
+    * @return \sm_guilddonatereward guilddonatereward item数据 
+    */
+    public static function guilddonatereward_getItem($itemid)
+    { 
         return self::get_hash_item('guilddonatereward', $itemid);
         return self::get_hash_item('guilddonatereward', $itemid);
     }
     }
-
     /**
     /**
-     * 公会等级相关数据
-     * @return \guildlevel
-     */
-    public static function guildlevel() {
-        static $a = null;
+    * 公会等级相关数据
+    * @return \guildlevel
+    */
+    public static function guildlevel()
+    { 
+        static $a = null; 
         return self::initValue($a, 'guildlevel');
         return self::initValue($a, 'guildlevel');
     }
     }
-
     /**
     /**
-     * @return \sm_guildlevel guildlevel item数据 
-     */
-    public static function guildlevel_getItem($itemid) {
+    * @return \sm_guildlevel guildlevel item数据 
+    */
+    public static function guildlevel_getItem($itemid)
+    { 
         return self::get_hash_item('guildlevel', $itemid);
         return self::get_hash_item('guildlevel', $itemid);
     }
     }
-
     /**
     /**
-     * 公会礼包
-     * @return \guildlibao
-     */
-    public static function guildlibao() {
-        static $a = null;
+    * 公会礼包
+    * @return \guildlibao
+    */
+    public static function guildlibao()
+    { 
+        static $a = null; 
         return self::initValue($a, 'guildlibao');
         return self::initValue($a, 'guildlibao');
     }
     }
-
     /**
     /**
-     * @return \sm_guildlibao guildlibao item数据 
-     */
-    public static function guildlibao_getItem($itemid) {
+    * @return \sm_guildlibao guildlibao item数据 
+    */
+    public static function guildlibao_getItem($itemid)
+    { 
         return self::get_hash_item('guildlibao', $itemid);
         return self::get_hash_item('guildlibao', $itemid);
     }
     }
-
     /**
     /**
-     * 玩家初始化数据
-     * @return \primordial_data
-     */
-    public static function primordial_data() {
-        static $a = null;
+    * 玩家初始化数据
+    * @return \primordial_data
+    */
+    public static function primordial_data()
+    { 
+        static $a = null; 
         return self::initValue($a, 'primordial_data');
         return self::initValue($a, 'primordial_data');
     }
     }
-
     /**
     /**
-     * 英雄技能升级的限定
-     * @return \heroextra_skill_lv_limit
-     */
-    public static function heroextra_skill_lv_limit() {
-        static $a = null;
+    * 英雄技能升级的限定
+    * @return \heroextra_skill_lv_limit
+    */
+    public static function heroextra_skill_lv_limit()
+    { 
+        static $a = null; 
         return self::initValue($a, 'heroextra_skill_lv_limit');
         return self::initValue($a, 'heroextra_skill_lv_limit');
     }
     }
-
     /**
     /**
-     * @return \sm_heroextra_skill_lv_limit heroextra_skill_lv_limit item数据 
-     */
-    public static function heroextra_skill_lv_limit_getItem($itemid) {
+    * @return \sm_heroextra_skill_lv_limit heroextra_skill_lv_limit item数据 
+    */
+    public static function heroextra_skill_lv_limit_getItem($itemid)
+    { 
         return self::get_hash_item('heroextra_skill_lv_limit', $itemid);
         return self::get_hash_item('heroextra_skill_lv_limit', $itemid);
     }
     }
-
     /**
     /**
-     * 武器类道具
-     * @return \item_weapon
-     */
-    public static function item_weapon() {
-        static $a = null;
+    * 武器类道具
+    * @return \item_weapon
+    */
+    public static function item_weapon()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_weapon');
         return self::initValue($a, 'item_weapon');
     }
     }
-
     /**
     /**
-     * @return \sm_item_weapon item_weapon item数据 
-     */
-    public static function item_weapon_getItem($itemid) {
+    * @return \sm_item_weapon item_weapon item数据 
+    */
+    public static function item_weapon_getItem($itemid)
+    { 
         return self::get_hash_item('item_weapon', $itemid);
         return self::get_hash_item('item_weapon', $itemid);
     }
     }
-
     /**
     /**
-     * 礼包类道具
-     * @return \item_package
-     */
-    public static function item_package() {
-        static $a = null;
+    * 礼包类道具
+    * @return \item_package
+    */
+    public static function item_package()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_package');
         return self::initValue($a, 'item_package');
     }
     }
-
     /**
     /**
-     * @return \sm_item_package item_package item数据 
-     */
-    public static function item_package_getItem($itemid) {
+    * @return \sm_item_package item_package item数据 
+    */
+    public static function item_package_getItem($itemid)
+    { 
         return self::get_hash_item('item_package', $itemid);
         return self::get_hash_item('item_package', $itemid);
     }
     }
-
     /**
     /**
-     * 强化类道具
-     * @return \item_stones
-     */
-    public static function item_stones() {
-        static $a = null;
+    * 强化类道具
+    * @return \item_stones
+    */
+    public static function item_stones()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_stones');
         return self::initValue($a, 'item_stones');
     }
     }
-
     /**
     /**
-     * @return \sm_item_stones item_stones item数据 
-     */
-    public static function item_stones_getItem($itemid) {
+    * @return \sm_item_stones item_stones item数据 
+    */
+    public static function item_stones_getItem($itemid)
+    { 
         return self::get_hash_item('item_stones', $itemid);
         return self::get_hash_item('item_stones', $itemid);
     }
     }
-
     /**
     /**
-     * 药水类道具
-     * @return \item_pills
-     */
-    public static function item_pills() {
-        static $a = null;
+    * 药水类道具
+    * @return \item_pills
+    */
+    public static function item_pills()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_pills');
         return self::initValue($a, 'item_pills');
     }
     }
-
     /**
     /**
-     * @return \sm_item_pills item_pills item数据 
-     */
-    public static function item_pills_getItem($itemid) {
+    * @return \sm_item_pills item_pills item数据 
+    */
+    public static function item_pills_getItem($itemid)
+    { 
         return self::get_hash_item('item_pills', $itemid);
         return self::get_hash_item('item_pills', $itemid);
     }
     }
-
     /**
     /**
-     * buff类道具
-     * @return \item_buffcard
-     */
-    public static function item_buffcard() {
-        static $a = null;
+    * buff类道具
+    * @return \item_buffcard
+    */
+    public static function item_buffcard()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_buffcard');
         return self::initValue($a, 'item_buffcard');
     }
     }
-
     /**
     /**
-     * @return \sm_item_buffcard item_buffcard item数据 
-     */
-    public static function item_buffcard_getItem($itemid) {
+    * @return \sm_item_buffcard item_buffcard item数据 
+    */
+    public static function item_buffcard_getItem($itemid)
+    { 
         return self::get_hash_item('item_buffcard', $itemid);
         return self::get_hash_item('item_buffcard', $itemid);
     }
     }
-
     /**
     /**
-     * 碎片类道具
-     * @return \item_segment
-     */
-    public static function item_segment() {
-        static $a = null;
+    * 碎片类道具
+    * @return \item_segment
+    */
+    public static function item_segment()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_segment');
         return self::initValue($a, 'item_segment');
     }
     }
-
     /**
     /**
-     * @return \sm_item_segment item_segment item数据 
-     */
-    public static function item_segment_getItem($itemid) {
+    * @return \sm_item_segment item_segment item数据 
+    */
+    public static function item_segment_getItem($itemid)
+    { 
         return self::get_hash_item('item_segment', $itemid);
         return self::get_hash_item('item_segment', $itemid);
     }
     }
-
     /**
     /**
-     * 道具通用字段表
-     * @return \item_base
-     */
-    public static function item_base() {
-        static $a = null;
+    * 道具通用字段表
+    * @return \item_base
+    */
+    public static function item_base()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_base');
         return self::initValue($a, 'item_base');
     }
     }
-
     /**
     /**
-     * @return \sm_item_base item_base item数据 
-     */
-    public static function item_base_getItem($itemid) {
+    * @return \sm_item_base item_base item数据 
+    */
+    public static function item_base_getItem($itemid)
+    { 
         return self::get_hash_item('item_base', $itemid);
         return self::get_hash_item('item_base', $itemid);
     }
     }
-
     /**
     /**
-     * 子技能表
-     * @return \subSkill
-     */
-    public static function subSkill() {
-        static $a = null;
+    * 子技能表
+    * @return \subSkill
+    */
+    public static function subSkill()
+    { 
+        static $a = null; 
         return self::initValue($a, 'subSkill');
         return self::initValue($a, 'subSkill');
     }
     }
-
     /**
     /**
-     * @return \sm_subSkill subSkill item数据 
-     */
-    public static function subSkill_getItem($itemid) {
+    * @return \sm_subSkill subSkill item数据 
+    */
+    public static function subSkill_getItem($itemid)
+    { 
         return self::get_hash_item('subSkill', $itemid);
         return self::get_hash_item('subSkill', $itemid);
     }
     }
-
     /**
     /**
-     * 宝箱类道具
-     * @return \item_box
-     */
-    public static function item_box() {
-        static $a = null;
+    * 宝箱类道具
+    * @return \item_box
+    */
+    public static function item_box()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_box');
         return self::initValue($a, 'item_box');
     }
     }
-
     /**
     /**
-     * @return \sm_item_box item_box item数据 
-     */
-    public static function item_box_getItem($itemid) {
+    * @return \sm_item_box item_box item数据 
+    */
+    public static function item_box_getItem($itemid)
+    { 
         return self::get_hash_item('item_box', $itemid);
         return self::get_hash_item('item_box', $itemid);
     }
     }
-
     /**
     /**
-     * 关卡-通关条件
-     * @return \gate_passCondition
-     */
-    public static function gate_passCondition() {
-        static $a = null;
+    * 关卡-通关条件
+    * @return \gate_passCondition
+    */
+    public static function gate_passCondition()
+    { 
+        static $a = null; 
         return self::initValue($a, 'gate_passCondition');
         return self::initValue($a, 'gate_passCondition');
     }
     }
-
     /**
     /**
-     * @return \sm_gate_passCondition gate_passCondition item数据 
-     */
-    public static function gate_passCondition_getItem($itemid) {
+    * @return \sm_gate_passCondition gate_passCondition item数据 
+    */
+    public static function gate_passCondition_getItem($itemid)
+    { 
         return self::get_hash_item('gate_passCondition', $itemid);
         return self::get_hash_item('gate_passCondition', $itemid);
     }
     }
-
     /**
     /**
-     * 元素相克关系表
-     * @return \attack_relation
-     */
-    public static function attack_relation() {
-        static $a = null;
+    * 元素相克关系表
+    * @return \attack_relation
+    */
+    public static function attack_relation()
+    { 
+        static $a = null; 
         return self::initValue($a, 'attack_relation');
         return self::initValue($a, 'attack_relation');
     }
     }
-
     /**
     /**
-     * @return \sm_attack_relation attack_relation item数据 
-     */
-    public static function attack_relation_getItem($attack1, $attack2) {
+    * @return \sm_attack_relation attack_relation item数据 
+    */
+    public static function attack_relation_getItem($attack1, $attack2)
+    { 
         return self::get_hash_item('attack_relation', "$attack1-$attack2");
         return self::get_hash_item('attack_relation', "$attack1-$attack2");
     }
     }
-
     /**
     /**
-     * 战斗力榜全服突破奖励
-     * @return \rankreward_fpower
-     */
-    public static function rankreward_fpower() {
-        static $a = null;
+    * 战斗力榜全服突破奖励
+    * @return \rankreward_fpower
+    */
+    public static function rankreward_fpower()
+    { 
+        static $a = null; 
         return self::initValue($a, 'rankreward_fpower');
         return self::initValue($a, 'rankreward_fpower');
     }
     }
-
     /**
     /**
-     * @return \sm_rankreward_fpower rankreward_fpower item数据 
-     */
-    public static function rankreward_fpower_getItem($itemid) {
+    * @return \sm_rankreward_fpower rankreward_fpower item数据 
+    */
+    public static function rankreward_fpower_getItem($itemid)
+    { 
         return self::get_hash_item('rankreward_fpower', $itemid);
         return self::get_hash_item('rankreward_fpower', $itemid);
     }
     }
-
     /**
     /**
-     * 合体技能
-     * @return \skill_cross
-     */
-    public static function skill_cross() {
-        static $a = null;
+    * 合体技能
+    * @return \skill_cross
+    */
+    public static function skill_cross()
+    { 
+        static $a = null; 
         return self::initValue($a, 'skill_cross');
         return self::initValue($a, 'skill_cross');
     }
     }
-
     /**
     /**
-     * @return \sm_skill_cross skill_cross item数据 
-     */
-    public static function skill_cross_getItem($itemid) {
+    * @return \sm_skill_cross skill_cross item数据 
+    */
+    public static function skill_cross_getItem($itemid)
+    { 
         return self::get_hash_item('skill_cross', $itemid);
         return self::get_hash_item('skill_cross', $itemid);
     }
     }
-
     /**
     /**
-     * 通关榜突破奖励
-     * @return \rankreward_passgate
-     */
-    public static function rankreward_passgate() {
-        static $a = null;
+    * 通关榜突破奖励
+    * @return \rankreward_passgate
+    */
+    public static function rankreward_passgate()
+    { 
+        static $a = null; 
         return self::initValue($a, 'rankreward_passgate');
         return self::initValue($a, 'rankreward_passgate');
     }
     }
-
     /**
     /**
-     * @return \sm_rankreward_passgate rankreward_passgate item数据 
-     */
-    public static function rankreward_passgate_getItem($itemid) {
+    * @return \sm_rankreward_passgate rankreward_passgate item数据 
+    */
+    public static function rankreward_passgate_getItem($itemid)
+    { 
         return self::get_hash_item('rankreward_passgate', $itemid);
         return self::get_hash_item('rankreward_passgate', $itemid);
     }
     }
-
     /**
     /**
-     * 言灵召唤书
-     * @return \item_yanlingbook
-     */
-    public static function item_yanlingbook() {
-        static $a = null;
+    * 言灵召唤书
+    * @return \item_yanlingbook
+    */
+    public static function item_yanlingbook()
+    { 
+        static $a = null; 
         return self::initValue($a, 'item_yanlingbook');
         return self::initValue($a, 'item_yanlingbook');
     }
     }
-
     /**
     /**
-     * @return \sm_item_yanlingbook item_yanlingbook item数据 
-     */
-    public static function item_yanlingbook_getItem($itemid) {
+    * @return \sm_item_yanlingbook item_yanlingbook item数据 
+    */
+    public static function item_yanlingbook_getItem($itemid)
+    { 
         return self::get_hash_item('item_yanlingbook', $itemid);
         return self::get_hash_item('item_yanlingbook', $itemid);
     }
     }
-
     /**
     /**
-     * 言灵进阶表
-     * @return \yanling_upgrade
-     */
-    public static function yanling_upgrade() {
-        static $a = null;
+    * 言灵进阶表
+    * @return \yanling_upgrade
+    */
+    public static function yanling_upgrade()
+    { 
+        static $a = null; 
         return self::initValue($a, 'yanling_upgrade');
         return self::initValue($a, 'yanling_upgrade');
     }
     }
-
     /**
     /**
-     * @return \sm_yanling_upgrade yanling_upgrade item数据 
-     */
-    public static function yanling_upgrade_getItem($typeId, $grade) {
+    * @return \sm_yanling_upgrade yanling_upgrade item数据 
+    */
+    public static function yanling_upgrade_getItem($typeId, $grade)
+    { 
         return self::get_hash_item('yanling_upgrade', $typeId)->$grade;
         return self::get_hash_item('yanling_upgrade', $typeId)->$grade;
     }
     }
-
     /**
     /**
-     * 功能引导模块
-     * @return \guide_module
-     */
-    public static function guide_module() {
-        static $a = null;
+    * 功能引导模块
+    * @return \guide_module
+    */
+    public static function guide_module()
+    { 
+        static $a = null; 
         return self::initValue($a, 'guide_module');
         return self::initValue($a, 'guide_module');
     }
     }
-
     /**
     /**
-     * @return \sm_guide_module guide_module item数据 
-     */
-    public static function guide_module_getItem($itemid) {
+    * @return \sm_guide_module guide_module item数据 
+    */
+    public static function guide_module_getItem($itemid)
+    { 
         return self::get_hash_item('guide_module', $itemid);
         return self::get_hash_item('guide_module', $itemid);
     }
     }
-
     /**
     /**
-     * 活动: 七日签到
-     * @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 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 self::get_hash_item('activity_day7', $itemid);
     }
     }
-
     /**
     /**
-     * 限购商城
-     * @return \shop_limit
-     */
-    public static function shop_limit() {
-        static $a = null;
+    * 限购商城
+    * @return \shop_limit
+    */
+    public static function shop_limit()
+    { 
+        static $a = null; 
         return self::initValue($a, 'shop_limit');
         return self::initValue($a, 'shop_limit');
     }
     }
-
     /**
     /**
-     * @return \sm_shop_limit shop_limit item数据 
-     */
-    public static function shop_limit_getItem($itemid) {
+    * @return \sm_shop_limit shop_limit item数据 
+    */
+    public static function shop_limit_getItem($itemid)
+    { 
         return self::get_hash_item('shop_limit', $itemid);
         return self::get_hash_item('shop_limit', $itemid);
     }
     }
-
     /**
     /**
-     * 月卡商城
-     * @return \shop_monthVIP
-     */
-    public static function shop_monthVIP() {
-        static $a = null;
+    * 月卡商城
+    * @return \shop_monthVIP
+    */
+    public static function shop_monthVIP()
+    { 
+        static $a = null; 
         return self::initValue($a, 'shop_monthVIP');
         return self::initValue($a, 'shop_monthVIP');
     }
     }
-
     /**
     /**
-     * @return \sm_shop_monthVIP shop_monthVIP item数据 
-     */
-    public static function shop_monthVIP_getItem($itemid) {
+    * @return \sm_shop_monthVIP shop_monthVIP item数据 
+    */
+    public static function shop_monthVIP_getItem($itemid)
+    { 
         return self::get_hash_item('shop_monthVIP', $itemid);
         return self::get_hash_item('shop_monthVIP', $itemid);
     }
     }
-
     /**
     /**
-     * 掉落数据表
-     * @return \drop
-     */
-    public static function drop() {
-        static $a = null;
+    * 掉落数据表
+    * @return \drop
+    */
+    public static function drop()
+    { 
+        static $a = null; 
         return self::initValue($a, 'drop');
         return self::initValue($a, 'drop');
     }
     }
-
     /**
     /**
-     * @return \sm_drop drop item数据 
-     */
-    public static function drop_getItem($itemid) {
+    * @return \sm_drop drop item数据 
+    */
+    public static function drop_getItem($itemid)
+    { 
         return self::get_hash_item('drop', $itemid);
         return self::get_hash_item('drop', $itemid);
     }
     }
-
     /**
     /**
-     * 当前版本(时间戳)
-     * @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 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);
         return self::initValue($a, 'client', false);
     }
     }
-
 }
 }
+

+ 33 - 1
Gameserver/Amfphp/model/Const/GameConfig.php

@@ -4,7 +4,7 @@
  // 由CodeGenerator创建。
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
  // author: gwang 
- // 日期: 2021-03-02 16:01:21
+ // 日期: 2021-03-03 13:52:53
 ////////////////////
 ////////////////////
 
 
 /**
 /**
@@ -471,6 +471,22 @@ class GameConfig {
         return self::get_hash_item('hero_levelexp_costitem', $itemid);
         return self::get_hash_item('hero_levelexp_costitem', $itemid);
     }
     }
     /**
     /**
+    * 圣哲学院表
+    * @return \college
+    */
+    public static function college()
+    { 
+        static $a = null; 
+        return self::initValue($a, 'college');
+    }
+    /**
+    * @return \sm_college college item数据 
+    */
+    public static function college_getItem($itemid)
+    { 
+        return self::get_hash_item('college', $itemid);
+    }
+    /**
     * 引导触发
     * 引导触发
     * @return \guide_trigger
     * @return \guide_trigger
     */
     */
@@ -503,6 +519,22 @@ class GameConfig {
         return self::get_hash_item('task_node', $itemid);
         return self::get_hash_item('task_node', $itemid);
     }
     }
     /**
     /**
+    * 圣哲学院课程表
+    * @return \course
+    */
+    public static function course()
+    { 
+        static $a = null; 
+        return self::initValue($a, 'course');
+    }
+    /**
+    * @return \sm_course course item数据 
+    */
+    public static function course_getItem($itemid)
+    { 
+        return self::get_hash_item('course', $itemid);
+    }
+    /**
     * 
     * 
     * @return \gate_mainland
     * @return \gate_mainland
     */
     */

+ 38 - 0
Gameserver/Amfphp/model/Const/sm_college.php

@@ -0,0 +1,38 @@
+<?php
+
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2021-03-03 13:49:29
+////////////////////
+
+
+/**
+ * Static Model college 圣哲学院表
+ */
+class sm_college
+{
+
+    /**
+    * @var Int32 年级部门id default(0) 
+    */
+    public $id;
+
+    /**
+    * @var String 年级部门名称  
+    */
+    public $name;
+
+    /**
+    * @var String 年级部门下的课程列表  
+    */
+    public $cList;
+
+    /**
+    * @var String 额外字段  
+    */
+    public $etc;
+
+}
+

+ 43 - 0
Gameserver/Amfphp/model/Const/sm_course.php

@@ -0,0 +1,43 @@
+<?php
+
+////////////////////
+ // 由CodeGenerator创建。
+ // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
+ // author: gwang 
+ // 日期: 2021-03-03 13:51:23
+////////////////////
+
+
+/**
+ * Static Model course 圣哲学院课程表
+ */
+class sm_course
+{
+
+    /**
+    * @var Int32 课程id default(0) 
+    */
+    public $id;
+
+    /**
+    * @var String 课程的名称  
+    */
+    public $name;
+
+    /**
+    * @var String 课程下的任务卡列表  
+    */
+    public $misslist;
+
+    /**
+    * @var String 课程奖励  
+    */
+    public $prize;
+
+    /**
+    * @var String 额外字段  
+    */
+    public $etc;
+
+}
+

+ 8 - 0
Gameserver/Amfphp/model/User/Data_UserGame.php

@@ -95,6 +95,12 @@ class Data_UserGame extends HashSaver {
      * @var Data_UserProfile 角色画像
      * @var Data_UserProfile 角色画像
      */
      */
     public $profile;
     public $profile;
+    
+    /**
+     * 圣哲学院
+     * @var Info_College
+     */
+    public $college;
 
 
     /**
     /**
      * 用于给各个字段赋默认初始值
      * 用于给各个字段赋默认初始值
@@ -113,6 +119,7 @@ class Data_UserGame extends HashSaver {
         $this->pvp = new Info_UserPVP();
         $this->pvp = new Info_UserPVP();
 //        $this->task->initialize();                                              # 任务初始化
 //        $this->task->initialize();                                              # 任务初始化
         $this->taskCardShop = new Info_TaskCard_Shop();
         $this->taskCardShop = new Info_TaskCard_Shop();
+        $this->college->initialize();
     }
     }
 
 
     /**
     /**
@@ -136,6 +143,7 @@ class Data_UserGame extends HashSaver {
             $this->userSecretshop = new Info_UserSecretshop();                  # 神秘商店
             $this->userSecretshop = new Info_UserSecretshop();                  # 神秘商店
 //            $this->task = new Info_UserTask();                                   # 任务数据
 //            $this->task = new Info_UserTask();                                   # 任务数据
             $this->taskCardShop = new Info_TaskCard_Shop();                     # 任务卡商店
             $this->taskCardShop = new Info_TaskCard_Shop();                     # 任务卡商店
+            $this->college = new Info_College();           
         } else {                                                                # 实参
         } else {                                                                # 实参
             parent::__construct($arg);                                          # 调用Object的构造函数
             parent::__construct($arg);                                          # 调用Object的构造函数
 //            $this->shopdata = new Info_UserShop($this->shopdata);
 //            $this->shopdata = new Info_UserShop($this->shopdata);

+ 107 - 0
Gameserver/Amfphp/model/User/Info_College.php

@@ -0,0 +1,107 @@
+<?php
+namespace loyalsoft;
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace loyalsoft;
+
+/**
+ * Description of CollegeInfo
+ *
+ * @author cyzhao
+ */
+class Info_College extends Object_ext{
+    /**
+     * 当前所在的级别 
+     */
+    public $collegeId = 1;
+
+    /// <summary>
+    /// 所处的课程id
+    /// </summary>
+    public $courseId = 1001;
+
+    /// <summary>
+    /// 任务卡信息
+    /// </summary>
+    //public List<missCourseItem> compMissCardList = new List<missCourseItem>();
+    public $compMissCardDic=null;
+    
+    /**
+     * 当前课程进度,进入下一个课程清0
+     * @var type
+     */
+    public $progress = 0;
+    /**
+     * 构造函数
+     * @param type $args
+     */
+    public function __construct($args) {    
+        if($args == null){
+            $this->compMissCardDic = new \stdClass();
+        } else {
+            parent::__construct($args);   
+        }                    
+    }
+    
+    public function initialize() {
+//        $this->compMissCardDic = new \stdClass();  
+//        $dic = GameConfig::course_getItem($this->courseId);       
+//        $misslist = explode(',',$dic->misslist);      
+//        foreach ($misslist as $id) {
+//            $item = new ins_missCourseItem();        
+//            $item->initialize($id);         
+//            $this->compMissCardDic->$id = $item;
+//        }
+        $this->initCompMissCardDic();
+    }
+    
+    public function initCompMissCardDic() {
+        $this->compMissCardDic = new \stdClass();  
+        $dic = GameConfig::course_getItem($this->courseId);       
+        $misslist = explode(',',$dic->misslist);      
+        foreach ($misslist as $id) {
+            $item = new ins_missCourseItem();        
+            $item->initialize($id);         
+            $this->compMissCardDic->$id = $item;
+        }
+    }
+    
+    /**
+     * 修改任务卡状态
+     * @param type $id
+     * @param type $state
+     */
+    public function modifyTaskCardState($id,$state) {       
+        if(!StlUtil::dictHasProperty($this->compMissCardDic, $id)){
+            return;
+        }
+        $this->compMissCardDic->$id->type = $state;
+        $this->progress += 1;            
+    }
+    
+    /**
+     * 
+     */
+    public function updataCourse() {            
+        //检测是否到下一年级
+        $collegeDic = GameConfig::college_getItem($this->collegeId);      
+        if(in_array($this->courseId +1,explode(',', $collegeDic->cList))){
+            $this->courseId += 1;
+            $this->initCompMissCardDic();
+            $this->progress = 0;
+        } else {
+            $this->collegeId += 1;
+            $newCollegeDic = GameConfig::college_getItem($this->collegeId);  
+            $cList = explode(',', $newCollegeDic->cList);
+            $this->courseId = $cList[0];
+            $this->initCompMissCardDic();
+            $this->progress = 0;
+        }                  
+    }
+    
+    
+}

+ 39 - 0
Gameserver/Amfphp/model/User/ins_missCourseItem.php

@@ -0,0 +1,39 @@
+<?php
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace loyalsoft;
+
+/**
+ * Description of missCourseItem
+ *
+ * @author cyzhao
+ */
+class ins_missCourseItem extends Object_ext{
+    /**
+     * 任务id
+     */
+    public $missCardId = 0;
+
+    /**
+     * 这个id== 背包里的uid;实际就是为了区别多个相同的卡的;默认为0;一旦这个卡被激活就有固定值了
+     */
+    public $indexId=0;
+
+    /**
+     *  任务状态
+     */
+    public $type =1;
+    
+    public function __construct($args) {      
+        parent::__construct($args);       
+    }
+    
+    public function initialize($missId) {
+        $this->missCardId = $missId;
+    }
+}

+ 121 - 0
Gameserver/Amfphp/process/CollegeProc.php

@@ -0,0 +1,121 @@
+<?php
+namespace loyalsoft;
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace loyalsoft;
+
+/**
+ * Description of CollegeProc
+ *
+ * @author cyzhao
+ */
+class CollegeProc {
+     /**
+     * 逻辑分发
+     * 所有的Proc中必须有这样一个方法
+     * @param Req $req
+     */
+    public static function procMain($req) {
+        switch ($req->cmd) {
+            case CmdCode::cmd_college_ActiveTaskCard:                                 # 6000 分区列表
+                return CollegeProc::ActiveTaskCard($req);
+            case CmdCode::cmd_college_ReceiveTaskCardReward:                               # 6001 登录
+                return CollegeProc::ReceiveTaskCardReward($req);
+            case CmdCode::cmd_college_ReceiveCourseReward:                               # 6002 下载游戏配置
+                return CollegeProc::ReceiveCourseReward($req);
+            
+            default:
+                Err(ErrCode::cmd_err);
+        }
+    }
+    
+    /**
+     * 激活
+     * @param Req $req
+     */
+    public static function ActiveTaskCard($req) {
+        list($taskCardId) = $req->paras;
+        $collegeInfo = $req->userInfo->game->college;
+        $compMissCardDic = $collegeInfo->compMissCardDic;
+        if(!StlUtil::dictHasProperty($compMissCardDic, $taskCardId)){
+            return Resp::err(ErrCode::err_db);
+        }
+        
+        if($compMissCardDic->$taskCardId->type >Enum_TaskCardStateType::notopen){
+            return Resp::err(ErrCode::err_db);
+        }
+        
+        $cid = StoreProc::PutTaskCardInStore($taskCardId, $req);//存入背包
+        NormalEventProc::OnTaskCard_Actived($cid, null);                # 带入事件
+        $compMissCardDic->$taskCardId->indexId = $cid;
+        $compMissCardDic->$taskCardId->type = Enum_TaskCardStateType::ing;
+        
+        $taskCard = new Ins_TaskCard($req->userInfo->game->store->taskcards->$cid);          # 任务卡对象
+        $taskCard->state = Enum_TaskCardStateType::ing;
+        foreach ($taskCard->curSteps as &$tsp) {                                # 初期里面只有一个任务
+            $tsp = new Ins_TaskStep($tsp);
+            if ($tsp->isStatusType()) {                                         # 如果是道具收集类的, 扣除所收集道具
+                $tsp->autoCalcStatusCur();
+            }
+        }             
+        if ($taskCard->IsFinish()) {                                            # 检查是否任务卡的所有步骤都已完成
+            $taskCard->state = Enum_TaskCardStateType::finish;        
+            $compMissCardDic->$taskCardId->type = Enum_TaskCardStateType::finish;
+            NormalEventProc::OnTaskCard_Finish($taskCard->uid, null);           # 广播卡完成事件
+        }
+        $req->userInfo->game->college->compMissCardDic = $compMissCardDic;
+        $req->userInfo->game->store->taskcards->$cid = $taskCard;
+        UserProc::updateUserInfo();      
+        
+        //$compMissCardDic->$taskCardId->type = 2;
+        
+        return Resp::ok(array('store' => $req->userInfo->game->store,'college'=>$req->userInfo->game->college));         # 返回值更新背包
+    }
+    
+    /**
+     * 废弃 同任务模块用一个
+     * @param Req $req
+     */
+//    public static function ReceiveTaskCardReward($req) {
+//        
+//    }
+    
+    /**
+     * 领取课程奖励
+     * @param Req $req
+     */
+    public static function ReceiveCourseReward($req) {
+        //list($taskCardId) = $req->paras;
+        $collegeInfo = $req->userInfo->game->college;
+        if($collegeInfo->progress < 5){
+           return Resp::err(ErrCode::err_db); 
+        }
+        
+        $tag = true;
+        foreach ($collegeInfo->compMissCardDic as $key => $value) {
+            if($value->type != Enum_TaskCardStateType::drawed){
+                $tag = false;
+                break;
+            }
+        }
+        
+        if(!$tag){
+            return Resp::err(ErrCode::err_db); 
+        }
+              
+        StoreProc::AddMultiItemInStore($req, GameConfig::course_getItem($collegeInfo->courseId));      # 发放奖励
+        
+        $college = new Info_College($req->userInfo->game->college);       
+        $college->updataCourse();  
+        
+        $req->userInfo->game->college = $college;
+        UserProc::updateUserInfo();     
+        
+        return Resp::ok(array('college'=>$req->userInfo->game->college));  
+        
+    }
+}

+ 7 - 1
Gameserver/Amfphp/process/TaskProc.php

@@ -359,6 +359,11 @@ class TaskProc {
             Data_UserGame::Add_Exp($req->userInfo->game->baseInfo, $taskCard->mo()->exp);
             Data_UserGame::Add_Exp($req->userInfo->game->baseInfo, $taskCard->mo()->exp);
         }
         }
         $taskCard->state = Enum_TaskCardStateType::drawed;
         $taskCard->state = Enum_TaskCardStateType::drawed;
+        //2021-3-4
+        $college = new Info_College($req->userInfo->game->college);
+        $college->modifyTaskCardState($taskCard->typeId, Enum_TaskCardStateType::drawed);  
+        $req->userInfo->game->college = $college;
+        
         $store->taskcards->$taskCardUID = $taskCard;                            # 回写任务数据
         $store->taskcards->$taskCardUID = $taskCard;                            # 回写任务数据
         NormalEventProc::OnTaskCard_Reward($taskCard->mo()->reward, null);      # 带入事件
         NormalEventProc::OnTaskCard_Reward($taskCard->mo()->reward, null);      # 带入事件
         StlUtil::dictRemove($req->userInfo->game->store->taskcards, $taskCardUID); # 移除任务卡
         StlUtil::dictRemove($req->userInfo->game->store->taskcards, $taskCardUID); # 移除任务卡
@@ -368,7 +373,8 @@ class TaskProc {
         return Resp::ok(array(
         return Resp::ok(array(
                     'gold' => $req->userInfo->game->baseInfo->gold,
                     'gold' => $req->userInfo->game->baseInfo->gold,
                     'cash' => $req->userInfo->game->baseInfo->cash,
                     'cash' => $req->userInfo->game->baseInfo->cash,
-                    'store' => $req->userInfo->game->store));                   # 返回值更新背包
+                    'store' => $req->userInfo->game->store,
+                    'college'=> $req->userInfo->game->college, ));                   # 返回值更新背包
     }
     }
 
 
     /**
     /**