function przerwij_trening($gracz, $id) { //zabezpiecz zmienne $id = (int) $id; $jednostka = row("select * from tribal_eventy inner join tribal_jednostki on podtyp = jednostka where event = " . $id . " and typ = 3 and miasto_id = " . $gracz['id_miasta'] . " limit 1"); if (empty($jednostka)) { $error = "nie ma takiego zdarzenia"; } else { $jednostka['drewno'] = floor($jednostka['drewno'] * $jednostka['ilosc'] * 0.9); $jednostka['kamien'] = floor($jednostka['kamien'] * $jednostka['ilosc'] * 0.9); $jednostka['zelazo'] = floor($jednostka['zelazo'] * $jednostka['ilosc'] * 0.9); $jednostka['jedzenie'] = floor($jednostka['jedzenie'] * $jednostka['ilosc'] * 0.9); $jednostka['populacja'] = floor($jednostka['populacja'] * $jednostka['ilosc']); //usuń event fx('usun_event'); usun_event($jednostka['event']); //zabierz surowce fx('surowce'); surowce($gracz['id_miasta'], $jednostka['drewno'], $jednostka['kamien'], $jednostka['zelazo'], $jednostka['jedzenie'], -$jednostka['populacja']); $czas = $jednostka['koniec'] - mktime(); call("update tribal_eventy set start = start - {$czas}, koniec = koniec - {$czas} where typ = 3 and event > " . $jednostka['event'] . " and miasto_id = " . $gracz['id_miasta']); $error = "przerwano trenowanie jednostki"; } return $error; }
function trenuj($gracz, $typ, $id, $ilu, $kolejka_trenowania) { //zabezpiecz zmienne $id = (int) $id; $ilu = (int) $ilu; $obiekt = one("select poziom from tribal_budynki_miasta where miasto_id = " . $gracz['id_miasta'] . " and budynek_id = " . $typ . " limit 1"); if (empty($obiekt)) { $error = "nie posiadasz wymaganego budynku"; } elseif ($ilu < 1) { $error = "muszisz trenować minimum 1 jednostkę"; } else { $jednostka = row("select * from tribal_jednostki where wymagany_budynek = " . $typ . " and jednostka = " . $id . " and poziom_wymaganego_budynku <= " . $obiekt); if (empty($jednostka)) { $error = "nie ma takiej jednostki, lub nie masz wymaganego budynku na odpowiednim poziomie"; } elseif ($jednostka['drewno'] * $ilu > $gracz['dane_miasta']['drewno'] || $jednostka['kamien'] * $ilu > $gracz['dane_miasta']['kamien'] || $jednostka['zelazo'] * $ilu > $gracz['dane_miasta']['zelazo'] || $jednostka['jedzenie'] * $ilu > $gracz['dane_miasta']['jedzenie'] || $jednostka['populacja'] * $ilu > $gracz['dane_miasta']['populacja_max'] - $gracz['dane_miasta']['populacja']) { $error = "nie masz wystarczającej ilości surowców"; } else { $kolejka = row("select \n\t\t\t(select count(*) from tribal_eventy where typ = 3 and miasto_id = " . $gracz['id_miasta'] . ") as kolejka,\n\t\t\t(select count(*) from tribal_eventy where typ = 3 and podtyp = " . $id . " and miasto_id = " . $gracz['id_miasta'] . ") as w_kolejce\n\t\t\t"); if ($kolejka['kolejka'] == $kolejka_trenowania) { $error = "kolejka zajęta"; } else { //dodaj event fx('dodaj_event'); dodaj_event($gracz['id_miasta'], 3, $id, $ilu, $jednostka['czas_treningu'] * $ilu); fx('surowce'); surowce($gracz['id_miasta'], -$jednostka['drewno'] * $ilu, -$jednostka['kamien'] * $ilu, -$jednostka['zelazo'] * $ilu, -$jednostka['jedzenie'] * $ilu, $jednostka['populacja'] * $ilu); //zabierz surowce $error = "rozpoczęto trening"; } } } return $error; }
function buduj($gracz, $id, $kolejka_budowy) { //zabezpiecz zmienne $id = (int) $id; $info = mysql_fetch_array(mysql_query("select bm.poziom as poziom, bm.drewno as bmdrewno, bm.kamien as bmkamien, bm.zelazo as bmzelazo, bm.jedzenie as bmjedzenie, bm.populacja as bmpopulacja, bm.czas_budowy as bmczas_budowy, b.* from tribal_budynki b left join tribal_budynki_miasta bm on b.budynek = bm.budynek_id and bm.miasto_id = " . $gracz['id_miasta'] . " where b.budynek = " . $id . " limit 1")); if (empty($info)) { $error = "nie ma takiego obiektu"; } else { if (!empty($info['poziom'])) { $info['drewno'] = $info['bmdrewno']; $info['kamien'] = $info['bmkamien']; $info['zelazo'] = $info['bmzelazo']; $info['jedzenie'] = $info['bmjedzenie']; $info['populacja'] = $info['bmpopulacja']; $info['czas_budowy'] = $info['bmczas_budowy']; } else { $info['poziom'] = 0; } $budowany = mysql_fetch_array(mysql_query("select count(*) from tribal_eventy where typ = 1 and podtyp = {$id} and miasto_id = " . $gracz['id_miasta'])); $budowany = $budowany[0]; if ($budowany > 0) { $error = "budujesz już ten budynek"; } else { $kolejka = mysql_fetch_array(mysql_query("select count(*) from tribal_eventy where typ = 1 and miasto_id = " . $gracz['id_miasta'])); $kolejka = $kolejka[0]; if ($kolejka == $kolejka_budowy) { $error = "kolejka budowy zajęta"; } else { if ($info['drewno'] > $gracz['dane_miasta']['drewno'] || $info['kamien'] > $gracz['dane_miasta']['kamien'] || $info['zelazo'] > $gracz['dane_miasta']['zelazo'] || $info['jedzenie'] > $gracz['dane_miasta']['jedzenie'] || $info['populacja'] > $gracz['dane_miasta']['populacja_max'] - $gracz['dane_miasta']['populacja']) { $error = "nie masz wystarczającej ilości surowców"; } elseif ($info['poziom'] == $info['max_poziom']) { $error = "osiągnięto maksymalny poziom"; } else { $wymagania = mysql_fetch_array(mysql_query("\n\t\t\t\t\tselect\n\t\t\t\t\t\tcase when count(*) >=\n\t\t\t\t\t\t(select count(*) from tribal_budynki_wymagania\n\t\t\t\t\t\twhere budynek_id = {$id})\n\t\t\t\t\t\tthen 1 else 0 end\n\n\t\t\t\t\t\tfrom tribal_budynki_wymagania t2,\n\t\t\t\t\t\ttribal_budynki_miasta t1\n\t\t\t\t\t\twhere t2.budynek_id = {$id}\n\t\t\t\t\t\tand t1.budynek_id = t2.wymagany_budynek_id\n\t\t\t\t\t\tand t1.miasto_id = " . $gracz['id_miasta'] . " \n\t\t\t\t\t\tand t1.poziom >= t2.wymagany_poziom\n\t\t\t\t\t")); $wymagania = $wymagania[0]; if ($wymagania == 1) { //dodaj event require_once 'dodaj_event.php'; dodaj_event($gracz['id_miasta'], 1, $id, 1, $info['czas_budowy']); require_once 'surowce.php'; surowce($gracz['id_miasta'], -$info['drewno'], -$info['kamien'], -$info['zelazo'], -$info['jedzenie'], $info['populacja']); //zabierz surowce $error = "rozpoczęto budowę"; } else { $error = "nie spełniono wymagań do budowy tego budynku"; } } } } } return $error; }
function transport($miasto) { require_once 'surowce.php'; $karawana = mysql_fetch_array(mysql_query("select * from tribal_karawany where z_miasta = " . $miasto . " and koniec <= " . time())); if (!empty($karawana)) { if ($karawana['status'] == 0) { surowce($karawana['do_miasta'], $karawana['drewno'], $karawana['kamien'], $karawana['zelazo'], $karawana['jedzenie'], 0); mysql_query("update tribal_karawany set status = 1, drewno = 0, kamien = 0, zelazo =0, jedzenie = 0, start = koniec, koniec = koniec + 3600 where karawana = " . $karawana['karawana']); } else { surowce($karawana['z_miasta'], $karawana['drewno'], $karawana['kamien'], $karawana['zelazo'], $karawana['jedzenie'], 0); mysql_query("delete from tribal_karawany where karawana = " . $karawana['karawana']); } } }
function transport($miasto) { fx('surowce'); $eventy_karawany = all("select * from tribal_karawany where z_miasta = " . $miasto . " and koniec <= " . time()); if (is_array($eventy_karawany)) { foreach ($eventy_karawany as $karawana) { if ($karawana['status'] == 0) { surowce($karawana['do_miasta'], $karawana['drewno'], $karawana['kamien'], $karawana['zelazo'], $karawana['jedzenie'], 0); call("update tribal_karawany set status = 1, drewno = 0, kamien = 0, zelazo =0, jedzenie = 0, start = koniec, koniec = koniec + 3600 where karawana = " . $karawana['karawana']); } else { surowce($karawana['z_miasta'], $karawana['drewno'], $karawana['kamien'], $karawana['zelazo'], $karawana['jedzenie'], 0); call("delete from tribal_karawany where karawana = " . $karawana['karawana']); } } } }
function rozwiaz_armie($id) { //zabezpiecz zmienne $id = (int) $id; fx('wiadomosc_wyslij'); $login = one($q = "select login from tribal_gracze inner join tribal_miasta on gracz_id = gracz inner join tribal_ataki on miasto = miasto_id where atak = " . $id); $atak_info = row("select * from tribal_ataki where atak = {$id}"); $jednostki = all("select * from tribal_ataki_jednostki inner join tribal_ataki a on a.atak = atak_id where atak_id = {$id}"); if (is_array($jednostki)) { foreach ($jednostki as $jednostka) { call("update tribal_jednostki_miasta set ilosc = ilosc + " . $jednostka['ilosc'] . " where jednostka_id = " . $jednostka['jednostka_id'] . " and miasto_id = " . $jednostka['miasto_id']); } } call("delete from tribal_ataki_jednostki where atak_id = {$id}"); call("delete from tribal_ataki where atak = {$id}"); fx('surowce'); surowce($atak_info['miasto_id'], $atak_info['drewno'], $atak_info['kamien'], $atak_info['zelazo'], $atak_info['jedzenie'], 0); fx('raport'); $a = raport($login, "Armia powróciła do miasta ,rozładowano " . $atak_info['drewno'] . " drewna, " . $atak_info['kamien'] . " kamienia, " . $atak_info['zelazo'] . " żelaza i " . $atak_info['jedzenie'] . " jedzenia"); }
function rozwiaz_armie($id) { //zabezpiecz zmienne $id = (int) $id; require_once 'wiadomosc_wyslij.php'; $login = mysql_fetch_array(mysql_query("select login from tribal_gracze inner join tribal_miasta on gracz_id = gracz inner join tribal_ataki on miasto = miasto_id where atak = " . $id)); $login = $login[0]; $atak_info = mysql_fetch_array(mysql_query("select * from tribal_ataki where atak = {$id}")); $jednostki = all("select * from tribal_ataki_jednostki inner join tribal_ataki a on a.atak = atak_id where atak_id = {$id}"); if (is_array($jednostki)) { foreach ($jednostki as $jednostka) { mysql_query("update tribal_jednostki_miasta set ilosc = ilosc + " . $jednostka['ilosc'] . " where jednostka_id = " . $jednostka['jednostka_id'] . " and miasto_id = " . $jednostka['miasto_id']); } } mysql_query("delete from tribal_ataki_jednostki where atak_id = {$id}"); mysql_query("delete from tribal_ataki where atak = {$id}"); require_once 'surowce.php'; surowce($atak_info['miasto_id'], $atak_info['drewno'], $atak_info['kamien'], $atak_info['zelazo'], $atak_info['jedzenie'], 0); require_once 'raport.php'; $a = raport($login, "Armia powróciła do miasta ,rozładowano " . $atak_info['drewno'] . " drewna, " . $atak_info['kamien'] . " kamienia, " . $atak_info['zelazo'] . " żelaza i " . $atak_info['jedzenie'] . " jedzenia"); }
function przerwij_budowe($gracz, $id) { //zabezpiecz zmienne $id = (int) $id; $info = row("select bm.drewno as bmdrewno, bm.kamien as bmkamien, bm.zelazo as bmzelazo, bm.jedzenie as bmjedzenie, bm.populacja as bmpopulacja, bm.czas_budowy as bmczas_budowy, bm.poziom as bmpoziom, b.* from tribal_budynki b left join tribal_budynki_miasta bm on b.budynek = bm.budynek_id and bm.miasto_id = " . $gracz['id_miasta'] . " where b.budynek = " . $id . " limit 1"); if (empty($info)) { $error = "nie ma takiego obiektu"; } else { if (!empty($info['bmdrewno'])) { $info['drewno'] = $info['bmdrewno']; $info['kamien'] = $info['bmkamien']; $info['zelazo'] = $info['bmzelazo']; $info['jedzenie'] = $info['bmjedzenie']; $info['populacja'] = $info['bmpopulacja']; $info['poziom'] = $info['bmpoziom']; $info['czas_budowy'] = $info['bmczas_budowy']; } else { $info['poziom'] = 0; } $info['drewno'] = floor($info['drewno'] * 0.9); $info['kamien'] = floor($info['kamien'] * 0.9); $info['zelazo'] = floor($info['zelazo'] * 0.9); $info['jedzenie'] = floor($info['jedzenie'] * 0.9); $budowany = row("select * from tribal_eventy where typ = 1 and podtyp = {$id} and miasto_id = " . $gracz['id_miasta']); if (empty($budowany)) { $error = "nie budujesz tego budynku"; } else { //usuń event fx('usun_event'); usun_event($budowany['event']); //zabierz surowce fx('surowce'); surowce($gracz['id_miasta'], $info['drewno'], $info['kamien'], $info['zelazo'], $info['jedzenie'], -$info['populacja']); $czas = $budowany['koniec'] - mktime(); call("update tribal_eventy set start = start - {$czas}, koniec = koniec - {$czas} where typ = 1 and event > " . $budowany['event'] . " and miasto_id = " . $gracz['id_miasta']); $error = "przerwano budowę"; } } return $error; }
function przerwij_ulepszanie($gracz, $id) { //zabezpiecz zmienne $id = (int) $id; $tech = row("select \n\t\ttt.technologia,\n\t\ttt.drewno as drewno1, ttm.drewno as drewno2,\n\t\ttt.kamien as kamien1, ttm.kamien as kamien2, \n\t\ttt.zelazo as zelazo1, ttm.zelazo as zelazo2,\n\t\ttt.jedzenie as jedzenie1, ttm.jedzenie as jedzenie2,\n\t\ttt.czas_rozwoju as czas_rozwoju1, ttm.czas_rozwoju as czas_rozwoju2,\n\t\ttt.nazwa, ttm.poziom, tt.max_poziom,\n\t\t(select koniec - " . mktime() . " from tribal_eventy where typ = 2 and podtyp = tt.technologia and miasto_id = " . $gracz['id_miasta'] . ") as w_kolejce\n\tfrom tribal_technologie tt \n\tleft join tribal_technologie_miasta ttm \n\ton tt.technologia = ttm.technologia_id \n\tand ttm.miasto_id = " . $gracz['id_miasta'] . " where tt.technologia = " . $id . " limit 1\n\t"); if (empty($tech)) { $error = "nie ma takiego obiektu"; } else { if (!empty($tech['poziom'])) { $tech['drewno1'] = $tech['drewno2']; $tech['kamien1'] = $tech['kamien2']; $tech['zelazo1'] = $tech['zelazo2']; $tech['jedzenie1'] = $tech['jedzenie2']; $tech['czas_rozwoju1'] = $tech['czas_rozwoju2']; } else { $tech['poziom'] = 0; } $tech['drewno1'] = floor($tech['drewno1'] * 0.9); $tech['kamien1'] = floor($tech['kamien1'] * 0.9); $tech['zelazo1'] = floor($tech['zelazo1'] * 0.9); $tech['jedzenie1'] = floor($tech['jedzenie1'] * 0.9); $event = row("select * from tribal_eventy where typ = 2 and podtyp = {$id} and miasto_id = " . $gracz['id_miasta']); if (empty($event)) { $error = "nie rozwijasz tej technologii"; } else { //usuń event fx('usun_event'); usun_event($event['event']); //zabierz surowce fx('surowce'); surowce($gracz['id_miasta'], $tech['drewno1'], $tech['kamien1'], $tech['zelazo1'], $tech['jedzenie1'], 0); $czas = $event['koniec'] - mktime(); call("update tribal_eventy set start = start - {$czas}, koniec = koniec - {$czas} where typ = 2 and event > " . $event['event'] . " and miasto_id = " . $gracz['id_miasta']); $error = "przerwano rozwój technologii"; } } return $error; }
function ulepsz($gracz, $id, $kolejka_technologii) { //zabezpiecz zmienne $id = (int) $id; $tech = mysql_fetch_array(mysql_query("select \n\t\ttt.technologia,\n\t\ttt.drewno as drewno1, ttm.drewno as drewno2,\n\t\ttt.kamien as kamien1, ttm.kamien as kamien2, \n\t\ttt.zelazo as zelazo1, ttm.zelazo as zelazo2,\n\t\ttt.jedzenie as jedzenie1, ttm.jedzenie as jedzenie2,\n\t\ttt.czas_rozwoju as czas_rozwoju1, ttm.czas_rozwoju as czas_rozwoju2,\n\t\ttt.nazwa, ttm.poziom, tt.max_poziom,\n\t\t(select koniec - " . time() . " from tribal_eventy where typ = 2 and podtyp = tt.technologia and miasto_id = " . $gracz['id_miasta'] . ") as w_kolejce\n\tfrom tribal_technologie tt \n\tleft join tribal_technologie_miasta ttm \n\ton tt.technologia = ttm.technologia_id \n\tand ttm.miasto_id = " . $gracz['id_miasta'] . " where tt.technologia = " . $id . " limit 1\n\t")); if (empty($tech)) { $error = "nie ma takiego obiektu"; } else { if (!empty($tech['poziom'])) { $tech['drewno1'] = $tech['drewno2']; $tech['kamien1'] = $tech['kamien2']; $tech['zelazo1'] = $tech['zelazo2']; $tech['jedzenie1'] = $tech['jedzenie2']; $tech['czas_rozwoju1'] = $tech['czas_rozwoju2']; } else { $tech['poziom'] = 0; } if ($tech['drewno1'] > $gracz['dane_miasta']['drewno'] || $tech['kamien1'] > $gracz['dane_miasta']['kamien'] || $tech['zelazo1'] > $gracz['dane_miasta']['zelazo'] || $tech['jedzenie1'] > $gracz['dane_miasta']['jedzenie']) { $error = "nie masz wystarczającej ilości surowców"; } elseif ($tech['poziom'] == $tech['max_poziom']) { $error = "osiągnięto maksymalny poziom"; } elseif ($kolejka == $kolejka_technologii) { $error = "kolejka zajęta"; } elseif (!empty($tech['w_kolejce'])) { $error = "rozwijasz tą naukę"; } else { //dodaj event require_once 'dodaj_event.php'; dodaj_event($gracz['id_miasta'], 2, $id, 1, $tech['czas_rozwoju1']); require_once 'surowce.php'; surowce($gracz['id_miasta'], -$tech['drewno1'], -$tech['kamien1'], -$tech['zelazo1'], -$tech['jedzenie1'], 0); //zabierz surowce $error = "rozpoczęto budowę"; } } return $error; }
case 2: if ($gracz['monety'] >= 55) { call("update tribal_gracze set monety = monety - 55 where gracz = " . $gracz['gracz']); fx('surowce'); surowce($gracz['id_miasta'], 2500, 2500, 1500, 750, 0); $gracz['monety'] -= 55; $msg = "dodano surowce do miasta"; } else { $msg = "nie posiadasz wystarczającej ilości Monet"; } break; case 3: if ($gracz['monety'] >= 100) { call("update tribal_gracze set monety = monety - 100 where gracz = " . $gracz['gracz']); fx('surowce'); surowce($gracz['id_miasta'], 5000, 5000, 3000, 1500, 0); $gracz['monety'] -= 100; $msg = "dodano surowce do miasta"; } else { $msg = "nie posiadasz wystarczającej ilości Monet"; } break; default: $msg = "nie ma takiej opcji"; break; } echo $msg . "<br><br><br>"; } ?> Posiadasz: <b><?php
$msg = "musisz wysłać minimum 1 sztukę jakiegoś surowca"; } elseif ($drewno > $User['dane_miasta']['drewno'] || $kamien > $User['dane_miasta']['kamien'] || $zelazo > $User['dane_miasta']['zelazo'] || $jedzenie > $User['dane_miasta']['jedzenie']) { //jeżeli nie ma jakiegoś surowca odpowiedniej ilości $msg = "nie posiadasz odpowiedniej ilości surowców"; } else { $_POST['do'] = vText($_POST['do']); $cel = mysql_fetch_array(mysql_query("select * from tribal_gracze inner join tribal_miasta on gracz = gracz_id where nazwa = '" . $_POST['do'] . "' limit 1")); if (empty($cel)) { $msg = "nie ma takiego miasta docelowego"; } else { $ma_tawerne = one("select poziom from tribal_budynki_miasta where miasto_id = " . $cel['miasto'] . " and budynek_id = 7"); if (empty($ma_tawerne)) { $msg = "miasto docelowe nie posiada Tawerny, handel niemożliwy"; } else { require_once 'funkcje/surowce.php'; surowce($User['id_miasta'], -$drewno, -$kamien, -$zelazo, -$jedzenie, 0); $User['dane_miasta']['drewno'] -= $drewno; $User['dane_miasta']['kamien'] -= $kamien; $User['dane_miasta']['zelazo'] -= $zelazo; $User['dane_miasta']['jedzenie'] -= $jedzenie; mysql_query("insert into tribal_karawany (z_miasta, do_miasta, drewno, kamien, zelazo, jedzenie, start, koniec) value (" . $User['id_miasta'] . ", " . $cel['miasto'] . ", " . $drewno . ", " . $kamien . ", " . $zelazo . ", " . $jedzenie . "," . time() . "," . (time() + 3600) . ")"); $msg = "wysłano karawanę"; } } } echo $msg . "<hr/>"; } ?> <form action='?akcja=karawany' method='post'> Wyślij surowce do miasta: <input type='text' name='do' value='<?php
case 2: if ($User['monety'] >= 55) { mysql_query("update tribal_gracze set monety = monety - 55 where gracz = " . $User['gracz']); require_once 'funkcje/surowce.php'; surowce($User['id_miasta'], 2500, 2500, 1500, 750, 0); $User['monety'] -= 55; $msg = "dodano surowce do miasta"; } else { $msg = "nie posiadasz wystarczającej ilości Monet"; } break; case 3: if ($User['monety'] >= 100) { mysql_query("update tribal_gracze set monety = monety - 100 where gracz = " . $User['gracz']); require_once 'funkcje/surowce.php'; surowce($User['id_miasta'], 5000, 5000, 3000, 1500, 0); $User['monety'] -= 100; $msg = "dodano surowce do miasta"; } else { $msg = "nie posiadasz wystarczającej ilości Monet"; } break; default: $msg = "nie ma takiej opcji"; break; } echo $msg . "<br><br><br>"; } ?> Posiadasz: <b><?php