2 if(!defined(
'IN_ADMIN')) {
5 if(!isset($command)){$command =
'list';}
7 if(!isset($checkmode)){$checkmode =
'';}
8 if(!isset($checkinfo)){$checkinfo =
'';}
9 if(!isset($pagemode)){$pagemode =
'';}
14 if($command !=
'submitedit'){
19 if($command ==
'kill' || $command ==
'live' || $command ==
'del') {
20 $operlist = $operlist2 = $dfaillist = $gfaillist = array();
22 if(isset(${
'npc_'.$i})) {
23 if(isset($npcdata[
$i]) && $npcdata[$i][
'pid'] == ${
'npc_'.$i}){
24 if($command ==
'kill'){
25 if($npcdata[$i][
'hp'] > 0){
26 $operlist[${
'npc_'.$i}] = $npcdata[
$i][
'name'].
'(PID:'.$npcdata[
$i][
'pid'].
')';
27 $npcdata[
$i][
'hp'] = 0;
28 $npcdata[
$i][
'state'] = 15;
30 adminlog(
'killnpc',$npcdata[$i][
'name']);
32 $gfaillist[] = $npcdata[
$i][
'name'].
'(PID:'.$npcdata[
$i][
'pid'].
')';
34 }
elseif($command ==
'live'){
35 if($npcdata[$i][
'hp'] <= 0){
36 $operlist[${
'npc_'.$i}] = $npcdata[
$i][
'name'].
'(PID:'.$npcdata[
$i][
'pid'].
')';
37 $npcdata[
$i][
'hp'] = $npcdata[
$i][
'mhp'];
38 $npcdata[
$i][
'state'] = 0;
40 adminlog(
'livenpc',$npcdata[$i][
'name']);
42 $gfaillist[] = $npcdata[
$i][
'name'].
'(PID:'.$npcdata[
$i][
'pid'].
')';
44 }
elseif($command ==
'del'){
46 if($npcdata[$i][
'hp'] > 0){
47 $operlist[${
'npc_'.$i}] = $npcdata[
$i][
'name'].
'(PID:'.$npcdata[
$i][
'pid'].
')';
48 $npcdata[
$i][
'hp'] = 0;
49 $npcdata[
$i][
'state'] = 16;
51 adminlog(
'delnpc',$npcdata[$i][
'name']);
53 $operlist2[${
'npc_'.$i}] = $npcdata[
$i][
'name'].
'(PID:'.$npcdata[
$i][
'pid'].
')';
54 adminlog(
'delncp',$npcdata[$i][
'name']);
58 $dfaillist[] = ${
'npc_'.$i};
62 if($operlist || $operlist2 || $dfaillist || $gfaillist){
63 if($command ==
'kill'){
65 $qryword =
"UPDATE {$tablepre}players SET hp='0',state='15' ";
66 }
elseif($command ==
'live'){
68 $qryword =
"UPDATE {$tablepre}players SET hp=mhp,state='0' ";
69 }
elseif($command ==
'del'){
71 $qryword =
"UPDATE {$tablepre}players SET hp='0',state='16',weps='0',arbs='0',arhs='0',aras='0',arfs='0',arts='0',itms0='0',itms1='0',itms2='0',itms3='0',itms4='0',itms5='0',itms6='0',money='0' ";
72 $operword2 =
'的尸体被清除';
73 $qryword2 =
"UPDATE {$tablepre}players SET weps='0',arbs='0',arhs='0',aras='0',arfs='0',arts='0',itms0='0',itms1='0',itms2='0',itms3='0',itms4='0',itms5='0',itms6='0',money='0' ";
76 $qrywhere =
'('.implode(
',',array_keys($operlist)).
')';
77 $opernames = implode(
',',($operlist));
78 $db->query(
"$qryword WHERE pid IN $qrywhere");
80 $cmd_info .=
" NPC $opernames $operword 。<br>";
83 $qrywhere2 =
'('.implode(
',',array_keys($operlist2)).
')';
84 $opernames = implode(
',',($operlist2));
85 $db->query(
"$qryword2 WHERE pid IN $qrywhere2");
87 $cmd_info .=
" NPC $opernames $operword2 。<br>";
90 $gfailnames = implode(
',',($gfaillist));
91 $cmd_info .=
" NPC $gfailnames 已经处于该状态,无法 $operword 。<br>";
94 $dfailnames = implode(
',',($dfaillist));
95 $cmd_info .=
" PID为 $dfailnames 的NPC不存在或位于查询范围外 。<br>";
102 }
elseif(strpos($command ,
'edit')===0) {
103 $pid = explode(
'_',$command);
108 }
elseif(!isset($npcdata[$no]) || $npcdata[$no][
'pid'] != $pid){
111 $result =
$db->query(
"SELECT * FROM {$tablepre}players WHERE pid='$pid' AND type>'0'");
115 $cmd_info =
"找不到角色 ".$npcdata[$no][
'name'].
" 。";
121 $db->query(
"UPDATE {$tablepre}players SET gd='$gd',icon='$icon',club='$club',sNo='$sNo',hp='$hp',mhp='$mhp',sp='$sp',msp='$msp',att='$att',def='$def',pls='$pls',lvl='$lvl',exp='$exp',money='$money',bid='$bid',inf='$inf',rage='$rage',pose='$pose',tactic='$tactic',killnum='$killnum',wp='$wp',wk='$wk',wg='$wg',wc='$wc',wd='$wd',wf='$wf',teamID='$teamID',teamPass='$teamPass',wep='$wep',wepk='$wepk',wepe='$wepe',weps='$weps',wepsk='$wepsk',arb='$arb',arbk='$arbk',arbe='$arbe',arbs='$arbs',arbsk='$arbsk',arh='$arh',arhk='$arhk',arhe='$arhe',arhs='$arhs',arhsk='$arhsk',ara='$ara',arak='$arak',arae='$arae',aras='$aras',arask='$arask',arf='$arf',arfk='$arfk',arfe='$arfe',arfs='$arfs',arfsk='$arfsk',art='$art',artk='$artk',arte='$arte',arts='$arts',artsk='$artsk',itm0='$itm0',itmk0='$itmk0',itme0='$itme0',itms0='$itms0',itmsk0='$itmsk0',itm1='$itm1',itmk1='$itmk1',itme1='$itme1',itms1='$itms1',itmsk1='$itmsk1',itm2='$itm2',itmk2='$itmk2',itme2='$itme2',itms2='$itms2',itmsk2='$itmsk2',itm3='$itm3',itmk3='$itmk3',itme3='$itme3',itms3='$itms3',itmsk3='$itmsk3',itm4='$itm4',itmk4='$itmk4',itme4='$itme4',itms4='$itms4',itmsk4='$itmsk4',itm5='$itm5',itmk5='$itmk5',itme5='$itme5',itms5='$itms5',itmsk5='$itmsk5',itm6='$itm6',itmk6='$itmk6',itme6='$itme6',itms6='$itms6',itmsk6='$itmsk6' where pid='$pid'");
122 if(!
$db->affected_rows()){
130 include
template(
'admin_npcmng');
135 $limitstr =
" LIMIT $start,$showlimit";
136 if(($checkmode ==
'name')&&($checkinfo)) {
137 $result = $db->query(
"SELECT * FROM {$tablepre}players WHERE name LIKE '%{$checkinfo}%' AND type>'0'".$limitstr);
138 }
elseif($checkmode ==
'teamID') {
140 $result = $db->query(
"SELECT * FROM {$tablepre}players WHERE teamID LIKE '%".$checkinfo.
"%' AND type>'0' ORDER BY teamID".$limitstr);
142 $result = $db->query(
"SELECT * FROM {$tablepre}players WHERE type>'0' ORDER BY teamID DESC".$limitstr);
144 }
elseif($checkmode ==
'pls') {
147 foreach($plsinfo as $key => $val){
148 if(strpos($val,$checkinfo)!==
false){
152 if(is_numeric($checkinfo)){$plslist[] = (int)$checkinfo;}
153 if(!empty($plslist)){
154 $plsstr = implode(
',',$plslist);
155 $result = $db->query(
"SELECT * FROM {$tablepre}players WHERE pls IN (".$plsstr.
") AND type>'0' ORDER BY pls".$limitstr);
158 $result = $db->query(
"SELECT * FROM {$tablepre}players WHERE type>'0' ORDER BY pls".$limitstr);
161 $result = $db->query(
"SELECT * FROM {$tablepre}players WHERE type>'0'".$limitstr);
164 $cmd_info =
'没有符合条件的角色。';
166 $resultinfo =
'位置:第'.$startno.
'条记录';
169 while($npc = $db->fetch_array(
$result)) {
173 $endno =
$start + count($npcdata);
174 $resultinfo =
'第'.$startno.
'条-第'.$endno.
'条记录';
getstart($start=0, $mode= '')
if($command!= 'submitedit') if($command== 'kill'||$command== 'live'||$command== 'del') elseif(strpos($command,'edit')===0) elseif($command== 'submitedit')
if(!defined('IN_ADMIN')) if(!isset($command)) if(!isset($start)) if(!isset($checkmode)) if(!isset($checkinfo)) if(!isset($pagemode)) $cmd_info
dbsearch($start, $checkmode, $checkinfo)
if(!$cuser||!$cpass) $result
adminlog($op, $an1='', $an2='', $an3='')