331 lines
12 KiB
PHP
331 lines
12 KiB
PHP
<?php
|
|
require_once('mt/NewShop.php');
|
|
class NGunController extends BaseAuthedController {
|
|
|
|
public function getGunInfo()
|
|
{
|
|
$account_id = $_REQUEST['account_id'];
|
|
$conn = $this->getMysql($account_id);
|
|
|
|
// $row = $conn->execQueryOne('SELECT guildcoin_num FROM user WHERE accountid=:accountid;',
|
|
// array(
|
|
// ':accountid' => $account_id
|
|
// ));
|
|
$sqlStr = "SELECT * FROM gun_intensify WHERE accountid=:accountid; ";
|
|
$row = $conn->execQuery($sqlStr,array(':accountid' => $account_id));
|
|
if($row) {
|
|
error_log("GunTest3======");
|
|
}
|
|
else{
|
|
error_log("GunTest4=======");
|
|
}
|
|
$this->sendDataToClient(0,"test02",$row);
|
|
}
|
|
public function skillLvUp()
|
|
{
|
|
$code = 100;
|
|
$skillLv = 1;
|
|
$skillLvData = 0;
|
|
$account_id = $_REQUEST['account_id'];
|
|
//$skil
|
|
$skill_id = $_REQUEST['skill_id'];
|
|
$skill_type_id = $_REQUEST['skill_type_id'];
|
|
$gunSkillCfg = require('../res/guntalentlv@guntalentlv.php');
|
|
$skillCfg = null;
|
|
if($gunSkillCfg[$skill_id])
|
|
{
|
|
$skillCfg = $gunSkillCfg[$skill_id];
|
|
$conn = $this->getMysql($account_id);
|
|
$sqlStr3 = "SELECT skill_lv FROM gun_intensify WHERE accountid=:accountid AND gun_type_id=:gun_type_id AND skill_id=:skill_id";
|
|
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id,':gun_type_id' => $skill_type_id,':skill_id' => $skill_id));
|
|
|
|
if($row)
|
|
{
|
|
$skillLvData = 1;
|
|
$skillLv = $row[0]["skill_lv"];
|
|
error_log("查询到gunSkill=====".json_encode($row));
|
|
}
|
|
else
|
|
{
|
|
error_log("未查询到gunSkill=====");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$code = 99;//技能不存在
|
|
}
|
|
$itemArr = array();
|
|
$resultData = null;
|
|
$lvUpNeedItemArr = array();
|
|
if($skillCfg)
|
|
{
|
|
$needItemStr = $skillCfg["cost"];
|
|
$needItemArr = explode("|",$needItemStr);
|
|
$needItemLen = count($needItemArr);
|
|
for($i = 0;$i < $needItemLen ;$i++)
|
|
{
|
|
$tmpStr = $needItemArr[$i];
|
|
$tmpStrArr = explode(":",$tmpStr);
|
|
$itemData = array("itemID"=>$tmpStrArr[0],"itemNum"=>$tmpStrArr[1]);
|
|
array_push($lvUpNeedItemArr,$itemData);
|
|
}
|
|
//获得Money和钻石
|
|
$money = 0;
|
|
$diamond = 0;
|
|
$conn = $this->getMysql($account_id);
|
|
$sqlStr3 = "SELECT coin_num,diamond_num FROM user WHERE accountid=:accountid; ";
|
|
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id));
|
|
|
|
if($row)
|
|
{
|
|
$money = $row[0]["coin_num"];
|
|
$diamond = $row[0]["diamond_num"];
|
|
$leftMoney = $money;
|
|
$leftDiamond = $diamond;
|
|
}
|
|
else
|
|
{
|
|
$code = 90;
|
|
}
|
|
//获得背包所有道具
|
|
if($code == 100)
|
|
{
|
|
$conn = $this->getMysql($account_id);
|
|
$sqlStr3 = "SELECT * FROM bag WHERE accountid=:accountid; ";
|
|
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id));
|
|
|
|
if($row) {//判断道具是否足够
|
|
$needItemArrLen = count($lvUpNeedItemArr);
|
|
$enoughN = 0;
|
|
$allItemLen = count($row);
|
|
for($i = 0; $i < $needItemArrLen; $i++)
|
|
{
|
|
$tempNeedItemID = $lvUpNeedItemArr[$i]["itemID"];
|
|
$tempNeedItemNum = $lvUpNeedItemArr[$i]["itemNum"];
|
|
error_log("技能升级01======".$tempNeedItemID."==".$tempNeedItemNum);
|
|
if($tempNeedItemID == "10001")
|
|
{
|
|
$code = 97;//金币不足
|
|
if($tempNeedItemNum <= $money)
|
|
{
|
|
$code = 100;
|
|
$leftMoney = $money -$tempNeedItemNum;
|
|
}
|
|
}
|
|
else if($tempNeedItemID == "10003")
|
|
{
|
|
$code = 96;//钻石不足
|
|
if($tempNeedItemNum <= $diamond)
|
|
{
|
|
$code = 100;
|
|
$leftDiamond = $diamond - $tempNeedItemNum;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$code = 95;//道具不足
|
|
for($j = 0; $j < $allItemLen; $j++)
|
|
{
|
|
$bagItemID = $row[$j]["id"];
|
|
$bagItemNum = $row[$j]["num"];
|
|
if($tempNeedItemID == $bagItemID)
|
|
{
|
|
error_log("技能升级======".$bagItemID."==".$bagItemNum);
|
|
if($tempNeedItemNum <= $bagItemNum)
|
|
{
|
|
$code = 100;
|
|
$deleteItem = array("item_id"=>$bagItemID,"item_num"=>$tempNeedItemNum);
|
|
array_push($itemArr,$deleteItem);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (SERVER_ENV != _ONLINE) {
|
|
$code = 100;
|
|
}
|
|
}
|
|
if($code != 100)
|
|
{
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$code = 90;
|
|
}
|
|
}
|
|
if($code == 100)
|
|
{
|
|
if($skillCfg["nextid"] > 0)
|
|
{
|
|
$skillLv ++;
|
|
}
|
|
else
|
|
{
|
|
$code = 98;//已经升到最大级
|
|
}
|
|
}
|
|
if($code == 100)
|
|
{
|
|
$this->decItem($itemArr);
|
|
$this->updateCurrency($leftMoney,$leftDiamond);
|
|
$tempItemData = array("skill_type_id"=>$skill_type_id,"skill_id"=>$skill_id,"skill_lv"=>$skillLv);
|
|
$this->updateGunSkillIntensify($tempItemData);
|
|
$resultData = array("skill_type_id"=>$skill_type_id,"skill_id"=>$skill_id,"skill_lv"=>$skillLv);
|
|
}
|
|
error_log("GunTest3======".$skill_id."==".$skill_type_id);
|
|
}
|
|
$this->sendDataToClient($code,"gunSkillLvUp",$resultData);
|
|
//$conn = $this->getMysql($account_id);
|
|
}
|
|
public function updateCurrency($_money,$_diamond)
|
|
{
|
|
$account_id = $_REQUEST['account_id'];
|
|
$conn = $this->getMysql($account_id);
|
|
|
|
$sqlStr2 = "Update user set coin_num =:coin_num,diamond_num =:diamond_num WHERE accountid=:accountid ";
|
|
$row = $conn->execQuery($sqlStr2,array(':accountid' => $account_id,':coin_num' => $_money,':diamond_num' => $_diamond));
|
|
|
|
}
|
|
public function updateGunSkillIntensify($item)
|
|
{
|
|
phpcommon\SqlHelper::insertOrUpdate
|
|
($this->getSelfMysql(),
|
|
'gun_intensify',
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_type_id' => $item['skill_type_id'],
|
|
'skill_id' => $item['skill_id']
|
|
),
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_type_id' => $item['skill_type_id'],
|
|
'skill_id' => $item['skill_id'],
|
|
'skill_lv' =>$item['skill_lv'],
|
|
'createtime' => $this->getNowTime(),
|
|
'modifytime' => $this->getNowTime()
|
|
),
|
|
array(
|
|
'skill_lv' => $item['skill_lv'],
|
|
'modifytime' => $this->getNowTime()
|
|
)
|
|
);
|
|
}
|
|
public function getGunAndSkinInfo()
|
|
{
|
|
$account_id = $_REQUEST['account_id'];
|
|
$conn = $this->getMysql($account_id);
|
|
$sqlStr2 = "SELECT gun_id,skin_id FROM gun WHERE accountid=:accountid; ";
|
|
$row = $conn->execQuery($sqlStr2,array(':accountid' => $account_id));
|
|
$resultData = array();
|
|
|
|
array_push($resultData,$row);
|
|
//获得已经购买的皮肤列表
|
|
$sqlStr3 = "SELECT gun_id,skin_id FROM gun_skin WHERE accountid=:accountid; ";
|
|
$row = $conn->execQuery($sqlStr3,array(':accountid' => $account_id));
|
|
array_push($resultData,$row);
|
|
$this->sendDataToClient(100,"getGunAndSkinInfo",$resultData);
|
|
}
|
|
public function equipGunSkin()
|
|
{
|
|
$account_id = $_REQUEST['account_id'];
|
|
$gunID = $_REQUEST['gun_id'];
|
|
$skinID = $_REQUEST['skin_id'];
|
|
|
|
phpcommon\SqlHelper::insertOrUpdate
|
|
($this->getSelfMysql(),
|
|
'gun',
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_id' => $gunID
|
|
),
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_id' => $gunID,
|
|
'skin_id' =>$skinID,
|
|
'trytime' =>0,
|
|
'createtime' => $this->getNowTime(),
|
|
'modifytime' => $this->getNowTime()
|
|
),
|
|
array(
|
|
'skin_id' =>$skinID,
|
|
'modifytime' => $this->getNowTime()
|
|
)
|
|
);
|
|
$resultData = array("gun_id"=>$gunID,"skin_id"=>$skinID);
|
|
$this->sendDataToClient(100,"changeGunSkin",$resultData);
|
|
}
|
|
public function buyGunSkin()
|
|
{
|
|
$account_id = $_REQUEST['account_id'];
|
|
$gunID = $_REQUEST['gun_id'];
|
|
$skinID = $_REQUEST['skin_id'];
|
|
$goodsID = $_REQUEST['goodsID'];
|
|
|
|
error_log("购买皮肤======".$goodsID);
|
|
$shopMeta = mt\NewShop::getShopItemByID($goodsID);
|
|
$code = 100;
|
|
$skinData = null;
|
|
if($shopMeta)
|
|
{
|
|
$priceNum = $shopMeta["priceNum"];
|
|
$priceID = $shopMeta["priceID"];
|
|
$code = $this->checkPriceEnough($priceNum,$priceID);
|
|
}
|
|
else
|
|
{
|
|
$code = 99;
|
|
}
|
|
|
|
if($code == 100)
|
|
{
|
|
phpcommon\SqlHelper::insertOrUpdate
|
|
($this->getSelfMysql(),
|
|
'gun_skin',
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_id' => $gunID,
|
|
'skin_id' => $skinID
|
|
),
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_id' => $gunID,
|
|
'skin_id' =>$skinID,
|
|
'trytime' =>0,
|
|
'createtime' => $this->getNowTime(),
|
|
'modifytime' => $this->getNowTime()
|
|
),
|
|
array(
|
|
'trytime' => 0,
|
|
'modifytime' => $this->getNowTime()
|
|
)
|
|
);
|
|
|
|
phpcommon\SqlHelper::insertOrUpdate
|
|
($this->getSelfMysql(),
|
|
'gun',
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_id' => $gunID
|
|
),
|
|
array(
|
|
'accountid' => $this->getAccountId(),
|
|
'gun_id' => $gunID,
|
|
'skin_id' =>$skinID,
|
|
'trytime' =>0,
|
|
'createtime' => $this->getNowTime(),
|
|
'modifytime' => $this->getNowTime()
|
|
),
|
|
array(
|
|
'skin_id' =>$skinID,
|
|
'modifytime' => $this->getNowTime()
|
|
)
|
|
);
|
|
}
|
|
$resultData = array("gun_id"=>$gunID,"skin_id"=>$skinID);
|
|
$this->sendDataToClient($code,"buyGunSkin",$resultData);
|
|
|
|
}
|
|
} |