Utf8 convert

This commit is contained in:
2023-01-10 18:29:32 +02:00
parent 71b759232c
commit 90b9c8325e
3572 changed files with 35191 additions and 395614 deletions
+121 -121
View File
@@ -4,7 +4,7 @@ class Quests
{
private $free_x = 28;
/* Ïðîâåðêà äîñòóïíîñòè êâåñòà */
/* Проверка доступности квеста */
public function testGood($pl)
{
global $u;
@@ -17,12 +17,12 @@ class Quests
$d1 = 0;
$sp1 = mysql_fetch_array(mysql_query('SELECT COUNT(`id`) FROM `actions` WHERE `vars` LIKE "%start_quest%" AND `vals` = "go" AND `uid` = "' . $u->info['id'] . '" LIMIT 100'));
$pl1 = $pl1[0];
//Åñëè óæå áîëåå 5 êâåñòîâ âçÿëè
//Если уже более 5 квестов взяли
if ($d1 >= $this->free_x) {
$r = 0;
}
unset($d1, $pl1, $sp1);
//Åñëè êâåñò óæå âçÿëè
//Если квест уже взяли
$qlst = mysql_fetch_array(mysql_query('SELECT `id`,`vals` FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" ORDER BY `id` DESC LIMIT 1'));
if (isset($qlst['id']) && $qlst['vals'] != 'win' && $qlst['vals'] != 'end' && $qlst['vals'] != 'bad') {
$r = 0;
@@ -30,7 +30,7 @@ class Quests
unset($qlst, $qlst2);
$d = $this->expl($pl['tr_date']);
//Çàâåðøèòü êâåñòû [ 1,2,3,4,5 ...
//Завершить квесты [ 1,2,3,4,5 ...
if (isset($d['tr_endq'])) {
$i = 0;
$e = explode(',', $d['tr_endq']);
@@ -43,7 +43,7 @@ class Quests
}
unset($qn, $qlst, $qlst2);
}
//Çàäåðæêà ìåæäó âûïîëíåíèåì êâåñòà
//Задержка между выполнением квеста
if (isset($d['tr_zdr'])) {
$qlst = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" AND `vals` != "go" ORDER BY `time` DESC LIMIT 1'));
if ($qlst['time'] + ($d['tr_zdr'] * 60 * 60) - time() > 0) {
@@ -51,7 +51,7 @@ class Quests
}
unset($qlst);
}
//Ïåðåîäè÷íîñòü êâåñòà
//Переодичность квеста
if (isset($d['tr_tm1'])) {
$d['tr_tm1'] = str_replace('d', date('d'), $d['tr_tm1']);
$d['tr_tm1'] = str_replace('m', date('m'), $d['tr_tm1']);
@@ -59,9 +59,9 @@ class Quests
$d['tr_tm2'] = str_replace('d', date('d'), $d['tr_tm2']);
$d['tr_tm2'] = str_replace('m', date('m'), $d['tr_tm2']);
$d['tr_tm2'] = str_replace('y', date('y'), $d['tr_tm2']);
//ïðîâåðêà èíòåðâàëîâ
//проверка интервалов
}
//Ñêîëüêî ðàç ìîæíî ïðîéòè êâåñò
//Сколько раз можно пройти квест
if (isset($d['tr_raz'])) {
$qlst = $u->testAction('SELECT `id` FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" LIMIT ' . $d['tr_raz'], 2);
if ($d['tr_raz'] > 0 && $d['tr_raz'] - $qlst[0] <= 0) {
@@ -69,7 +69,7 @@ class Quests
}
unset($qlst);
}
//Ïîïûòîê ïðîéòè êâåñò
//Попыток пройти квест
if (isset($d['tr_raz2'])) {
$qlst = $u->testAction('SELECT `id` FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" AND `vals` != "go" AND `vals` != "win" LIMIT ' . $d['tr_raz2'], 2);
if ($d['tr_raz2'] - $qlst[0] <= 0) {
@@ -81,7 +81,7 @@ class Quests
}
public function onlyOnceQuest($quests, $uid)
{ // Îòñåèâàåì îäíîðàçîâûå êâåñòû
{ // Отсеиваем одноразовые квесты
$result = [];
$rep = mysql_fetch_array(mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $uid));
foreach ($quests as $quest) {
@@ -117,20 +117,20 @@ class Quests
return $result;
}
/* Âçÿòü êâåñò */
/* Взять квест */
public function startq($id, $val = null)
{
global $c, $u;
$pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE (`city` = "" OR `city` = "' . $u->info['city'] . '") AND `delete` = "0" AND `min_lvl` <= ' . $u->info['level'] . ' AND `max_lvl` >= ' . $u->info['level'] . ' AND (`align` = "0" OR `align` = "' . floor($u->info['align']) . '") AND `id` = "' . mysql_real_escape_string($id) . '" LIMIT 1'));
if (isset($pl['id'])) {
$u->addAction(time(), 'start_quest' . $pl['id'], 'go', null, $val);
$u->error = 'Âû óñïåøíî ïîëó÷èëè çàäàíèå &quot;' . $pl['name'] . '&quot;';
$u->error = 'Вы успешно получили задание &quot;' . $pl['name'] . '&quot;';
} else {
$u->error = 'Íå óäàëîñü ïîëó÷èòü äàííîå çàäàíèå';
$u->error = 'Не удалось получить данное задание';
}
}
/* Âçÿòü êâåñò â ïåùåðå */
/* Взять квест в пещере */
public function startq_dn($id, $val = null)
{
global $c, $u;
@@ -140,13 +140,13 @@ class Quests
$u->addAction(time(), 'start_quest' . $pl['id'], 'go');
else
$u->addAction(time(), 'start_quest' . $pl['id'], 'go', $u->info['id'], $val);
$u->error = 'Âû óñïåøíî ïîëó÷èëè çàäàíèå &quot;' . $pl['name'] . '&quot;';
$u->error = 'Вы успешно получили задание &quot;' . $pl['name'] . '&quot;';
} else {
$u->error = 'Íå óäàëîñü ïîëó÷èòü äàííîå çàäàíèå';
$u->error = 'Не удалось получить данное задание';
}
}
/* Îòêàçàòüñÿ îò êâåñòà */
/* Отказаться от квеста */
public function endq($id, $tp)
{
global $u;
@@ -155,28 +155,28 @@ class Quests
if (isset($qlst['id'])) {
if ($tp == 'end') {
mysql_query('UPDATE `actions` SET `vals` = "end" WHERE `id` = "' . $qlst['id'] . '" LIMIT 1');
$u->error = 'Âû óñïåøíî îòêàçàëèñü îò çàäàíèÿ &quot;' . $pl['name'] . '&quot;';
$u->error = 'Вы успешно отказались от задания &quot;' . $pl['name'] . '&quot;';
} elseif ($tp == 'win') {
mysql_query('UPDATE `actions` SET `vals` = "win" ,`time` = "' . time() . '" WHERE `id` = "' . $qlst['id'] . '" LIMIT 1');
}
} else {
$u->error = 'Íå óäàëîñü îòêàçàòüñÿ îò çàäàíèÿ ';
$u->error = 'Не удалось отказаться от задания ';
}
}
/* Èíôî î êâåñòå â ïåùåðàõ */
/* Инфо о квесте в пещерах */
public function infoDng($pl)
{
global $u;
$r = 0;
$xrz = 0;
$qst = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" AND `vals` = "go" LIMIT 1'));
//Óñëîâèÿ çàäàíèÿ êîòîðûå äîëæíû óäîâëåòâîðÿòü òåêóùèì õàðàêòåðèñòèêàì
//Условия задания которые должны удовлетворять текущим характеристикам
//$d = $this->expl($pl['tr_date']);
//Äåéñòâèÿ êâåñòà
//Действия квеста
$d = $this->expl($pl['act_date']);
//Ïîãîâîðèòü ñ NPS
//Поговорить с NPS
if (isset($d['dlg_nps'])) {
$i7 = 0;
$x3 = explode(',', $d['dlg_nps']);
@@ -190,12 +190,12 @@ class Quests
unset($x1, $x3, $x4, $i7);
}
//Óáèòü èãðîêîâ
//Убить игроков
if (isset($d['kill_user'])) {
$r += $d['kill_user'];
}
//Óáèòü áîòîâ
//Убить ботов
if (isset($d['kill_bot'])) {
$x = '';
$ex = explode(',', $d['kill_bot']);
@@ -221,7 +221,7 @@ class Quests
unset($x, $ex, $x2, $bot2, $ex2);
}
//Ñîáðàòü ðåñóðñû
//Собрать ресурсы
if (isset($d['tk_itm'])) {
$ex = explode(',', $d['tk_itm']);
$i = 0;
@@ -237,7 +237,7 @@ class Quests
}
}
//Ñîáðàòü òðîôåè
//Собрать трофеи
if (isset($d['tkill_itm'])) {
$ex = explode(',', $d['tkill_itm']);
$i = 0;
@@ -263,27 +263,27 @@ class Quests
$xrz = $r;
}
$r = '<table style="display:inline-block;" border="0" cellspacing="0" cellpadding="0" height="10"><tr><td valign="middle" width="120" style="padding-top:12px">
<div style="position:relative;"><div id="vhp-1234500000' . $pl['id'] . '" title="Âûïîëíåíèå çàäàíèÿ" align="left" class="seehp" style="position:absolute; top:-10px; width:120px; height:10px; z-index:12;"> ' . $xrz . '/' . $r . '</div>
<div title="Âûïîëíåíèå çàäàíèÿ" class="hpborder" style="position:absolute; top:-10px; width:120px; height:9px; z-index:13;"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div style="position:relative;"><div id="vhp-1234500000' . $pl['id'] . '" title="Выполнение задания" align="left" class="seehp" style="position:absolute; top:-10px; width:120px; height:10px; z-index:12;"> ' . $xrz . '/' . $r . '</div>
<div title="Выполнение задания" class="hpborder" style="position:absolute; top:-10px; width:120px; height:9px; z-index:13;"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div class="hp_3 senohp" style="height:9px; width:120px; position:absolute; top:-10px; z-index:11;" id="lhp-1234500000' . $pl['id'] . '"><img src="https://img.new-combats.com/1x1.gif" height="9" width="1"></div>
<div title="Âûïîëíåíèå çàäàíèÿ" class="hp_none" style="position:absolute; top:-10px; width:120px; height:10px; z-index:10;"><img src="https://img.new-combats.com/1x1.gif" height="10"></div>
<div title="Выполнение задания" class="hp_none" style="position:absolute; top:-10px; width:120px; height:10px; z-index:10;"><img src="https://img.new-combats.com/1x1.gif" height="10"></div>
</div></td></tr></table><br><script>top.startHpRegen("main",-1234500000' . $pl['id'] . ',' . $xrz . ',' . $r . ',0,0,0,0,0,0,1);</script>';
}
return $r;
}
/* Èíôîðìàöèÿ î êâåñòå */
/* Информация о квесте */
public function info($pl)
{
global $u;
$r = '';
$t = '';
$qst = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" AND `vals` = "go" LIMIT 1'));
//Óñëîâèÿ çàäàíèÿ êîòîðûå äîëæíû óäîâëåòâîðÿòü òåêóùèì õàðàêòåðèñòèêàì
//Условия задания которые должны удовлетворять текущим характеристикам
$d = $this->expl($pl['tr_date']);
//Çàâåðøèòü êâåñòû [ 1,2,3,4,5 ...
//Завершить квесты [ 1,2,3,4,5 ...
if (isset($d['tr_endq'])) {
$t .= 'Çàâåðøèòü êâåñòû: ';
$t .= 'Завершить квесты: ';
$i = 0;
$e = explode(',', $d['tr_endq']);
while ($i <= count($e)) {
@@ -299,26 +299,26 @@ class Quests
$t .= '<br>';
unset($qn);
}
//Èç áîòîâ ïàäàþò ïðåäìåòû [ idbot-itm1=%,itm2=%|
//Из ботов падают предметы [ idbot-itm1=%,itm2=%|
if (isset($d['tr_botitm'])) {
$t .= 'Èç áîòîâ âûïàäàþò ïðåäìåòû:<ul>';
$t .= 'Из ботов выпадают предметы:<ul>';
$e = explode('|', $d['tr_botitm']);
$i = 0;
while ($i < count($e)) {
$j = 0;
$e2 = explode('-', $e[$i]);
//$e2[0] - id áîòà
//$e2[0] - id бота
if ($e2[0] > 0) {
$qn = mysql_fetch_array(mysql_query('SELECT `login` FROM `test_bot` WHERE `id` = "' . $e2[0] . '" LIMIT 1'));
$t .= '&nbsp; &nbsp; &bull; Èç &quot;' . $qn['login'] . '&quot; âûïàäàåò: ';
$t .= '&nbsp; &nbsp; &bull; Из &quot;' . $qn['login'] . '&quot; выпадает: ';
} else {
$t .= '&nbsp; &nbsp; &bull; Èç ëþáûõ áîòîâ âûïàäàåò: ';
$t .= '&nbsp; &nbsp; &bull; Из любых ботов выпадает: ';
}
//$e2[1] - ïðåäìåòû
//$e2[1] - предметы
$e3 = explode(',', $e2[1]);
while ($j < count($e3)) {
$e4 = explode('=', $e3[$j]);
//$e4[0] - ïðåäìåò , $e4[1] - øàíñ
//$e4[0] - предмет , $e4[1] - шанс
$qi = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`img` FROM `items_main` WHERE `id` = "' . $e4[0] . '" LIMIT 1'));
$t .= '<img src="https://img.new-combats.com/i/items/' . $qi['img'] . '" style="max-height:12px"> <a href="items_info.php?id=' . $qi['id'] . '" target="_blank">' . $qi['name'] . '</a>, ';
$j++;
@@ -329,26 +329,26 @@ class Quests
$t .= '<br>';
unset($qn, $qi, $e2, $e3, $e4);
}
//Ïðè âûéãðûøå ïàäàþò ïðåäìåòû [ type-itm1=%,itm2=%|
//При выйгрыше падают предметы [ type-itm1=%,itm2=%|
if (isset($d['tr_winitm'])) {
$t .= 'Ïîñëå ïîáåäû âûïàäàþò ïðåäìåòû:<br>';
$t .= 'После победы выпадают предметы:<br>';
$e = explode('|', $d['tr_winitm']);
$i = 0;
while ($i < count($e)) {
$e2 = explode('-', $e[$i]);
$t .= '&nbsp; &nbsp; &bull; ';
//$e2[0] - id áîòà
//$e2[0] - id бота
if ($e2[0] > 0) {
$t .= 'Èç ëþäåé âûïàäàåò: ';
$t .= 'Из людей выпадает: ';
} else {
$t .= 'Èç áîòîâ âûïàäàåò: ';
$t .= 'Из ботов выпадает: ';
}
//$e2[1] - ïðåäìåòû
//$e2[1] - предметы
$j = 0;
$e3 = explode(',', $e2[1]);
while ($j < count($e3)) {
$e4 = explode('=', $e3[$j]);
//$e4[0] - ïðåäìåò , $e4[1] - øàíñ
//$e4[0] - предмет , $e4[1] - шанс
$qi = mysql_fetch_array(mysql_query('SELECT `id`,`name`,`img` FROM `items_main` WHERE `id` = "' . $e4[0] . '" LIMIT 1'));
$t .= '<img src="https://img.new-combats.com/i/items/' . $qi['img'] . '" style="max-height:12px"> <a href="items_info.php?id=' . $qi['id'] . '" target="_blank">' . $qi['name'] . '</a>, ';
$j++;
@@ -359,17 +359,17 @@ class Quests
}
unset($qn, $qi, $e2, $e3, $e4);
}
//Çàäåðæêà ìåæäó âûïîëíåíèåì êâåñòà
//Задержка между выполнением квеста
if (isset($d['tr_zdr'])) {
$qlst = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" AND `vals` != "go" LIMIT 1'));
$t .= 'Çàäåðæêà ìåæäó âûïîëíåíèåì çàäàíèÿ: ' . $u->timeOut($d['tr_zdr'] * 60 * 60);
$t .= 'Задержка между выполнением задания: ' . $u->timeOut($d['tr_zdr'] * 60 * 60);
if ($qlst['time'] + ($d['tr_zdr'] * 60 * 60) - time() > 0) {
$t .= '<small>(Îñòàëîñü: ' . $u->timeOut($qlst['time'] + ($d['tr_zdr'] * 60 * 60) - time()) . ' ÷.)</small>';
$t .= '<small>(Осталось: ' . $u->timeOut($qlst['time'] + ($d['tr_zdr'] * 60 * 60) - time()) . ' ч.)</small>';
}
$t .= '<br>';
unset($qlst);
}
//Ïåðåîäè÷íîñòü êâåñòà
//Переодичность квеста
if (isset($d['tr_tm1'])) {
$d['tr_tm1'] = str_replace('d', date('d'), $d['tr_tm1']);
$d['tr_tm1'] = str_replace('m', date('m'), $d['tr_tm1']);
@@ -379,31 +379,31 @@ class Quests
$d['tr_tm2'] = str_replace('m', date('m'), $d['tr_tm2']);
$d['tr_tm2'] = str_replace('y', date('y'), $d['tr_tm2']);
$t .= 'Ïåðèîä êâåñòà: ' . $d['tr_tm1'] . ' - ' . $d['tr_tm2'] . '<br>';
$t .= 'Период квеста: ' . $d['tr_tm1'] . ' - ' . $d['tr_tm2'] . '<br>';
}
//Ñêîëüêî ðàç ìîæíî ïðîéòè êâåñò
//Сколько раз можно пройти квест
if (isset($d['tr_raz'])) {
if ($d['tr_raz'] == -1) {
$t .= 'Ñêîëüêî åùå ðàç ìîæíî âûïîëíèòü çàäàíèå: <b><small>áåñêîíå÷íî</small></b><br>';
$t .= 'Сколько еще раз можно выполнить задание: <b><small>бесконечно</small></b><br>';
} else {
$qlst = $u->testAction('SELECT `id` FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" LIMIT ' . $d['tr_raz'], 2);
$t .= 'Ñêîëüêî ðàç ìîæíî âûïîëíèòü çàäàíèå: ' . ($d['tr_raz'] - $qlst[0]) . '<br>';
$t .= 'Сколько раз можно выполнить задание: ' . ($d['tr_raz'] - $qlst[0]) . '<br>';
}
unset($qlst);
}
//Ïîïûòîê ïðîéòè êâåñò
//Попыток пройти квест
if (isset($d['tr_raz2'])) {
$qlst = $u->testAction('SELECT `id` FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" AND `vals` != "go" AND `vals` != "win" LIMIT ' . $d['tr_raz2'], 2);
$t .= 'Îñòàëîñü ïîïûòîê âûïîëíèòü çàäàíèå: ' . ($d['tr_raz2'] - $qlst[0]) . '<br>';
$t .= 'Осталось попыток выполнить задание: ' . ($d['tr_raz2'] - $qlst[0]) . '<br>';
unset($qlst);
}
if ($t != '') {
$r .= '<b>Óñëîâèÿ çàäàíèÿ:</b><br>' . $t . '<br>';
$r .= '<b>Условия задания:</b><br>' . $t . '<br>';
$t = '';
}
//Íàãðàäà çà êâåñò
//Награда за квест
$d = $this->expl($pl['win_date']);
if (isset($d['add_eff'])) {
@@ -415,7 +415,7 @@ class Quests
$x6 = mysql_fetch_array(mysql_query('SELECT `id2`,`mname`,`img` FROM `eff_main` WHERE `id2` = "' . $x7[0] . '" LIMIT 1'));
if (isset($x6['id2'])) {
$x5 .= '<img width="40" height="25" src="https://img.new-combats.com/i/eff/' . $x6['img'] . '" title="' . $x6['mname'] . '
Âðåìÿ äåéñòâèÿ: ' . $u->timeOut($x7[1]) . '"> ';
Время действия: ' . $u->timeOut($x7[1]) . '"> ';
}
$x4++;
}
@@ -426,25 +426,25 @@ class Quests
}
if (isset($d['add_rep'])) {
$t .= 'Ðåïóòàöèÿ ' . $u->city_name[$pl['city']] . ': ' . $d['add_rep'] . '<br>';
$t .= 'Репутация ' . $u->city_name[$pl['city']] . ': ' . $d['add_rep'] . '<br>';
}
if (isset($d['add_repizlom'])) {
$t .= 'Ðåïóòàöèÿ Èçëîì Õàîñà: ' . $d['add_repizlom'] . '<br>';
$t .= 'Репутация Излом Хаоса: ' . $d['add_repizlom'] . '<br>';
}
if (isset($d['add_cr'])) {
$t .= 'Äåíüãè: ' . $d['add_cr'] . ' êð.<br>';
$t .= 'Деньги: ' . $d['add_cr'] . ' кр.<br>';
}
if ($t != '') {
$r = '<b>Íàãðàäà:</b><br>' . $t . '<br>' . $r;
$r = '<b>Награда:</b><br>' . $t . '<br>' . $r;
$t = '';
}
//Äåéñòâèÿ êâåñòà
//Действия квеста
$d = $this->expl($pl['act_date']);
//Ïîãîâîðèòü ñ NPS
//Поговорить с NPS
if (isset($d['dlg_nps'])) {
$i7 = 0;
$x3 = explode(',', $d['dlg_nps']);
@@ -453,30 +453,30 @@ class Quests
if ($x4[0] > 0) {
$x1 = mysql_fetch_array(mysql_query('SELECT `text` FROM `dungeon_dialog` WHERE `id` = "' . $x4[0] . '" LIMIT 1'));
if (!isset($x1['text'])) {
$x1 = '<i>íåçèâåñòíî</i>';
$x1 = '<i>незивестно</i>';
} else {
$x1 = $x1['text'];
}
$x = 0;
$t .= 'Ïîãîâîðèòü ñ <b>' . $x1 . '</b>: ' . $x . '/1<br>';
$t .= 'Поговорить с <b>' . $x1 . '</b>: ' . $x . '/1<br>';
}
$i7++;
}
unset($x1, $x3, $x4, $i7);
}
//Óáèòü èãðîêîâ
//Убить игроков
if (isset($d['kill_user'])) {
$t .= 'Óáèòü èãðîêîâ: 0/' . $d['kill_user'] . '<br>';
$t .= 'Убить игроков: 0/' . $d['kill_user'] . '<br>';
}
//Óáèòü áîòîâ
//Убить ботов
if (isset($d['kill_bot'])) {
if (isset($d['all_kill']) && (int)$d['all_kill'] > 0) {
$x = '';
$ex = explode(',', $d['kill_bot']);
$i = 0; # Êîëè÷åñòâî öèêëîâ äëÿ êàæäîãî òèïà áîòà.
$i = 0; # Количество циклов для каждого типа бота.
$q = '';
while ($i < count($ex)) {
$ex2 = explode('=', $ex[$i]);
@@ -516,12 +516,12 @@ class Quests
if ($x != '') {
$x = trim($x, ', ');
$t .= 'Óáèòü áîòîâ: <br>' . $x;
$t .= 'Убить ботов: <br>' . $x;
}
unset($x, $ex, $x2, $bot2, $ex2);
}
//Ñîáðàòü ðåñóðñû
//Собрать ресурсы
if (isset($d['tk_itm'])) {
$ex = explode(',', $d['tk_itm']);
$i = 0;
@@ -538,11 +538,11 @@ class Quests
}
if ($x != '') {
$x = trim($x, ', ');
$t .= 'Ñîáðàòü ðåñóðñû: <br>' . $x;
$t .= 'Собрать ресурсы: <br>' . $x;
}
}
//Ñîáèðàíèå òðîôååâ
//Собирание трофеев
if (isset($d['tkill_itm'])) {
$ex = explode(',', $d['tkill_itm']);
$i = 0;
@@ -559,17 +559,17 @@ class Quests
}
if ($x != '') {
$x = trim($x, ', ');
$t .= 'Ñîáðàòü òðîôåè: <br>' . $x;
$t .= 'Собрать трофеи: <br>' . $x;
}
}
if ($t != '') {
$r = '<br><b>Äåéñòâèÿ çàäàíèÿ:</b><br>' . $t . '<br>' . $r;
$r = '<br><b>Действия задания:</b><br>' . $t . '<br>' . $r;
$t = '';
}
if ($r == '') {
$r = 'Äîïîëíèòåëüíàÿ èíôîðìàöèÿ ïî çàäàíèþ îòñóòñòâóåò';
$r = 'Дополнительная информация по заданию отсутствует';
}
return $r;
}
@@ -577,35 +577,35 @@ class Quests
public function testquest()
{
global $u;
if ($u->info['battle'] == 0 && $u->room['name'] != 'Áàøíÿ Ñìåðòè') {
if ($u->info['battle'] == 0 && $u->room['name'] != 'Башня Смерти') {
$sp = mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` LIKE "%start_quest%" AND `vals` = "go" LIMIT 100');
while ($pl2 = mysql_fetch_array($sp)) {
$pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . (str_replace('start_quest', '', $pl2['vars'])) . '" LIMIT 1'));
$g = 1;
//Äåéñòâèÿ êâåñòà
//Действия квеста
$d = $this->expl($pl['act_date']);
//Ïîãîâîðèòü ñ NPS
//Поговорить с NPS
if (isset($d['dlg_nps'])) {
$g = 0;
unset($x);
}
//Óáèòü èãðîêîâ
//Убить игроков
if (isset($d['kill_user'])) {
$x = 0;
if ($x < $d['kill_user']) {
$g = 0;
}
//$d['kill_user'] - ñòîëüêèõ íóæíî óáèòü
//$d['kill_user'] - стольких нужно убить
unset($x);
}
//Óáèòü áîòîâ
//Убить ботов
if (isset($d['kill_bot'])) {
$ex = explode(',', $d['kill_bot']);
$ii = 0; // Êîëè÷åñòâî öèêëîâ äëÿ êàæäîãî òèïà áîòà.
$ii = 0; // Количество циклов для каждого типа бота.
$q = '';
while ($ii < count($ex)) {
$ex2 = explode('=', $ex[$ii]);
@@ -629,11 +629,11 @@ class Quests
unset($x, $ex, $x2, $x3, $bot2, $ex2);
}
//Ñîáðàòü ðåñóðñû
//Собрать ресурсы
if (isset($d['tk_itm'])) {
$g = $this->collect_01(explode(',', $d['tk_itm']), $u);
}
//Ñîáèðàíèå òðîôååâ
//Собирание трофеев
if (isset($d['tkill_itm'])) {
$g = $this->collect_01(explode(',', $d['tkill_itm']), $u);
}
@@ -647,7 +647,7 @@ class Quests
}
}
private function collect_01($arr, $u){ // óáèðàþ äóáëèðîâàíèå. õåð ïîéìè ÷òî ïðîâåðÿåì, õç êàê íàçâàòü.
private function collect_01($arr, $u){ // убираю дублирование. хер пойми что проверяем, хз как назвать.
$i = 0;
while ($i < count($arr)) {
$ex2 = explode('=', $arr[$i]);
@@ -660,7 +660,7 @@ class Quests
return 1;
}
private function collect_02($ex, $u, $pl) { // óáèðàþ äóáëèðîâàíèå. õåð ïîéìè ÷òî ïðîâåðÿåì, õç êàê íàçâàòü.
private function collect_02($ex, $u, $pl) { // убираю дублирование. хер пойми что проверяем, хз как назвать.
$i = 0;
while ($i < count($ex)) {
$ex2 = explode('=', $ex[$i]);
@@ -680,25 +680,25 @@ class Quests
return 1;
}
# Ôóíêöèÿ îòâå÷àåò çà ÏÐÎÂÅÐÊÓ íà ÇÀÂÅÐØÅÍÈÅ êâåñòîâ äëÿ ÏÎÄÇÅÌÎÊ
# Функция отвечает за ПРОВЕРКУ на ЗАВЕРШЕНИЕ квестов для ПОДЗЕМОК
public function questCheckEnd($pl)
{
global $u;
$quest = mysql_fetch_array(mysql_query('SELECT * FROM `actions` WHERE `uid` = "' . $u->info['id'] . '" AND `vars` = "start_quest' . $pl['id'] . '" ORDER BY `time` DESC LIMIT 1'));
#Ïðîâåðÿåì êâåñò, çàâåðøåí = 0 íåò, 1 äà.
#Проверяем квест, завершен = 0 нет, 1 да.
$r = 0;
if ($u->info['battle'] == 0 && $u->room['name'] != 'Áàøíÿ Ñìåðòè') {
if ($u->info['battle'] == 0 && $u->room['name'] != 'Башня Смерти') {
$g = 1;
# Äåéñòâèÿ êâåñòà
# Действия квеста
$d = $this->expl($pl['act_date']);
# Ïîãîâîðèòü ñ NPS
# Поговорить с NPS
if (isset($d['dlg_nps'])) {
$g = 0;
unset($x);
}
# Óáèòü èãðîêîâ
# Убить игроков
if (isset($d['kill_user'])) {
$x = 0;
if ($x < $d['kill_user']) {
@@ -707,10 +707,10 @@ class Quests
unset($x);
}
# Óáèòü áîòîâ
# Убить ботов
if (isset($d['kill_bot'])) {
$ex = explode(',', $d['kill_bot']);
$i = 0; # Êîëè÷åñòâî öèêëîâ äëÿ êàæäîãî òèïà áîòà.
$i = 0; # Количество циклов для каждого типа бота.
$q = '';
while ($i < count($ex)) {
$ex2 = explode('=', $ex[$i]);
@@ -740,11 +740,11 @@ class Quests
unset($x, $ex, $x2, $x3, $bot2, $ex2);
}
# Ñîáðàòü ðåñóðñû
# Собрать ресурсы
if (isset($d['tk_itm'])) {
$g = $this->collect_02(explode(',', $d['tk_itm']), $u, $pl);
}
# Ñîáèðàíèå òðîôååâ
# Собирание трофеев
if (isset($d['tkill_itm'])) {
$g = $this->collect_02(explode(',', $d['tkill_itm']), $u, $pl);
}
@@ -753,7 +753,7 @@ class Quests
return $r;
}
/** Âûäà÷à íàãðàä çà ïåùåðû */
/** Выдача наград за пещеры */
public function questSuccesEnd($quest, $action)
{
global $u, $c, $magic;
@@ -765,7 +765,7 @@ class Quests
$d = $this->expl($quest['act_date']);
$d = array_merge($d, $this->expl($quest['win_date']));
// Çàáèðàåì ðåñóðñû èëè òðîôåè
// Забираем ресурсы или трофеи
if (isset($d['tk_itm']) || isset($d['tkill_itm'])) {
$ex = [];
if (isset($d['tk_itm'])) {
@@ -793,9 +793,9 @@ class Quests
}
$t = '';
# Ïîëó÷àåì ðåïóòàöèþ çà êâåñò,
# Получаем репутацию за квест,
if (isset($d['add_rep'])) {
# åñëè ýòî óáèéñòâà áîòîâ.
# если это убийства ботов.
if (isset($d['kill_bot']) && isset($d['all_kill']) && $d['add_rep'] > 0) {
$ex = explode(',', $d['kill_bot']);
$ii = 0;
@@ -825,7 +825,7 @@ class Quests
if ($this->stats['more_awards'] >= 0) {
$d['add_rep'] += $d['add_rep'] / 100 * 50;
}
$t .= '' . $d['add_rep'] . ' åä. ðåïóòàöèè ' . $u->city_name[$quest['city']] . ', ';
$t .= '' . $d['add_rep'] . ' ед. репутации ' . $u->city_name[$quest['city']] . ', ';
if (
$rep['rep' . $quest['city']] < 24999 &&
$rep['rep' . $quest['city']] + $d['add_rep'] >= 24999 &&
@@ -840,7 +840,7 @@ class Quests
}
}
if (isset($d['add_repizlom'])) {
$t .= '' . $d['add_repizlom'] . ' åä. ðåïóòàöèè Èçëîìà Õàîñà, ';
$t .= '' . $d['add_repizlom'] . ' ед. репутации Излома Хаоса, ';
$rep = mysql_fetch_array(mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'));
$rep['repizlom'] += $d['add_repizlom'];
if ($rep['repizlom'] > 24999) {
@@ -859,18 +859,18 @@ class Quests
}
}
if (isset($d['add_cr'])) {
$t .= '' . $d['add_cr'] . ' êð., ';
$t .= '' . $d['add_cr'] . ' кр., ';
mysql_query('UPDATE `users` SET `money` = `money`+' . $d['add_cr'] . ' WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
}
if ($t != '') {
$t = rtrim($t, ', ');
$r = 'Çàäàíèå <b>' . $quest['name'] . '</b> áûëî óñïåøíî âûïîëíåíî! Âû ïîëó÷èëè íàãðàäó: ' . $t . '.';
$r = 'Задание <b>' . $quest['name'] . '</b> было успешно выполнено! Вы получили награду: ' . $t . '.';
unset($t);
} else {
$r = 'Çàäàíèå <b>' . $quest['name'] . '</b> áûëî óñïåøíî âûïîëíåíî!';
$r = 'Задание <b>' . $quest['name'] . '</b> было успешно выполнено!';
}
$r = '<small>' . $r . '</small>';
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò
//Отправляем сообщение в чат
mysql_query('UPDATE `actions` SET `vals` = "win" , `time` = "' . time() . '" WHERE `id` = "' . $action['id'] . '" AND `vals` = "go" LIMIT 1');
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','" . $u->info['city'] . "','" . $u->info['room'] . "','','" . $u->info['login'] . "','" . $r . "','-1','5','0')");
@@ -894,7 +894,7 @@ class Quests
die();
}
// Çàáèðàåì ðåñóðñû
// Забираем ресурсы
if (isset($d['tk_itm'])) {
$ex = explode(',', $d['tk_itm']);
$i = 0;
@@ -906,7 +906,7 @@ class Quests
$i++;
}
}
// Çàáèðàåì òðîôåè
// Забираем трофеи
if (isset($d['tkill_itm'])) {
$ex = explode(',', $d['tkill_itm']);
$i = 0;
@@ -920,7 +920,7 @@ class Quests
}
$t = '';
if (isset($d['add_rep'])) { // Ïîëó÷àåì ðåïóòàöèþ çà êâåñò, åñëè ýòî óáèéñòâà áîòîâ.
if (isset($d['add_rep'])) { // Получаем репутацию за квест, если это убийства ботов.
if (isset($d['kill_bot']) && isset($d['all_kill']) && $d['add_rep'] > 0) {
$ex = explode(',', $d['kill_bot']);
$ii = 0;
@@ -939,9 +939,9 @@ class Quests
}
unset($x, $i, $ii, $ex, $x2, $bot2, $ex2);
if ($pl['city'] != '') {
$t .= '' . $d['add_rep'] . ' åä. ðåïóòàöèè ' . $u->city_name[$pl['city']] . ', ';
$t .= '' . $d['add_rep'] . ' ед. репутации ' . $u->city_name[$pl['city']] . ', ';
$rep = mysql_fetch_array(mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'));
// Ðûöàðêè
// Рыцарки
/*if($rep['rep'.$pl['city']] < 10000 && $rep['rep'.$pl['city']] + $d['add_rep'] >= 10000 && $pl['kin'] != 1) {
$rep['rep'.$pl['city']] = 9999;
} else*/
@@ -955,7 +955,7 @@ class Quests
}
if (isset($d['add_repizlom'])) {
$t .= '' . $d['add_repizlom'] . ' åä. ðåïóòàöèè Èçëîìà Õàîñà, ';
$t .= '' . $d['add_repizlom'] . ' ед. репутации Излома Хаоса, ';
$rep = mysql_fetch_array(mysql_query('SELECT * FROM `rep` WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'));
$rep['repizlom'] += $d['add_repizlom'];
if ($rep['repizlom'] > 24999) {
@@ -976,19 +976,19 @@ class Quests
}
if (isset($d['add_cr'])) {
$t .= '' . $d['add_cr'] . ' êð., ';
$t .= '' . $d['add_cr'] . ' кр., ';
mysql_query('UPDATE `users` SET `money` = `money`+' . $d['add_cr'] . ' WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
}
if ($t != '') {
$t = rtrim($t, ', ');
$r = 'Çàäàíèå <b>' . $pl['name'] . '</b> áûëî óñïåøíî âûïîëíåíî! Âû ïîëó÷èëè íàãðàäó: ' . $t . '.';
$r = 'Задание <b>' . $pl['name'] . '</b> было успешно выполнено! Вы получили награду: ' . $t . '.';
unset($t);
} else {
$r = 'Çàäàíèå <b>' . $pl['name'] . '</b> áûëî óñïåøíî âûïîëíåíî!';
$r = 'Задание <b>' . $pl['name'] . '</b> было успешно выполнено!';
}
$r = '<small>' . $r . '</small>';
//Îòïðàâëÿåì ñîîáùåíèå â ÷àò
//Отправляем сообщение в чат
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','" . $u->info['city'] . "','" . $u->info['room'] . "','','" . $u->info['login'] . "','" . $r . "','-1','5','0')");
}
}