Просмотр файла include/game.php

Размер файла: 7.58Kb
<?

function lvl ($exp) //расчет уровня по экспе - exp(экспа перса)
{
	$c=$exp+20;
	$a=5;
	$b=5;
	$d =$b*$b+4*$a*$c;
	if($d>0) {    $lvl[0]=((-$b+sqrt($d))/(2*$a)); $lvl[1]=((-$b-+sqrt($d))/(2*$a));}
	if($d==0) {$lvl[0]=-$b/(2*$a);}
	if ($lvl[0]>=0){return floor($lvl[0]);}else{return floor($lvl[1]);}
}

function n_lvl_exp ($exp) //расчет экспы для следующего уровня - exp(экспа перса)
{
	$lvl_now=lvl($exp)+1;
	$exp=5*($lvl_now*$lvl_now)+5*$lvl_now-20;
	return $exp;
}



function training_cost ($stat, $type) //расчет стоймости тренировки - stat(сколько статов у перса) type(тип стат)
{
	if ($type=='pow'){$cost=floor(6.386*$stat*$stat-74.33*$stat+222.8); return $cost;}
	if ($type=='def' || $type=='chr'){$cost=floor(4.822*$stat*$stat-53.97*$stat+155.6); return $cost;}
	if ($type=='agi' || $type=='stam'){$cost=floor(2.674*$stat*$stat-27.43*$stat+72.49); return $cost;}
}

function pl_cost ($stat, $type)//расчет стоймости строений в тайнике - stat(сколько статов у перса) type(тип стат)
{
	$stat++;
	if ($type=='house'){$stat=ceil(28.58*pow($stat, 5.181));return $stat;}
	if ($type=='fence'){$stat=ceil(28.58*pow($stat, 4.181));return $stat;}
	if ($type=='road'){$stat=ceil(28.58*pow($stat, 3.181));return $stat;}
	if ($type=='nbh'){$stat=ceil(28.58*pow($stat, 2.181));return $stat;}


}


function cemetery ($speed)//работа на кладбище - speed(продолжительность действия)
{
	$res = mysql_fetch_assoc(count_query("SELECT * FROM user WHERE id = '".$_SESSION['id']."'"));//параметры игрока

	$gold=floor(21.69*pow(lvl($res['exp']),0.915))*$speed;// расчет получения денег
	$exp=ceil($gold/rand(100,200));// расчет получения опыта
	count_query("UPDATE user SET  gold=gold+'$gold', exp=exp+'$exp'  WHERE id = '".$_SESSION['id']."'");
	count_query("INSERT INTO mail (to_id, msg) VALUES ('".$_SESSION['id']."', 'Вы получили деньги и опыт (".$gold."<img src=img/res2.gif alt=Золото align=absmiddle border=0>, ".$exp." exp ) за работу на кладбище.')");
}

function grot ($speed)//пещеры - speed(продолжительность действия)
{
	$res = mysql_fetch_assoc(count_query("SELECT * FROM user WHERE id = '".$_SESSION['id']."'"));//параметры игрока
	$item = count_query("SELECT  item.*, items_p.* FROM items_p RIGHT JOIN item  ON items_p.item_num=item.id WHERE items_p.uid = '".$_SESSION['id']."' AND items_p.stat='on' ");//учет вещей (одетых)
	if($res['pl_grg_t']>time()){$res['ab_def']=ceil($res['ab_def']*1.3);}//время действия купленых фич в тайнике
		while ($item1 = mysql_fetch_assoc($item))
			{
			$res['ab_def']+=$item1['def'];
			}
	$gold=($res['ab_def']*5+lvl($res['exp'])*10)*$speed;// расчет получения денег
	count_query("UPDATE user SET  gold=gold+'$gold'  WHERE id = '".$_SESSION['id']."'");
	$ignicit_chance=ceil(rand(5,35)/$speed);
	$ignicit=0;
		if ($ignicit_chance==6){count_query("UPDATE user SET  ignicit=ignicit+1  WHERE id = '".$_SESSION['id']."'");$ignicit=1; }
	count_query("INSERT INTO mail (to_id, msg) VALUES ('".$_SESSION['id']."', 'Вы получили деньги (".$gold." <img src=img/res2.gif alt=Золото align=absmiddle border=0>) за исследование пещер и ".$ignicit." <img src=img/res3.gif alt=Игницит align=absmiddle border=0>')");
}

function rob ($speed)//людишки - speed(продолжительность действия)
{
	$res = mysql_fetch_assoc(count_query("SELECT * FROM user WHERE id = '".$_SESSION['id']."'"));//параметры игрока
	$item = count_query("SELECT  item.*, items_p.* FROM items_p RIGHT JOIN item  ON items_p.item_num=item.id WHERE items_p.uid = '".$_SESSION['id']."' AND items_p.stat='on' ");//учет вещей (одетых)
		while ($item1 = mysql_fetch_assoc($item))
			{
			$res['ab_agi']+=$item1['agi'];
			$res['ab_chr']+=$item1['chr'];
			}
	$gold=($res['ab_agi']*2+$res['ab_chr']*3+lvl($res['exp'])*20)*$speed;// расчет получения денег
	$prey=rand(1,3);// расчет добычи
	count_query("UPDATE user SET  gold=gold+'$gold', stat_prey=stat_prey+'$prey'  WHERE id = '".$_SESSION['id']."'");
	count_query("INSERT INTO mail (to_id, msg) VALUES ('".$_SESSION['id']."', 'Вы получили деньги (".$gold." <img src=img/res2.gif alt=Золото align=absmiddle border=0>) и добычу.')");

	$item_chance=ceil(rand(5,200)/$speed);// дроп вещи
	$item=rand(1,210);// какой именно вещи
		if ($item_chance==56){
		$model=count_query("SELECT model FROM item WHERE id = '$item'");
		count_query("INSERT INTO items_p(model,uid,item_num,stat,vol) VALUES ('$model','".$_SESSION['id']."','$item', 'off','1')");}
}



