Убрал send в чат из user::class. Убрал лишние вызовы.

This commit is contained in:
2023-02-02 17:39:42 +02:00
parent a9dc9af61e
commit 253a8dca63
10 changed files with 622 additions and 586 deletions
+7 -5
View File
@@ -3728,11 +3728,13 @@ class Battle
);
if (isset($a['id'])) {
if ($a['eda'] < 1) {
$u->send(
'', $this->users[$i]['room'], $this->users[$i]['city'], '',
$this->users[$i]['login'], '<strong>' . $a['name'] . '</strong> нуждается в еде...',
time(), 6, 0, 0, 0, 1
);
$cmsg = new ChatMessage();
$cmsg->setRoom($this->users[$i]['room']);
$cmsg->setCity($this->users[$i]['city']);
$cmsg->setTo($this->users[$i]['login']);
$cmsg->setText('<strong>' . $a['name'] . '</strong> нуждается в еде...');
$cmsg->setType(6);
$chat->sendMsg($cmsg);
}
}
}
+1 -5
View File
@@ -108,19 +108,17 @@ class Chat
text,
time,
type,
toChat,
spam,
invis,
da,
`delete`,
global,
molch,
typeTime,
dn,
frv
) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
$args = [
$chatMessage->getNew(),
1,
$chatMessage->getSound(),
$chatMessage->getColor(),
$chatMessage->getCity(),
@@ -130,12 +128,10 @@ class Chat
$chatMessage->getText(),
$chatMessage->getTime(),
$chatMessage->getType(),
$chatMessage->getToChat(),
$chatMessage->getSpam(),
$chatMessage->getInvis(),
$chatMessage->getDa(),
$chatMessage->getDelete(),
$chatMessage->getGlobal(),
$chatMessage->getMolch(),
$chatMessage->getTypeTime(),
$chatMessage->getDn(),
-53
View File
@@ -5,7 +5,6 @@
class ChatMessage
{
private int $new = 1;
private string $city = 'capitalcity';
private int $room = 0;
private string $login = '';
@@ -13,7 +12,6 @@ class ChatMessage
private string $text;
private int $time = 0;
private int $type = 0;
private int $toChat = 0;
private int $typeTime = 0;
private string $color = '#000';
private int $sound = 0;
@@ -23,7 +21,6 @@ class ChatMessage
private int $da = 0;
private int $delete = 0;
private int $molch = 0;
private int $global = 0;
private int $dn = 0;
/**
* Феерверки, чёрт подери!
@@ -48,22 +45,6 @@ class ChatMessage
$this->dn = $dn;
}
/**
* @return int
*/
public function getGlobal(): int
{
return $this->global;
}
/**
* @param int $global
*/
public function setGlobal(int $global): void
{
$this->global = $global;
}
/**
* @return int
*/
@@ -161,14 +142,6 @@ class ChatMessage
$this->sound = $sound;
}
/**
* @return int
*/
public function getNew(): int
{
return $this->new;
}
/**
* @return string
*/
@@ -231,14 +204,6 @@ class ChatMessage
return $this->type;
}
/**
* @return int
*/
public function getToChat(): int
{
return $this->toChat;
}
/**
* @return int
*/
@@ -254,16 +219,6 @@ class ChatMessage
return $this->color;
}
/**
* @param int $new
*/
public function setNew(int $new): void
{
if ($new !== 1) {
$this->new = $new;
}
}
/**
* @param string $city
*/
@@ -320,14 +275,6 @@ class ChatMessage
$this->type = $type;
}
/**
* @param int $toChat
*/
public function setToChat(int $toChat): void
{
$this->toChat = $toChat;
}
/**
* @param int $typeTime
*/
+7 -4
View File
@@ -2506,10 +2506,13 @@ class Magic
}
} else {
$u->send(
'', $u->info['room'], $u->info['city'], '', $u->info['login'],
'<b>' . $a['name'] . '</b> нуждается в еде...', time(), 6, 0, 0, 0, 1
);
$cmsg = new ChatMessage();
$cmsg->setRoom($u->info['room']);
$cmsg->setCity($u->info['city']);
$cmsg->setTo($u->info['login']);
$cmsg->setText('<strong>' . $a['name'] . '</strong> нуждается в еде...');
$cmsg->setType(6);
(new Chat())->sendMsg($cmsg);
}
}
}
+63 -115
View File
@@ -11198,61 +11198,6 @@ LIMIT 1'
return $rt;
}
/**
* Уродец, дублирующий Chat то тут то там.
* Сидишь, никого не трогаешь, правишь и вдруг класс User тебя с размаху мордой в грязь!
* Привет пачка вызовов буквально отовсюду, потому что класс User это же так удобно, класс User он же везде...
* @param string $color
* @param int $room
* @param string $city
* @param string $from
* @param string $to
* @param string $text
* @param int $time
* @param int $type
* @param int $toChat
* @param int $spam
* @param int $sound
* @param int $new
* @param int $typeTime
* @param int $global
* @deprecated
* @todo убрать нахуй заменив нативными вызовами.
*/
public function send(
string $color,
int $room,
string $city,
string $from,
string $to,
string $text,
int $time,
int $type,
int $toChat,
int $spam,
int $sound,
int $new = 1,
int $typeTime = 0,
int $global = 0
) {
$cmsg = new ChatMessage();
$cmsg->setColor($color);
$cmsg->setCity($city);
$cmsg->setRoom($room);
$cmsg->setLogin($from);
$cmsg->setTo($to);
$cmsg->setText($text);
$cmsg->setTime($time);
$cmsg->setType($type);
$cmsg->setToChat($toChat);
$cmsg->setSpam($spam);
$cmsg->setSound($sound);
$cmsg->setNew($new);
$cmsg->setTypeTime($typeTime);
$cmsg->setGlobal($global);
(new Chat())->sendMsg($cmsg);
}
//получаем уровень
public function testLevel()
{
@@ -11322,6 +11267,12 @@ LIMIT 1'
}
$i = 0;
$ult = 0;
$sex1 = '';
if ($this->info['sex'] == 1) {
$sex1 = 'ла';
}
while ($i != 1) {
if (Config::get('nolevel') && $this->info['exp'] >= $lvl['exp'] && isset($lvln['upLevel'])) {
$tlus = mysql_fetch_array(
@@ -11338,7 +11289,9 @@ LIMIT 1'
);
}
}
if ($this->info['exp'] >= $lvl['exp'] && isset($lvln['upLevel'])) {
if ($this->info['exp'] < $lvl['exp'] || !isset($lvln['upLevel'])) {
$i = 1;
} else {
if ($lvl['nextLevel'] > $this->info['level']) {
//повышаем выносливость
$a4 = 1;
@@ -11353,11 +11306,6 @@ LIMIT 1'
}
$this->stats['s4'] += $a4;
$sex1 = '';
if ($this->info['sex'] == 1) {
$sex1 = 'ла';
}
$ult = 1;
//Рефералы
@@ -11404,6 +11352,12 @@ LIMIT 1'
}
}
$cmsg = new ChatMessage();
$cmsg->setRoom($this->info['room']);
$cmsg->setCity($this->info['city']);
$cmsg->setTo($rlog['login']);
$cmsg->setType(6);
if (($rtg || !isset($mtest['id'])) && isset($rlog['id'])) {
$rfs['data'] = explode('|', $rlogs['ref_data']);
$ekr = '0.00';
@@ -11420,23 +11374,22 @@ LIMIT 1'
$rlog['id']
) . '" LIMIT 1'
);
if ($up) {
//Реферал 1-го уровня
$krtxt = '';
if ($kr > 0) {
$krtxt .= '' . $kr . ' КР';
if ($ekr > 0) {
$krtxt .= ', ';
}
$krtxt .= "$kr КР";
}
if ($ekr > 0) {
$krtxt .= '' . $ekr . ' ЕКР';
$krtxt .= ", $ekr ЕКР";
}
$this->send(
'', $this->info['room'], $this->info['city'], '', $rlog['login'],
'Ваш реферал <strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt,
-1, 6, 0, 0, 0, 1
$cmsg->setText(
'Ваш реферал <strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt
);
(new Chat())->sendMsg($cmsg);
$rlog['catch'] += $bn['add_bank'];
mysql_query(
'UPDATE `users` SET `catch` = "' . $rlog['catch'] . '" WHERE `id` = "' . $rlog['id'] . '" LIMIT 1'
@@ -11455,20 +11408,17 @@ LIMIT 1'
if (isset($rlog['id'])) {
$krtxt = '';
if ($kr > 0) {
$krtxt .= '' . $kr . ' КР';
if ($ekr > 0) {
$krtxt .= ', ';
}
$krtxt .= "$kr КР";
}
if ($ekr > 0) {
$krtxt .= '' . $ekr . ' ЕКР';
$krtxt .= ", $ekr ЕКР";
}
$this->send(
'', $this->info['room'], $this->info['city'], '',
$rlog['login'],
'Ваш реферал <strong>' . $this->info['login'] . '</strong> (2-го уровня от &quot;' . $llogin . '&quot; ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt,
-1, 6, 0, 0, 0, 1
$cmsg->setText(
'Ваш реферал <strong>' . $this->info['login'] . '</strong> (2-го уровня от &quot;' . $llogin . '&quot; ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt
);
(new Chat())->sendMsg($cmsg);
$rlog['catch'] += $bn['add_bank'];
mysql_query(
'UPDATE `users` SET `money` = `money` + ' . $kr . ',`money2` = `money2` + ' . $ekr . ' WHERE `id` = "' . $rlog['id'] . '" LIMIT 1'
@@ -11487,20 +11437,17 @@ LIMIT 1'
if (isset($rlog['id'])) {
$krtxt = '';
if ($kr > 0) {
$krtxt .= '' . $kr . ' КР';
if ($ekr > 0) {
$krtxt .= ', ';
}
$krtxt .= "$kr КР";
}
if ($ekr > 0) {
$krtxt .= '' . $ekr . ' ЕКР';
$krtxt .= ", $ekr ЕКР";
}
$this->send(
'', $this->info['room'], $this->info['city'], '',
$rlog['login'],
'Ваш реферал <strong>' . $this->info['login'] . '</strong> (3-го уровня от &quot;' . $llogin2 . '&quot; (Реферал ' . $llogin . ') ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt,
-1, 6, 0, 0, 0, 1
$cmsg->setText(
'Ваш реферал <strong>' . $this->info['login'] . '</strong> (3-го уровня от &quot;' . $llogin2 . '&quot; (Реферал ' . $llogin . ') ) достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! Вам зачисленно ' . $krtxt
);
(new Chat())->sendMsg($cmsg);
$rlog['catch'] += $bn['add_bank'];
mysql_query(
'UPDATE `users` SET `money` = `money` + ' . $kr . ',`money2` = `money2` + ' . $ekr . ' WHERE `id` = "' . $rlog['id'] . '" LIMIT 1'
@@ -11512,11 +11459,10 @@ LIMIT 1'
}
}
} else {
$this->send(
'', $this->info['room'], $this->info['city'], '', $rlog['login'],
'Ваш реферал <strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! (Ошибка зачисления, обратитесь с Администрации проекта) На Ваш банковский счет №' . $bnk . ' зачисленно ' . $ekr . ' кр.',
-1, 6, 0, 0, 0, 1
$cmsg->setText(
'Ваш реферал <strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! (Ошибка зачисления, обратитесь с Администрации проекта) На Ваш банковский счет №' . $bnk . ' зачисленно ' . $ekr . ' кр.'
);
(new Chat())->sendMsg($cmsg);
}
}
//
@@ -11527,11 +11473,10 @@ LIMIT 1'
);
//
} elseif (isset($rlog['id'])) {
$this->send(
'', $this->info['room'], $this->info['city'], '', $rlog['login'],
'Ваш реферал <strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! <small><font color=red>(Персонаж не активирован, либо у вас совпадают IP! Разрешено не более 1 такого реферала!)</font></small>',
-1, 6, 0, 0, 0, 1
$cmsg->setText(
'Ваш реферал <strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $lvl['nextLevel'] . '! <small style="color: red">(Персонаж не активирован, либо у вас совпадают IP! Разрешено не более 1 такого реферала!)</small>'
);
(new Chat())->sendMsg($cmsg);
}
}
}
@@ -11559,27 +11504,28 @@ LIMIT 1'
);
$this->info['upLevel'] += 1;
$rt++;
} else {
$i = 1;
}
}
if ($ult == 1) {
$chat = new Chat();
$cmsg = new ChatMessage();
$cmsg->setRoom($this->info['room']);
$cmsg->setCity($this->info['city']);
$cmsg->setType(6);
if ($this->info['level'] == 4 || $this->info['level'] == 8) {
//Убрать задержки на пещеры
mysql_query(
'DELETE FROM `actions` WHERE `uid` = "' . $this->info['id'] . '" AND `vars` LIKE "psh%"'
);
$this->send(
'', $this->info['room'], $this->info['city'], '', $this->info['login'],
'Обязательно используйте свитки и эликсиры в своем инвентаре!!!!!!!!!!!!!!!.', -1, 6, 0, 0,
0, 1
);
$cmsg->setTo($this->info['login']);
$cmsg->setText('Обязательно используйте свитки и эликсиры в своем инвентаре!!!!!!!!!!!!!!!.');
$chat->sendMsg($cmsg);
}
$this->send(
'', $this->info['room'], $this->info['city'], '', '',
'<strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $this->info['level'] . '!',
time(), 6, 0, 0, 0, 1, 2
); // Наверно тут
$cmsg->setTypeTime(2);
$cmsg->setText('<strong>' . $this->info['login'] . '</strong> достиг' . $sex1 . ' уровня ' . $this->info['level'] . '!');
$chat->sendMsg($cmsg);
}
if ($rt > 0) {
$this->info['stopexp'] = 0;
@@ -11650,11 +11596,13 @@ LIMIT 1'
)
);
$a['stats'] = $a['stats']['stats'];
$this->send(
'', $this->info['room'], $this->info['city'], '', $this->info['login'],
'<strong>' . $a['name'] . '</strong> достиг ' . $a['level'] . ' уровня!', time(), 6, 0,
0, 0, 1
);
$cmsg = new ChatMessage();
$cmsg->setRoom($this->info['room']);
$cmsg->setCity($this->info['city']);
$cmsg->setTo($this->info['login']);
$cmsg->setText('<strong>' . $a['name'] . '</strong> достиг ' . $a['level'] . ' уровня!');
$cmsg->setType(6);
(new Chat())->sendMsg($cmsg);
mysql_query(
'UPDATE `users_animal` SET `stats` = "' . $a['stats'] . '",`level`="' . $a['level'] . '",`max_exp`="' . $a['max_exp'] . '" WHERE `id` = "' . $a['id'] . '" LIMIT 1'
);
+64 -50
View File
@@ -1,51 +1,65 @@
<?
if( isset($s[1]) && $s[1] == '106/door3' ) {
/*
Сундук: Кровавый подземник (4561)
*/
//Все переменные сохранять в массиве $vad !
$vad = array(
'go' => true
);
if( $vad['go'] == true ) {
mysql_query('INSERT INTO `dungeon_actions` (`dn`,`time`,`x`,`y`,`uid`,`vars`,`vals`) VALUES (
"'.$u->info['dnow'].'","'.time().'","'.$obj['x'].'","'.$obj['y'].'","'.$u->info['id'].'","obj_act'.$obj['id'].'","'.$vad['bad'].'"
)');
$vad['qst'] = mysql_fetch_array(mysql_query('SELECT * FROM `dialog_act` WHERE `uid` = "'.$u->info['id'].'" AND `var` = "noobqst1" AND `val` = 1 LIMIT 1'));
$vad['itm'] = mysql_fetch_array(mysql_query('SELECT * FROM `items_users` WHERE `uid` = "'.$u->info['id'].'" AND (`item_id` = 724 OR `item_id` = 4704) LIMIT 1'));
if(!isset($vad['qst']['id']) || !isset($vad['itm']['id'])) {
$r = 'Дверь закрыта. Сначала выполните задания Учителя и купите Футболку с Эликсиром.';
}else{
//Начало обучения
$humor = array(
0 => array(
':maniac: Сильно не бейте ;)',':beggar: Будет попрошайничать - бейте!',':pal: Возможно светлый!',
':vamp: Возможно темный!',':susel: Судя по здоровенному бицепсу - это мужик!',':duel: И сразу же кинулся в бой!',
':friday: Не долго думав он начал искать собутыльника!',':doc: Лекарь: Новичок! Да, да! Ты! Если тебя сломают - у знахаря тебя соберут обратно!'
),
1 => array(
':maniac: Помните! Девочек не бьем ;)',':nail: Она красит ногти, не отвлекайте все сразу ;)',':pal: Возможно светлая!',
':vamp: Возможно темная!',':rev: Судя по красивой одежде - это женщина!',':hug: И сразу же кинулась всех целовать!',
':angel2: Ангел сошел с небес...'
)
);
$humor = $humor[$u->info['sex']];
//$u->info['fnq'] = 1;
//mysql_query('UPDATE `users` SET `fnq` = "'.$u->info['fnq'].'" WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
//Отправляем сообщение в чат о новичке
mysql_query('UPDATE `items_users` SET `delete` = "'.time().'" WHERE `uid` = "'.$u->info['id'].'" AND `delete` = 0 AND `item_id` = 4703');
mysql_query('UPDATE `users` SET `room` = 4 WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
mysql_query('UPDATE `stats` SET `hpNow` = 1000,`mpNow` = 1000,`dn` = 0 , `dnow` = 0 , `x` = 0 , `y` = 0 , `s` = 0 WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
$u->send('','','','','','В нашем мире появился новый игрок &quot;<b>' . $u->info['login'] . '</b>&quot;! '.$humor[rand(0,count($humor)-1)].'',time(),6,0,0,0,1,0);
//mysql_query('UPDATE `stats` SET `x` = 0,`y` = 5 WHERE `id` = "'.$u->info['id'].'" LIMIT 1');
header('location: main.php');
die();
}
}
unset($vad);
<?php
if (isset($s[1]) && $s[1] == '106/door3') {
/*
Сундук: Кровавый подземник (4561)
*/
//Все переменные сохранять в массиве $vad !
$vad = [
'go' => true,
];
mysql_query(
'INSERT INTO `dungeon_actions` (`dn`,`time`,`x`,`y`,`uid`,`vars`,`vals`) VALUES (
"' . $u->info['dnow'] . '","' . time(
) . '","' . $obj['x'] . '","' . $obj['y'] . '","' . $u->info['id'] . '","obj_act' . $obj['id'] . '","' . $vad['bad'] . '"
)'
);
$vad['qst'] = mysql_fetch_array(
mysql_query(
'SELECT * FROM `dialog_act` WHERE `uid` = "' . $u->info['id'] . '" AND `var` = "noobqst1" AND `val` = 1 LIMIT 1'
)
);
$vad['itm'] = mysql_fetch_array(
mysql_query(
'SELECT * FROM `items_users` WHERE `uid` = "' . $u->info['id'] . '" AND (`item_id` = 724 OR `item_id` = 4704) LIMIT 1'
)
);
if (!isset($vad['qst']['id']) || !isset($vad['itm']['id'])) {
$r = 'Дверь закрыта. Сначала выполните задания Учителя и купите Футболку с Эликсиром.';
} else {
//Начало обучения
$humor = [
0 => [
':maniac: Сильно не бейте ;)', ':beggar: Будет попрошайничать - бейте!', ':pal: Возможно светлый!',
':vamp: Возможно темный!', ':susel: Судя по здоровенному бицепсу - это мужик!', ':duel: И сразу же кинулся в бой!',
':friday: Не долго думав он начал искать собутыльника!', ':doc: Лекарь: Новичок! Да, да! Ты! Если тебя сломают - у знахаря тебя соберут обратно!',
],
1 => [
':maniac: Помните! Девочек не бьем ;)', ':nail: Она красит ногти, не отвлекайте все сразу ;)', ':pal: Возможно светлая!',
':vamp: Возможно темная!', ':rev: Судя по красивой одежде - это женщина!', ':hug: И сразу же кинулась всех целовать!',
':angel2: Ангел сошел с небес...',
],
];
$humor = $humor[$u->info['sex']];
//Отправляем сообщение в чат о новичке
mysql_query(
'UPDATE `items_users` SET `delete` = "' . time(
) . '" WHERE `uid` = "' . $u->info['id'] . '" AND `delete` = 0 AND `item_id` = 4703'
);
mysql_query('UPDATE `users` SET `room` = 4 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1');
mysql_query(
'UPDATE `stats` SET `hpNow` = 1000,`mpNow` = 1000,`dn` = 0 , `dnow` = 0 , `x` = 0 , `y` = 0 , `s` = 0 WHERE `id` = "' . $u->info['id'] . '" LIMIT 1'
);
array_shift($humor);
$cmsg = new ChatMessage();
$cmsg->setText('В нашем мире появился новый игрок &quot;<b>' . $u->info['login'] . '</b>&quot;! ' . $humor[0]);
$cmsg->setType(6);
(new Chat())->sendMsg($cmsg);
header('location: main.php');
die();
}
unset($vad);
}
?>