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); } }
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"); }
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"); }
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"); }
<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) {
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']); } }
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; }
} 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(); }