Крепость by Freakazoitt

Народ, давайте договоримся - все изменения базовой версии в файлах будем комментировать, а также оставлять changelog своих версий. А то будет каша как в других играх.
Надо добиться создания раздела для этого движка.
 
Надо добиться создания раздела для этого движка.

капетц)) опять глупое набивание постов..Один человек сказал это , а тебе зачем повторять . сказал и ничего не сделал.
Извенюсь за оффтоп, не мог удержаться))
 
Капец. Опять глупое набивание постов. И все это прикрыто благородной целью. Посмотри автора, который сказал это до меня.
Админы, мб уже пора создать для крепости свой раздел? Чем этот движок хуже СоулАдвенчуры или Деваны? На форуме несколько сборок и занимается этим движком не один человек.
 
Обновление для файла attack.php

теперь войска несут потери!

Внимание! это только часть кода страницы

Код:
        // Магия эльфа в обороне
        if ($enemy['uRace'] == 4) {
            $mg_lev_ == 1;
            if ($enemy['uLevel'] > 6) {
            $mg_lev_ == 6;
            } else {
            $mg_lev_ = $enemy['uLevel'];
            }
            $mg_per_ = ($mg_lev_*3)/100; 
        
            $defense = $defense + ($defense * $mg_per_);
         
            $elven_magic="
При обороне враг использовал эльфийскую магию ".$mg_lev_." уровня. ";
        }


        if ( $offense == $defense ) {
            if ( rand( 1, 2 ) == 1 ) {
                $offense += 50 * rand( 1, 6 );
            } else {
                $offense += 50 * rand( 1, 6 );
            } 
        } 
        

        
        echo "
Ваши ".$user['uOffensiveMen']." Мечников и ".$user['uSpriganMen']." Лучников нанесли $offense урона.

";
        echo "Стражники и Лучники игрока " .$enemy['uLogin'] . " смогли отбить $defense урона.

 У игрока построены следующие укрепления:

