Здравствуйте! Ув. мастера, я пишу онлайн игру и мне для каждой атаки приходится собирать параметры перса в кучу, я использую файлы вызываемые ид, но этих файлов много выходит для каждой атаки свой файл параметров, Есть ли возможность слепить какой-то класс чтоб он был один но обращаться к нему можно было с любой точки, путем передачи ид нужного перса?
Вот мой один из файлов:
<?php
//определяю перса
$id = isset($_GET['id']) ? abs((int)$_GET['id']) : false;
$profile = DB::$dbs->queryFetch("SELECT * FROM users WHERE id = ?", [$id]);
if($profile) {
//собираю в кучу шмот
$itemprofile_1 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [1,1,$profile['id']]);
$itemprofile_2 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [2,1,$profile['id']]);
$itemprofile_3 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [3,1,$profile['id']]);
$itemprofile_4 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [4,1,$profile['id']]);
$itemprofile_5 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [5,1,$profile['id']]);
$itemprofile_6 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [6,1,$profile['id']]);
$itemprofile_7 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [7,1,$profile['id']]);
if($itemprofile_1){ $itemprofile_1_atk=$itemprofile_1['s']; $itemprofile_1_br=$itemprofile_1['b'];$itemprofile_1_hp=$itemprofile_1['hp'];
}else{$itemprofile_1_atk='0'; $itemprofile_1_br='0'; $itemprofile_1_hp='0';}
if($itemprofile_2){ $itemprofile_2_atk=$itemprofile_2['s']; $itemprofile_2_br=$itemprofile_2['b'];$itemprofile_2_hp=$itemprofile_2['hp'];
}else{$itemprofile_2_atk='0'; $itemprofile_2_br='0'; $itemprofile_2_hp='0';}
if($itemprofile_3){ $itemprofile_3_atk=$itemprofile_3['s']; $itemprofile_3_br=$itemprofile_3['b'];$itemprofile_3_hp=$itemprofile_3['hp'];
}else{$itemprofile_3_atk='0'; $itemprofile_3_br='0'; $itemprofile_3_hp='0';}
if($itemprofile_4){ $itemprofile_4_atk=$itemprofile_4['s']; $itemprofile_4_br=$itemprofile_4['b'];$itemprofile_4_hp=$itemprofile_4['hp'];
}else{$itemprofile_4_atk='0'; $itemprofile_4_br='0'; $itemprofile_4_hp='0';}
if($itemprofile_5){ $itemprofile_5_atk=$itemprofile_5['s']; $itemprofile_5_br=$itemprofile_5['b'];$itemprofile_5_hp=$itemprofile_5['hp'];
}else{$itemprofile_5_atk='0'; $itemprofile_5_br='0'; $itemprofile_5_hp='0';}
if($itemprofile_6){ $itemprofile_6_atk=$itemprofile_6['s']; $itemprofile_6_br=$itemprofile_6['b'];$itemprofile_6_hp=$itemprofile_6['hp'];
}else{$itemprofile_6_atk='0'; $itemprofile_6_br='0'; $itemprofile_6_hp='0';}
if($itemprofile_7){ $itemprofile_7_atk=$itemprofile_7['s']; $itemprofile_7_br=$itemprofile_7['b'];$itemprofile_7_hp=$itemprofile_7['hp'];
}else{$itemprofile_7_atk='0'; $itemprofile_7_br='0'; $itemprofile_7_hp='0';}
///подсчитываю данные
$itemprofile_1_summ = round($itemprofile_1_atk+$itemprofile_1_br+$itemprofile_1_hp);
$itemprofile_2_summ = round($itemprofile_2_atk+$itemprofile_2_br+$itemprofile_2_hp);
$itemprofile_3_summ = round($itemprofile_3_atk+$itemprofile_3_br+$itemprofile_3_hp);
$itemprofile_4_summ = round($itemprofile_4_atk+$itemprofile_4_br+$itemprofile_4_hp);
$itemprofile_5_summ = round($itemprofile_5_atk+$itemprofile_5_br+$itemprofile_5_hp);
$itemprofile_6_summ = round($itemprofile_6_atk+$itemprofile_6_br+$itemprofile_6_hp);
$itemprofile_7_summ = round($itemprofile_7_atk+$itemprofile_7_br+$itemprofile_7_hp);
//определяю бафы
$primochki_a = DB::$dbs->queryFetch("SELECT * FROM primochki WHERE user = ?", [$profile['id']]);
if($primochki_a){
if($primochki_a['tyaga']==1) {$baf_t_a = 250;
}else{$baf_t_a = 0;}
if($primochki_a['nano']==1){$baf_n_a = 250;
}else{$baf_n_a = 0;}
if($primochki_a['duh']==1){$baf_d_a = 450;
}else{$baf_d_a = 0;}
}else{$baf_n_a = 0;$baf_t_a = 0;$baf_d_a = 0;}
//определяю клан и подсчитываю бафы клана
$a_mast = DB::$dbs->queryFetch("SELECT * FROM masters WHERE id = ?", [$profile['mast']]);
if($a_mast){
$gen_a_mast = DB::$dbs->queryFetch("SELECT * FROM `producer` WHERE `mast` = ? AND `status` = ? ", [$a_mast['id'],2]);
if($gen_a_mast){
$m_gen_s = round($gen_a_mast['gen_s'] * 6);
$m_gen_b = round($gen_a_mast['gen_b'] * 6);
$m_gen_hp = round($gen_a_mast['gen_hp'] * 6);
}else{
$m_gen_s = 0; $m_gen_b = 0; $m_gen_hp = 0;
}
}else{
$m_gen_s = 0; $m_gen_b = 0; $m_gen_hp = 0;
}
//определяю еще одни бафы и посчитываю
$os_profile = DB::$dbs->queryFetch("SELECT * FROM os_user WHERE user = ? and online = ?", [$profile['id'],1]);
if($os_profile){
$os_profile_s = $os_profile['s'] ; $os_profile_b = $os_profile['b'] ; $os_profile_hp = $os_profile['hp'] ;
$os_profile_summ = $os_profile['s']+$os_profile['b']+$os_profile['hp'] ;
}else{
$os_profile_s = 1 ; $os_profile_b = 1 ; $os_profile_hp = 1 ;
$os_profile_summ = 3 ;
}
//считаю сумму исходных параметров юзера
$profileer_summ=round($profile['s']+$profile['b']+$profile['hp']);
//просчитываю сумму параметров с учетом всех плюшек
$profile_summ=round($profileer_summ+$itemprofile_1_summ+$itemprofile_2_summ+$itemprofile_3_summ+$itemprofile_4_summ+$itemprofile_5_summ+$itemprofile_6_summ+$itemprofile_7_summ+$baf_t_a+$baf_n_a+$baf_d_a+$m_gen_s+$m_gen_b+$m_gen_hp+$os_profile_summ);
//просчитываю каждый параметр с учетом всех плюшек
$profile_s = round($profile['s']+$itemprofile_1_atk+$itemprofile_2_atk+$itemprofile_3_atk+$itemprofile_4_atk+$itemprofile_5_atk+$itemprofile_6_atk+$itemprofile_7_atk+$baf_t_a+$m_gen_s+$os_profile_s);
$profile_b = round($profile['b']+$itemprofile_1_br+$itemprofile_2_br+$itemprofile_3_br+$itemprofile_4_br+$itemprofile_5_br+$itemprofile_6_br+$itemprofile_7_br+$baf_n_a+$m_gen_b+$os_profile_b);
$profile_hp = round($profile['hp']+$itemprofile_1_hp+$itemprofile_2_hp+$itemprofile_3_hp+$itemprofile_4_hp+$itemprofile_5_hp+$itemprofile_6_hp+$itemprofile_7_hp+$m_gen_hp+$baf_d_a+$os_profile_hp);
}else{
$_SESSION['err']='Перс не найден!';
header('location: /');die();
}
?>
ЕСЛИ КТО ПОМОЖЕТ, ВЫ МНЕ ОЧЕНЬ ОБЛЕГЧИТЕ РАЗРАБОТКУ! сейчас мне чтоб что-то поменять или дополнить, приходится редачить порядка 10 почти одинаковых файлов
Заранее благодарен!
Вот мой один из файлов:
<?php
//определяю перса
$id = isset($_GET['id']) ? abs((int)$_GET['id']) : false;
$profile = DB::$dbs->queryFetch("SELECT * FROM users WHERE id = ?", [$id]);
if($profile) {
//собираю в кучу шмот
$itemprofile_1 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [1,1,$profile['id']]);
$itemprofile_2 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [2,1,$profile['id']]);
$itemprofile_3 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [3,1,$profile['id']]);
$itemprofile_4 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [4,1,$profile['id']]);
$itemprofile_5 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [5,1,$profile['id']]);
$itemprofile_6 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [6,1,$profile['id']]);
$itemprofile_7 = DB::$dbs->queryFetch("SELECT * FROM items_users WHERE item_tip = ? AND online = ? AND user = ?", [7,1,$profile['id']]);
if($itemprofile_1){ $itemprofile_1_atk=$itemprofile_1['s']; $itemprofile_1_br=$itemprofile_1['b'];$itemprofile_1_hp=$itemprofile_1['hp'];
}else{$itemprofile_1_atk='0'; $itemprofile_1_br='0'; $itemprofile_1_hp='0';}
if($itemprofile_2){ $itemprofile_2_atk=$itemprofile_2['s']; $itemprofile_2_br=$itemprofile_2['b'];$itemprofile_2_hp=$itemprofile_2['hp'];
}else{$itemprofile_2_atk='0'; $itemprofile_2_br='0'; $itemprofile_2_hp='0';}
if($itemprofile_3){ $itemprofile_3_atk=$itemprofile_3['s']; $itemprofile_3_br=$itemprofile_3['b'];$itemprofile_3_hp=$itemprofile_3['hp'];
}else{$itemprofile_3_atk='0'; $itemprofile_3_br='0'; $itemprofile_3_hp='0';}
if($itemprofile_4){ $itemprofile_4_atk=$itemprofile_4['s']; $itemprofile_4_br=$itemprofile_4['b'];$itemprofile_4_hp=$itemprofile_4['hp'];
}else{$itemprofile_4_atk='0'; $itemprofile_4_br='0'; $itemprofile_4_hp='0';}
if($itemprofile_5){ $itemprofile_5_atk=$itemprofile_5['s']; $itemprofile_5_br=$itemprofile_5['b'];$itemprofile_5_hp=$itemprofile_5['hp'];
}else{$itemprofile_5_atk='0'; $itemprofile_5_br='0'; $itemprofile_5_hp='0';}
if($itemprofile_6){ $itemprofile_6_atk=$itemprofile_6['s']; $itemprofile_6_br=$itemprofile_6['b'];$itemprofile_6_hp=$itemprofile_6['hp'];
}else{$itemprofile_6_atk='0'; $itemprofile_6_br='0'; $itemprofile_6_hp='0';}
if($itemprofile_7){ $itemprofile_7_atk=$itemprofile_7['s']; $itemprofile_7_br=$itemprofile_7['b'];$itemprofile_7_hp=$itemprofile_7['hp'];
}else{$itemprofile_7_atk='0'; $itemprofile_7_br='0'; $itemprofile_7_hp='0';}
///подсчитываю данные
$itemprofile_1_summ = round($itemprofile_1_atk+$itemprofile_1_br+$itemprofile_1_hp);
$itemprofile_2_summ = round($itemprofile_2_atk+$itemprofile_2_br+$itemprofile_2_hp);
$itemprofile_3_summ = round($itemprofile_3_atk+$itemprofile_3_br+$itemprofile_3_hp);
$itemprofile_4_summ = round($itemprofile_4_atk+$itemprofile_4_br+$itemprofile_4_hp);
$itemprofile_5_summ = round($itemprofile_5_atk+$itemprofile_5_br+$itemprofile_5_hp);
$itemprofile_6_summ = round($itemprofile_6_atk+$itemprofile_6_br+$itemprofile_6_hp);
$itemprofile_7_summ = round($itemprofile_7_atk+$itemprofile_7_br+$itemprofile_7_hp);
//определяю бафы
$primochki_a = DB::$dbs->queryFetch("SELECT * FROM primochki WHERE user = ?", [$profile['id']]);
if($primochki_a){
if($primochki_a['tyaga']==1) {$baf_t_a = 250;
}else{$baf_t_a = 0;}
if($primochki_a['nano']==1){$baf_n_a = 250;
}else{$baf_n_a = 0;}
if($primochki_a['duh']==1){$baf_d_a = 450;
}else{$baf_d_a = 0;}
}else{$baf_n_a = 0;$baf_t_a = 0;$baf_d_a = 0;}
//определяю клан и подсчитываю бафы клана
$a_mast = DB::$dbs->queryFetch("SELECT * FROM masters WHERE id = ?", [$profile['mast']]);
if($a_mast){
$gen_a_mast = DB::$dbs->queryFetch("SELECT * FROM `producer` WHERE `mast` = ? AND `status` = ? ", [$a_mast['id'],2]);
if($gen_a_mast){
$m_gen_s = round($gen_a_mast['gen_s'] * 6);
$m_gen_b = round($gen_a_mast['gen_b'] * 6);
$m_gen_hp = round($gen_a_mast['gen_hp'] * 6);
}else{
$m_gen_s = 0; $m_gen_b = 0; $m_gen_hp = 0;
}
}else{
$m_gen_s = 0; $m_gen_b = 0; $m_gen_hp = 0;
}
//определяю еще одни бафы и посчитываю
$os_profile = DB::$dbs->queryFetch("SELECT * FROM os_user WHERE user = ? and online = ?", [$profile['id'],1]);
if($os_profile){
$os_profile_s = $os_profile['s'] ; $os_profile_b = $os_profile['b'] ; $os_profile_hp = $os_profile['hp'] ;
$os_profile_summ = $os_profile['s']+$os_profile['b']+$os_profile['hp'] ;
}else{
$os_profile_s = 1 ; $os_profile_b = 1 ; $os_profile_hp = 1 ;
$os_profile_summ = 3 ;
}
//считаю сумму исходных параметров юзера
$profileer_summ=round($profile['s']+$profile['b']+$profile['hp']);
//просчитываю сумму параметров с учетом всех плюшек
$profile_summ=round($profileer_summ+$itemprofile_1_summ+$itemprofile_2_summ+$itemprofile_3_summ+$itemprofile_4_summ+$itemprofile_5_summ+$itemprofile_6_summ+$itemprofile_7_summ+$baf_t_a+$baf_n_a+$baf_d_a+$m_gen_s+$m_gen_b+$m_gen_hp+$os_profile_summ);
//просчитываю каждый параметр с учетом всех плюшек
$profile_s = round($profile['s']+$itemprofile_1_atk+$itemprofile_2_atk+$itemprofile_3_atk+$itemprofile_4_atk+$itemprofile_5_atk+$itemprofile_6_atk+$itemprofile_7_atk+$baf_t_a+$m_gen_s+$os_profile_s);
$profile_b = round($profile['b']+$itemprofile_1_br+$itemprofile_2_br+$itemprofile_3_br+$itemprofile_4_br+$itemprofile_5_br+$itemprofile_6_br+$itemprofile_7_br+$baf_n_a+$m_gen_b+$os_profile_b);
$profile_hp = round($profile['hp']+$itemprofile_1_hp+$itemprofile_2_hp+$itemprofile_3_hp+$itemprofile_4_hp+$itemprofile_5_hp+$itemprofile_6_hp+$itemprofile_7_hp+$m_gen_hp+$baf_d_a+$os_profile_hp);
}else{
$_SESSION['err']='Перс не найден!';
header('location: /');die();
}
?>
ЕСЛИ КТО ПОМОЖЕТ, ВЫ МНЕ ОЧЕНЬ ОБЛЕГЧИТЕ РАЗРАБОТКУ! сейчас мне чтоб что-то поменять или дополнить, приходится редачить порядка 10 почти одинаковых файлов
Заранее благодарен!