Файл: ewar/functions/mutiny.php
Строк: 166
<?php
function getCacheMutiny() {
$cache = readcache('mutiny');
if (!$cache) $cache = setCacheMutiny();
return $cache;
}
function setCacheMutiny() {
$array = array();
$array['game'] = 0;
$array['turn'] = array();
$array['players_on'] = array();
$array['players_off'] = array();
writecache('mutiny', $array);
return $array;
}
function AddTurnMutiny($id) {
$cache = getCacheMutiny();
if (in_array($id, $cache['turn'])) {
$key = array_search($id, $cache['turn']);
unset($cache['turn'][$key]);
writecache('mutiny', $cache);
}
else
{
$cache['turn'][] = $id;
writecache('mutiny', $cache);
}
}
function StartMutiny() {
$cache = getCacheMutiny();
if (count($cache['turn']) < 1) {
return false;
}
$cache['game'] = 1;
$cache['start_time'] = time();
foreach($cache['turn'] as $key => $user) {
$cache_user = mysql_fetch_assoc(mysql_query("SELECT vit, def, agi, nick, statusas, akmuo_time, zole_time, self, str, ability_1, ability_1_quality, ability_2, ability_2_quality, ability_3, ability_3_quality, ability_4, ability_4_quality, ability_5, ability_5_quality FROM vartotojai WHERE id='$user'"));
$cache['players_on'][$user]['battle_hp'] = $cache_user['vit'] * 2;
$cache['players_on'][$user]['other_hp'] = $cache_user['vit'] * 2;
$cache['players_on'][$user]['str'] = $cache_user['str'];
$cache['players_on'][$user]['def'] = $cache_user['def'];
$cache['players_on'][$user]['agi'] = $cache_user['agi'];
$cache['players_on'][$user]['name'] = $cache_user['nick'];
$cache['players_on'][$user]['statusas'] = $cache_user['statusas'];
$cache['players_on'][$user]['akmuo_time'] = $cache_user['akmuo_time'];
$cache['players_on'][$user]['zole_time'] = $cache_user['zole_time'];
$cache['players_on'][$user]['microtime'] = microtime();
$cache['players_on'][$user]['damage_user'] = 0;
$cache['players_on'][$user]['damage'] = 0;
$cache['players_on'][$user]['kill'] = 0;
$cache['players_on'][$user]['standard'] = false;
$cache['players_on'][$user]['target'] = false;
$cache['players_on'][$user]['journal'] = array();
$cache['players_on'][$user]['ability_1'] = $cache_user['ability_1'];
$cache['players_on'][$user]['ability_1_quality'] = $cache_user['ability_1_quality'];
$cache['players_on'][$user]['ability_2'] = $cache_user['ability_2'];
$cache['players_on'][$user]['ability_2_quality'] = $cache_user['ability_2_quality'];
$cache['players_on'][$user]['ability_3'] = $cache_user['ability_3'];
$cache['players_on'][$user]['ability_3_quality'] = $cache_user['ability_3_quality'];
$cache['players_on'][$user]['ability_4'] = $cache_user['ability_4'];
$cache['players_on'][$user]['ability_4_quality'] = $cache_user['ability_4_quality'];
$cache['players_on'][$user]['ability_5'] = $cache_user['ability_5'];
$cache['players_on'][$user]['ability_5_quality'] = $cache_user['ability_5_quality'];
}
$duh_str = 200;
$duh_agi = 200;
$duh_def = 200;
$duh_hp = 1000;
$demon_str = 500;
$demon_agi = 500;
$demon_def = 500;
$demon_hp = 5000;
$cache['duh'][1] = array('name' => '[dvasia*] Gregor', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][2] = array('name' => '[dvasia*] Piter', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][3] = array('name' => '[dvasia*] Manson', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][4] = array('name' => '[dvasia*] Clark', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][5] = array('name' => '[dvasia*] Gib', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][6] = array('name' => '[dvasia*] Nons', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][7] = array('name' => '[dvasia*] Kriptor', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][8] = array('name' => '[dvasia*] Poiro', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][9] = array('name' => '[dvasia*] Vistler', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][10] = array('name' => '[dvasia*] Crop', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][11] = array('name' => '[dvasia*] Yao', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['duh'][12] = array('name' => '[dvasia*] Naomi', 'type' => 1, 'str' => $duh_str, 'hp' => $duh_hp, 'agi' => $duh_agi, 'def' => $duh_def, 'battle_hp' => $duh_hp);
$cache['boss'] = array('name' => '[demonas*]', 'str' => $demon_str, 'hp' => $demon_hp, 'agi' => $demon_agi, 'def' => $demon_def, 'battle_hp' => $demon_hp);
$cache['turn'] = array();
writecache('mutiny', $cache);
}
function getRandomMutiny($array,$id) {
$i = 1;
$sk = count($array);
while($i) {
$id_user = array_rand($array);
if ($id_user != $id && $id_user) {
$i = false;
}
if ($sk == 1) break;
}
return $id_user;
}
function FinalMutiny($cache,$boss) {
if ((count($cache['players_on']) <= 1 && !$boss) or (count($cache['players_on']) == 0) or (time() - $cache['start_time'] > 1200)) {
$best_kill = 0;
$best_kill_user = 0;
$best_damage = 0;
$best_damage_user = 0;
foreach($cache['players_on'] as $key => $value) {
$id_win = $key;
}
if (!isset($id_win)) {
$id_win = false;
}
$on_off = $cache['players_on'] + $cache['players_off'];
foreach($on_off as $key => $value) {
$final_user = mysql_fetch_assoc(mysql_query("SELECT * FROM vartotojai WHERE id='$key'"));
$cache['final_user'][$key] = array();
$cache['final_user'][$key]['kill'] = $value['kill'];
$cache['final_user'][$key]['damage'] = $value['damage'];
if ($value['kill'] > 0) {
$cache['final_user'][$key]['gold'] = $value['kill'] * 2;
}
else
{
$cache['final_user'][$key]['gold'] = 0;
}
if ($value['standard']) {
$cache['final_user'][$key]['standart'] = true;
}
else
{
$cache['final_user'][$key]['standart'] = false;
}
$gold = ($value['standard']) ? $cache['final_user'][$key]['gold'] + 50 : $cache['final_user'][$key]['gold'];
if ($value['kill'] > $best_kill) {
$best_kill = $value['kill'];
$best_kill_user = $key;
}
if ($value['damage'] > $best_damage) {
$best_damage = $value['damage'];
$best_damage_user = $key;
}
}
$cache['game'] = 0;
$cache['final']['standart'] = $id_win;
$cache['final']['best_kill'] = $best_kill;
$cache['final']['best_kill_user'] = $best_kill_user;
$cache['final']['best_damage'] = $best_damage;
$cache['final']['best_damage_user'] = $best_damage_user;
$cache['players_on'] = array();
$cache['players_off'] = array();
$cache_user_final = mysql_fetch_assoc(mysql_query("SELECT * FROM vartotojai WHERE id='".$cache['final']['standart']."'"));
$cache_user_final['standart_time'] = time() + (12 * (60 * 60));
if ($cache_user_final['standart'] == true) {
mysql_query("UPDATE vartotojai SET standart_time='".$cache_user_final['standart_time']."' WHERE id='".$cache['final']['standart']."'");
}
else
{
if($cache_user_final['force'] == 1) {
$cache_user_final['str'] = force($cache_user_final['str']);
}
else
{
$cache_user_final['def'] = force($cache_user_final['def']);
}
mysql_query("UPDATE `vartotojai` SET `str` = '".($cache_user_final['str'] + 200)."', `vit` = `vit` + 200, `agi` = `agi` + 200, `def` = '".($cache_user_final['def'] + 200)."', `standart` = '1', `standart_time` = '".$cache_user_final['standart_time']."', `force_updated` = '0' WHERE `id` = '".$cache['final']['standart']."'");
}
writecache('mutiny', $cache);
header("Location: mutiny.php");
}
}
?>