From 5c4ed788de8c45581864343a51141c17d24ee80f Mon Sep 17 00:00:00 2001 From: yangduo Date: Wed, 9 Apr 2025 10:38:08 +0800 Subject: [PATCH] init weapon --- sql/gamedb.sql | 1 + webapp/bootstrap/init.php | 1 + webapp/classes/Privilege.php | 2 +- webapp/controller/RoleController.class.php | 16 +++++++++++++--- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sql/gamedb.sql b/sql/gamedb.sql index 3bb36c9..49a6e08 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -106,6 +106,7 @@ CREATE TABLE `user` ( `cpa_times` int(11) NOT NULL DEFAULT '0' COMMENT 'cpa看视频次数', `daily_diamond_times` int(11) NOT NULL DEFAULT '0' COMMENT '兑换钻石次数', + `init_weapon` int(11) DEFAULT 0 NOT NULL COMMENT '0:未赠送;1:已赠送', PRIMARY KEY (`idx`), UNIQUE KEY `accountid` (`accountid`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; diff --git a/webapp/bootstrap/init.php b/webapp/bootstrap/init.php index ce6440f..c9edfb8 100644 --- a/webapp/bootstrap/init.php +++ b/webapp/bootstrap/init.php @@ -106,6 +106,7 @@ define('MEDAL_LIMIT', 189); //体力自然增长上限 define('MEDAL_SECONDS', 190); //自然增长一点体力耗时,单位秒 define('OFFLINE_LIMIT', 191); //离线时长上限,单位小时 define('RECHARGE_TARGET', 198); //连续充值天数的每日达标金额(元) +define('INITIAL_WEAPON', 201); //初始赠送武器 require 'config_loader.php'; diff --git a/webapp/classes/Privilege.php b/webapp/classes/Privilege.php index fbf607d..839675c 100644 --- a/webapp/classes/Privilege.php +++ b/webapp/classes/Privilege.php @@ -55,7 +55,7 @@ class Privilege ) ); - if (!$row || is_null($row['vip_info'])) { + if (!$row || is_null($row['vip_info']) || empty($row['vip_info'])) { return 0; } diff --git a/webapp/controller/RoleController.class.php b/webapp/controller/RoleController.class.php index f8ceb0e..1911815 100644 --- a/webapp/controller/RoleController.class.php +++ b/webapp/controller/RoleController.class.php @@ -193,6 +193,7 @@ class RoleController ) ); //$newInfo = array(); + $needinitweapon = !$row || $row['init_weapon'] == 0; if (!$row) { $season_time = 0; $season_meta_table = require('../res/season@season.php'); @@ -204,8 +205,8 @@ class RoleController } } $ret = $conn->execScript( - 'INSERT INTO user(accountid, user_name, avatar_url, game_times, win_times, kills, harm, add_HP, alive_time, coin_num, integral, kill_his, alive_time_his, harm_his, add_HP_his, act_share_time, act_share_status, create_time, modify_time, first_fight, collect_status, keys_num, battle_re_times, shop_flush_times, kefu_status, sign_sum, box_num, diamond_num, sum_coin, pass_status, score, season_status, recharge_times_total, first_gift, season_time, free_coin, free_diamond, season_end_score, kill_modifytime, win_modifytime, rank_modifytime, vip_score, first_login, daily_first_login, daily_time, free_box, update_time, season_games, season_win, sea_max_kill, sea_max_hart, sea_avg_kill, free_lot_ticket, free_dou_lot_ticket, daily_order1, daily_order2, daily_order3, first_bee, newhand, coin_times, newInfo, first_day_ad, share_video_times, share_video_sums, act_video_status, act_ad_status, biogame_times, shop_view_times, new_first_equip, newhand2,game_times2, view_times2, guildcoin_num, new_second_equip, blobdata, cpa_times, daily_diamond_times) ' . - ' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, :create_time, :modify_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, :season_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, :daily_time, 0,:update_time,0,0,0,0,0,0,0,0,0,0,0,0,0,:newInfo,0,0,0,0,0,0,0,0,0,0,0,0,2,:blobdata, 0, 0) ' . + 'INSERT INTO user(accountid, user_name, avatar_url, game_times, win_times, kills, harm, add_HP, alive_time, coin_num, integral, kill_his, alive_time_his, harm_his, add_HP_his, act_share_time, act_share_status, create_time, modify_time, first_fight, collect_status, keys_num, battle_re_times, shop_flush_times, kefu_status, sign_sum, box_num, diamond_num, sum_coin, pass_status, score, season_status, recharge_times_total, first_gift, season_time, free_coin, free_diamond, season_end_score, kill_modifytime, win_modifytime, rank_modifytime, vip_score, first_login, daily_first_login, daily_time, free_box, update_time, season_games, season_win, sea_max_kill, sea_max_hart, sea_avg_kill, free_lot_ticket, free_dou_lot_ticket, daily_order1, daily_order2, daily_order3, first_bee, newhand, coin_times, newInfo, first_day_ad, share_video_times, share_video_sums, act_video_status, act_ad_status, biogame_times, shop_view_times, new_first_equip, newhand2,game_times2, view_times2, guildcoin_num, new_second_equip, blobdata, cpa_times, daily_diamond_times, init_weapon) ' . + ' VALUES(:accountid, :user_name, :avatar_url, 0, 0, 0, 0, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, :create_time, :modify_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, :season_time, 0, 0, 0, 0, 0, 0, 0, 0, 0, :daily_time, 0,:update_time,0,0,0,0,0,0,0,0,0,0,0,0,0,:newInfo,0,0,0,0,0,0,0,0,0,0,0,0,2,:blobdata, 0, 0, 1) ' . ' ON DUPLICATE KEY UPDATE accountid=:accountid, user_name=:user_name, avatar_url=:avatar_url, game_times=0, win_times=0, kills=0, harm=0, add_HP=0, alive_time=0, coin_num=0, integral=0, kill_his=0, alive_time_his=0, harm_his=0, add_HP_his=0, act_share_time=0, act_share_status=0, modify_time=:modify_time, first_fight=0, collect_status=0, keys_num=0, battle_re_times=0, shop_flush_times=0, kefu_status=0, sign_sum=0, box_num=0, diamond_num=0, sum_coin=0, pass_status=0, score=0, season_status=1, recharge_times_total=0, first_gift=0, season_time=:season_time, free_coin=0, free_diamond=0, season_end_score=0, kill_modifytime=0, win_modifytime=0, rank_modifytime=0, vip_score=0, first_login=0, daily_first_login=0, daily_time=:daily_time, free_box=0, update_time=:update_time, season_games=0, season_win=0, sea_max_kill=0, sea_max_hart=0, sea_avg_kill=0, free_lot_ticket=0, free_dou_lot_ticket=0, daily_order1=0, daily_order2=0, daily_order3=0, first_bee=0, newhand=0, coin_times=0, newInfo=:newInfo, first_day_ad=0, share_video_times=0, share_video_sums=0, act_video_status=0, act_ad_status=0, biogame_times=0, shop_view_times=0, new_first_equip=0, newhand2=0, game_times2=0,view_times2=0, guildcoin_num=0, new_second_equip=2, blobdata=:blobdata, cpa_times=0, daily_diamond_times=0;', array( ':accountid' => $account_id, @@ -348,7 +349,7 @@ class RoleController $cpa_times = $cpa_list['cpa_times']; $ret = $conn->execScript( 'UPDATE user SET daily_first_login=0, kefu_status=0, coin_times=0, ' . - 'modify_time=:modify_time, first_day_ad=0, share_video_times=0, new_second_equip=:new_second_equip, cpa_times=:cpa_times, blobdata=:blobdata, daily_diamond_times=0 WHERE accountid=:accountid;', + 'modify_time=:modify_time, first_day_ad=0, share_video_times=0, new_second_equip=:new_second_equip, cpa_times=:cpa_times, blobdata=:blobdata, daily_diamond_times=0, init_weapon=1 WHERE accountid=:accountid;', array( ':accountid' => $account_id, ':modify_time' => time(), @@ -449,6 +450,15 @@ class RoleController 'vip_plustime' => $plustimes, )); } + + if ($needinitweapon) { + $p1 = $this->getParameter(INITIAL_WEAPON); + $weapons = explode('|', $p1['param_value']); + $addreward = new classes\AddReward(); + foreach($weapons as $itemid) { + $addreward->addReward($itemid, 1, $account_id, 0, 0); + } + } } protected function getCpa($cpastr, $cpa_times)