[b] ";
        if (  $enemy['uCastleSpriganPlace'] == 1){echo'- Площадка для лучников

';}
        if (  $enemy['uCastleBalisti'] == 1){echo'- Настенные балисты

';}
        if (  $enemy['uCastleBalisti'] == 2){echo'- Настенные катапульты

';}
        if (  $enemy['uCastleWoodGate'] == 1){echo'- Сосновые ворота

';}
        if (  $enemy['uCastleGatePost'] == 1){echo'- Надвратный пост стражи

';}
        if (  $enemy['uCastleBrege'] == 1){echo'- Котлы с кипящей смолой

';}
        if (  $enemy['uCastleRovSvodoi'] == 1){echo'- Ров с водой

';}
        if (  $enemy['uCastleMagCastle'] == 1){echo'- Сторожевая башня мага

';}
        if (  $enemy['uCastleTimber'] == 1){echo'- Деревянный частокол

';}
        if (  $enemy['uCastleTimber'] == 2){echo'- Каменная стена с деревянной надстройкой

';}
        if (  $enemy['uCastleTimber'] == 3){echo'- Каменная стена с каменной надстройкой';}
        if (  $enemy['uCastleTimber'] == 0 && $enemy['uCastleMagCastle'] == 0 && $enemy['uCastleRovSvodoi'] == 0 && $enemy['uCastleBrege'] == 0 && $enemy['uCastleGatePost'] == 0 && $enemy['uCastleWoodGate'] == 0 && $enemy['uCastleBalisti'] == 0 ){echo'- Укреплений нет';}
        echo"[/b]

";

        $time = time();
        if ( $offense > $defense ) {
            $gold_gained_work = $enemy['uGold'] / 20;
            $gold_gained = $gold_gained_work * $turns;
            $exp_gained_work = rand( 1000, 3500 );
            $exp_gained_work2 = $exp_gained_work / 10;
            $exp_gained = $exp_gained_work2 * $turns;
            
            $msg_attack="";
            // потери
            if ($offense*5 > $defense) { // полное превосходство
            // ваши потери 0-3%, потери врага 20-40%
            $msg_attack="Вы с легкостью разгромили войска противника!";
            $a1 = 0;
            $a2 = 3;
            $d1 = 20;
            $d2 = 40;                            
            }
            else if ($offense*5 < $defense) { // слабая атака, поражение
            $msg_attack="Ваши войска попали в засаду и были разбиты!";
            $a1 = 40;
            $a2 = 60;
            $d1 = 0;
            $d2 = 5;                
            }
            else { // обычное сражение
            $a1 = 15;
            $a2 = 25;
            $d1 = 15;
            $d2 = 25;                
            }

            //подсчет потерей
            
            $attacker_a1 = $user['uOffensiveMen'];
            $attacker_a2 = $user['uSpriganMen'];
            $attacker_a3 = $user['uDefensiveMen'];
            $defender_a1 = $enemy['uOffensiveMen'];
            $defender_a2 = $enemy['uSpriganMen'];
            $defender_a3 = $enemy['uDefensiveMen'];
            $defender_min = $enemy['uMiners'];
            $defender_civ = $enemy['uCitizens'];
            
            $attacker_a1_killed = round(($attacker_a1 * rand ($a1,$a2)) / 100);
            $attacker_a2_killed = round(($attacker_a2 * rand ($a1,$a2)) / 100);
            $attacker_a3_killed = round(($attacker_a3 * rand ($a1,$a2)) / 100);
            $defender_a1_killed = round(($defender_a1 * rand ($d1,$d2)) / 100);
            $defender_a2_killed = round(($defender_a2 * rand ($d1,$d2)) / 100);
            $defender_a3_killed = round(($defender_a3 * rand ($d1,$d2)) / 100);
            $defender_min_killed = round(($defender_min * rand ($d1,$d2)) / 100);
            $defender_civ_killed = round(($defender_civ * rand ($d1,$d2)) / 100);
            
            $attacker_a1 = $attacker_a1 - $attacker_a1_killed;
            $attacker_a2 = $attacker_a2 - $attacker_a2_killed;
            $attacker_a3 = $attacker_a3 - $attacker_a3_killed;
            $defender_a1 = $attacker_a1 - $attacker_a1_killed;
            $defender_a2 = $attacker_a2 - $attacker_a2_killed;
            $defender_a3 = $attacker_a3 - $attacker_a3_killed;
            $defender_min = $attacker_min - $attacker_min_killed;
            $defender_civ = $attacker_civ - $attacker_civ_killed;
            
            $db->query("UPDATE users SET uOffensiveMen='$attacker_a1' WHERE uID='" . $user['uID'] . "'" );
            $db->query("UPDATE users SET uSpriganMen='$attacker_a2' WHERE uID='" . $user['uID'] . "'" );
            $db->query("UPDATE users SET uDefensiveMen='$attacker_a3' WHERE uID='" . $user['uID'] . "'" );
            $db->query("UPDATE users SET uOffensiveMen='$defender_a1' WHERE uID='" . $enemy['uID'] . "'" );
            $db->query("UPDATE users SET uSpriganMen='$defender_a2' WHERE uID='" . $enemy['uID'] . "'" );
            $db->query("UPDATE users SET uDefensiveMen='$defender_a3' WHERE uID='" . $enemy['uID'] . "'" );
            $db->query("UPDATE users SET uMiners='$defender_min' WHERE uID='" . $enemy['uID'] . "'" );
            $db->query("UPDATE users SET uCitizens='$defender_civ' WHERE uID='" . $enemy['uID'] . "'" );
            
            echo "Вы победили игрока " . $enemy['uLogin'] . ". " . $msg_attack . " 
 ". $elven_magic ."
 Ваши потери: " . $attacker_a1_killed . " мечников, " . $attacker_a2_killed . " лучников, " . $attacker_a3_killed . " стражников.  Потери противника: " . $defender_a1_killed . " мечников, " . $defender_a2_killed . " лучников, " . $defender_a3_killed . " стражников, " . $defender_min_killed . " кузнецов, " . $defender_civ_killed . " жителей.
Вы получаете $gold_gained золота а также $exp_gained опыта.
";
            $user['uEXP'] = $user['uEXP'] + $exp_gained;
            //добавление золота победителю
            $db->query( "UPDATE users SET uGold=uGold+'$gold_gained',uEXP=uEXP+'$exp_gained',uWon=uWon+'1',uAttackTurns=uAttackTurns-'$turns' WHERE uID='" . $user['uID'] . "'" );
            //отнимание золота у проигравшего
            $db->query( "UPDATE users SET uGold=uGold-'$gold_gained',uLost=uLost+'1' WHERE uID='" . $enemy['uID'] . "'" );
            $db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('2', '1', '" . $user['uID'] . "', '" . $enemy['uID'] . "', '" . $enemy['uLogin'] . "', '$turns', '$gold_gained', '$exp_gained', \"$gamedate\", '$time')" );
            $db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('1', '2', '" . $enemy['uID'] . "', '" . $user['uID'] . "', '" . $user['uLogin'] . "', '$turns', '-$gold_gained', '0', \"$gamedate\", '$time')" );
            if ( $user['uEXP'] > $user['uNextLevel'] ) {
                $at = $user['uNextLevel'] / 2;
                $add = $user['uNextLevel'] + $at;
                echo "
Вы перешли на новый уровень.
";
                $db->query( "UPDATE users SET uLevel=uLevel+'1',uNextLevel=uNextLevel+'$add' WHERE uID='" . $user['uID'] . "'" );
            }
            
        } elseif ( $offense < $defense ) {
            // атакующий не теряет золота при неудачной атаке.
            //$gold_lost_work = $user['uGold'] / 40;
            //$gold_lost = $gold_lost_work * $turns;
            $exp_gained_work = rand( 1000, 3500 );
            $exp_gained_work2 = $exp_gained_work / 20;
            $exp_gained = $exp_gained_work2 * $turns;
            //echo $enemy['uLogin'] . " победил вас. Вы потеряли $gold_lost золота.
";
            echo $enemy['uLogin'] . "победил вас.
 " . $msg_attack . " 
 ". $elven_magic ."
 Ваши потери: " . $attacker_a1_killed . " мечников, " . $attacker_a2_killed . " лучников, " . $attacker_a3_killed . " стражников.  Потери противника: " . $defender_a1_killed . " мечников, " . $defender_a2_killed . " лучников, " . $defender_a3_killed . " стражников, " . $defender_min_killed . " кузнецов, " . $defender_civ_killed . " жителей.
Вы получаете $gold_gained золота а также $exp_gained опыта.
";
            
            $enemy['uEXP'] = $enemy['uEXP'] + $exp_gained;
            //$db->query( "UPDATE users SET uGold=uGold-'$gold_lost',uLost=uLost+'1',uAttackTurns=uAttackTurns-'$turns' WHERE uID='" . $user['uID'] . "'" );
            //$db->query( "UPDATE users SET uGold=uGold+'$gold_lost',uWon=uWon+'1',uEXP=uEXP+'$exp_gained' WHERE uID='" . $enemy['uID'] . "'" );
            $db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('2', '2', '" . $user['uID'] . "', '" . $enemy['uID'] . "', '" . $enemy['uLogin'] . "', '$turns', '-$gold_lost', '0', \"$gamedate\", '$time')" );
            $db->query( "INSERT INTO logs (`lType`,`lWinLose`,`lYou`,`lOther`,`lOtherLogin`,`lTurns`,`lGold`,`lEXP`,`lTime`,`lTime2`) VALUES ('1', '1', '" . $enemy['uID'] . "', '" . $user['uID'] . "', '" . $user['uLogin'] . "', '$turns', '$gold_lost', '$exp_gained', \"$gamedate\", '$time')" );
            if ( $enemy['uEXP'] > $enemy['uNextLevel'] ) {
                $at = $enemy['uNextLevel'] / 2;
                $add = $enemy['uNextLevel'] + $at;
                echo "
" . $enemy['uLogin'] . " переходит на новый уровень.
";
                $db->query( "UPDATE users SET uLevel=uLevel+'1',uNextLevel=uNextLevel+'$add' WHERE uID='" . $enemy['uID'] . "'" );
            } 
        } 

        echo "
<a href=index.php>Вернуться в свою крепость</a>

<a href=attack.php>Атаковать кого-то ещё</a>";

    } 

?>
 
Пароль: dapf.ru

Ну я не знаю мб комуто понадобится, тут диз вроде хороший, и чат есть ну чат не очь конешно но хоть какойто. Продавал когда то это, но времени не стало делать обновы перестал...
файла с базой нет, возьми те от сюда есть только для чата...
Еще кланы были но я не помню де они) но можно сделать) легко....

Вот можно скрины глянуть: http://dapf.ru/index.php?showtopic=13303&a...%EE%F1%F2%FC+by
Пожалуйста,перезалейте кто успел скачать,дизайн впечатлил,а ссылка битая.Зарание спасибо.
 
А перезалить диз для Крепости можно? :rolleyes:
 
О ужс, я ее еще делал 2 года назад.. неужели вы еще пользуетесь этой крепостью? ) Кстате у меня есть версия под API VK
 
Кто может,перезалейте диз пожалуйста)
 
- Можно загружать аватарку.
Без правильно составленного хтакссеса пипец там будет)да и в картинках шелл прописать можно,советую снести
 
Без правильно составленного хтакссеса пипец там будет)да и в картинках шелл прописать можно,советую снести
Почти во всех играх можно загружать, как это - без аватарки?
Лучше подскажите, что там прописать для защиты. Сейчас хочу заняться крпостью, доделать королевства и сражения
 
Можно перезалить двиг и базу?)
Такну пасибку)
 
Сверху