当前位置: 首页>>代码示例>>PHP>>正文


PHP Protocol::input方法代码示例

本文整理汇总了PHP中Protocol::input方法的典型用法代码示例。如果您正苦于以下问题:PHP Protocol::input方法的具体用法?PHP Protocol::input怎么用?PHP Protocol::input使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Protocol的用法示例。


在下文中一共展示了Protocol::input方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: out

 /**
  * 输出协议
  * @param $player_id
  */
 public static function out($player_id)
 {
     if (isset(self::$_gain_msg[$player_id]) && !empty(self::$_gain_msg[$player_id])) {
         Protocol::input($player_id, 8, 7, 740, self::$_gain_msg[$player_id]);
         unset(self::$_gain_msg[$player_id]);
     }
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:11,代码来源:GainMsg.php

示例2: out

 public static function out($player_id, $player_info = null)
 {
     if (!empty(self::$_guide_list)) {
         $out = array();
         $logs = array();
         $data = self::get_data('PlayerDetail')->get_player_detail($player_id, 'guide');
         foreach (self::$_guide_list as $guide) {
             $out[$guide['guide_id']] = array('guide_id' => $guide['guide_id'], 'step' => $guide['step']);
             $logs[$guide['guide_id']] = array('type' => 1, 'task_id' => $guide['guide_id'], 'step' => $guide['step'], 'status' => 0);
             $data[$guide['guide_id']] = 1;
         }
         $result = self::get_data('PlayerDetail')->update_player_detail($player_id, array('guide' => $data));
         if (!$result) {
             return;
         }
         if (!IS_FRONT || defined('FROM_GATEWAY')) {
             $cmd0 = 8;
         } else {
             $cmd0 = 3;
         }
         //            Com_Log::write('guide_'.$player_id,var_export($out,true));
         Protocol::input($player_id, $cmd0, 7, 787, array(0 => $out));
         if (empty($player_info) || !isset($player_info['level']) || !isset($player_info['vip'])) {
             $player_info = self::get_data('Player')->get_player_info($player_id, array('level', 'vip'));
         }
         Log_Guide::getInstance()->add_multi_guide_log($player_id, $player_info['level'], $player_info['vip'], $logs);
         self::$_guide_list = null;
     }
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:29,代码来源:Guide.php

示例3: run

 public function run($player_id, $s_task_id)
 {
     $player_info = $this->get_data('Player')->get_player_info($player_id, array('level'));
     $level = $player_info['level'];
     //        $task_id = $this->get_random_chain_task_id($level,0);
     $task_id = $s_task_id;
     $data = array();
     if (!empty($task_id)) {
         $arr_player_task = $this->get_game('TaskChain')->get_init_chain_val($player_id, $task_id, 1);
         $result = $this->get_data('PlayerTask')->set_task_info($player_id, array('chain_val' => $arr_player_task['chain_val'], 'target_val' => $arr_player_task['target_val']));
         if ($result) {
             $result = $this->get_data('PlayerTask')->set_chain_task_count($player_id);
         }
         if ($result) {
             $data = $this->get_game('TaskChain')->get_chain_task_list($player_id, $arr_player_task);
             Protocol::input($player_id, 8, 10, 1025, $data);
         }
     }
     Protocol::out();
     if ($result) {
         echo 'success';
     } else {
         echo 'error';
     }
     exit;
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:26,代码来源:reset_chain_task.php

示例4: prop_806

 /**
  * 道具变更下行协议
  * @param $player_id
  * @param $change_prop 二维数组    传进去player_prop的内容
  * 如果是位置变更 要加上 ['from_item_position'] 原始位置 ['from_grid'] 原始格子数
  * player_prop里面的  item_position 赋值为新的位置编号  grid 赋值为新的格子编号
  * @param $error_code 0 失败  1成功
  * @param $cmd0 3 直接返回给flash  8 通过异步返回
  * @param $flag 协议输出格式  0 直接输出  1 标志为粘包  2返回协议内容 3 附加粘包
  *
  */
 public static function prop_806($player_id, $change_prop, $func_id = 0, $error_code = 1, $cmd0 = 3, $flag = 3)
 {
     //后面三个参数不用了
     $data['type'] = 1;
     $data['result'] = $error_code;
     $data['box'] = array();
     if (!empty($change_prop)) {
         foreach ($change_prop as $prop) {
             $tmp_prop = array();
             if ($prop['item_num'] <= 0) {
                 //道具数量等于0的时候 只给位置信息就好了
                 $tmp_prop['item_position'] = $prop['item_position'];
                 $tmp_prop['grid'] = $prop['grid'];
             } else {
                 # 要求只有新发的道具的from_item_position=0,老道具都要求非0
                 $tmp_prop = $prop;
                 $tmp_prop['from_item_position'] = $prop['from_item_position'];
             }
             $data['box'][] = Struct_Prop::get_item_box_operate_struct($tmp_prop);
         }
     }
     $data['func_id'] = $func_id;
     if (!IS_FRONT) {
         Protocol::input($player_id, 8, 8, 806, $data);
         Protocol::out();
     } else {
         if (defined('FROM_GATEWAY')) {
             $cmd0 = 8;
         }
         Protocol::input($player_id, $cmd0, 8, 806, $data);
     }
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:43,代码来源:Prop.php

示例5: async_update_union_guide

 /**
  * @Purpose:
  * 异步更新公会引导状态
  * @Param $player_id 玩家ID
  * @Param $cur_times 当前完成次数
  * @Param $max_times 最大完成次数
  * @Param $type 公会引导类型(1:福利2:悬赏3:巨炮4:科技5:商店6:活动)
  * @Param $sub_type 公会引导子类型(1:福利2:悬赏3:巨炮4:科技5:商店6:活动)
  */
 public function async_update_union_guide($player_id, $cur_times, $max_times, $type, $sub_type)
 {
     $player_id = intval($player_id);
     $cur_times = intval($cur_times);
     $max_times = intval($max_times);
     $type = intval($type);
     $sub_type = intval($sub_type);
     if ($player_id > 0 && $cur_times >= $max_times && $type > 0 && $sub_type > 0) {
         #获取玩家公会引导天数据
         $ug_data = $this->get_data('UnionGuide')->get_union_guide_info($player_id, 'ug', 'day');
         if ($ug_data[$type . $sub_type] != 1) {
             $ug_data[$type . $sub_type] = 1;
             $this->start_trans();
             #更新公会引导天数据
             $update_res = $this->get_data('UnionGuide')->update_union_guide_data($player_id, 'ug', $ug_data);
             if (!$update_res) {
                 $this->throw_error('10104');
             }
             $this->commit();
             #主动更新Flash面板数据
             Protocol::input($player_id, 8, 17, 1778, array($type, $sub_type, $ug_data[$type . $sub_type]));
             if (!IS_FRONT) {
                 Protocol::out();
             }
         }
     }
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:36,代码来源:UnionGuide.php

示例6: router

 public function router($cmd0, $cmd1, $cmd2, $player_id, $arr_param)
 {
     global $arrParam, $arrAuthUser, $logHandler;
     $arrAuthUser['player_id'] = $player_id;
     $arrParam = $arr_param;
     $class = 'S2P_' . $cmd1;
     $include_file = ACTION_PATH . "/S2P/S2P_{$cmd1}.php";
     if (is_file($include_file)) {
         require $include_file;
         try {
             //调用对应指令函数
             $obj = new $class();
             $exec_cmd2 = 'CMD2_' . $cmd2;
             if (ECONOMY_LOG_SWITCH === TRUE) {
                 $logHandler['logger'] = new Com_Logger($cmd0, $cmd1, $cmd2, $player_id);
             }
             call_user_func_array(array($obj, $exec_cmd2), array());
             $protocols = Protocol::get_protocol();
             Protocol::out();
             Statistic::report($cmd0, $cmd1, $cmd2, $arrAuthUser, $arrParam, 1, 'exec fun success', $protocols);
             if (ECONOMY_LOG_SWITCH === TRUE) {
                 $logHandler['logger']->flush_log();
             }
             exit;
         } catch (Exception $e) {
             //有异常
             $msg = json_decode($e->getMessage(), true);
             $error = "Exception: " . $e->getFile() . " line:" . $e->getLine() . " error code " . $msg['error']['code'];
             Statistic::report($cmd0, $cmd1, $cmd2, $arrAuthUser, $arrParam, 0, $error);
             Protocol::input($player_id, 8, 7, 742, array(0 => array($msg['error'])));
             Protocol::out();
             exit;
         }
     }
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:35,代码来源:S2PRouter.php

示例7: doAction

 public function doAction()
 {
     $userInfo_json = base64_decode($_POST['data']);
     $userInfo_array = json_decode($userInfo_json, true);
     $state = isset($userInfo_array['state']) ? $userInfo_array['state'] : "";
     $ips = isset($userInfo_array['ips']) ? $userInfo_array['ips'] : "";
     $data = array();
     $res = array();
     if (!empty($state) && !in_array($state, $this->state)) {
         $data['status'] = 8;
         exit;
     } else {
         $data['status'] = 0;
     }
     if ($state == 'open') {
         #开服
         #Protocol::input(0, 7, 4, 514, array('type_id'=>1,'role_id'=>0));
         #Protocol::out();
         $res['status'] = 1;
         if ($this->get_data('Online')->set_server_state($res)) {
             $data['status'] = 1;
         } else {
             $data['status'] = 0;
         }
     } elseif ($state == 'close') {
         #关服维护
         Protocol::input(0, 7, 4, 514, array('type_id' => 1, 'role_id' => 0));
         Protocol::out();
         $res['status'] = 0;
         if ($this->get_data('Online')->set_server_state($res)) {
             $data['status'] = 1;
             TenYear::getInstance();
             $objSession = TenYear::getInstance('session');
             $objSession->del_all_session();
         } else {
             $data['status'] = 0;
         }
     } elseif ('write_ip' == $state) {
         #白名单
         $res['write_ip'] = $ips;
         if ($this->get_data('Online')->set_server_state($res)) {
             $data['status'] = 1;
         } else {
             $data['status'] = 0;
         }
     } elseif ('black_id' == $state) {
         #黑名单
         $res['black_id'] = $ips;
         if ($this->get_data('Online')->set_server_state($res)) {
             $data['status'] = 1;
         } else {
             $data['status'] = 0;
         }
     }
     echo json_encode($data);
     return;
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:57,代码来源:ServerStateAction.php

示例8: doAction

 public function doAction()
 {
     $userInfo_json = base64_decode($_POST['data']);
     $userInfo_array = json_decode($userInfo_json, true);
     $ban = array();
     $result['data'] = $this->get_data('Player')->update_player_info($userInfo_array['player_id'], array('is_ban' => 3));
     $result['status'] = 1;
     Protocol::input(0, 7, 4, 514, array('type_id' => 2, 'role_id' => $userInfo_array['player_id']));
     Protocol::out();
     echo json_encode($result);
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:11,代码来源:FengUserAction.php

示例9: adult_remind

 protected function adult_remind($player_id, $status)
 {
     if ($status == 1) {
         $msg = Language_Message::make_message('10223');
         $type = 1;
     } else {
         $msg = Language_Message::make_message('10224');
         $type = 2;
     }
     Com_Log::write("do_timeer." . $player_id, "msg:" . var_export($msg, true));
     Protocol::input($player_id, 8, 7, 755, array(0 => $msg, 1 => $type));
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:12,代码来源:Adlut.php

示例10: sync_func_data

 /**
  * 功能图标变更下行协议
  * @param $player_id
  * @param $func_id 
  * @param $action_type: 0关闭,1开启
  *
  */
 public static function sync_func_data($player_id, $func_id, $action_type = 0, $func_config = null)
 {
     if (empty($func_config) || !is_array($func_config)) {
         $func_config = Cache_FuncConfig::getInstance()->get_func_config_info($func_id);
     }
     if ($action_type == 0) {
         # 告知Flash关闭功能
         $out_741['funcs'][] = array('operate' => 2, 'func_id' => $func_config['func_id'], 'func_name' => $func_config['func_name'], 'open' => 1, 'pos' => $func_config['pos'], 'order' => $func_config['order']);
     } elseif ($action_type == 1) {
         # 告知Flash开启功能
         $out_741['funcs'][] = array('operate' => 1, 'func_id' => $func_config['func_id'], 'func_name' => $func_config['func_name'], 'open' => 1, 'pos' => $func_config['pos'], 'order' => $func_config['order']);
     }
     Protocol::input($player_id, 8, 7, 741, $out_741);
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:21,代码来源:Func.php

示例11: run

 public function run($player_id, $s_task_id)
 {
     $arr_player_task = $this->get_data('PlayerTask')->get_task_info($player_id);
     $out = array();
     $this->get_game('TaskMain')->do_guide_task($player_id, $s_task_id, 1, $arr_player_task, $out);
     $result = $this->get_data('PlayerTask')->set_task_info($player_id, $arr_player_task);
     Protocol::input($player_id, 8, 10, 1002, array(0 => $out));
     if ($result) {
         echo 'success';
     } else {
         echo 'error';
     }
     exit;
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:14,代码来源:reset_guid_task.php

示例12: msg

 public static function msg($player_id, $code, $out_code = 0)
 {
     if (!IS_FRONT || defined('FROM_GATEWAY')) {
         $cmd0 = 8;
     } else {
         $cmd0 = 3;
     }
     if ($out_code > 0) {
         $msg = Language_Message::make_message($code, array(0 => array('rep_type' => 7, 'rep_val' => "-" . $out_code)));
     } else {
         $msg = Language_Message::make_message($code);
     }
     Protocol::input($player_id, $cmd0, 7, 742, array(0 => array($msg)));
     #提示采集成功
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:15,代码来源:Msg.php

示例13: out

 public static function out($func_id = 0)
 {
     if (!empty(self::$_reward)) {
         foreach (self::$_reward as $player_id => $reward) {
             $out = array('type' => 1, 'reward' => array());
             foreach ($reward as $r) {
                 if (isset($r['overlay_num']) && $r['overlay_num'] > 0) {
                     $r['item_num'] = $r['overlay_num'];
                 }
                 $out['reward'][] = Struct_Prop::get_prop_struct($r);
             }
             $out['func_id'] = $func_id;
             Protocol::input($player_id, 8, 7, 843, $out);
         }
         self::$_reward = null;
     }
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:17,代码来源:Reward.php

示例14: start_task

 public function start_task($player_id)
 {
     $player_info = $this->get_data('Player')->get_player_info($player_id, array('level'));
     $level = $player_info['level'];
     $task_id = $this->get_game('TaskChain')->get_random_chain_task_id($level, 0);
     echo "player_id;{$player_id} task_id:{$task_id}\n";
     $data = array();
     if (!empty($task_id)) {
         $arr_player_task = $this->get_game('TaskChain')->get_init_chain_val($player_id, $task_id, 1);
         $result = $this->get_data('PlayerTask')->set_task_info($player_id, array('chain_val' => $arr_player_task['chain_val'], 'target_val' => $arr_player_task['target_val']));
         if ($result) {
             $data = $this->get_game('TaskChain')->get_chain_task_list($player_id, $arr_player_task, null, 1, 1);
             Protocol::input($player_id, 8, 10, 1025, $data);
             Protocol::out();
             return true;
         }
     }
     return false;
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:19,代码来源:fix_chain_task.php

示例15: doAction

 public function doAction()
 {
     $userInfo_json = base64_decode($_POST['data']);
     $userInfo_array = json_decode($userInfo_json, true);
     $state = isset($userInfo_array['state']) ? $userInfo_array['state'] : "";
     $data = array();
     if (!empty($state) && !in_array($state, $this->state)) {
         $data['status'] = 8;
         echo json_encode($data);
         exit;
     } else {
         $data['status'] = 0;
     }
     if ($state == 'reload') {
         #reload tables
         $data['status'] = 1;
         $data['data'] = 'ok';
         Protocol::input(0, 7, 4, 402, array(1));
         Protocol::out();
     } elseif ($state == 'memcache') {
         #清memcache 不通知前端
         $data['status'] = 1;
         $data['data'] = 'ok';
         Com_Cache::factory('setting')->flush();
     } elseif ($state == 'memcache_2') {
         #清memcache、并通知前端
         $data['status'] = 1;
         $data['data'] = 'ok';
         Com_Cache::factory('setting')->flush();
         Protocol::input(0, 7, 4, 525, array(1));
         Protocol::out();
         session_unset();
     } elseif ('reset' == $state) {
         Protocol::input(0, 7, 4, 525, array(1));
         Protocol::out();
         session_unset();
         $data['status'] = 1;
         $data['data'] = 'ok';
     }
     echo json_encode($data);
     return;
 }
开发者ID:bluefan,项目名称:phpsource,代码行数:42,代码来源:ResetSettingAction.php


注:本文中的Protocol::input方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。