Commit d269b445 authored by hisuinohoshi's avatar hisuinohoshi

update roomcheck

变化:
- (临时)使用当前游戏自检功能,可以在房间内人数出现错误时重新统计房间内人数,并关闭无人房间;
parent bfd17530
......@@ -22,24 +22,30 @@ if($gamestate >= 20){
adminlog('infomng');
$cmd_info = "状态更新:激活人数 {$validnum},生存人数 {$alivenum},死亡人数 {$deathnum}<br>";
$cmd_info .= "已重置移动地点缓存数据";
$cmd_info .= "已重置移动地点缓存数据<br>";
}else{
$cmd_info = "当前游戏未开始!";
$cmd_info = "当前游戏未开始!<br>";
}
//$db->query("ALTER TABLE {$gtablepre}winners ADD itmsk6 char(5) not null default '' AFTER itmsk5");
//$db->query("ALTER TABLE {$gtablepre}winners ADD itms6 char(5) not null default '0' AFTER itmsk5");
//$db->query("ALTER TABLE {$gtablepre}winners ADD itme6 mediumint unsigned NOT NULL default '0' AFTER itmsk5");
//$db->query("ALTER TABLE {$gtablepre}winners ADD itmk6 char(5) not null default '' AFTER itmsk5");
//$db->query("ALTER TABLE {$gtablepre}winners ADD itm6 CHAR( 30 ) NOT NULL default '' AFTER itmsk5");
//$db->query("ALTER TABLE {$gtablepre}winners CHANGE itme0 itme0 mediumint unsigned NOT NULL default '0'");
//$db->query("ALTER TABLE {$gtablepre}winners CHANGE itme1 itme1 mediumint unsigned NOT NULL default '0'");
//$db->query("ALTER TABLE {$gtablepre}winners CHANGE itme2 itme2 mediumint unsigned NOT NULL default '0'");
//$db->query("ALTER TABLE {$gtablepre}winners CHANGE itme3 itme3 mediumint unsigned NOT NULL default '0'");
//$db->query("ALTER TABLE {$gtablepre}winners CHANGE itme4 itme4 mediumint unsigned NOT NULL default '0'");
//$db->query("ALTER TABLE {$gtablepre}winners CHANGE itme5 itme5 mediumint unsigned NOT NULL default '0'");
//$db->query("ALTER TABLE {$gtablepre}users ADD validgames smallint unsigned NOT NULL default '0' AFTER credits");
//$db->query("ALTER TABLE {$gtablepre}users ADD wingames smallint unsigned NOT NULL default '0' AFTER validgames");
# 暂时把房间人数自检放在这里
if(!empty($roomlist))
{
foreach($roomlist as $rkey => $rinfo)
{
$result = $db->query("SELECT uid FROM {$gtablepre}users WHERE roomid = {$rkey}");
if($db->num_rows($result))
{
$join_nums = $db->num_rows($result);
$db->query("UPDATE {$gtablepre}game SET groomnums = {$join_nums} WHERE groomid = {$rkey}");
$cmd_info .= "房间 {$rkey} 状态更新:房间内人数 {$join_nums}<br>";
}
else
{
$db->query("DELETE FROM {$gtablepre}game WHERE groomid = {$rkey}");
$cmd_info .= "房间 {$rkey} 无人参与:已关闭<br>";
}
}
}
include template('admin_menu');
......
......@@ -39,7 +39,8 @@ if(!empty($roomact))
$result = $db->query("SELECT groomnums FROM {$gtablepre}game WHERE groomid = {$join_id}");
if($db->num_rows($result))
{
$join_nums = $db->fetch_array($result)[0] + 1;
$join_nums = $db->result($result, 0);
$join_nums++;
$db->query("UPDATE {$gtablepre}game SET groomnums = {$join_nums} WHERE groomid = {$join_id}");
}
}
......@@ -47,19 +48,20 @@ if(!empty($roomact))
{
gexit('要加入的房间不存在!', __file__, __line__);
}
unset($roomact);
}
if($roomact == 'exit')
elseif($roomact == 'exit')
{
if(empty($udata['roomid'])) gexit('你没有在任何房间里!', __file__, __line__);
$result = $db->query("SELECT groomnums FROM {$gtablepre}game WHERE groomid = {$udata['roomid']}");
if($db->num_rows($result))
{
$join_nums = $db->fetch_array($result)[0] - 1;
$join_nums = $db->result($result, 0);
$join_nums--;
$db->query("UPDATE {$gtablepre}game SET groomnums = {$join_nums} WHERE groomid = {$udata['roomid']}");
}
$db->query("UPDATE {$gtablepre}users SET roomid = 0 WHERE username='$cuser'");
unset($roomact);
}
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment