Tokiwa Battle Royale  GE777
A PHP Battle Royale inspired game
 All Data Structures Namespaces Files Functions Variables Pages
search.func.php
Go to the documentation of this file.
1 <?php
2 
3 if(!defined('IN_GAME')) {
4  exit('Access Denied');
5 }
6 
7 function move($moveto = 99) {
8  global $lvl,$log,$pls,$plsinfo,$inf,$hp,$mhp,$sp,$def,$club,$arealist,$areanum,$hack,$areainfo,$gamestate,$pose,$weather;
9  global $gamestate;
10  $f=false;
11  if ($pls==34 && $gamestate<50) $f=true;
12  if ($moveto==34 && $gamestate<50) $f=true;
13  $plsnum = sizeof($plsinfo);
14  if(($moveto == 'main')||($moveto < 0 )||($moveto >= $plsnum)){
15  $log .= '请选择正确的移动地点。<br>';
16  return;
17  } elseif($pls == $moveto){
18  $log .= '相同地点,不需要移动。<br>';
19  return;
20  } elseif(array_search($moveto,$arealist) <= $areanum && !$hack){
21  $log .= $plsinfo[$moveto].'是禁区,还是离远点吧!<br>';
22  return;
23  }
24 
25 
26  //足部受伤,20;足球社,12;冻伤,30;正常,15;去gamecfg里改吧
27  $movesp = 15;
28  if ($inf) {
29  global $inf_move_sp;
30  foreach ($inf_move_sp as $inf_ky => $sp_down) {
31  if(strpos($inf,$inf_ky)!==false){$movesp+=$sp_down;}
32  }
33  }
34  //if(strpos($inf, 'f') !== false){ $movesp += 5; }
35  //if(strpos($inf, 'i') !== false){ $movesp += 15; }
36  if($club == 6){
37  if($lvl>=20){
38  $movesp -= 14;
39  }else{
40  $movesp -= 10+floor($lvl/5);
41  }
42  }
43 
44 
45  if($sp <= $movesp){
46  $log .= "体力不足,不能移动!<br>还是先睡会儿吧!<br>";
47  return;
48  }
49 
50  $sp -= $movesp;
51  $moved = false;
52  if($weather == 11) {//龙卷风
53  if($hack){$pls = rand(0,sizeof($plsinfo)-1);}
54  else {$pls = rand($areanum+1,sizeof($plsinfo)-1);$pls=$arealist[$pls];}
55  $log = ($log . "龙卷风把你吹到了<span class=\"yellow\">$plsinfo[$pls]</span>!<br>");
56  $moved = true;
57  } elseif($weather == 13) {//冰雹
58  $damage = round($mhp/12) + rand(0,20);
59  $hp -= $damage;
60  $log .= "被<span class=\"blue\">冰雹</span>击中,生命减少了<span class=\"red\">$damage</span>点!<br>";
61  if($hp <= 0 ) {
62  include_once GAME_ROOT.'./include/state.func.php';
63  death('hsmove');
64  return;
65 // } else {
66 // $pls = $moveto;
67 // $log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">$plsinfo[$pls]</span>。<br>";
68  }
69  } elseif($weather == 14){//离子暴
70  $dice = rand(0,8);
71  if($dice ==0 && strpos($inf,'e')===false){
72  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
73  $inf = str_replace('e','',$inf);
74  $inf .= 'e';
75  }elseif($dice ==1 && strpos($inf,'w')===false){
76  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
77  $inf = str_replace('w','',$inf);
78  $inf .= 'w';
79  }elseif($dice ==2 && (strpos($inf,'w')===false || strpos($inf,'e')===false)){
80  if (strpos($inf,'w')===false)
81  {
82  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
83  $inf = str_replace('w','',$inf);
84  $inf .= 'w';
85  }
86  if (strpos($inf,'e')===false)
87  {
88  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
89  $inf = str_replace('e','',$inf);
90  $inf .= 'e';
91  }
92  }else{
93  $log .= "空气中充斥着狂暴的电磁波……<br>";
94  }
95  } elseif($weather == 15){//辐射尘
96  $dice = rand(0,3);
97  if($dice == 0){
98  $mhpdown = rand(4,8);
99  if($mhp > $mhpdown){
100  $log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你的生命上限减少了<span class=\"red\">{$mhpdown}</span>点!<br>";
101  $mhp -= $mhpdown;
102  if($hp > $mhp){$hp = $mhp;}
103  }
104  }elseif ($dice==1 && strpos($inf,'p')===false){
105  $log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你<span class=\"purple\">中毒</span>了!<br>";
106  $inf = str_replace('p','',$inf);
107  $inf .= 'p';
108  }else{
109  $log .= "空气中弥漫着放射性尘埃……<br>";
110  }
111  } elseif($weather == 16){//臭氧洞
112  $dice = rand(0,7);
113  if($dice <= 3){
114  $defdown = rand(4,8);
115  if($def > $defdown){
116  $log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你的防御力减少了<span class=\"red\">{$defdown}</span>点!<br>";
117  $def -= $defdown;
118  }
119  }elseif($dice <=5 && strpos($inf,'u')===false){
120  $log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你<span class=\"red\">烧伤</span>了!<br>";
121  $inf = str_replace('u','',$inf);
122  $inf .= 'u';
123  }else{
124  $log .= "高强度的紫外线灼烧着大地……<br>";
125  }
126  }
127  if(!$moved) {
128  $pls = $moveto;
129  $log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">$plsinfo[$pls]</span>。<br>";
130  }else{$f=false;}
131 
132 
133  if($inf){
134  global $infwords,$inf_move_hp;
135  foreach ($inf_move_hp as $inf_ky => $o_dmg) {
136  if(strpos($inf,$inf_ky)!==false){
137  $damage = round($mhp * $o_dmg) + rand(0,15);
138  $hp -= $damage;
139  $log .= "{$infwords[$inf_ky]}减少了<span class=\"red\">$damage</span>点生命!<br>";
140  if($hp <= 0 ){
141  include_once GAME_ROOT.'./include/state.func.php';
142  death($inf_ky.'move');
143  return;
144  }
145  }
146  }
147  }
148 
149  $log .= $areainfo[$pls].'<br>';
150  if ($f) {
151  if (CURSCRIPT !== 'botservice') $log.="<span id=\"HsUipfcGhU\"></span>"; //刷新页面标记
152  return;
153  }
154  $enemyrate = 40;
155  if($gamestate == 40){$enemyrate += 20;}
156  elseif($gamestate == 50){$enemyrate += 40;}
157  if($pose==3){$enemyrate -= 20;}
158  elseif($pose==4){$enemyrate += 10;}
159  discover($enemyrate);
160  /*
161  $enemyrate = 70;
162  if($gamestate == 40){$enemyrate += 10;}
163  elseif($gamestate == 50){$enemyrate += 15;}
164  if($pose==3){$enemyrate -= 20;}
165  elseif($pose==4){$enemyrate += 10;}
166  discover($enemyrate);
167  */
168  return;
169 
170 }
171 
172 function search(){
173  global $lvl,$log,$pls,$arealist,$areanum,$hack,$plsinfo,$club,$sp,$gamestate,$pose,$weather,$hp,$mhp,$def,$inf;
174 
175 
176  if(array_search($pls,$arealist) <= $areanum && !$hack){
177  $log .= $plsinfo[$pls].'是禁区,还是赶快逃跑吧!<br>';
178  return;
179  }
180 
181  //腕部受伤,20;冻伤:30;侦探社,12;正常,15;改到gamecfg
182  $schsp =15;
183  if ($inf) {
184  global $inf_search_sp;
185  foreach ($inf_search_sp as $inf_ky => $sp_down) {
186  if(strpos($inf,$inf_ky)!==false){$schsp+=$sp_down;}
187  }
188  }
189  //if(strpos($inf, 'a') !== false){ $schsp += 5; }
190  //if(strpos($inf, 'i') !== false){ $schsp += 15; }
191  if($club == 6){
192  if($lvl>=20){
193  $schsp -= 14;
194  }else{
195  $schsp -= 10+floor($lvl/5);
196  }
197  }
198 
199 
200  if($sp <= $schsp){
201  $log .= "体力不足,不能探索!<br>还是先睡会儿吧!<br>";
202  return;
203  }
204 
205  if($weather == 11) {//龙卷风
206  if($hack){$pls = rand(0,sizeof($plsinfo)-1);}
207  else {$pls = rand($areanum+1,sizeof($plsinfo)-1);$pls=$arealist[$pls];}
208  $log = ($log . "龙卷风把你吹到了<span class=\"yellow\">$plsinfo[$pls]</span>!<br>");
209  $moved = true;
210  } elseif($weather == 13) {//冰雹
211  $damage = round($mhp/12) + rand(0,20);
212  $hp -= $damage;
213  $log .= "被<span class=\"blue\">冰雹</span>击中,生命减少了<span class=\"red\">$damage</span>点!<br>";
214  if($hp <= 0 ) {
215  include_once GAME_ROOT.'./include/state.func.php';
216  death('hsmove');
217  return;
218 // } else {
219 // $pls = $moveto;
220 // $log .= "消耗<span class=\"yellow\">{$movesp}</span>点体力,移动到了<span class=\"yellow\">$plsinfo[$pls]</span>。<br>";
221  }
222  } elseif($weather == 14){//离子暴
223  $dice = rand(0,8);
224  if($dice ==0 && strpos($inf,'e')===false){
225  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
226  $inf = str_replace('e','',$inf);
227  $inf .= 'e';
228  }elseif($dice ==1 && strpos($inf,'w')===false){
229  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
230  $inf = str_replace('w','',$inf);
231  $inf .= 'w';
232  }elseif($dice ==2 && (strpos($inf,'w')===false || strpos($inf,'e')===false)){
233  if (strpos($inf,'w')===false)
234  {
235  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"grey\">混乱</span>了!<br>";
236  $inf = str_replace('w','',$inf);
237  $inf .= 'w';
238  }
239  if (strpos($inf,'e')===false)
240  {
241  $log .= "空气中充斥着的<span class=\"linen\">狂暴电磁波</span>导致你<span class=\"yellow\">身体麻痹</span>了!<br>";
242  $inf = str_replace('e','',$inf);
243  $inf .= 'e';
244  }
245  }else{
246  $log .= "空气中充斥着狂暴的电磁波……<br>";
247  }
248  } elseif($weather == 15){//辐射尘
249  $dice = rand(0,3);
250  if($dice == 0){
251  $mhpdown = rand(4,8);
252  if($mhp > $mhpdown){
253  $log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你的生命上限减少了<span class=\"red\">{$mhpdown}</span>点!<br>";
254  $mhp -= $mhpdown;
255  if($hp > $mhp){$hp = $mhp;}
256  }
257  }elseif ($dice==1 && strpos($inf,'p')===false){
258  $log .= "空气中弥漫着的<span class=\"green\">放射性尘埃</span>导致你<span class=\"purple\">中毒</span>了!<br>";
259  $inf = str_replace('p','',$inf);
260  $inf .= 'p';
261  }else{
262  $log .= "空气中弥漫着放射性尘埃……<br>";
263  }
264  } elseif($weather == 16){//臭氧洞
265  $dice = rand(0,7);
266  if($dice <= 3){
267  $defdown = rand(4,8);
268  if($def > $defdown){
269  $log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你的防御力减少了<span class=\"red\">{$defdown}</span>点!<br>";
270  $def -= $defdown;
271  }
272  }elseif($dice <=5 && strpos($inf,'u')===false){
273  $log .= "高强度的<span class=\"purple\">紫外线照射</span>导致你<span class=\"red\">烧伤</span>了!<br>";
274  $inf = str_replace('u','',$inf);
275  $inf .= 'u';
276  }else{
277  $log .= "高强度的紫外线灼烧着大地……<br>";
278  }
279  }
280 
281  $sp -= $schsp;
282  $log .= "消耗<span class=\"yellow\">{$schsp}</span>点体力,你搜索着周围的一切。。。<br>";
283  if($inf){
284  global $infwords,$inf_search_hp;
285  foreach ($inf_search_hp as $inf_ky => $o_dmg) {
286  if(strpos($inf,$inf_ky)!==false){
287  $damage = round($mhp * $o_dmg) + rand(0,10);
288  $hp -= $damage;
289  $log .= "{$infwords[$inf_ky]}减少了<span class=\"red\">$damage</span>点生命!<br>";
290  if($hp <= 0 ){
291  include_once GAME_ROOT.'./include/state.func.php';
292  death($inf_ky.'move');
293  return;
294  }
295  }
296  }
297  }
298 
299  /*if(strpos($inf, 'p') !== false){
300  $damage = round($mhp/32) + rand(0,5);
301  $hp -= $damage;
302  $log .= "<span class=\"purple\">毒发</span>减少了<span class=\"red\">$damage</span>点生命!<br>";
303  if($hp <= 0 ){
304  include_once GAME_ROOT.'./include/state.func.php';
305  death('pmove');
306  return;
307  }
308  }
309  if(strpos($inf, 'u') !== false){
310  $damage = round($mhp/32) + rand(0,15);
311  $hp -= $damage;
312  $log .= "<span class=\"yellow\">烧伤发作</span>减少了<span class=\"red\">$damage</span>点生命!<br>";
313  if($hp <= 0 ){
314  include_once GAME_ROOT.'./include/state.func.php';
315  death('umove');
316  return;
317  }
318  }*/
319  $enemyrate = 40;
320  if($gamestate == 40){$enemyrate += 20;}
321  elseif($gamestate == 50){$enemyrate += 30;}
322  if($pose==3){$enemyrate -= 20;}
323  elseif($pose==4){$enemyrate += 10;}
324  discover($enemyrate);
325 // $log .= '遇敌率'.$enemyrate.'%<br>';
326 // if(($gamestate>=40)&&($pose!=3)) {
327 // discover(75);
328 // } else {
329 // discover(30);
330 // }
331  return;
332 
333 }
334 
335 function discover($schmode = 0) {
336  global $art,$pls,$now,$log,$mode,$command,$cmd,$event_obbs,$weather,$pls,$club,$pose,$tactic,$inf,$item_obbs,$enemy_obbs,$trap_min_obbs,$trap_max_obbs,$bid,$db,$tablepre,$gamestate,$corpseprotect,$action,$skills,$rp,$aidata;
337  $event_dice = rand(0,99);
338  if(($event_dice < $event_obbs)||(($art!="Untainted Glory")&&($pls==34)&&($gamestate != 50))){
339  include_once GAME_ROOT.'./include/game/event.func.php';
340  event();
341  $mode = 'command';
342  return;
343  }
344 
345  include_once GAME_ROOT. './include/game/aievent.func.php';//AI事件
346  $aidata = false;//用于判断天然呆AI(冴冴这样的)是否已经来到你身后并且很生气
347  aievent(20);//触发AI事件的概率
348  if(is_array($aidata)){
349  include_once GAME_ROOT.'./include/game/attr.func.php';
350  $active_r = get_active_r($weather,$pls,$pose,$tactic,$club,$inf,$aidata['pose']);
351  include_once GAME_ROOT.'./include/game/clubskills.func.php';
352  $active_r *= get_clubskill_bonus_active($club,$skills,$aidata['club'],$aidata['skills']);
353  if ($active_r>96) $active_r=96;
354  $bid = $aidata['pid'];
355  $active_dice = rand(0,99);
356  if($active_dice < $active_r) {
357  $action = 'enemy'.$aidata['pid'];
358  include_once GAME_ROOT.'./include/game/battle.func.php';
359  findenemy($aidata);
360  return;
361  } else {
362  include_once GAME_ROOT.'./include/game/combat.func.php';
363  combat(0);
364  return;
365  }
366 
367 
368  }
369 
370  $trap_dice=rand(0,99);//随机数,开始判断是否踩陷阱
371  if($trap_dice < $trap_max_obbs){ //踩陷阱概率最大值
372  $trapresult = $db->query("SELECT * FROM {$tablepre}maptrap WHERE pls = '$pls' ORDER BY itmk DESC");
373 // $traplist = Array();
374 // while($trap0 = $db->fetch_array($result)){
375 // $traplist[$trap0['tid']] = $trap0;
376 // if($trap0['itmk'] == 'TOc'){
377 // $xtrap = true;
378 // $xtrapid = $
379 // }
380 // }
381  $xtrp = $db->fetch_array($trapresult);
382  $xtrpflag = false;
383  //echo $xtrp['itm'];
384  if($xtrp['itmk'] == 'TOc'){
385  $xtrpflag = true;
386  }
387  $trpnum = $db->num_rows($trapresult);
388  if($trpnum){//看地图上有没有陷阱
389  //echo "踩陷阱概率:{$real_trap_obbs}%";
390  if($xtrpflag){
391  global $itm0,$itmk0,$itme0,$itms0,$itmsk0;
392  $itm0=$xtrp['itm'];
393  $itmk0=$xtrp['itmk'];
394  $itme0=$xtrp['itme'];
395  $itms0=$xtrp['itms'];
396  $itmsk0=$xtrp['itmsk'];
397  $tid = $xtrp['tid'];
398  $db->query("DELETE FROM {$tablepre}maptrap WHERE tid='$tid'");
399  include_once GAME_ROOT.'./include/game/itemmain.func.php';
400  itemfind();
401  return;
402  }else{
403  $real_trap_obbs = $trap_min_obbs + $trpnum/4;
404  //Anti-Meta RP System Version 2.00 ~ Nemo
405  //冴冴我喜欢你!
406  //17rp/177rp+1%
407  if($gamestate >= 50) {$real_trap_obbs = $real_trap_obbs + $rp / 177; }
408  else{ $real_trap_obbs = $real_trap_obbs + $rp/30; }
409  if($pose==1){$real_trap_obbs+=1;}
410  elseif($pose==3){$real_trap_obbs+=3;}//攻击和探索姿势略容易踩陷阱
411  if($gamestate >= 40){$real_trap_obbs+=3;}//连斗以后略容易踩陷阱
412  if($pls == 0){$real_trap_obbs+=15;}//在后台非常容易踩陷阱
413  if($club == 6){$real_trap_obbs-=5;}//人肉搜索称号遭遇陷阱概率减少
414  if($trap_dice < $real_trap_obbs){//踩陷阱判断
415  $itemno = rand(0,$trpnum-1);
416  $db->data_seek($trapresult,$itemno);
417  $mi=$db->fetch_array($trapresult);
418  global $itm0,$itmk0,$itme0,$itms0,$itmsk0;
419  $itm0=$mi['itm'];
420  $itmk0=$mi['itmk'];
421  $itme0=$mi['itme'];
422  $itms0=$mi['itms'];
423  $itmsk0=$mi['itmsk'];
424  $tid=$mi['tid'];
425  $db->query("DELETE FROM {$tablepre}maptrap WHERE tid='$tid'");
426  if($itms0){
427  include_once GAME_ROOT.'./include/game/itemmain.func.php';
428  itemfind();
429  return;
430  }
431  }
432  }
433  }
434  }
435 // $trap_dice = rand(0,99);
436 // if($pose==1){$trap_dice-=5;}
437 // elseif($pose==3){$trap_dice-=8;}//攻击和探索姿势略容易踩陷阱
438 // if($gamestate >= 40){$trap_dice-=5;}//连斗以后略容易踩陷阱
439 // if($trap_dice < $trap_obbs){
440 // $result = $db->query("SELECT * FROM {$tablepre}{$pls}mapitem WHERE itmk = 'TO'");
441 // $trpnum = $db->num_rows($result);
442 // if($trpnum){
443 // $itemno = rand(0,$trpnum-1);
444 // $db->data_seek($result,$itemno);
445 // $mi=$db->fetch_array($result);
446 // global $itm0,$itmk0,$itme0,$itms0,$itmsk0;
447 // $itm0=$mi['itm'];
448 // $itmk0=$mi['itmk'];
449 // $itme0=$mi['itme'];
450 // $itms0=$mi['itms'];
451 // $itmsk0=$mi['itmsk'];
452 // $iid=$mi['iid'];
453 // $db->query("DELETE FROM {$tablepre}{$pls}mapitem WHERE iid='$iid'");
454 // if($itms0){
455 // include_once GAME_ROOT.'./include/game/itemmain.func.php';
456 // itemfind();
457 // return;
458 // }
459 // }
460 // }
461  include_once GAME_ROOT.'./include/game/attr.func.php';
462 
463  $mode_dice = rand(0,99);
464  if($mode_dice < $schmode) {
465  global $pid,$corpse_obbs,$teamID,$fog,$bid,$gamestate;
466 // if($gamestate < 40) {
467 // $result = $db->query("SELECT * FROM {$tablepre}players WHERE pls='$pls' AND pid!='$pid' AND pid!='$bid'");
468 // } else {
469 // $result = $db->query("SELECT * FROM {$tablepre}players WHERE pls='$pls' AND pid!='$pid'");
470 // }
471  $result = $db->query("SELECT * FROM {$tablepre}players WHERE pls='$pls' AND pid!='$pid'");
472  if(!$db->num_rows($result)){
473  $log .= '<span class="yellow">周围一个人都没有。</span><br>';
474  if(CURSCRIPT == 'botservice') echo "noenemy=1\n";
475  $mode = 'command';
476  return;
477  }
478 
479  $enemynum = $db->num_rows($result);
480  $enemyarray = range(0, $enemynum - 1);
481  shuffle($enemyarray);
482  $find_r = get_find_r($weather,$pls,$pose,$tactic,$club,$inf);
483  $find_obbs = $enemy_obbs + $find_r;
484 
485  foreach($enemyarray as $enum){
486  $db->data_seek($result, $enum);
487  $edata = $db->fetch_array($result);
488  if(!$edata['type'] || $gamestate < 50){
489  if($edata['hp'] > 0) {
490  global $art,$artk,$name;
491  if ((!$edata['type'])&&($artk=='XX')&&(($edata['artk']!='XX')||($edata['art']!=$name))&&($gamestate<50)){
492  continue;
493  }
494  if (($artk!='XX')&&($edata['artk']=='XX')&&($gamestate<50)){
495  continue;
496  }
497  $hide_r = get_hide_r($weather,$pls,$edata['pose'],$edata['tactic'],$edata['club'],$edata['inf']);
498  include_once GAME_ROOT.'./include/game/clubskills.func.php';
499  $hide_r *= get_clubskill_bonus_hide($edata['club'],$edata['skills']);
500  $enemy_dice = rand(0,99);
501  if($enemy_dice < ($find_obbs - $hide_r)) {
502  if($teamID&&(!$fog)&&($gamestate<40)&&($teamID == $edata['teamID'])){
503  $bid = $edata['pid'];
504  $action = 'team'.$edata['pid'];
505  include_once GAME_ROOT.'./include/game/battle.func.php';
506  findteam($edata);
507  return;
508  } else {
509  $active_r = get_active_r($weather,$pls,$pose,$tactic,$club,$inf,$edata['pose']);
510  include_once GAME_ROOT.'./include/game/clubskills.func.php';
511  $active_r *= get_clubskill_bonus_active($club,$skills,$edata['club'],$edata['skills']);
512  if ($active_r>96) $active_r=96;
513  $bid = $edata['pid'];
514  $active_dice = rand(0,99);
515  if($active_dice < $active_r) {
516  $action = 'enemy'.$edata['pid'];
517  include_once GAME_ROOT.'./include/game/battle.func.php';
518  findenemy($edata);
519  return;
520  } else {
521  if (CURSCRIPT == 'botservice')
522  {
523  echo "passive_battle=1\n";
524  echo "passive_w_name={$edata['name']}\n";
525  echo "passive_w_type={$edata['type']}\n";
526  echo "passive_w_sNo={$edata['sNo']}\n";
527  }
528  include_once GAME_ROOT.'./include/game/combat.func.php';
529  combat(0);
530  return;
531  }
532  }
533  }else{
534  $hideflag = true;
535  }
536  } else {
537  $corpse_dice = rand(0,99);
538  if($corpse_dice < $corpse_obbs) {
539 
540  if($gamestate <40 && $edata['endtime'] < $now - $corpseprotect && (($edata['weps'] && $edata['wepe'])||($edata['arbs'] && $edata['arbe'])||$edata['arhs']||$edata['aras']||$edata['arfs']||$edata['arts']||$edata['itms0']||$edata['itms1']||$edata['itms2']||$edata['itms3']||$edata['itms4']||$edata['itms5']||$edata['money'])){
541 
542  $bid = $edata['pid'];
543  $action = 'corpse'.$edata['pid'];
544  include_once GAME_ROOT.'./include/game/battle.func.php';
545  findcorpse($edata);
546  return;
547  } else {
548  //这看上去是个bug…… 会导致地图上最后一个兵很难摸到……
549  //改成discover(100)应该就能解决问题…… 但修复了可能导致平衡性问题…… 所以暂时留在这……
550  discover(50);
551  return;
552  }
553  }
554  }
555  }
556  }
557  if($hideflag == true){
558  $log .= '似乎有人隐藏着……<br>';
559  }else{
560  $log .= '<span class="yellow">周围一个人都没有。</span><br>';
561  }
562  $mode = 'command';
563  return;
564  } else {
565  $find_r = get_find_r($weather,$pls,$pose,$tactic,$club,$inf);
566  $find_obbs = $item_obbs + $find_r;
567  $item_dice = rand(0,99);
568  if($item_dice < $find_obbs) {
569  //$mapfile = GAME_ROOT."./gamedata/mapitem/{$pls}mapitem.php";
570  //$mapitem = openfile($mapfile);
571  //$itemnum = sizeof($mapitem) - 1;
572 // $result = $db->query("SELECT * FROM {$tablepre}mapitem WHERE map='$pls'");
573 // $itemnum = $db->num_rows($result);
574  $result = $db->query("SELECT * FROM {$tablepre}mapitem WHERE pls = '$pls'");
575  $itemnum = $db->num_rows($result);
576  if($itemnum <= 0){
577  $log .= '<span class="yellow">周围找不到任何物品。</span><br>';
578  $mode = 'command';
579  return;
580  }
581  $itemno = rand(0,$itemnum-1);
582  $db->data_seek($result,$itemno);
583  $mi=$db->fetch_array($result);
584  global $itm0,$itmk0,$itme0,$itms0,$itmsk0;
585  $itm0=$mi['itm'];
586  $itmk0=$mi['itmk'];
587  $itme0=$mi['itme'];
588  $itms0=$mi['itms'];
589  $itmsk0=$mi['itmsk'];
590  $iid=$mi['iid'];
591  $db->query("DELETE FROM {$tablepre}mapitem WHERE iid='$iid'");
592  //list($itm0,$itmk0,$itme0,$itms0,$itmsk0) = explode(',', $mapitem[$itemno]);
593  //array_splice($mapitem,$itemno,1);
594  //writeover($mapfile,implode('', $mapitem),'wb');
595  //unset($mapitem);
596 
597  if($itms0){
598  include_once GAME_ROOT.'./include/game/itemmain.func.php';
599  itemfind();
600  return;
601  } else {
602  $log .= "但是什么都没有发现。可能是因为道具有天然呆属性。<br>";
603  }
604  } else {
605  $log .= "但是什么都没有发现。<br>";
606  }
607  }
608  $mode = 'command';
609  return;
610 
611 }
612 
613 
614 
615 ?>
$inf
Definition: botservice.php:49
$tablepre
Definition: config.inc.php:58
if(!defined('IN_GAME')) aievent($rate)
Definition: aievent.func.php:6
if(!defined('IN_GAME')) findenemy(&$w_pdata)
Definition: battle.func.php:9
get_active_r($weather=0, $pls=0, $pose=0, $tactic=0, $club=0, $inf= '', $wpose=0)
Definition: attr.func.php:51
$inf_search_sp
Definition: gamecfg_1.php:103
$trap_min_obbs
Definition: gamecfg_1.php:84
$areainfo
$event_obbs
Definition: gamecfg_1.php:82
$areanum
Definition: gameinfo.php:9
get_clubskill_bonus_active($aclub, $askl, $bclub, $bskl)
findcorpse(&$w_pdata)
Definition: battle.func.php:80
$corpse_obbs
Definition: gamecfg_1.php:92
findteam(&$w_pdata)
Definition: battle.func.php:45
if(!defined('IN_GAME')) event()
Definition: event.func.php:6
if(!defined('IN_GAME')) move($moveto=99)
Definition: search.func.php:7
search()
itemfind()
$plsinfo
get_find_r($weather=0, $pls=0, $pose=0, $tactic=0, $club=0, $inf= '')
Definition: attr.func.php:17
$corpseprotect
Definition: gamecfg_1.php:26
$inf_move_hp
Definition: gamecfg_1.php:105
if(PHP_VERSION< '4.3.0') $action
Definition: install.php:14
$db
Definition: clear.php:32
$trap_max_obbs
Definition: gamecfg_1.php:86
discover($schmode=0)
【生存者数:<?php echo $alivenum?> 人】< input type="button"value="显示全部幸存者"onClick="$('alivemode').value='all';$('gbmode').value='none';postCmd('alive','alive.php');"></p > if($gamblingon &&$gamestate >=20) elseif($gamblingon &&$gamestate<=10)
Definition: 1_alive.tpl.php:18
const GAME_ROOT
Definition: clear.php:6
$log
Definition: botservice.php:34
$weather
Definition: gameinfo.php:11
$inf_move_sp
Definition: gamecfg_1.php:101
$now
Definition: clear.php:23
$hack
Definition: gameinfo.php:12
$arealist
Definition: gameinfo.php:8
$gamestate
Definition: gameinfo.php:4
const CURSCRIPT
Definition: admin.php:3
$inf_search_hp
Definition: gamecfg_1.php:107
get_hide_r($weather=0, $pls=0, $pose=0, $tactic=0, $club=0, $inf= '')
Definition: attr.func.php:36
$cmd
Definition: botservice.php:51
$enemy_obbs
Definition: gamecfg_1.php:90
$item_obbs
Definition: gamecfg_1.php:88
if(!defined( 'IN_GAME')) death($death, $kname= '', $ktype=0, $annex= '')
Definition: state.func.php:7
if(!$cuser||!$cpass) $result
Definition: admin.php:25
if(!defined( 'IN_GAME')) combat($active=1, $wep_kind= '')
Definition: combat.func.php:7
get_clubskill_bonus_hide($clb, $skl)
$infwords