All pastes #474356 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-06 19:51 UTC
rendered paste body
<?

function defSort ($a, $b) {
    if ($a->DefenseAction == $b->DefenseAction) return 0;
    return ($a->DefenseAction > $b->DefenseAction) ? -1 : 1;
	}
	function atSort ($a, $b) {
    if ($a->StrikeAction == $b->StrikeAction) return 0;
    return ($a->StrikeAction > $b->StrikeAction) ? -1 : 1;
	}
	function covSort ($a, $b) {
    if ($a->CovertAction == $b->CovertAction) return 0;
    return ($a->CovertAction > $b->CovertAction) ? -1 : 1;
	}
	function senSort ($a, $b) {
    if ($a->SentryAction == $b->SentryAction) return 0;
    return ($a->SentryAction > $b->SentryAction) ? -1 : 1;
	}
	function rankFloat ($a, $b) {
    if ($a->RankFloat == $b->RankFloat) return 0;
    return ($a->RankFloat < $b->RankFloat) ? -1 : 1;
	}
	
	include("vsys.php");
	global $conf;
	$users=getNullUsers();
	$num = count($users);
	for ($i = 0; $i <= $num; $i++) {
		$a = $users[$i]->ID;
		$q=mysql_query("insert into `Ranks` (`userID`, `rank`, `strikeActionRank`, `defenceActionRank`, `covertActionRank`, `sentryActionRank`) values ($a, 0, 0, 0, 0, 0)");
	}
	
	$q="update Ranks,UserDetails set rank=0,strikeActionRank=0,defenceActionRank=0,covertActionRank=0,sentryActionRank=0 where userID IN (select ID from UserDetails where active=2 or active=6 or active=5) and Ranks.userID=UserDetails.ID";
	mysql_query($q);
	$users=getBannedUsers("ID");
	$num = count($users);
	for ($i = 0; $i <= $num; $i++) {
		$a = $users[$i]->ID;
		$q="update UserDetails set commander=0 where commander=$a";
		mysql_query($q);
	}
	$time=$conf["days_of_inactivity_before_delete_this_user"]*24*60*60;
	mysql_query("UPDATE `UserDetails` set active='6' WHERE unix_timestamp()-lastTurnTime>$time and active='1'");
	$users=getActiveUsers("ID, race, fortificationLevel, siegeLevel, currentSpySkill, bankSkill, trainedAttackSold, trainedAttackMerc, trainedDefSold, trainedDefMerc, untrainedSold, untrainedMerc, spies, sentries ");
	$multi=1;
	$q=mysql_query("select goldRush from Mercenaries");
	$q=mysql_fetch_row($q);
	$r=mysql_query("select goldRushTime from Mercenaries");
	$r=mysql_fetch_row($r);
	$r=$r[0]*10*60;
	if(time()>$q[0]-$r) {
		echo "<br>Goldrush!<br>";
		$rand=rand(64800,151200);
		//$rand=rand(5400,7200);
		$multi=rand(10,20);
		$rushturn=rand(1,6);
		echo $multi."<br>";
		$next=time()+$rand;
		echo duration2($rand)."<br>";
		$q=mysql_query("update Mercenaries set goldRush=$next, goldRushTime=$rushturn");
	}
	for ($i=0; $i<count($users);$i++){
		//print_r($users[$i]);print "<br>";
		$users[$i]->StrikeAction=getStrikeAction($users[$i]);
		$users[$i]->DefenseAction=getDefenseAction($users[$i]);
		$users[$i]->CovertAction=getCovertAction($users[$i]);
		$users[$i]->SentryAction=getSentryAction($users[$i]);
		$money=getUserIncome($users[$i])*$multi;
		$skill=$users[$i]->bankSkill/2;
		$bank=round($money/50*$skill);
		$money=round($money-$bank);
		updateUser($users[$i]->ID," gold = gold+'$money', bank = bank+'$bank', attackTurns = attackTurns+2, untrainedSold=untrainedSold+currentUnitProduction ");
		//echo getStrikeAction($users[$i])."<br>";
		//echo getDefenseAction($users[$i])."<br>";
		//echo getCovertAction($users[$i])."<br>";
	}
	$users1=$users;
	usort($users1,"atSort");
	//echo "--------------users1---<br>";
	//print_r ($users1);
	$users2=$users;
	usort($users2,"defSort");
	//echo "--------------users2---<br>";
	//print_r ($users2);
	$users3=$users;
	usort($users3,"covSort");
	//echo "--------------users3---<br>";
	//print_r ($users3);
	$users4=$users;
	usort($users4,"senSort");
	
	for ($i=0;$i<count($users1);$i++){
		$usersA[$users1[$i]->ID]->ID=$users1[$i]->ID;
		$usersA[$users1[$i]->ID]->StrikeAction=$i+1;
	}
	for ($i=0;$i<count($users2);$i++){
		$usersA[$users2[$i]->ID]->DefenseAction=$i+1;
	}
	for ($i=0;$i<count($users3);$i++){
		$usersA[$users3[$i]->ID]->CovertAction=$i+1;
	}
	for ($i=0;$i<count($users4);$i++){
		$usersA[$users4[$i]->ID]->SentryAction=$i+1;
		$usersA[$users4[$i]->ID]->RankFloat=($usersA[$users1[$i]->ID]->StrikeAction+$usersA[$users2[$i]->ID]->DefenseAction+$usersA[$users3[$i]->ID]->CovertAction+$usersA[$users4[$i]->ID]->SentryAction)/4;
	}
	usort($usersA,"rankFloat");
	for ($i=0;$i<count($usersA);$i++){
		//echo $usersA[$i]->RankFloat.";;";
		setUserRank($usersA[$i]->ID, $i+1, $usersA[$i]->StrikeAction, $usersA[$i]->DefenseAction , $usersA[$i]->CovertAction , $usersA[$i]->SentryAction);
	}
	setLastTurnTime(time());
	$mercsAmount=mercsAmount();
	$conf['mercenaries_per_turn']=round($mercsAmount[0]->mercs);
	updateMercenary(" attackSpecCount=attackSpecCount+'{$conf['mercenaries_per_turn']}', defSpecCount =defSpecCount +'{$conf['mercenaries_per_turn']}', untrainedCount =untrainedCount +'{$conf['mercenaries_per_turn']}' ");
echo "ok";
// } else { 
//echo "NO access to update rank."; 
//} 
	
?>