Tokiwa Battle Royale  GE777
A PHP Battle Royale inspired game
 All Data Structures Namespaces Files Functions Variables Pages
clubslct.func.php
Go to the documentation of this file.
1 <?php
2 if (! defined ( 'IN_GAME' )) {
3  exit ( 'Access Denied' );
4 }
5 
6 function calc($modval, $baseval, $curgid, $curuid, $curpid, $sttime, $vatime)
7 {
8  $curgid%=$modval; $curgid=($curgid*$curgid+$curgid+10234)%$modval;
9  $curuid=(($curuid^183658692)%$modval+$curuid%$modval*1901+999)%$modval;
10  $curpid=(($curpid^10294888)%$modval+$curpid%$modval*$curgid)%$modval;
11  $hashval=(($sttime%$modval*$baseval%$modval)*$baseval+$vatime%$modval)%$modval;
12  $hashval=(($hashval*$curgid+$curuid)%$modval*$baseval+$curpid)%$modval;
13  $hashval^=$vatime; $hashval%=$modval;
14  return $hashval;
15 }
16 
17 function swap(&$a,&$b)
18 {
19  $t=$a; $a=$b; $b=$t;
20 }
21 
22 function getclub($who, &$c1, &$c2, &$c3)
23 {
24  global $db,$tablepre,$starttime,$validtime;
25  $result = $db->query("SELECT gid FROM {$tablepre}winners ORDER BY gid desc LIMIT 1");
26  $t=$db->fetch_array($result); $curgid=$t['gid']+1;
27  $result = $db->query("SELECT uid FROM {$tablepre}users WHERE username='$who'");
28  $t=$db->fetch_array($result); $curuid=$t['uid']+2;
29  $result = $db->query("SELECT pid FROM {$tablepre}players WHERE name='$who' AND type=0");
30  $t=$db->fetch_array($result); $curpid=$result['pid']+3;
31 
32  $c1=calc(12347,10007,$curgid,$curuid,$curpid,$starttime,$validtime);
33  $c1%=6; if ($c1==0) $c1=9; //超能称号为9号
34 
35  $delt=0;
36  while ($delt<=30)
37  {
38  $c2=calc(10009,7789+$delt,$curgid,$curuid,$curpid,$starttime,$validtime);
39  $c2%=5; $c2++; //第二个称号不允许超能
40  if ($c1!=$c2) break;
41  $delt++;
42  }
43  if ($delt>30) if ($c1==1) $c2=2; else $c2=1;
44 
45  $c3=calc(11131,6397,$curgid,$curuid,$curpid,$starttime,$validtime);
46  $clubid = array(6,7,8,99,10,11,13,14,16,18,19,7,99,13,14,18,6,19,13,14,18);
47  $c3%=21; $c3=$clubid[$c3];
48  if ($c1==$c3 || $c2==$c3) $c3=99;
49 
50  if ($c1>$c2) swap($c1,$c2);
51  if ($c1>$c3) swap($c1,$c3);
52  if ($c2>$c3) swap($c2,$c3);
53 }
54 
55 function updateskill()
56 {
57  global $club, $wp, $wk, $wc, $wg, $wd, $wf, $money, $hp, $mhp, $att, $def;
58  if ($club==1) $wp+=30;
59  if ($club==2) $wk+=30;
60  if ($club==3) $wc+=30;
61  if ($club==4) $wg+=30;
62  if ($club==5) $wd+=20;
63  if ($club==9) $wf+=20;
64  if ($club==11) $money+=480;
65  if ($club==16) { $wp+=15; $wk+=15; $wc+=15; $wg+=15; $wd+=15; $wf+=15; }
66  if ($club==13) { $mhp+=200; $hp+=200; }
67  if ($club==14) { $att+=200; $def+=200; }
68 }
69 
70 function selectclub($id)
71 {
72  global $name, $club;
73  if ($club!=0) return 1;
74  if ($id==0) return 2;
75  getclub($name,$c1,$c2,$c3);
76  if ($id==1) { $club=$c1; updateskill(); return 0; }
77  if ($id==2) { $club=$c2; updateskill(); return 0; }
78  if ($id==3) { $club=$c3; updateskill(); return 0; }
79  return 3;
80 }
81 
82 ?>
getclub($who, &$c1, &$c2, &$c3)
$tablepre
Definition: config.inc.php:58
selectclub($id)
$db
Definition: clear.php:32
updateskill()
if(!defined( 'IN_GAME')) calc($modval, $baseval, $curgid, $curuid, $curpid, $sttime, $vatime)
$starttime
Definition: gameinfo.php:5
swap(&$a, &$b)
if(!$cuser||!$cpass) $result
Definition: admin.php:25