예제 #1
0
function szpiegowanie($event)
{
    fx('dodaj_event');
    //atakujący
    $miasto1 = row("select * from tribal_miasta inner join tribal_gracze on gracz_id = gracz where miasto = " . $event['miasto_id']);
    //obrońca
    $miasto2 = row("select * from tribal_miasta inner join tribal_gracze on gracz_id = gracz  where miasto = " . $event['podtyp']);
    //pobierz dane broniących się szpiegów
    $obronca = row("select * from tribal_jednostki_miasta inner join tribal_jednostki on jednostka_id = jednostka where miasto_id = " . $event['podtyp'] . " and jednostka_id = 5 and ilosc > 0");
    $tekst1 = "Twoi szpiedzy z miasta " . $miasto1['nazwa'] . " szpiegują miasto " . $miasto2['nazwa'] . "<br/>";
    if (empty($obronca)) {
        $tekst1 .= "Nie napotkano oporu<br/>";
        $tekst2 = "Szpiedzy z wrogiego  szpiegują Twoje miasto " . $miasto2['nazwa'] . "<br/>";
    } else {
        //zabij odpowiednią ilość szpiegów po obu stronach
        $ilu = $event['ilosc'];
        $event['ilosc'] -= $obronca['ilosc'];
        $obronca['ilosc'] -= $ilu;
        if ($event['ilosc'] < 0) {
            $event['ilosc'] = 0;
        }
        if ($obronca['ilosc'] < 0) {
            $obronca['ilosc'] = 0;
        }
        //jeżeli obrońca w ogóle zabił jakiegoś szpiego to pokaż mu info z którego miasta przyszedł atak
        if ($ilu == $event['ilosc']) {
            $tekst2 = "Szpiedzy z miasta " . $miasto1['nazwa'] . " szpiegują Twoje miasto " . $miasto2['nazwa'] . "<br/>";
        } else {
            $tekst2 = "Szpiedzy z wrogiego  szpiegują Twoje miasto " . $miasto2['nazwa'] . "<br/>";
        }
    }
    if (empty($obronca['ilosc']) && !empty($event['ilosc'])) {
        $zwyciezca = 1;
        //zabij obrońcę
        call("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto'] . " and jednostka_id = 5");
        $tekst1 .= "Udało Ci się przeszpiegować miasto<br/>\n\t\t\tZdobyte informacje:<br/>\n\t\t\tDrewno: " . $miasto2['drewno'] . "\n\t\t\tKamień: " . $miasto2['kamien'] . "\n\t\t\tŻelazo: " . $miasto2['zelazo'] . "\n\t\t\tJedzenie: " . $miasto2['jedzenie'] . "\n\t\t\tPopulacja: " . $miasto2['populacja'] . "/" . $miasto2['populacja_max'] . "\n\t\t\t";
        $tekst2 .= "Twoi szpiedzy ponieśli klęskę<br/>";
    } elseif (empty($obronca['ilosc']) && empty($event['ilosc'])) {
        $zwyciezca = 0;
        //zabij obrońcę
        call("update tribal_jednostki_miasta set ilosc = 0 where miasto_id = " . $miasto2['miasto'] . " and jednostka_id = 5");
        $tekst1 .= "Twoi szpiedzy ponieśli klęskę<br/>";
        $tekst2 .= "Twoi szpiedzy zginęli ale nie dopuścili do infiltracji miasta<br/>";
    } else {
        $zwyciezca = 2;
        //zabij obrońcę
        call("update tribal_jednostki_miasta set ilosc = " . $obronca['ilosc'] . " where miasto_id = " . $miasto2['miasto'] . " and jednostka_id = 5");
        $tekst1 .= "Twoi szpiedzy ponieśli klęskę<br/>";
        $tekst2 .= "Twoi szpiedzy nie dopuścili do infiltracji miasta<br/>";
    }
    fx('wiadomosc_wyslij');
    $a = wiadomosc_wyslij(1, $miasto1['login'], $tekst1);
    $a = wiadomosc_wyslij(1, $miasto2['login'], $tekst2);
    if ($zwyciezca == 1) {
        //jeżeli wygrał to resztę szpiegów wyślij do domu
        $czas = $event['koniec'] - $event['start'];
        fx('dodaj_event');
        dodaj_event($event['miasto_id'], 21, $event['podtyp'], $event['ilosc'], $czas);
    }
}
예제 #2
0
function rozwiaz_szpiegow($event)
{
    //zabezpiecz zmienne
    fx('wiadomosc_wyslij');
    $login = one($q = "select login from tribal_gracze inner join tribal_miasta on gracz_id = gracz  where miasto = " . $event['miasto_id']);
    call("update tribal_jednostki_miasta set ilosc = ilosc + " . $event['ilosc'] . " where jednostka_id = 5 and miasto_id = " . $event['miasto_id']);
    $a = wiadomosc_wyslij(1, $login, "Szpiedzy powrócili do miasta");
}
예제 #3
0
function rozwiaz_szpiegow($event)
{
    //zabezpiecz zmienne
    require_once 'wiadomosc_wyslij.php';
    $login = mysql_fetch_array(mysql_query("select login from tribal_gracze inner join tribal_miasta on gracz_id = gracz  where miasto = " . $event['miasto_id']));
    $login = $login[0];
    mysql_query("update tribal_jednostki_miasta set ilosc = ilosc + " . $event['ilosc'] . " where jednostka_id = 5 and miasto_id = " . $event['miasto_id']);
    $a = wiadomosc_wyslij(1, $login, "Szpiedzy powrócili do miasta");
}
예제 #4
0
function rozwiaz_armie($id)
{
    //zabezpiecz zmienne
    $id = (int) $id;
    fx('wiadomosc_wyslij');
    $login = mysql_fetch_array(mysql_query("select login from planetx_gracze inner join planetx_planety on gracz_id = gracz inner join planetx_ataki on planeta = planeta_id where atak = " . $id));
    $jednostki = mysql_query("select * from planetx_ataki_jednostki inner join planetx_ataki a on a.atak = atak_id where atak_id = " . $id);
    while ($jednostka = mysql_fetch_array($jednostki)) {
        mysql_query("update planetx_jednostki_planety set ilosc = ilosc + " . $jednostka['ilosc'] . " where jednostka = " . $jednostka['jednostka'] . " and planeta_id = " . $jednostka['planeta_id']);
    }
    mysql_query("delete from planetx_ataki_jednostki where atak_id = " . $id);
    mysql_query("delete from planetx_ataki where atak = " . $id);
    $a = wiadomosc_wyslij(1, $login['login'], "Armia powróciła do planety");
}
예제 #5
0
<div style='width:100%; height:50px; text-align:center; display:block; margin-bottom:10px;'>
	<a href='?akcja=poczta'>odbierz</a> | 
	<a href='?akcja=poczta&typ=2'>wysłane</a> | 
	<a href='?akcja=poczta&typ=3'>raporty</a> | 
	<a href='?akcja=poczta&typ=4'>administracyjne</a> | 
	<a href='?akcja=poczta&nowa=ok'>nowa wiadomość</a>
</div>

<?php 
if (empty($_GET['typ'])) {
    $_GET['typ'] = 1;
}
$msg = '';
if (!empty($_POST['do']) && !empty($_POST['tekst'])) {
    fx('wiadomosc_wyslij');
    $msg = wiadomosc_wyslij($gracz['gracz'], $_POST['do'], $_POST['tekst']);
}
if (!empty($_GET['del'])) {
    fx('wiadomosc_usun');
    $msg = wiadomosc_usun($gracz['gracz'], $_GET['del'], $_GET['typ']);
}
if (!empty($_GET['del_all'])) {
    fx('wiadomosc_usun_wszystkie');
    $msg = wiadomosc_usun_wszystkie($gracz['gracz'], $_GET['typ']);
}
if (empty($_GET['nowa'])) {
    if (empty($_GET['czytaj'])) {
        switch ($_GET['typ']) {
            case 1:
                $query = mysql_query($q = "select id, login, data, status from planetx_wiadomosci inner join planetx_gracze on od = gracz where do = " . $gracz['gracz'] . " and typ = 1 order by status asc, id desc");
                if (mysql_num_rows($query) > 0) {
예제 #6
0
파일: bitwa.php 프로젝트: WlasnaGra/PlanetX
function bitwa($event)
{
    //atakujący
    $planeta1 = mysql_fetch_array(mysql_query("select * from planetx_planety inner join planetx_gracze on gracz_id = gracz where planeta = " . $event['planeta_id']));
    //obrońca
    $planeta2 = mysql_fetch_array(mysql_query("select * from planetx_planety inner join planetx_gracze on gracz_id = gracz  where planeta = " . $event['planeta_id_cel']));
    fx('jednostki');
    $jednostki = jednostki();
    $armia = mysql_query($q = "select * from planetx_ataki_jednostki  where atak_id = " . $event['atak']);
    $i = 1;
    while ($oddzial = mysql_fetch_array($armia)) {
        $atakujacy[$i]['nazwa'] = $jednostki[$oddzial['jednostka']]['nazwa'];
        $atakujacy[$i]['atak'] = $oddzial['atak'];
        $atakujacy[$i]['obrona'] = $oddzial['obrona'];
        $atakujacy[$i]['wytrzymalosc'] = $oddzial['wytrzymalosc'];
        $atakujacy[$i]['ilosc'] = $oddzial['ilosc'];
    }
    $armia2 = mysql_query("select * from planetx_jednostki_planety  where planeta_id = " . $event['planeta_id_cel'] . " and ilosc > 0");
    $i = 1;
    while ($oddzial = mysql_fetch_array($armia2)) {
        $obronca[$i]['nazwa'] = $jednostki[$oddzial['jednostka']]['nazwa'];
        $obronca[$i]['atak'] = $oddzial['atak'];
        $obronca[$i]['obrona'] = $oddzial['obrona'];
        $obronca[$i]['wytrzymalosc'] = $oddzial['wytrzymalosc'];
        $obronca[$i]['ilosc'] = $oddzial['ilosc'];
    }
    $tekst1 = "Twoja armia z planety " . $planeta1['nazwa'] . " zaatakowała planeta " . $planeta2['nazwa'] . "<br/>";
    $tekst2 = "Wrogowie z planety " . $planeta1['nazwa'] . " zaatakowali Twoje planeta " . $planeta2['nazwa'] . "<br/>";
    if (empty($obronca) == 0) {
        $tekst1 .= "Nie napotkano oporu<br/>";
    }
    while (!empty($atakujacy) && !empty($obronca)) {
        foreach ($atakujacy as $oddzial) {
            if (!empty($obronca)) {
                shuffle($obronca);
                $key = array_rand($obronca);
                $przeciwnik = $obronca[$key];
                if (!empty($przeciwnik)) {
                    $atak = $oddzial['atak'] * $oddzial['ilosc'];
                    $obrona = $przeciwnik['obrona'] * $przeciwnik['ilosc'];
                    $rany = $atak - $obrona;
                    if ($rany < $oddzial['ilosc']) {
                        $rany = $oddzial['ilosc'];
                    }
                    $zabito = floor($rany / $przeciwnik['wytrzymalosc']);
                    if ($zabito < 1) {
                        $zabito = 1;
                    }
                    if ($zabito > $przeciwnik['ilosc']) {
                        $zabito = $przeciwnik['ilosc'];
                    }
                    $przeciwnik['ilosc'] -= $zabito;
                    if ($przeciwnik['ilosc'] < 1) {
                        unset($obronca[$key]);
                    } else {
                        $obronca[$key] = $przeciwnik;
                    }
                }
            }
        }
        foreach ($obronca as $oddzial) {
            if (!empty($atakujacy)) {
                shuffle($atakujacy);
                $key = array_rand($atakujacy);
                $przeciwnik = $atakujacy[$key];
                if (!empty($przeciwnik)) {
                    $atak = $oddzial['atak'] * $oddzial['ilosc'];
                    $obrona = $przeciwnik['obrona'] * $przeciwnik['ilosc'];
                    $rany = $atak - $obrona;
                    if ($rany < $oddzial['ilosc']) {
                        $rany = $oddzial['ilosc'];
                    }
                    $zabito = floor($rany / $przeciwnik['wytrzymalosc']);
                    if ($zabito < 1) {
                        $zabito = 1;
                    }
                    if ($zabito > $przeciwnik['ilosc']) {
                        $zabito = $przeciwnik['ilosc'];
                    }
                    $przeciwnik['ilosc'] -= $zabito;
                    if ($przeciwnik['ilosc'] < 1) {
                        unset($atakujacy[$key]);
                    } else {
                        $atakujacy[$key] = $przeciwnik;
                    }
                }
            }
        }
    }
    if (empty($obronca) && !empty($atakujacy)) {
        $zwyciezca = 1;
        //zabij obrońcę
        mysql_query("update planetx_jednostki_planety set ilosc = 0 where planeta_id = " . $planeta2['planeta']);
        foreach ($atakujacy as $oddzial) {
            mysql_query("update planetx_ataki_jednostki set ilosc = " . $oddzial['ilosc'] . " where jednostka = " . $oddzial['jednostka'] . "  and atak_id = " . $event['atak']);
        }
        mysql_query("delete from planetx_ataki_jednostki where ilosc = 0  and atak_id = " . $event['atak']);
        $tekst1 .= "Wygrałeś bitwę<br/>";
        $tekst2 .= "Przegrałeś bitwę<br/>";
        if ($planeta2['morale'] > 10) {
            mysql_query("update planetx_planety set morale = morale - 10 where planeta =" . $planeta2['planeta']);
        } else {
            mysql_query("update planetx_planety set gracz_id = " . $planeta1['gracz_id'] . ", morale = 100 where morale < 11 and planeta = " . $planeta2['planeta']);
            $tekst1 .= 'Przejąłeś planeta ' . $planeta2['nazwa'] . ' !!<br/>';
            $tekst2 .= 'Straciłeś planeta ' . $planeta2['nazwa'] . ' !!<br/>';
            mysql_query("update planetx_gracze set aktywna_planeta = 0 where aktywna_planeta =" . $planeta2['planeta']);
        }
    } elseif (empty($obronca) && empty($atakujacy)) {
        $zwyciezca = 0;
        //zabij obrońcę
        mysql_query("update planetx_jednostki_planety set ilosc = 0 where planeta_id = " . $planeta2['planeta']);
        //zabij atakującego
        mysql_query("delete from planetx_ataki_jednostki where ilosc = 0  and atak_id = " . $event['atak']);
        mysql_query("delete from planetx_ataki where atak = " . $event['atak']);
        $tekst1 .= "Bitwa nierozstrzygnięta<br/>";
        $tekst2 .= "Bitwa nierozstrzygnięta<br/>";
        mysql_query("update planetx_planety set morale = morale + 5 where planeta =" . $planeta2['planeta']);
    } else {
        $zwyciezca = 2;
        //zabij obrońcę
        foreach ($obronca as $oddzial) {
            mysql_query("update planetx_jednostki_planety set ilosc = " . $oddzial['ilosc'] . " where jednostka = " . $oddzial['jednostka'] . " and planeta_id = " . $planeta2['planeta']);
        }
        //zabij atakującego
        mysql_query("delete from planetx_ataki_jednostki where ilosc = 0  and atak_id = " . $event['atak']);
        mysql_query("delete from planetx_ataki where atak = " . $event['atak']);
        $tekst2 .= "Wygrałeś bitwę<br/>";
        $tekst1 .= "Przegrałeś bitwę<br/>";
        mysql_query("update planetx_planety set morale = morale + 10 where planeta =" . $planeta2['planeta']);
    }
    fx('wiadomosc_wyslij');
    $a = wiadomosc_wyslij(1, $planeta1['login'], $tekst1);
    $a = wiadomosc_wyslij(1, $planeta2['login'], $tekst2);
    if ($zwyciezca == 1) {
        $czas = $event['koniec'] - $event['start'];
        mysql_query("update planetx_ataki set status = 1, start = " . time() . ", koniec = " . (time() + $czas) . " where atak = " . $event['atak']);
    }
}
예제 #7
0
function pojedynek($gracz, $przeciwnik)
{
    //zabezpiecz zmienne
    $gracz = (int) $gracz;
    $przeciwnik = (int) $przeciwnik;
    $wygrany = 0;
    //pobierz dane gracza1
    $gracz_dane = row("select * from driver_gracze where gracz = {$gracz}");
    $gracz_dane['vmax'] += $gracz_dane['bonus_vmax'];
    $gracz_dane['do100'] += $gracz_dane['bonus_do100'];
    $przeciwnik_dane = row("select * from driver_gracze where gracz = {$przeciwnik} and auto > 0");
    if (empty($przeciwnik_dane)) {
        $msg = "nie ma takiego gracza lub gracz nie ma auta";
    } elseif ($gracz_dane['akcje'] < 5) {
        $msg = "masz za mało punktów akcji, minimum 5";
    } elseif ($gracz_dane['auto'] == 0) {
        $msg = "nie masz auta";
    } else {
        $pozycja_gracz = 0;
        $pozycja_przeciwnik = 0;
        $przeciwnik_dane['vmax'] += $przeciwnik_dane['bonus_vmax'];
        $przeciwnik_dane['do100'] += $przeciwnik_dane['bonus_do100'];
        //ustal najwyższe wartości
        $max['vmax'] = max($przeciwnik_dane['vmax'], $gracz_dane['vmax']);
        $max['do100'] = max($przeciwnik_dane['do100'], $gracz_dane['do100']);
        for ($i = 1; $i <= 10; $i++) {
            $losuj = rand(1, $max['vmax']);
            //jeżeli gracz przeszedł test dodaj punkt
            if ($gracz_dane['vmax'] >= $losuj) {
                $pozycja_gracz++;
            }
            //jeżeli przeciwnik przeszedł test dodaj punkt
            if ($przeciwnik_dane['vmax'] >= $losuj) {
                $pozycja_przeciwnik++;
            }
            $losuj = rand(1, $max['do100']);
            //jeżeli gracz przeszedł test dodaj punkt
            if ($gracz_dane['do100'] <= $losuj) {
                $pozycja_gracz++;
            }
            //jeżeli przeciwnik przeszedł test dodaj punkt
            if ($przeciwnik_dane['do100'] <= $losuj) {
                $pozycja_przeciwnik++;
            }
        }
        //jeżeli zdobyli tyle samo punktów to wylosuj który wygrywa
        if ($pozycja_przeciwnik == $pozycja_gracz) {
            if (rand(0, 1) == 0) {
                $pozycja_gracz++;
            } else {
                $pozycja_przeciwnik++;
            }
        }
        //gracz przegrał
        if ($pozycja_przeciwnik > $pozycja_gracz) {
            $msg = "przegrałeś wyścig";
            $wygrany = 2;
            $respekt = floor($gracz_dane['respekt'] * 0.1);
            if ($respekt < 1) {
                $respekt = 1;
            }
            call("update driver_gracze set  akcje = akcje - 5 where gracz = {$gracz}");
            call("update driver_gracze set  respekt = respekt + {$respekt} where gracz = {$przeciwnik}");
            $text = "zostałeś wyzwany na pojedynek przez gracza " . $gracz_dane['login'] . " i wygrałeś! <br/> zdobyłeś {$respekt} respektu";
        } else {
            $wygrany = 1;
            $respekt = floor($przeciwnik_dane['respekt'] * 0.1);
            if ($respekt < 1) {
                $respekt = 1;
            }
            $msg = "wygrałeś wyścig i zdobyłeś {$respekt} respektu";
            call("update driver_gracze set  akcje = akcje - 5, respekt = respekt + {$respekt} where gracz = {$gracz}");
            $text = "zostałeś wyzwany na pojedynek przez gracza " . $gracz_dane['login'] . " i przegrałeś";
        }
        //wyślij wiadomość wyzwanemu
        fx('wiadomosc_wyslij');
        $admin = one("select gracz from driver_gracze where login = '******' limit 1");
        $t = wiadomosc_wyslij($admin, $przeciwnik_dane['login'], $text);
    }
    $wynik['wygrany'] = $wygrany;
    $wynik['tekst'] = $msg;
    return $wynik;
}
예제 #8
0
}
if (isset($_GET['akcja']) && isset($_SESSION['id'])) {
    if (isset($_GET['id'])) {
        echo '<div id="container">';
        plan_pokaz($_GET['id'], $_GET['akcja']);
    }
    if ($_GET['akcja'] == 'zmiana') {
        zmien_ustawienia();
    }
    if ($_GET['akcja'] == 'wiad_pokaz') {
        wiadomosc_pokaz();
    }
    if ($_GET['akcja'] == 'wiad_nowa') {
        wiadomosc_napisz();
        if (isset($_POST['wyslij'])) {
            wiadomosc_wyslij();
        }
    }
    if ($_GET['akcja'] == 'wiad_usun' && isset($_GET['wiad_id'])) {
        $zapytanie = "select odbiorca_ID from wiadomosc where odbiorca_ID=" . $_SESSION['id'] . "";
        $wynik = mysql_query($zapytanie);
        if ($row = mysql_fetch_row($wynik)) {
            wiadomosc_usun($_GET['wiad_id']);
        } else {
            echo '<h1>brak uprawnień</h1>';
        }
    }
    if ($prawa == 'administrator') {
        if ($_GET['akcja'] == 'nowy_user') {
            add_user();
        }