Beispiel #1
0
}
require '../inc/lib_session.inc.php';
require_once '../inc/combat/combat.inc.php';
if (headers_sent()) {
    die;
}
if (ob_get_length()) {
    ob_clean();
}
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
header('Content-Type: text/plain; charset=utf-8;');
$boy = 0;
$sub_func = combat_getFunc($user_id, $boy);
if ($sub_func == 9) {
    echo 'pass';
    die;
}
if ($sub_func == 5 or $sub_func == 6) {
    if (isset($_GET['call_clan'])) {
        $call = mysql_result(myquery("SELECT call_clan FROM combat_users WHERE combat_id='{$boy}' AND user_id='{$user_id}' ORDER BY call_clan DESC LIMIT 1"), 0, 0);
        if ($call == 0) {
            $map = @mysql_result(@myquery("SELECT name FROM game_maps WHERE id=" . $char['map_name'] . ""), 0, 0);
            $online_range = time() - 300;
            $sel = myquery("SELECT view_active_users.user_id,view_active_users.name FROM view_active_users,game_users_func WHERE view_active_users.clan_id='" . $char['clan_id'] . "' AND view_active_users.user_id IN (SELECT user_id FROM game_users_map WHERE map_name='" . $char['map_name'] . "') AND view_active_users.user_id=game_users_func.user_id AND game_users_func.func_id!='1'");
            while ($clans = mysql_fetch_array($sel)) {
                $name = $clans['user_id'];
                $names = $clans['name'];
                $theme = 'Помощь в бою';
function check_join($char, $player, &$join, &$alt, &$svit, $auto = 0)
{
    //return 0;
    global $user_id;
    if (checkFunc($user_id, 1, 1) == 0) {
        //нельзя присоединяться если уже в бою
        return 0;
    }
    $est_plash_monaha_char = mysqlresult(myquery("SELECT COUNT(*) FROM game_items WHERE user_id=" . $char['user_id'] . " AND priznak=0 AND used=5 AND item_id=" . plash_monaha . ""), 0, 0);
    if ($est_plash_monaha_char == 1) {
        return 'Ты отказываешься от боя';
    }
    $map = mysql_fetch_array(myquery("SELECT * FROM game_maps WHERE id='" . $char['map_name'] . "'"));
    $svitok = 0;
    list($host) = mysql_fetch_array(myquery("SELECT host FROM game_users_active WHERE user_id={$user_id}"));
    list($host_more) = mysql_fetch_array(myquery("SELECT host_more FROM game_users_active_host WHERE user_id={$user_id}"));
    list($cur_hod, $type, $npc) = mysql_fetch_array(myquery("SELECT hod,combat_type,npc FROM combat WHERE combat_id=" . $player['boy'] . ""));
    if ($map['dolina'] == 0) {
        if ($map['boy_type1'] == 0 and $map['boy_type2'] == 0 and $map['boy_type3'] == 0 and $map['boy_type4'] == 0 and $map['boy_type5'] == 0 and $map['boy_type6'] == 0 and $map['boy_type7'] == 0) {
            return 'На карте все бои запрещены';
        }
    } else {
        if (clans_war == 0 and $auto == 0) {
            return 'В Долине Смерти бои еще запрещены';
        }
        if ($cur_hod > 3) {
            return 'После 3 хода в Долине вход запрещен';
        }
    }
    if ($type == 8 or $type == 9 or $type == 10) {
        //в турнирные бои вступать нельзя
        return 'В турнирые бои вступать нельзя';
    } elseif ($npc == 1) {
        //нельзя нападать мертвым или на мертвого
        return 'Нельзя присоединяться к боям с ботами';
    }
    $comb_func = combat_getFunc($player['user_id']);
    if ($player['boy'] == 0) {
        //присоединяться можно только к игрокам в бою
        return 'Игрок не участвует в бою';
    } elseif ($player['HP'] == 0 or $char['HP'] == 0) {
        //нельзя нападать мертвым или на мертвого
        return 'Ты или игрок мертв';
    } elseif ($comb_func != 5 and $comb_func != 6) {
        //присоединяться можно только к уже начавшим битву
        return 'Игрока нет в бою';
    } elseif (mysql_result(myquery("SELECT COUNT(*) FROM combat_lose_user WHERE combat_id=" . $player['boy'] . " AND (user_id={$user_id} OR (host='" . $host . "' AND host_more='" . $host_more . "'))"), 0, 0) > 0 and $auto == 0) {
        //нельзя повторно вступать в бой
        return 'Ты уже ' . echo_sex('участвовал', 'участвовала') . ' в этом бою';
    } elseif ($cur_hod > 6) {
        //после 6 хода в бой вступать нельзя
        return 'Вход в бой закрыт';
    }
    if ($map['id'] != map_coliseum) {
        //Если есть свитки присоединения к бою - обработаем их
        $ch_small = mysql_result(myquery("SELECT COUNT(*) FROM game_items WHERE user_id={$user_id} AND priznak=0 AND used IN (12,13,14) AND item_id='" . svitok_small_item_id . "'"), 0, 0);
        $ch_sred = mysql_result(myquery("SELECT COUNT(*) FROM game_items WHERE user_id={$user_id} AND priznak=0 AND used IN (12,13,14) AND item_id='" . svitok_sred_item_id . "'"), 0, 0);
    } else {
        $ch_small = 0;
        $ch_sred = 0;
    }
    //echo '$ch_small = '.$ch_small.',$ch_sred='.$ch_sred;
    //Не в Долине Смерти проверим доступность присоединения по свиткам
    if ($map['dolina'] == 0) {
        if ($cur_hod > 3) {
            if ($map['id'] == map_coliseum) {
                return 'В бой можно войти только до конца 3 хода боя!';
            } elseif ($ch_small == 0 and $ch_sred == 0) {
                //присоединяться к бою после 3 хода без свитков нельзя
                return 'У тебя нет нужного свитка!';
            }
        }
    }
    //Далее проверим тип боя и право вступления в него с учетом свитков на руках
    if ($type == 1 and $char['clan_id'] != 0) {
        //в обычный бой можно присоединиться только к соклановцу
        $error = '';
        $SELECT = myquery("SELECT view_active_users.clan_id FROM view_active_users,combat_users WHERE view_active_users.clan_id<>'" . $player['clan_id'] . "' AND view_active_users.user_id=combat_users.user_id and combat_users.combat_id='" . $player['boy'] . "' ORDER BY view_active_users.clan_id ASC limit 1");
        list($clan) = mysql_fetch_array($SELECT);
        if ($clan == 0) {
            return 'Можно присоединяться только к битве клановых игроков';
        }
        //если надо показать значок меча - возвращаем 1, join=1, alt = текст ALT тега картинки значка
        //если надо показать значок выбора свитка - возвращаем 1, join=99, alt = значения не имеет
        //сначала проверяем возможность обычного входа в бой без свитков. Если разрешено - возвращаемся, иначе начинаем проверку по свиткам
        if ($cur_hod <= 3) {
            if ($player['clan_id'] == $char['clan_id']) {
                $join = 1;
                $alt = 'Присоединиться к обычной битве';
                return 1;
            }
        }
        $svit = '';
        //по среднему свитку вступаем в любой бой до 7 хода
        if ($ch_sred > 0 and $cur_hod <= 6) {
            $svit .= ',2,';
        }
        //по малому свитку вступаем на обычных условиях в любое время после 3 хода
        if ($ch_small > 0 and $cur_hod >= 3 and $cur_hod <= 6 and $player['clan_id'] == $char['clan_id']) {
            $svit .= ',1,';
        }
        if ($svit != '' or $cur_hod < 3) {
            $join = 99;
            $alt = 'Вступить в обычную битву';
            return 1;
        } else {
            $join = 0;
            return 'Ты не можешь присоединиться к обычной битве';
        }
    } elseif ($type == 2) {
        return 'К дуэлям нельзя присоединяться!';
    } elseif ($type == 3) {
        $error = '';
        $sred_level = 0;
        $kol = 0;
        $sel = myquery("SELECT SUM(clevel) AS sumlevel,COUNT(*) AS kol FROM combat_users WHERE combat_id='" . $player['boy'] . "' AND `join`=0 GROUP BY combat_id");
        list($sred_level, $kol) = mysql_fetch_array($sel);
        if ($kol > 0) {
            $sred_level = round($sred_level / $kol);
            //если надо показать значок меча - возвращаем 1, join=1, alt = текст ALT тега картинки значка
            //если надо показать значок выбора свитка - возвразаем 1, join=99, alt = значения не имеет
            //сначала проверяем возможность обычного входа в бой без свитков. Если разрешено - возвращаемся, иначе начинаем проверку по свиткам
            if ($cur_hod <= 3) {
                if (check_level3() or clans_war != 0 and $map['dolina'] == 1) {
                    $join = 1;
                    $alt = 'Присоединиться к общей битве';
                    return 1;
                }
            }
            $svit = '';
            //по среднему свитку вступаем в любой бой до 7 хода
            if ($ch_sred > 0 and $cur_hod <= 6) {
                $svit .= ',2,';
            }
            //по малому свитку вступаем на обычных условиях в любое время после 3 хода
            if ($ch_small > 0 and $cur_hod >= 3 and $cur_hod <= 6 and check_level3()) {
                $svit .= ',1,';
            }
            if ($svit != '' or $cur_hod < 3) {
                $join = 99;
                $alt = 'Вступить в общую битву';
                return 1;
            } else {
                $join = 0;
                return 'Ты не можешь присоединиться к общей битве (ср.уровень = ' . $sred_level . ')';
            }
        } else {
            return 'В бою никого нет';
        }
    } elseif ($type == 4) {
        //в клановый бой можно присоединиться только к соклановцу или выступить еще одной стороной в бое
        $error = '';
        //если надо показать значок меча - возвращаем 1, join=1, alt = текст ALT тега картинки значка
        //если надо показать значок выбора свитка - возвразаем 1, join=99, alt = значения не имеет
        //сначала проверяем возможность обычного входа в бой без свитков. Если разрешено - возвращаемся, иначе начинаем проверку по свиткам
        if ($cur_hod <= 3) {
            if ($char['clan_id'] == $player['clan_id']) {
                $join = 1;
                $alt = 'Присоединиться к клановой битве';
                return 1;
            } elseif ($char['clan_id'] != 0) {
                $join = 1;
                $alt = 'Вступить в клановую битву';
                return 1;
            }
        }
        $svit = '';
        //по среднему свитку вступаем в любой бой до 7 хода
        if ($ch_sred > 0 and $cur_hod <= 6) {
            $svit .= ',2,';
        }
        //по малому свитку вступаем на обычных условиях в любое время после 3 хода
        if ($ch_small > 0 and $cur_hod >= 3 and $cur_hod <= 6 and ($char['clan_id'] == $player['clan_id'] or $char['clan_id'] != 0)) {
            $svit .= ',1,';
        }
        if ($svit != '' or $cur_hod < 3) {
            $join = 99;
            $alt = 'Вступить в клановую битву';
            return 1;
        } else {
            $join = 0;
            return 'Ты не можешь присоединиться к клановой битве';
        }
    } elseif ($type == 5) {
        $error = '';
        $sred_level = 0;
        $kol = 0;
        $sel = myquery("SELECT SUM(clevel) AS sumlevel,COUNT(*) AS kol FROM combat_users WHERE combat_id='" . $player['boy'] . "' AND `join`=0 GROUP BY combat_id");
        list($sred_level, $kol) = mysql_fetch_array($sel);
        if ($kol == 0) {
            return 'В бою уже никого нет!';
        }
        if ($auto == 1) {
            //для автоприсоединения (Битвы Хаоса) вступаем независимо от свитков
            return 1;
        }
        $sred_level = round($sred_level / $kol);
        //если надо показать значок меча - возвращаем 1, join=1, alt = текст ALT тега картинки значка
        //если надо показать значок выбора свитка - возвразаем 1, join=99, alt = значения не имеет
        //сначала проверяем возможность обычного входа в бой без свитков. Если разрешено - возвращаемся, иначе начинаем проверку по свиткам
        if ($cur_hod <= 3) {
            if (check_level5() or clans_war != 0 and $map['dolina'] == 1) {
                $join = 1;
                $alt = 'Присоединиться к битве все против всех';
                return 1;
            }
        }
        $svit = '';
        //по среднему свитку вступаем в любой бой до 7 хода
        if ($ch_sred > 0 and $cur_hod <= 6) {
            $svit .= ',2,';
        }
        //по малому свитку вступаем на обычных условиях в любое время после 3 хода
        if ($ch_small > 0 and $cur_hod >= 3 and $cur_hod <= 6 and check_level5()) {
            $svit .= ',1,';
        }
        if ($svit != '' or $cur_hod < 3) {
            $join = 99;
            $alt = 'Вступить в битву все против всех';
            return 1;
        } else {
            $join = 0;
            return 'Ты не можешь присоединиться к битве все против всех (ср.уровень = ' . $sred_level . ')';
        }
    } elseif ($type == 6) {
        $error = '';
        $sred_level = 0;
        $kol = 0;
        $sel = myquery("SELECT SUM(clevel) AS sumlevel,COUNT(*) AS kol FROM combat_users WHERE combat_id='" . $player['boy'] . "' AND `join`=0  GROUP BY combat_id");
        list($sred_level, $kol) = mysql_fetch_array($sel);
        if ($kol == 0) {
            return 'В бою уже никого нет!';
        }
        $sred_level = round($sred_level / $kol);
        //если надо показать значок меча - возвращаем 1, join=1, alt = текст ALT тега картинки значка
        //если надо показать значок выбора свитка - возвразаем 1, join=99, alt = значения не имеет
        //сначала проверяем возможность обычного входа в бой без свитков. Если разрешено - возвращаемся, иначе начинаем проверку по свиткам
        if ($cur_hod <= 3) {
            if (check_level6() or clans_war != 0 and $map['dolina'] == 1) {
                $join = 1;
                $alt = 'Присоединиться к битве склонностей';
                return 1;
            }
        }
        $svit = '';
        //по среднему свитку вступаем в любой бой до 7 хода
        if ($map['id'] != map_coliseum) {
            if ($ch_sred > 0 and $cur_hod <= 6) {
                $svit .= ',2,';
            }
            //по малому свитку вступаем на обычных условиях в любое время после 3 хода
            if ($ch_small > 0 and $cur_hod >= 3 and $cur_hod <= 6 and check_level6()) {
                $svit .= ',1,';
            }
        }
        if ($svit != '' or $cur_hod < 3) {
            $join = 99;
            $alt = 'Вступить в битву склонностей';
            return 1;
        } else {
            $join = 0;
            return 'Ты не можешь присоединиться к битве склонностей (ср.уровень = ' . $sred_level . ')';
        }
    } elseif ($type == 7) {
        $error = '';
        $sred_level = 0;
        $kol = 0;
        $sel = myquery("SELECT SUM(clevel) AS sumlevel,COUNT(*) AS kol FROM combat_users WHERE combat_id='" . $player['boy'] . "' AND `join`=0  GROUP BY combat_id");
        list($sred_level, $kol) = mysql_fetch_array($sel);
        if ($kol == 0) {
            return 'В бою уже никого нет!';
        }
        $sred_level = round($sred_level / $kol);
        //если надо показать значок меча - возвращаем 1, join=1, alt = текст ALT тега картинки значка
        //если надо показать значок выбора свитка - возвразаем 1, join=99, alt = значения не имеет
        //сначала проверяем возможность обычного входа в бой без свитков. Если разрешено - возвращаемся, иначе начинаем проверку по свиткам
        if ($cur_hod <= 3) {
            if (check_level7() or clans_war != 0 and $map['dolina'] == 1) {
                $join = 1;
                $alt = 'Присоединиться к битве рас';
                return 1;
            }
        }
        $svit = '';
        //по среднему свитку вступаем в любой бой до 7 хода
        if ($ch_sred > 0 and $cur_hod <= 6) {
            $svit .= ',2,';
        }
        //по малому свитку вступаем на обычных условиях в любое время после 3 хода
        if ($ch_small > 0 and $cur_hod >= 3 and $cur_hod <= 6 and check_level7()) {
            $svit .= ',1,';
        }
        if ($svit != '' or $cur_hod < 3) {
            $join = 99;
            $alt = 'Вступить в битву рас';
            return 1;
        } else {
            $join = 0;
            return 'Ты не можешь присоединиться к битве рас (ср.уровень = ' . $sred_level . ')';
        }
    }
    return '';
}
        $append_string = '<img src="http://' . img_domain . '/bar/bar_blue.gif" width="100" height="7" border="0">';
    } elseif ($bar_percentage <= 0) {
        $append_string = '<img src="http://' . img_domain . '/bar/bar_empty.gif" width="100" height="7" border="0">';
    } else {
        $append_string = '<img src="http://' . img_domain . '/bar/bar_empty.gif" width="' . (100 - $bar_percentage) . '" height="7" border="0"><img src="http://' . img_domain . '/bar/bar_blue.gif" width="' . $bar_percentage . '" height="7" border="0">';
    }
    echo '<tr>
<td align="left" valign="middle" title="Текущий опыт/Опыт до уровня"><font face="Verdana" size="1">Опыт</font></td>
<td align="right" title="Текущий опыт/Опыт до уровня"><font face="Verdana" size="1">' . $char['EXP'] . ' / ' . $new_clevel . '</font><br>
<img src="http://' . img_domain . '/bar/bar_side.gif" width="1" height="7" border="0">' . $append_string . '<img src="http://' . img_domain . '/bar/bar_side.gif" width="1" height="7" border="0"><br>
<img src="http://' . img_domain . '/nav/x.gif" width="0" height="0" vspace="2" border="0"></td>
</tr>';
    echo '
<tr><td align="left"><font face="Verdana" size="1">Деньги</font></td><td align="right"><font face="Verdana" size="1"><img src="http://' . img_domain . '/nav/gold.gif" width="10" height="10" border="0">' . trim($char['GP']) . '</font></td></tr>';
    echo '</table>';
    $combat_func = combat_getFunc($user_id);
    //Обработка лекаря
    //if ($char['MS_LEK']!='0' and $combat_func!=5 and $combat_func!=6) echo'<br><table cellpadding="1" cellspacing="0" width="100%" border="0"><tr><td><a href="?func=main&lek='.$char['user_id'].'">&nbsp;&nbsp;Лечить себя (лек.'.$char['MS_LEK'].' ур.)</a></td></tr></table>';
    OpenTable('close');
    echo '</td></tr></table><img src="http://' . img_domain . '/nav1/bar1.gif"><table border=0 width=90% align=center><tr><td>';
    OpenTable('title', '103%');
    echo '<link id="luna-tab-style-sheet" type="text/css" rel="stylesheet" href="style/tabs/tabpane.css" />';
    //сделаем закладки для отображения союзников или избранных ботов
    //Соклановцы
    echo '
  <table class="adminform" width="100%" border=0>
  <tr><td width="100%" valign="top">

  <script type="text/javascript" src="style/tabs/tabpane.js"></script>
  <div class="tab-page" style="95%" id="modules-cpanel1"><script type="text/javascript">var tabPane0 = new WebFXTabPane( document.getElementById( "modules-cpanel1" ), 1 )</script>