Commit f3f8d36f authored by Nemo Ma's avatar Nemo Ma Committed by GitHub

Merge pull request #15 from hikawiier/waaagh

Add vnworld & bugfix
parents ec531db9 c205c745
...@@ -14,6 +14,7 @@ $admin_cmd_list = Array( ...@@ -14,6 +14,7 @@ $admin_cmd_list = Array(
'gmlist' => 9, 'gmlist' => 9,
'urlist' => 6, 'urlist' => 6,
'banlistmng' => 6, 'banlistmng' => 6,
'vnmixlist' => 5,
'gamecheck' => 2, 'gamecheck' => 2,
'pcmng' => 5, 'pcmng' => 5,
'npcmng' => 5, 'npcmng' => 5,
......
...@@ -178,13 +178,13 @@ if($gamblingon){ ...@@ -178,13 +178,13 @@ if($gamblingon){
$db->query("UPDATE {$tablepre}users SET credits2='$credits2' WHERE uid='$uid'"); $db->query("UPDATE {$tablepre}users SET credits2='$credits2' WHERE uid='$uid'");
//发news //发news
$gbinfo .= "花费{$cost_credits2}切糕购买了{$bnum}{$iteminfo['item']}。<br>"; $gbinfo .= "花费{$cost_credits2}切糕购买了{$bnum}{$iteminfo['item']}。<br>";
addnews($now,'gpost',$sponsor_title.' '.$udata['username'],$iteminfo['item'],$bdata['nick'].' '.$bdata['name'],$plsinfo[$bdata['pls']],$bnum); addnews($now,'gpost',$sponsor_title.' '.$udata['username'],$iteminfo['item'],$bdata['nick'].' '.$bdata['name'],$bdata['pls'],$bnum);
//打包快递给快递员 返回新生成的快递员pid //打包快递给快递员 返回新生成的快递员pid
$gclb = Array('clbpara'=>Array('sponsor'=>$uid,'post'=>$bet,'postid'=>6),); //记录赞助者的uid、收货方的pid、道具位置 $gclb = Array('clbpara'=>Array('sponsor'=>$uid,'post'=>$bet,'postid'=>6),); //记录赞助者的uid、收货方的pid、道具位置
$gitem = Array(6,$iteminfo['item'],$iteminfo['itmk'],$iteminfo['itme'],$iteminfo['itms']*$bnum,$iteminfo['itmsk']);//打包快递 $gitem = Array(6,$iteminfo['item'],$iteminfo['itmk'],$iteminfo['itme'],$iteminfo['itms']*$bnum,$iteminfo['itmsk']);//打包快递
include_once GAME_ROOT.'./include/system.func.php'; include_once GAME_ROOT.'./include/system.func.php';
$nid = addnpc(90,0,1,$now,$gclb,$gitem,$bdata['pls'])[0]; $nid = addnpc(90,0,1,$now,$gclb,$gitem,$bdata['pls'])[0];
$gbinfo .= "快递员已带着你赞助的商品前往{$bdata['name']}所在的{$plsinfo[$bdata['pls']]}!谢谢惠顾~<br>"; $gbinfo .= "快递员已带着你赞助的商品前往{$bdata['name']}所在的位置!谢谢惠顾~<br>";
//存一条发快递记录到gambling表里,一个玩家在快递被接收前不能发第二份快递。防止有人狂买低价商品挤爆players表。 //存一条发快递记录到gambling表里,一个玩家在快递被接收前不能发第二份快递。防止有人狂买低价商品挤爆players表。
//有过投注记录 //有过投注记录
if($gbnum && isset($gbeddata[$udata['uid']])) $db->query("UPDATE {$tablepre}gambling SET bnid='$nid' WHERE uid='$uid'"); if($gbnum && isset($gbeddata[$udata['uid']])) $db->query("UPDATE {$tablepre}gambling SET bnid='$nid' WHERE uid='$uid'");
......
This diff is collapsed.
...@@ -364,4 +364,12 @@ $mixinfo = array ...@@ -364,4 +364,12 @@ $mixinfo = array
array('class' => 'hidden', 'stuff' => array('[ΨТОВХ]','[ЫΑИЙВХΨ]','[ΩЙΑТΨ]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),), array('class' => 'hidden', 'stuff' => array('[ΨТОВХ]','[ЫΑИЙВХΨ]','[ΩЙΑТΨ]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),),
array('class' => 'hidden', 'stuff' => array('[rm]','[-r]','[-f]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),), array('class' => 'hidden', 'stuff' => array('[rm]','[-r]','[-f]'),'result' => array('【E.S.C.A.P.E】','Y',1,1,),),
); );
$vn_file = GAME_ROOT.'./gamedata/cache/vnmixitem_1.php';
if(file_exists($vn_file))
{
include_once $vn_file;
//$mixinfo += $vn_mixinfo;
$mixinfo = array_merge($mixinfo,$vn_mixinfo);
}
?> ?>
<?php if(!defined('IN_GAME')) exit('Access Denied');
$carr = array (
0 =>
array (
'stuff' =>
array (
0 => '煤气罐',
1 => '煤气罐',
2 => '曾经的荣光-煤气',
3 => '煤气罐',
4 => '煤气罐',
),
'result' =>
array (
0 => '最终战术『煤气』',
1 => 'GBe',
2 => 10,
3 => 100,
4 =>
array (
0 => 'Z',
1 => 'd',
2 => 'x',
),
),
'status' => 0,
'name' => 'Amarillo_NMC',
),
);
?>
\ No newline at end of file
...@@ -11,7 +11,7 @@ li {font: bold 10pt "微软雅黑" serif;line-height:16px} ...@@ -11,7 +11,7 @@ li {font: bold 10pt "微软雅黑" serif;line-height:16px}
input {cursor: crosshair;} input {cursor: crosshair;}
.title {font-family: "微软雅黑"; margin: 6px;color: #cceafa; width: 100%;filter:blur(add=1,direction=90,strength=12):glow(strength=5,color=gold); font-weight:900; text-decoration:underline;font-size: 30px;} .title {font-family: "微软雅黑"; margin: 6px;color: #cceafa; width: 100%;filter:blur(add=1,direction=90,strength=12):glow(strength=5,color=gold); font-weight:900; text-decoration:underline;font-size: 30px;}
.subtitle {font-family: "微软雅黑"; margin: 6px;color: #cceafa; width: 100%;font-size: 24px;font-weight:400;} .subtitle {font-family: "微软雅黑"; margin: 6px;color: #cceafa; width: 100%;font-size: 24px;font-weight:400;}
.headerlink{} /*.headerlink{}*/
.small {font-size: 9pt} .small {font-size: 9pt}
.center-text {text-align: center;} .center-text {text-align: center;}
.ver a{font:bold 10pt "Viner Hand ITC","隶书" serif;color:#ff0000;} .ver a{font:bold 10pt "Viner Hand ITC","隶书" serif;color:#ff0000;}
...@@ -359,13 +359,58 @@ background-image: url("../../img/footer_line.gif"); ...@@ -359,13 +359,58 @@ background-image: url("../../img/footer_line.gif");
box-shadow:0 0 6px rgba(246, 219, 251, 0.6); box-shadow:0 0 6px rgba(246, 219, 251, 0.6);
} }
span.title {
position: relative;
}
/*长按带有title标签的内容时显示一个悬浮框,用于移动端、触屏显示tooltip*/
span[title]:active:before { span[title]:active:before {
content: attr(title); content: attr(title);
display: block; font: bold 10pt "微软雅黑" serif; color: white; overflow-x:hidden; overflow-y:auto; text-shadow:3px 3px 3px #3b3535; text-align: center;
position: fixed; background-color: rgba(198, 114, 199, 0.8); *BACKGROUND: rgb(98,135,163); *filter:alpha(opacity=60)
background-color: rgba(225, 124, 226, 0.82); *BACKGROUND: rgb(98,135,163); *filter:alpha(opacity=60) padding: 10px;
width: 200px;max-width:200px; width: 220px;
font: bold 10pt "微软雅黑" serif; color: white; overflow-x:hidden; overflow-y:auto; text-shadow:none; text-align: center; max-width: 220px;
padding: 2px; z-index:10;
top: -25px;
left: 0;
border-radius: 3px;
position: absolute;
}
.headerlink{
font-family: "微软雅黑";
}
/*用于触发下拉菜单的样式drop*/
span.drop{
position: relative;
}
/*悬浮在drop样式上时触发下拉菜单*/
span.drop:hover .dropdown-menu{
display: block;
background-color: rgba(83, 63, 90, 0.8);
border-radius: 5px;
}
/*下拉菜单样式本体*/
.dropdown-menu{
top:17px;
left:-10px;
width: 90px;
max-width: 90px;
position: absolute;
z-index:10; z-index:10;
} display: none;
\ No newline at end of file }
/*去除下拉菜单内<ul>标签的样式*/
.dropdown-menu ul{
list-style: none;
margin: 0;
padding: 2px;
}
/*改变下拉菜单内<li>标签的样式*/
.dropdown-menu li{
list-style: none;
padding: 2px;
align-items: center;
justify-content: center;
font: bold 10pt "微软雅黑" serif; color: white; overflow-x:hidden; overflow-y:auto; text-shadow:3px 3px 3px #231e1e; text-align: center;
}
<?php if(!defined('IN_GAME')) exit('Access Denied');
$vn_mixinfo = array (
);
?>
\ No newline at end of file
<?php
if(!defined('IN_GAME')) exit('Access Denied');
#幻想世界相关配置文件
//看板娘头像链接:
$vnworld_img = 'img/Crimzonnews.gif';
//看板娘文本:
$vnworld_notice = "喔!年轻人呦!你发现了一个不得了的地方呢!<br>
……你问我为什么在这里?……其实我也只是临时在这儿代个班而已。<br>
总之,在这里的员工回来之前,就请你自己先随便逛逛吧。<br>";
#玩家自定义合成相关:
//是否开启道具名的联想输入列表:(默认:1=开启)
$vnmix_name_assoc = 1;
//编辑或审批提交的合成列表需要的最低权限等级:(默认:5级)
$vnmix_editor_group = 5;
//提交一次合成需要消耗的切糕:(默认:200。0为不消耗)
$vnmix_c2_cost = 200;
//允许普通玩家选择的道具类别
$vn_iteminfo = Array
(
'Ag' => '同志饰物',
'Al' => '热恋饰物',
'A' => '饰物(无属性)',
'Ac' => '饰物(重击辅助)',
'B' => '电池',
'Ca' => '药剂(全恢复)',
'Ce' => '药剂(治疗麻痹)',
'Ci' => '药剂(治疗冻结)',
'Cp' => '药剂(治疗中毒)',
'Cu' => '药剂(治疗烧伤)',
'Cw' => '药剂(治疗混乱)',
'DB' => '身体装备',
'DH' => '头部装备',
'DA' => '手臂装备',
'DF' => '腿部装备',
'EE' => '电脑设备',
'HH' => '生命恢复',
'HS' => '体力恢复',
'HB' => '命体恢复',
'HM' => '歌魂增加',
'HT' => '歌魂恢复',
'GBr' => '机枪弹药',
'GBi' => '气体弹药',
'GBh' => '重型弹药',
'GBe' => '能源弹药',
'GB' => '手枪弹药',
'MA'=> '攻击力强化药物',
'MD'=> '防御力强化药物',
'ME'=> '经验强化药物',
'MH'=> '生命强化药物',
'MS'=> '体力强化药物',
'PM' => '歌魂增加(有毒)',
'PT' => '歌魂恢复(有毒)',
'PH' => '生命恢复(有毒)',
'PS' => '体力恢复(有毒)',
'PB' => '命体恢复(有毒)',
'PB2' => '命体恢复(剧毒)',
'VP'=> '殴系技能书籍',
'VK'=> '斩系技能书籍',
'VC'=> '投系技能书籍',
'VG'=> '射系技能书籍',
'VD'=> '爆系技能书籍',
'VF'=> '灵系技能书籍',
'VV'=> '全系技能书籍',
'ss' => '歌词卡片',
'TN' => '陷阱',
'U' => '扫雷设备',
'WGK' => '枪刃',#射+斩
'WCF' => '符札',#投+符
'WCP' => '重物',#投+殴
'WKF' => '灵刃',#斩+符
'WKP' => '重剑',#斩+殴
'WFK' => '魔刃',#符+斩
'WDG' => '巨炮',#爆+射
'WDF' => '落魂',#爆+符
'WJ' => '重型枪械',
'WP' => '钝器',
'WG' => '远程兵器',
'WK' => '锐器',
#鹅鹅鹅鹅鹅鹅鹅
'WC01' => '投掷兵器(★1)',
'WC02' => '投掷兵器(★2)',
'WC03' => '投掷兵器(★3)',
'WC04' => '投掷兵器(★4)',
'WC05' => '投掷兵器(★5)',
'WC06' => '投掷兵器(★6)',
'WC07' => '投掷兵器(★7)',
'WC08' => '投掷兵器(★8)',
'WC09' => '投掷兵器(★9)',
'WK01' => '游戏王一星素材',
'WK02' => '游戏王两星素材',
'WK03' => '游戏王三星素材',
'WK04' => '游戏王四星素材',
'WK05' => '游戏王五星素材',
'WK09' => '游戏王九星素材',
'WK10' => '游戏王十星素材',
#鹅鹅鹅鹅鹅鹅鹅
'WC' => '投掷兵器',
'WD' => '爆炸物',
'WF' => '灵力兵器',
'X' => '合成专用',
'Y' => '特殊',
'Z' => '特殊(不可合并)',
);
//允许管理员在上述基础上额外选择的道具类别
$vn_gm_iteminfo = Array
(
'AA' => '数据护盾',
'AB' => '毒物中和',
'Ah' => '饰物(伤害制御)',
'WN' => '空手',
'EW' => '天气控制',
'ER' => '探测仪器',
'p' => '礼物',
'p0P' => '福袋(殴系)',
'p0K' => '福袋(斩系)',
'p0C' => '福袋(投系)',
'p0G' => '福袋(射系)',
'p0D' => '福袋(爆系)',
'p0F' => '福袋(灵系)',
'p0O1' => '福袋(杂项1)',
'p00' => '超级福袋(00)',
'p0AV' => 'VTuber大福袋',
'fy' => '全地图唯一的野生浮云礼物盒',
'ygo' => '卡包',
'XA' =>'代码残片·绿',
'XB' =>'代码残片·紫',
'XC' =>'代码残片·黄',
'XX' =>'杀意已决',
'XY' =>'杀意未决',
'ZA' => '代码漏洞',
'ZB'=> '称号卡',
);
//允许普通玩家选择的合成属性
$vn_itemspkinfo = Array
(
'none' => '无',
'A' => '全系防御',
'a' => '属性防御',
'B' => '伤害抹消',
'b' => '属性抹消',
'C' => '防投',
'c' => '重击辅助',
'D' => '防爆',
'd' => '爆炸',
'E' => '绝缘',
'e' => '电击',
'F' => '防符',
'f' => '灼焰',
'G' => '防弹',
'g' => '同志',
'H' => 'HP制御',
'h' => '伤害制御',
'I' => '防冻',
'i' => '冻气',
'j' => '多重',
'J' => '超量素材',
'K' => '防斩',
'k' => '冰华',
'l' => '热恋',
'M' => '陷阱探测',
'm' => '陷阱迎击',
'N' => '冲击',
'n' => '贯穿',
'o' => '一发',
'P' => '防殴',
'p' => '带毒',
'q' => '防毒',
'R' => '混沌伤害',
'r' => '连击',
'S' => '消音',
's' => '调整',
'U' => '防火',
'u' => '火焰',
'v' => '灵魂绑定',
'W' => '隔音',
'w' => '音波',
'X' => '直死', //NPC专用
'x' => '奇迹',
'Z' => '菁英',
'z' => '天然',
'^' => '背包',
);
//允许管理员在上述基础上额外选择的属性
$vn_gm_itemspkinfo = Array
(
//'L' => '致残',
'-' => '精神抽取',
'*' => '灵魂抽取',
'+' => '技能抽取',
//0-99数字做在这里面还是再开一个框?要考虑考虑。
);
//显示在编辑合成页面上方的信息
$vnmix_top_tips = '提示:每个配方至少需要两种合成素材,素材与道具名最长不可以超过30个字符。<br>将道具耐久设置为0时可以让耐久度变为“∞”。';
if($vnmix_c2_cost) $vnmix_top_tips.='每次提交需要消耗'.$vnmix_c2_cost.'份切糕。';
//显示在编辑合成与打印合成表页面上的提示信息
$stuff_tips = Array('合成材料一','合成材料二','合成材料三','合成材料四','合成材料五',);
$result_tips = Array('合成结果','道具用途','道具效果','道具耐久','属性1','属性2','属性3','属性4','属性5');
$log_tips = Array('道具属性','作者','提交状态');
$check_tips = Array('<span class="yellow">提交中</span>','<span class="lime">已采纳</span>','<span class="red">未采纳</span>');
$check_infos = Array
(
0 =>'<span class="yellow">成功保存了配方!</span><br>',
1 =>'<span class="yellow">成功编辑了配方!</span><br>',
2 =>'<span class="red">删除了配方。</span><br>',
3 =>'<span class="yellow">成功变更了配方状态!</span><br>',
);
?>
...@@ -12,6 +12,7 @@ $synfile = config('synitem',$gamecfg); ...@@ -12,6 +12,7 @@ $synfile = config('synitem',$gamecfg);
$ovlfile = config('overlay',$gamecfg); $ovlfile = config('overlay',$gamecfg);
$presentfile = config('present',$gamecfg); $presentfile = config('present',$gamecfg);
$boxfile = config('box',$gamecfg); $boxfile = config('box',$gamecfg);
$vnmixfile = config('vnmixitem',$gamecfg);
include_once $mixfile; include_once $mixfile;
$writefile = GAME_ROOT.TPLDIR.'/mixhelp.htm'; $writefile = GAME_ROOT.TPLDIR.'/mixhelp.htm';
...@@ -119,7 +120,7 @@ $ty10[1]=21; ...@@ -119,7 +120,7 @@ $ty10[1]=21;
$ty11[1]=89; $ty11[1]=89;
$ty12[1]=24; $ty12[1]=24;
if(filemtime($mixfile) > filemtime($writefile) || filemtime($shopfile) > filemtime($writefile) || filemtime($mapitemfile) > filemtime($writefile) || filemtime($synfile) > filemtime($writefile) || filemtime($ovlfile) > filemtime($writefile) || filemtime($presentfile) > filemtime($writefile) || filemtime($boxfile) > filemtime($writefile)){ if(filemtime($vnmixfile) > filemtime($writefile) ||filemtime($mixfile) > filemtime($writefile) || filemtime($shopfile) > filemtime($writefile) || filemtime($mapitemfile) > filemtime($writefile) || filemtime($synfile) > filemtime($writefile) || filemtime($ovlfile) > filemtime($writefile) || filemtime($presentfile) > filemtime($writefile) || filemtime($boxfile) > filemtime($writefile)){
$mixitem = array(); $mixitem = array();
foreach($mixinfo as $mix){ foreach($mixinfo as $mix){
if($mix['class'] !== 'hidden'){ if($mix['class'] !== 'hidden'){
...@@ -170,6 +171,7 @@ if(filemtime($mixfile) > filemtime($writefile) || filemtime($shopfile) > filemti ...@@ -170,6 +171,7 @@ if(filemtime($mixfile) > filemtime($writefile) || filemtime($shopfile) > filemti
'key'=> array('KEY系道具','lime'), 'key'=> array('KEY系道具','lime'),
'cube'=> array('方块系道具','yellow'), 'cube'=> array('方块系道具','yellow'),
'item'=> array('其他道具','yellow'), 'item'=> array('其他道具','yellow'),
'VN'=> array('玩家原创道具','lime'),
); );
$mixhelpinfo = ''; $mixhelpinfo = '';
foreach($mixitem as $class => $list){ foreach($mixitem as $class => $list){
......
...@@ -232,6 +232,8 @@ $lang = array ...@@ -232,6 +232,8 @@ $lang = array
'gmlist_comment' => '设置各管理员的权限', 'gmlist_comment' => '设置各管理员的权限',
'urlist' => '玩家帐户管理', 'urlist' => '玩家帐户管理',
'urlist_comment' => '管理玩家帐户信息', 'urlist_comment' => '管理玩家帐户信息',
'vnmixlist' => '玩家提交合成列表',
'vnmixlist_comment' => '检查已被采纳的玩家提交的合成列表<br>可以将指定合成回退到待采纳状态',
'gamecheck' => '当前游戏自检', 'gamecheck' => '当前游戏自检',
'gamecheck_comment' => '修正游戏人数异常和移动下拉框消失的功能', 'gamecheck_comment' => '修正游戏人数异常和移动下拉框消失的功能',
......
<?php
if(!defined('IN_ADMIN')) {
exit('Access Denied');
}
require config('vnworld',$gamecfg);
if(!isset($vncmd)){$vncmd = 'none';}
global $gamecfg;
$cache_file = config('vnmixitem',$gamecfg);
if(file_exists($cache_file))
{
$temp_vniteminfo = $vn_iteminfo + $vn_gm_iteminfo;
include_once($cache_file);
$temp_mixinfo = $vn_mixinfo;
if(isset($vn_mixinfo))
{
foreach($temp_mixinfo as $vn_key=>$vn_arr)
{
foreach($vn_arr as $vn_type => $vn_info)
{
if($vn_type == 'result')
{
$temp_mixinfo[$vn_key][$vn_type][1] = $temp_vniteminfo[$vn_info[1]];
$sk_arr = Array();
if(!empty($vn_info[4]))
{
$sk_arr = get_itmsk_array($vn_info[4]);
$temp_mixinfo[$vn_key][$vn_type][4] = '';
foreach($sk_arr as $sk_value)
{
if(!empty($temp_mixinfo[$vn_key][$vn_type][4])) $temp_mixinfo[$vn_key][$vn_type][4] .= '+'.parse_itm_desc($sk_value,'sk');
else $temp_mixinfo[$vn_key][$vn_type][4] = parse_itm_desc($sk_value,'sk');
}
}
}
}
}
}
}
if(strpos($vncmd ,'del')===0)
{
$vnid = substr($vncmd,4);
if(!isset($vnid) || !isset($vn_mixinfo[$vnid]))
{
$cmd_info = "配方{$vnid}不存在,请重新输入!";
//草草草 我已经变成goto的形状了 怎么会这样!
return;
}
//先把配方从当前文件里取出来
$flag = edit_vn_mixilst('del',$vnid);
if(!is_array($flag))
{
$cmd_info = $flag;
return;
}
else
{
$vname = $flag['name'];
$result = $db->query("SELECT * FROM {$tablepre}users WHERE username='$vname'");
if(!$db->num_rows($result))
{
$cmd_info = '配方的作者信息无效!请检查缓存文件。';
return;
}
$vdata = $db->fetch_array($result);
post_back_vn_cache_file($vdata,$flag);
}
$cmd_info = "已回退配方{$vnid}!";
return;
}
include template('admin_vnmixlist');
//修改配方文件
function edit_vn_mixilst($varr,$t)
{
global $checkstr,$gamecfg;
//先加锁
$lock_file = GAME_ROOT.'./gamedata/bak/vnmix2.lock';
if(file_exists($lock_file))
{
return '有其他管理员正在进行编辑操作,请稍等一会儿再试!';
}
else
{
$cache_file = config('vnmixitem',$gamecfg);
if(file_exists($cache_file))
{
//加锁
writeover($lock_file,' ');
include_once($cache_file);
global $vn_mixinfo;
}
else
{
return '合成配方文件不存在!不能进行编辑操作。';
}
}
if($varr==='del' && isset($vn_mixinfo[$t]))
{
$varr = $vn_mixinfo[$t];
$varr['status'] = 0;
unset($vn_mixinfo[$t]);
}
sort($vn_mixinfo);
global $checkstr;
$cont = str_replace('?>','',str_replace('<?','<?php',$checkstr));
$cont .= '$vn_mixinfo = ' . var_export($vn_mixinfo,1).";\r\n?>";
writeover($cache_file, $cont);
chmod($cache_file,0777);
unlink($lock_file);
return $varr;
}
//为什么要把这个函数在这里又重写一遍?……因为引用已经乱套了……呃啊,杀了我吧!
function post_back_vn_cache_file($data,$arr,$t=NULL)
{
global $checkstr,$gamecfg;
$lock_file = GAME_ROOT.'./gamedata/bak/vnmix.lock';
if(file_exists($lock_file))
{
//锁还在,返回一个报错信息
return '有其他人正在提交或编辑合成,请稍后再试!<br>';
}
else
{
writeover($lock_file,' ');
}
$file = config('queue_vnmixitem',$gamecfg);
if(!file_exists($file))
{
$carr = Array();
}
else
{
include_once($file);
}
if(isset($t))
{
$arr['name'] = $carr[$t]['name'];
$arr['status'] = $carr[$t]['status'];
$carr[$t] = $arr;
}
else
{
$arr['name'] = $data['username'];
$carr[] = $arr;
}
sort($carr);
$cont = str_replace('?>','',str_replace('<?','<?php',$checkstr));
$cont .= '$carr = ' . var_export($carr,1).";\r\n?>";
writeover($file, $cont);
chmod($cache_file,0777);
unlink($lock_file);
return 0;
}
?>
...@@ -535,12 +535,10 @@ function update_db_player_structure($type=0) ...@@ -535,12 +535,10 @@ function update_db_player_structure($type=0)
/* function player_format_with_db_structure($data){ /* function player_format_with_db_structure($data){
$ndata=Array(); $ndata=Array();
$db_player_structure = update_db_player_structure(); $db_player_structure = update_db_player_structure();
foreach ($db_player_structure as $key){ foreach ($db_player_structure as $key)
if (isset($data[$key])) {
{ if(isset($data[$key]) && is_array($data[$key])) $data[$key]=json_encode($data[$key]);
if(is_array($data[$key])) $data[$key]=json_encode($data[$key]); $ndata[$key]=isset($data[$key]) ? $data[$key] : '';
$ndata[$key]=$data[$key];
}
} }
return $ndata; return $ndata;
} */ } */
...@@ -549,8 +547,8 @@ function player_format_with_db_structure($data){ ...@@ -549,8 +547,8 @@ function player_format_with_db_structure($data){
$db_player_structure = update_db_player_structure(); $db_player_structure = update_db_player_structure();
foreach ($db_player_structure as $key) foreach ($db_player_structure as $key)
{ {
if(is_array($data[$key])) $data[$key]=json_encode($data[$key]); if(isset($data[$key]) && is_array($data[$key])) $data[$key]=json_encode($data[$key]);
$ndata[$key]=$data[$key]; $ndata[$key]=isset($data[$key]) ? $data[$key] : '';
} }
return $ndata; return $ndata;
} }
...@@ -627,7 +625,7 @@ function get_itmsk_array($sk_value) ...@@ -627,7 +625,7 @@ function get_itmsk_array($sk_value)
$i = 0; $i = 0;
while ($i < strlen($sk_value)) while ($i < strlen($sk_value))
{ {
$sub = substr($sk_value,$i,1); $sub = mb_substr($sk_value,$i,1,'utf-8');
$i++; $i++;
if(!empty($sub) && array_key_exists($sub,$itemspkinfo)) array_push($ret,$sub); if(!empty($sub) && array_key_exists($sub,$itemspkinfo)) array_push($ret,$sub);
} }
...@@ -678,13 +676,6 @@ function gdecode($para, $assoc = false){ ...@@ -678,13 +676,6 @@ function gdecode($para, $assoc = false){
else return json_decode(mgzdecode(base64_decode($para)),$assoc); else return json_decode(mgzdecode(base64_decode($para)),$assoc);
} }
//字符串中段省略,取头部+尾部1字符
function middle_abbr($str,$len1,$len2=1,$elli='...') {
$str = (string)$str;
$len1 = (int)$len1; $len2 = (int)$len2;
return mb_substr($str,0,$len1).$elli.mb_substr($str,-$len2,$len2);
}
//mb_strlen()兼容替代函数,直接照抄的网络 //mb_strlen()兼容替代函数,直接照抄的网络
if ( !function_exists('mb_strlen') ) { if ( !function_exists('mb_strlen') ) {
function mb_strlen ($text, $encode='UTF-8') { function mb_strlen ($text, $encode='UTF-8') {
......
...@@ -287,7 +287,7 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') { ...@@ -287,7 +287,7 @@ function nparse_news($start = 0, $range = 0 ){//$type = '') {
} elseif($news == 'emix_failed') { } elseif($news == 'emix_failed') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"red\">{$a}试图把零散的元素重新组合起来,但是失败了!哎呀呀、这可真是……</span><br>\n"; $newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"red\">{$a}试图把零散的元素重新组合起来,但是失败了!哎呀呀、这可真是……</span><br>\n";
} elseif($news == 'gpost') { } elseif($news == 'gpost') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"sienna\">{$a}{$c}赞助了{$e}{$b}!快递员正带着包裹前往【{$d}】</span><br>\n"; $newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"sienna\">{$a}{$c}赞助了{$e}{$b}!快递员正带着包裹前往【{$plsinfo[$d]}】</span><br>\n";
} elseif($news == 'gpost_success') { } elseif($news == 'gpost_success') {
$newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"sienna\">{$a}{$c}赞助的{$b}已成功送达!</span><br>\n"; $newsinfo .= "<li>{$hour}{$min}{$sec}秒,<span class=\"sienna\">{$a}{$c}赞助的{$b}已成功送达!</span><br>\n";
} elseif($news == 'gpost_failed') { } elseif($news == 'gpost_failed') {
......
...@@ -209,7 +209,7 @@ function rs_game($mode = 0) { ...@@ -209,7 +209,7 @@ function rs_game($mode = 0) {
//unset($mapitem); //unset($mapitem);
//挤一挤 仓库道具初始化 //挤一挤 仓库道具初始化
include_once GAME_ROOT.'./include/game/depot.func.php'; include_once GAME_ROOT.'./include/game/depot.func.php';
if(is_array($npc_depot)) if(isset($npc_depot) && count($npc_depot)>0)
{ {
foreach($npc_depot as $nd_num => $nd_arr) foreach($npc_depot as $nd_num => $nd_arr)
{ {
......
<?php
define('CURSCRIPT', 'sp_ilist');
require './include/common.inc.php';
if(!$cuser||!$cpass) { gexit($_ERROR['no_login'],__file__,__line__); }
$result = $db->query("SELECT * FROM {$tablepre}users WHERE username='$cuser'");
if(!$db->num_rows($result)) { gexit($_ERROR['login_check'],__file__,__line__); }
$udata = $db->fetch_array($result);
if($udata['password'] != $cpass) { gexit($_ERROR['wrong_pw'], __file__, __line__); }
elseif(($udata['groupid'] <= 1)&&($cuser!==$gamefounder)) { gexit($_ERROR['no_admin'], __file__, __line__); }
//初始化道具名词库
get_itm_namelist();
function get_itm_namelist()
{
global $checkstr,$gamecfg;
$in_file = config('itmlist',$gamecfg);
if(!file_exists($in_file))
{
$iarr=Array();
//获取所有地图刷新道具道具名
$file = config('mapitem',$gamecfg);
$itemlist = openfile($file);
$in = sizeof($itemlist);
for($i = 1; $i < $in; $i++)
{
if(!empty($itemlist[$i]) && strpos($itemlist[$i],',')!==false)
{
list($iarea,$imap,$inum,$iname) = explode(',',$itemlist[$i]);
if(!in_array($iname,$iarr)) $iarr[] = $iname;
}
}
//获取所有商店出售道具道具名
$file = config('shopitem',$gamecfg);
$shoplist = openfile($file);
foreach($shoplist as $lst)
{
if(!empty($lst) && strpos($lst,',')!==false)
{
list($kind,$num,$price,$area,$item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
}
//获取所有合成列表中的合成结果
include_once config('mixitem',$gamecfg);
foreach($mixinfo as $lst)
{
if(!in_array($lst['result'][0],$iarr)) $iarr[] = $lst['result'][0];
}
//获取同调结果
$file=config('synitem',$gamecfg);
$synlist = openfile($file);
foreach($synlist as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
//获取超量结果
$file=config('overlay',$gamecfg);
$ovllist = openfile($file);
foreach($ovllist as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
//获取礼品盒
$file=config('present',$gamecfg);
$prslist = openfile($file);
foreach($prslist as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
//获取游戏王卡包
$file=config('box',$gamecfg);
$boxlist = openfile($file);
foreach($boxlist as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
//浮云
$file=config('fy',$gamecfg);
$list = openfile($file);
foreach($list as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
//开局道具
$file=config('stitem',$gamecfg);
$list = openfile($file);
foreach($list as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
$file=config('stwep',$gamecfg);
$blist = openfile($file);
foreach($list as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item)=explode(',',$lst);
if(!in_array($item,$iarr)) $iarr[] = $item;
}
//多重武器
$file=config('wepchange',$gamecfg);
$boxlist = openfile($file);
foreach($boxlist as $lst)
if(!empty($lst) && strpos($lst,',')!==false)
{
list($item,$item2)=explode(',',$lst);
if(!in_array($item,$iarr) && isset($item)) $iarr[] = $item;
if(!in_array($item2,$iarr) && isset($item2)) $iarr[] = $item2;
}
//福袋 鹅鹅鹅鹅鹅鹅鹅鹅鹅鹅鹅鹅鹅鹅
foreach(Array('00','O1','WC','WD','WF','WG','WK','WP','') as $rnm)
{
if(file_exists(config('random'.$rnm,$gamecfg)))
{
include_once config('random'.$rnm,$gamecfg);
foreach(Array('itmlow','itmmedium','itmhigh','antimeta') as $rlvl)
{
$item = explode("\r\n",$$rlvl);
foreach($item as $oi)
{
list($in) = explode(',',$oi);
if(!in_array($in,$iarr)) $iarr[] = $in;
}
}
}
}
//NPC掉落
include_once config('npc',$gamecfg);
include_once config('addnpc',$gamecfg);
include_once config('evonpc',$gamecfg);
$nownpclist = Array();
$nownpclist = array_merge($npcinfo,$anpcinfo,$enpcinfo);
foreach($nownpclist as $npcs)
{
foreach(array('wep','arb','arh','ara','arf','art','itm1','itm2','itm3','itm4','itm5','itm6') as $nipval)
{
if(!empty($npcs['sub']))
{
foreach($npcs['sub'] as $npc)
{
if(isset($npc[$nipval]) && !in_array($npc[$nipval],$iarr)) $iarr[] = $npc[$nipval];
}
}
else
{
if(isset($npcs[$nipval]) && !in_array($npcs[$nipval],$iarr)) $iarr[] = $npcs[$nipval];
}
}
}
//加入些特殊道具
$sp_arr = Array('悲叹之种','面包','矿泉水','秋刀鱼罐头',);
foreach($sp_arr as $spi)
{
if(!in_array($spi,$iarr)) $iarr[] = $spi;
}
$cont = '';
$cont = str_replace('?>','',str_replace('<?','<?php',$checkstr));
$cont .= '$item_namelist = ' . var_export($iarr,1).";\r\n?>";
writeover($in_file, $cont);
chmod($in_file,0777);
echo "成功生成了道具名列表。<br>";
}
else
{
echo "道具名列表已存在,如需要重新生成,请删除{$in_file}后再次打开本页面。<br>";
}
}
?>
...@@ -43,6 +43,11 @@ ...@@ -43,6 +43,11 @@
<td>$lang['urlist_comment']</td> <td>$lang['urlist_comment']</td>
<td>$admin_cmd_list['urlist']</td> <td>$admin_cmd_list['urlist']</td>
</tr> </tr>
<tr height="45px">
<td><input type="submit" style="width:100;height:40;" value="$lang['vnmixlist']" onclick="$('command').value='vnmixlist'" <!--{if $mygroup < $admin_cmd_list['vnmixlist']}-->disabled="true"<!--{/if}-->></td>
<td>$lang['vnmixlist_comment']</td>
<td>$admin_cmd_list['vnmixlist']</td>
</tr>
</table> </table>
</td> </td>
......
<form method="post" name="vnmixlistpage" onsubmit="admin.php">
<input type="hidden" name="mode" value="vnmixlist">
<input type="hidden" id="vncmd" name="vncmd" value="none">
<span class="grey">(回退操作可能存在延迟,如果提交了指令后界面没有变化,请等一会儿再刷新看看。)</span><br>
<!--{if !empty($temp_mixinfo)}-->
<table class="admin">
<tr>
<th><span>提交者</span></th>
<th><span>$stuff_tips[0]</span></th>
<th><span>$stuff_tips[1]</span></th>
<th><span>$stuff_tips[2]</span></th>
<th><span>$stuff_tips[3]</span></th>
<th><span>$stuff_tips[4]</span></th>
<th width="25px"><span></span></th>
<th><span>$result_tips[0]</span></th>
<th width="35px">调整<span></span></th>
</tr>
<!--{loop $temp_mixinfo $key $arr}-->
<tr>
<td style="text-align: center;">$arr['name']</td>
<td style="text-align: center;"><!--{if isset($arr['stuff'][0])}-->$arr['stuff'][0]<!--{else}-->-<!--{/if}--></td>
<td style="text-align: center;"><!--{if isset($arr['stuff'][1])}-->$arr['stuff'][1]<!--{else}-->-<!--{/if}--></span></td>
<td style="text-align: center;"><!--{if isset($arr['stuff'][2])}-->$arr['stuff'][2]<!--{else}-->-<!--{/if}--></span></td>
<td style="text-align: center;"><!--{if isset($arr['stuff'][3])}-->$arr['stuff'][3]<!--{else}-->-<!--{/if}--></span></td>
<td style="text-align: center;"><!--{if isset($arr['stuff'][4])}-->$arr['stuff'][4]<!--{else}-->-<!--{/if}--></td>
<td style="text-align: center;"></td>
<td style="text-align: center;">$arr['result'][0]/$arr['result'][1]/$arr['result'][2]/$arr['result'][3]<!--{if isset($arr['result'][4])}-->/$arr['result'][4]<!--{/if}--></td>
<td width="35px">
<!--<input type="submit" value="编辑" onclick="$('vncmd').value='edit_$key'">-->
<input type="submit" value="回退" onclick="$('vncmd').value='del_$key'">
</td>
</tr>
<!--{/loop}-->
</table>
<!--{else}-->
<br>暂时还没有被采纳的合成!<br>
<!--{/if}-->
</form>
\ No newline at end of file
...@@ -181,11 +181,9 @@ ...@@ -181,11 +181,9 @@
body {background-image: url("../../img/location/34.jpg");background-position: center;} body {background-image: url("../../img/location/34.jpg");background-position: center;}
</style> </style>
<!--{/if}--> <!--{/if}-->
</head> </head>
<BODY <!--{if CURSCRIPT == 'game' && $hotkeyon}-->onkeydown="hotkey(event);"<!--{/if}-->> <BODY <!--{if CURSCRIPT == 'game' && $hotkeyon}-->onkeydown="hotkey(event);"<!--{/if}-->>
<div class="title" >{lang title}</div> <div class="title" >{lang title}</div>
<div class="headerlink" > <div class="headerlink" >
<a href="index.php">>>{lang index}</a> <a href="index.php">>>{lang index}</a>
<!--{if isset($cuser) && isset($cpass)}--><a href="user_profile.php">>>{lang user}</a> <!--{if isset($cuser) && isset($cpass)}--><a href="user_profile.php">>>{lang user}</a>
...@@ -197,9 +195,20 @@ ...@@ -197,9 +195,20 @@
<a href="winner.php">>>{lang winner}</a> <a href="winner.php">>>{lang winner}</a>
<a href="rank.php">>>{lang rank}</a> <a href="rank.php">>>{lang rank}</a>
<a href="help.php">>>{lang help}</a> <a href="help.php">>>{lang help}</a>
<span class="drop"><a>>>{lang vnworld}
<div class="dropdown-menu">
<ul>
<li><a href="vnworld.php">>>空想梦境</a></li>
<li><a href="">>>敬请期待</a></li>
<li><a href="">>>敬请期待</a></li>
</ul>
</div>
</a>
</span>
<a href="admin.php">>>{lang admin}</a> <a href="admin.php">>>{lang admin}</a>
<a href="https://bbs.brdts.online/" target="_blank">>>{lang report}</a> <a href="https://bbs.brdts.online/" target="_blank">>>{lang report}</a>
<a href="https://bbs.brdts.online/?thread-2.htm" target="_blank">>>{lang donate}</a> <a href="https://bbs.brdts.online/?thread-2.htm" target="_blank">>>{lang donate}</a>
</div>
<!-- <a href="$homepage" target="_blank">>>{lang homepage}</a> --> <!-- <a href="$homepage" target="_blank">>>{lang homepage}</a> -->
<!--[if lt IE 7]> <div style=' clear: both; height: 59px; padding:0 0 0 15px; position: relative;'> <a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home?ocid=ie6_countdown_bannercode"><img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0027_Simplified Chinese.jpg" border="0" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." /></a></div> <![endif]--> <!--[if lt IE 7]> <div style=' clear: both; height: 59px; padding:0 0 0 15px; position: relative;'> <a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home?ocid=ie6_countdown_bannercode"><img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0027_Simplified Chinese.jpg" border="0" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." /></a></div> <![endif]-->
<!--{if (CURSCRIPT == 'game' && $pls=='34' && $gamestate<50)}--> <!--{if (CURSCRIPT == 'game' && $pls=='34' && $gamestate<50)}-->
...@@ -208,6 +217,4 @@ ...@@ -208,6 +217,4 @@
<source src="https://res.brdts.online/BGM/mmc-2017-jan-neubruder_mix03.mp3" type="audio/mpeg"> <source src="https://res.brdts.online/BGM/mmc-2017-jan-neubruder_mix03.mp3" type="audio/mpeg">
</audio> </audio>
<!--{/if}--> <!--{/if}-->
</div>
<div> <div>
{template header}
<div id="notice"></div>
<div class="subtitle">空想梦境</div>
<center>
<form method="post" name="vn_postitem" onsubmit="return false;">
<input type="hidden" name="vnmode" id="vnmode" value="none">
<span class="grey"><div id="vmixtips">$vnmix_top_tips</div></span>
<span class="yellow"><div id="vmixc2">所持切糕数:$udata['credits2']</div></span>
<table>
<tr>
<td class="b1" height=20px><span>$stuff_tips[0]</span></td>
<td class="b1"><span>$stuff_tips[1]</span></td>
<td class="b1"><span>$stuff_tips[2]</span></td>
<td class="b1"><span>$stuff_tips[3]</span></td>
<td class="b1"><span>$stuff_tips[4]</span></td>
</tr>
<tr>
<td class="b3">
<input type="text" name="vsname0" list="vsnamelist" value="<!--{if !empty($uvs0)}-->$uvs0<!--{/if}-->" maxlength="30" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<input type="text" name="vsname1" list="vsnamelist" value="<!--{if !empty($uvs1)}-->$uvs1<!--{/if}-->" maxlength="30" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<input type="text" name="vsname2" list="vsnamelist" value="<!--{if !empty($uvs2)}-->$uvs2<!--{/if}-->" maxlength="30" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<input type="text" name="vsname3" list="vsnamelist" value="<!--{if !empty($uvs3)}-->$uvs3<!--{/if}-->" maxlength="30" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<input type="text" name="vsname4" list="vsnamelist" value="<!--{if !empty($uvs4)}-->$uvs4<!--{/if}-->" maxlength="30" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
</tr>
</table>
<br>
<table>
<tr>
<td class="b1" width=20px></td>
<td class="b1"><span>$result_tips[0]</span></td>
<td class="b1"><span>$result_tips[1]</span></td>
<td class="b1"><span>$result_tips[2]</span></td>
<td class="b1"><span>$result_tips[3]</span></td>
<td class="b1"><span>$result_tips[4]</span></td>
<td class="b1"><span>$result_tips[5]</span></td>
<td class="b1"><span>$result_tips[6]</span></td>
<td class="b1"><span>$result_tips[7]</span></td>
<td class="b1"><span>$result_tips[8]</span></td>
</tr>
<tr>
<td class="b3" width=20px></td>
<td class="b3">
<input type="text" name="vrname" list="vsnamelist" value="<!--{if !empty($uvrn)}-->$uvrn<!--{else}-->请输入道具名<!--{/if}-->" maxlength="30" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<select name="vrk">
<!--{loop $temp_vn_iteminfo $k $info}-->
<option value="$k" <!--{if $k===$uvrk}-->selected<!--{/if}-->>$info
<!--{/loop}-->
</select>
</td>
<td class="b3">
<input type="number" name="vre" style="width:45px" value="$uvre" min="1" max="16777214" oninput="if(value>16777214)value=16777214;if(value<1)value=1" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<input type="number" name="vrs" style="width:45px" value="$uvrs" min="0" max="65535" oninput="if(value>65535)value=65535;if(value<0)value=0" onkeydown="if(event.keyCode==13){event.preventDefault();}">
</td>
<td class="b3">
<select name="vrsk0">
<!--{loop $temp_vn_itemspkinfo $sk $skinfo}-->
<option value="$sk" <!--{if $sk===$uvrsk0}-->selected<!--{/if}-->>$skinfo
<!--{/loop}-->
</select>
</td>
<td class="b3">
<select name="vrsk1">
<!--{loop $temp_vn_itemspkinfo $sk $skinfo}-->
<option value="$sk" <!--{if $sk===$uvrsk1}-->selected<!--{/if}-->>$skinfo
<!--{/loop}-->
</select>
</td>
<td class="b3">
<select name="vrsk2">
<!--{loop $temp_vn_itemspkinfo $sk $skinfo}-->
<option value="$sk" <!--{if $sk===$uvrsk2}-->selected<!--{/if}-->>$skinfo
<!--{/loop}-->
</select>
</td>
<td class="b3">
<select name="vrsk3">
<!--{loop $temp_vn_itemspkinfo $sk $skinfo}-->
<option value="$sk" <!--{if $sk===$uvrsk3}-->selected<!--{/if}-->>$skinfo
<!--{/loop}-->
</select>
</td>
<td class="b3">
<select name="vrsk4">
<!--{loop $temp_vn_itemspkinfo $sk $skinfo}-->
<option value="$sk" <!--{if $sk===$uvrsk4}-->selected<!--{/if}-->>$skinfo
<!--{/loop}-->
</select>
</td>
</tr>
</table>
<!--{if $vnmix_name_assoc}-->
<datalist id="vsnamelist">
<!--{loop $temp_item_namelist $in}-->
<option value="$in">
<!--{/loop}-->
</datalist>
<!--{/if}-->
<br>
<div id="vmixlog">$vmixlog</div>
<div id="vmixprint"></div>
<!--{if isset($editid)}-->
<!--{eval $ep='ep'.$editid;$dp='dp'.$editid;$c1='cs'.$editid.'+1';$c2='cs'.$editid.'+2';}-->
<!--{if ($udata['groupid']>=$vnmix_editor_group||$udata['username']==$gamefounder)}-->
<input type="radio" id="c1" name="exmode" value="$c1"><a onclick="$('c1').click();" href="javascript:void(0);">审核通过</a>
&nbsp;<input type="radio" id="c2" name="exmode"value="$c2"><a onclick="$('c2').click();" href="javascript:void(0);">审核不通过</a>
<!--{/if}-->
&nbsp;<input type="radio" id="ep" name="exmode" value="$ep" checked><a onclick="$('ep').click();" href="javascript:void(0);">编辑</a>
&nbsp;<input type="radio" id="dp" name="exmode" value="$dp"><a onclick="$('dp').click();" href="javascript:void(0);"><span class="red">删除(该操作不可撤销!)</span></a>
<br>
<!--{/if}-->
<br>
<input type="button" value="提交" onClick="$('vnmode').value='postmode';postCmd('vn_postitem','vn_postitem.php');disabled=true;setTimeout(function(){disabled=false;},1000);">
<a href="vnworld.php"><input type="button" value="返回"></a>
<br>
</form>
</center>
{template footer}
\ No newline at end of file
<form method="post" name="vnworld" onsubmit="return false;">
<input type="hidden" name="vnmode" id="vnmode" value="none">
</form>
<div id="vlog">$vtips</div>
所有提交的合成列表(已被采纳的合成不会出现):<br>
<span class="grey">(提交合成可能存在延迟,如果发现页面上没有显示,请等一会儿再刷新看看。)</span><br>
<a href="vn_postitem.php"><input type="button" value="创建一个新的合成"></a>
<br><br>
<!--{if !empty($temp_carr)}-->
<table>
<tr>
<td class="b1" height=20px>$log_tips[1]</td>
<td class="b1" width="20px"></td>
<td class="b1">$stuff_tips[0]</td>
<td class="b1">$stuff_tips[1]</td>
<td class="b1">$stuff_tips[2]</td>
<td class="b1">$stuff_tips[3]</td>
<td class="b1">$stuff_tips[4]</td>
<td class="b1" width="25px"></td>
<td class="b1">$result_tips[0]</td>
<td class="b1">$result_tips[1]</td>
<td class="b1">$result_tips[2]</td>
<td class="b1">$result_tips[3]</td>
<td class="b1">$log_tips[0]</td>
<td class="b1" width="20px">编辑</td>
<td class="b1">$log_tips[2]</td>
</tr>
<!--{loop $temp_carr $cid $cinfo}-->
<tr>
<td class="b3" height=20px >$cinfo['name']</td>
<td class="b3" width="20px"><!--点赞按钮预留位--></td>
<td class="b3"><!--{if isset($cinfo['stuff'][0])}-->$cinfo['stuff'][0]<!--{else}-->-<!--{/if}--></td>
<td class="b3"><!--{if isset($cinfo['stuff'][1])}-->$cinfo['stuff'][1]<!--{else}-->-<!--{/if}--></td>
<td class="b3"><!--{if isset($cinfo['stuff'][2])}-->$cinfo['stuff'][2]<!--{else}-->-<!--{/if}--></td>
<td class="b3"><!--{if isset($cinfo['stuff'][3])}-->$cinfo['stuff'][3]<!--{else}-->-<!--{/if}--></td>
<td class="b3"><!--{if isset($cinfo['stuff'][4])}-->$cinfo['stuff'][4]<!--{else}-->-<!--{/if}--></td>
<td class="b3" width="25px"></td>
<td class="b3">$cinfo['result'][0]</td>
<td class="b3">$temp_vniteminfo[$cinfo['result'][1]]</td>
<td class="b3">$cinfo['result'][2]</td>
<td class="b3">$cinfo['result'][3]</td>
<td class="b3"><!--{if isset($cinfo['spkinfo'])}-->$cinfo['spkinfo']<!--{else}-->-<!--{/if}--></td>
<td class="b3" width="20px">
<!--{if ($cinfo['name']==$udata['username']||$udata['groupid']>=$vnmix_editor_group||$udata['username']==$gamefounder) && $cinfo['status']!=1}-->
<form method="post" action="vn_postitem.php" name="vn_postitem" onsubmit="vn_postitem.php" style="margin: 0px">
<input type="hidden" name="editor" value="$cinfo['name']">
<input type="hidden" name="editid" value="$cid">
<input type="submit" name="vnmode" value="编辑">
</form>
<!--{/if}-->
</td>
<td class="b3">$check_tips[$cinfo['status']]</td>
</tr>
<!--{/loop}-->
</table>
<!--{else}-->
<br>暂时还没有人提交过合成!<br>
<!--{/if}-->
\ No newline at end of file
{template header}
<div id="notice"></div>
<div class="subtitle">空想梦境</div>
<center>
<div class="clearfix">
<table border="1" cellspacing="0" cellpadding="0" valign="middle">
<tr>
<td>
<IMG width=140px src="$vnworld_img" valign="middle"/>
</td>
<td style="padding: 1% 1%;">
<span class="evergreen">$vnworld_notice</span>
</td>
</tr>
</table>
</div>
<div id="vnlogs">{template vn_records}</div>
</center>
{template footer}
\ No newline at end of file
This diff is collapsed.
<?php
define('CURSCRIPT', 'vnworld');
require './include/common.inc.php';
require config('vnworld',$gamecfg);
/*** 登陆检测 ***/
if(!$cuser||!$cpass) { gexit($_ERROR['no_login'],__file__,__line__); }
$result = $db->query("SELECT * FROM {$tablepre}users WHERE username='$cuser'");
if(!$db->num_rows($result)) { gexit($_ERROR['login_check'],__file__,__line__); }
$udata = $db->fetch_array($result);
if($udata['password'] != $cpass) { gexit($_ERROR['wrong_pw'], __file__, __line__); }
if($udata['groupid'] <= 0) { gexit($_ERROR['user_ban'], __file__, __line__); }
/*** 登陆检测结束 ***/
/*** 页面判定部分 ***/
$vtips = isset($_GET['vtips']) ? $check_infos[$_GET['vtips']] : '';
if(!isset($vnmode)){$vnmode = 'none';}
global $gamefounder;
if($vnmode=='none')
{
//读取提交过的历史记录。
$cache_file = config('queue_vnmixitem',$gamecfg);
if(file_exists($cache_file))
{
$temp_vniteminfo = $vn_iteminfo + $vn_gm_iteminfo;
require($cache_file);
if(isset($carr))
{
$temp_carr = $carr;
foreach($temp_carr as $cid => $cinfo)
{
if(isset($cinfo['result'][4]) && is_array($cinfo['result'][4]))
{
foreach($cinfo['result'][4] as $sk)
{
if(!empty($temp_carr[$cid]['spkinfo'])) $temp_carr[$cid]['spkinfo'] .= '+'.parse_itm_desc($sk,'sk');
else $temp_carr[$cid]['spkinfo'] = parse_itm_desc($sk,'sk');
}
}
}
}
}
include template('vnworld');
}
?>
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