Merge branch 'hjb' of git.kingsome.cn:server/game2006api into hjb
This commit is contained in:
commit
452365ee8b
@ -10,6 +10,7 @@ require_once('models/Bag.php');
|
|||||||
require_once('models/Hero.php');
|
require_once('models/Hero.php');
|
||||||
require_once('models/User.php');
|
require_once('models/User.php');
|
||||||
require_once('models/DiamondConsumeProduct.php');
|
require_once('models/DiamondConsumeProduct.php');
|
||||||
|
require_once('models/RealtimeData.php');
|
||||||
|
|
||||||
|
|
||||||
require_once('services/AwardService.php');
|
require_once('services/AwardService.php');
|
||||||
@ -22,6 +23,7 @@ use phpcommon\SqlHelper;
|
|||||||
use models\Bag;
|
use models\Bag;
|
||||||
use models\Hero;
|
use models\Hero;
|
||||||
use models\User;
|
use models\User;
|
||||||
|
use models\RealtimeData;
|
||||||
use models\DiamondConsumeProduct;
|
use models\DiamondConsumeProduct;
|
||||||
use services\LogService;
|
use services\LogService;
|
||||||
|
|
||||||
@ -391,33 +393,28 @@ class BagController extends BaseAuthedController {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ($itemMeta['quality'] > 3){
|
||||||
$lootMeta = mt\LootConfig::find($itemMeta['loot']);
|
$maxCec = \mt\Parameter::getVal('CEC_ServerDailyLootMax_Special',1500);
|
||||||
if ($lootMeta['isAffected']){
|
$nameIndex = RealtimeData::CEC_NAME_INDEX2;
|
||||||
// $lucky = Hero::getAccountLucky(myself()->_getAddress());
|
|
||||||
$lucky = Hero::getAccountLuckyTemp();
|
|
||||||
$luckyParam = \mt\Parameter::getVal('economy_account_luck_K',0);
|
|
||||||
|
|
||||||
$rangeArr = explode("|",\mt\Parameter::getVal('economy_account_luck_range',0));
|
|
||||||
$rate = ($rangeArr[1]-$rangeArr[0]) * $lucky/($lucky+$luckyParam) + $rangeArr[0];
|
|
||||||
$rnd = rand() / (mt_getrandmax() + 1);
|
|
||||||
$items = array();
|
|
||||||
if ($rnd <= $rate){
|
|
||||||
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
|
|
||||||
foreach ($itemsTemp as $itemTemp){
|
|
||||||
array_push($items,$itemTemp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
$maxCec = \mt\Parameter::getVal('CEC_ServerDailyLootMax_Normal',500);
|
||||||
|
$nameIndex = RealtimeData::CEC_NAME_INDEX1;
|
||||||
|
}
|
||||||
$items = array();
|
$items = array();
|
||||||
for ($i=0;$i<$itemNum;$i++){
|
for ($i=0;$i<$itemNum;$i++){
|
||||||
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
|
$itemsTemp = \services\LootService::dropOutItem($itemMeta['loot']);
|
||||||
foreach ($itemsTemp as $itemTemp){
|
foreach ($itemsTemp as $itemTemp){
|
||||||
array_push($items,$itemTemp);
|
if ($itemTemp['item_id'] == V_ITEM_BCEG){
|
||||||
|
$currentOutPutCec = RealtimeData::getDailyCec($nameIndex);
|
||||||
|
if ($currentOutPutCec + $itemTemp['item_num'] <= $maxCec){
|
||||||
|
RealtimeData::incDailyCec($nameIndex,$itemTemp['item_num']);
|
||||||
|
array_push($items,$itemTemp);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
array_push($items,$itemTemp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$hashItems = array();
|
$hashItems = array();
|
||||||
foreach ($items as $item){
|
foreach ($items as $item){
|
||||||
if (isset($hashItems[$item['item_id']])){
|
if (isset($hashItems[$item['item_id']])){
|
||||||
|
@ -126,4 +126,44 @@ class RealtimeData extends BaseModel {
|
|||||||
return $row ? $row : '';
|
return $row ? $row : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getDailyCec($nameIndex)
|
||||||
|
{
|
||||||
|
$row = self::internalGet("daily_output_cec_".$nameIndex);
|
||||||
|
if (!$row){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (myself()->_getDaySeconds($row['modifytime']) < myself()->_getNowDaySeconds()) {
|
||||||
|
$row['value1'] = 0;
|
||||||
|
}
|
||||||
|
return $row['value1'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function incDailyCec($nameIndex,$value){
|
||||||
|
$oldValue = self::getDailyCec($nameIndex);
|
||||||
|
self::internalSet('daily_output_cec_'.$nameIndex,$oldValue+$value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function internalSet($name,$value){
|
||||||
|
SqlHelper::upsert
|
||||||
|
(myself()->_getMysql(''),
|
||||||
|
't_realtime_data',
|
||||||
|
array(
|
||||||
|
'name' => $name
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'value1' => $value,
|
||||||
|
'modifytime' => myself()->_getNowTime()
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'name' => $name,
|
||||||
|
'value1' => $value,
|
||||||
|
'createtime' => myself()->_getNowTime(),
|
||||||
|
'modifytime' => myself()->_getNowTime()
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const CEC_NAME_INDEX1 = "normal";
|
||||||
|
const CEC_NAME_INDEX2 = "special";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,10 +5,10 @@ namespace services;
|
|||||||
class ContributionService extends BaseService {
|
class ContributionService extends BaseService {
|
||||||
|
|
||||||
private static $ignoreCa = array(
|
private static $ignoreCa = array(
|
||||||
'BlockChain@mintGoldBullion',
|
'BlockChain@mintGoldBullion'=>1,
|
||||||
'InGameMall@sellS',
|
'InGameMall@sellS'=>2,
|
||||||
'InGameMall@buyS',
|
'InGameMall@buyS'=>3,
|
||||||
'InGameMall@shoppingCartBuyS',
|
'InGameMall@shoppingCartBuyS'=>4,
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function onGoldConsume($params) {
|
public static function onGoldConsume($params) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user