function hp_rec()
{
	$res = count_query("SELECT id, hp_now, hp_max FROM user WHERE  hp_now < hp_max");
 	while ($row = mysql_fetch_assoc($res))
	{
		$tik=ceil($row['hp_max']/480);
		$toc=$row['hp_now']+$tik;
		if ($toc>$row['hp_max'])
		{
			$toc=$row['hp_max'];
		}
 		count_query("UPDATE user set hp_now = $toc WHERE id = ".$row['id']);
 	}
}

function lot($type, $money)
{
	$count = mysql_fetch_assoc(count_query("SELECT count(*) FROM lot WHERE  lot = '$type'"));
	$i=rand(1, $count['count(*)']);
    $res = count_query("SELECT * FROM lot WHERE  lot = '$type'");
	$z=0;
	$gold=$count['count(*)']*$money;
    while ($row = mysql_fetch_assoc($res))
	{
		$z++;
		if ($i==$z)
		{
			count_query("UPDATE user SET gold = gold+'$gold' WHERE id = ".$row['uid']);
		}

     }
	 count_query("DELETE FROM lot WHERE lot = '$type'");
}





function b($id)
{
	//параметры игрока
	$res = mysql_fetch_assoc(count_query("SELECT * FROM user WHERE id = '".$id."'"));
	//параметры вещей, которые есть у игрока
	$item = count_query("SELECT  item.*, items_p.* FROM items_p RIGHT JOIN item  ON items_p.item_num=item.id WHERE items_p.uid = '".$id."' AND items_p.stat ='on'");
	//клановые абилки
	$klan = mysql_fetch_assoc(count_query("SELECT k_klan.k_id , k_klan.k_pow_up, k_klan.k_def_up, k_klan.k_stam_up, k_klan.k_chr_up FROM k_memb RIGHT JOIN k_klan ON k_klan.k_id=k_memb.m_klan WHERE k_memb.m_uid  = '".$id."'"));

	$meta['timer']=$res['timer'];
	$meta['id']=$res['id'];
	$meta['klan']=$klan['k_id'];
	$meta['race']=$res['race'];
	$meta['exp']=$res['exp'];
	$meta['hp']=$res['hp_now'];
	$meta['hp_max']=$res['hp_max'];
	$meta['gold']=$res['gold'];
	$meta['pow']=$res['ab_pow'];
	$meta['def']=$res['ab_def'];
	$meta['agi']=$res['ab_agi'];
	$meta['stam']=$res['ab_stam'];
	$meta['chr']=$res['ab_chr'];
	$meta['s_double']=0;
	$meta['s_block']=0;
	$meta['s_chance_kick']=0;
	$meta['s_chance_blow']=0;
	$meta['s_dam']=0;

	while ($item1 = mysql_fetch_assoc($item))
		{
			if ($item1['stat']=='on')
			{
				//расчет статов от вещей (для дальнейшего плюсования к основным статам) - если вещь одета
				$meta['pow']+=$item1['pow'];
				$meta['def']+=$item1['def'];
				$meta['agi']+=$item1['agi'];
				$meta['stam']+=$item1['stam'];
				$meta['chr']+=$item1['chr'];
				$meta['s_double']+=$item1['s_double'];
				$meta['s_block']+=$item1['s_block'];
				$meta['s_chance_kick']+=$item1['s_chance_kick'];
				$meta['s_chance_blow']+=$item1['s_chance_blow'];
				$meta['s_dam']+=$item1['s_dam'];
			}
		}

	if($klan['k_pow_up']>time()){$meta['pow']+=ceil($res['ab_pow']*0.3);}//клановая абилка
	if($klan['k_def_up']>time()){$meta['def']+=ceil($res['ab_def']*0.3);}//клановая абилка
	if($klan['k_stam_up']>time()){$meta['stam']+=ceil($res['ab_stam']*0.3);}//клановая абилка
	if($klan['k_chr_up']>time()){$meta['chr']+=ceil($res['ab_chr']*0.3);}//клановая абилка

	if($res['pl_book_t']>time()){$meta['pow']+=ceil($res['ab_pow']*0.3);}//действиe купленых фич в тайнике-КНИГА
	if($res['pl_grg_t']>time()){$meta['def']+=ceil($res['ab_def']*0.3);}// действиe купленых фич в тайнике-ГОРГУЛЬЯ
	if($res['pl_chest_t']>time()){$meta['chest']=2;}else{$meta['chest']=1;}// действиe купленых фич в тайнике-СУНДУК


	return $meta;
}
?>