Пустое сообщение (говорим "пробел")

Разработка новых функций.

Модератор: 4epT

Аватара пользователя
Click
Разработчик
Сообщения: 1564
Зарегистрирован: Сб ноя 04, 2006 11:30 pm
Сервер RO:: clickro.sytes.net
Откуда: Великий Новгород
Контактная информация:

Пустое сообщение (говорим "пробел")

Сообщение Click »

Файл Misc.pm
процедура sub sendMessage

заменяем её на это, и теперь когда говрим отсылаем _ получаем пробел. знак "_" мона заменить на что вам угодно на любой символ или слово.

Код: Выделить всё

sub sendMessage {
	my ($sender, $type, $msg, $user) = @_;
	my ($j, @msgs, $oldmsg, $amount, $space);

	@msgs = split /\\n/, $msg;
	for ($j = 0; $j < @msgs; $j++) {
		my (@msg, $i);

		@msg = split / /, $msgs[$j];
		undef $msg;
		for ($i = 0; $i < @msg; $i++) {
			if (!length($msg[$i])) {
				$msg[$i] = " ";
				$space = 1;
			}
			if (length($msg[$i]) > $config{'message_length_max'}) {
				while (length($msg[$i]) >= $config{'message_length_max'}) {
					$oldmsg = $msg;
					if (length($msg)) {
						$amount = $config{'message_length_max'};
						if ($amount - length($msg) > 0) {
							$amount = $config{'message_length_max'} - 1;
							$msg .= " " . substr($msg[$i], 0, $amount - length($msg));
						}
					} else {
						$amount = $config{'message_length_max'};
						$msg .= substr($msg[$i], 0, $amount);
					}
					if ($type eq "c" && $msg eq "_") {
						$sender->sendChat(" ");
					} elsif ($type eq "c") {
						$sender->sendChat($msg);
					} elsif ($type eq "g" && $msg eq "_") {
						$sender->sendGuildChat(" ");
					} elsif ($type eq "g") {
						$sender->sendGuildChat($msg);
					} elsif ($type eq "p" && $msg eq "_") {
						$sender->sendPartyChat(" ");
					} elsif ($type eq "p") {
						$sender->sendPartyChat($msg);
					} elsif ($type eq "pm" && $msg eq "_") {
						$sender->sendPrivateMsg($user, " ");
					} elsif ($type eq "pm") {
						$sender->sendPrivateMsg($user, $msg);
						%lastpm = (
							msg => $msg,
							user => $user
						);
						push @lastpm, {%lastpm};
					} elsif ($type eq "k") {
						$sender->injectMessage($msg);
	 				}
					$msg[$i] = substr($msg[$i], $amount - length($oldmsg), length($msg[$i]) - $amount - length($oldmsg));
					undef $msg;
				}
			}
			if (length($msg[$i]) && length($msg) + length($msg[$i]) <= $config{'message_length_max'}) {
				if (length($msg)) {
					if (!$space) {
						$msg .= " " . $msg[$i];
					} else {
						$space = 0;
						$msg .= $msg[$i];
					}
				} else {
					$msg .= $msg[$i];
				}
			} else {
				if ($type eq "c" && $msg eq "_") {
					$sender->sendChat(" ");
				} elsif ($type eq "c") {
					$sender->sendChat($msg);
				} elsif ($type eq "g" && $msg eq "_") {
					$sender->sendGuildChat(" ");
				} elsif ($type eq "g") {
					$sender->sendGuildChat($msg);
				} elsif ($type eq "p" && $msg eq "_") {
					$sender->sendPartyChat(" ");
				} elsif ($type eq "p") {
					$sender->sendPartyChat($msg);
				} elsif ($type eq "pm" && $msg eq "_") {
					$sender->sendPrivateMsg($user, " ");
				} elsif ($type eq "pm") {
					$sender->sendPrivateMsg($user, $msg);
					%lastpm = (
						msg => $msg,
						user => $user
					);
					push @lastpm, {%lastpm};
				} elsif ($type eq "k") {
					$sender->injectMessage($msg);
				}
				$msg = $msg[$i];
			}
			if (length($msg) && $i == @msg - 1) {
				if ($type eq "c" && $msg eq "_") {
					$sender->sendChat(" ");
				} elsif ($type eq "c") {
					$sender->sendChat($msg);
				} elsif ($type eq "g" && $msg eq "_") {
					$sender->sendGuildChat(" ");
				} elsif ($type eq "g") {
					$sender->sendGuildChat($msg);
				} elsif ($type eq "p" && $msg eq "_") {
					$sender->sendPartyChat(" ");
				} elsif ($type eq "p") {
					$sender->sendPartyChat($msg);
				} elsif ($type eq "pm" && $msg eq "_") {
					$sender->sendPrivateMsg($user, " ");
				} elsif ($type eq "pm") {
					$sender->sendPrivateMsg($user, $msg);
					%lastpm = (
						msg => $msg,
						user => $user
					);
					push @lastpm, {%lastpm};
				} elsif ($type eq "k") {
					$sender->injectMessage($msg);
				}
			}
		}
	}
}

Аватара пользователя
4epT
macro-маньячина
Сообщения: 2792
Зарегистрирован: Чт дек 21, 2006 1:23 pm
Сервер RO:: 4game
Discord: ya4ept#8494
Контактная информация:

Сообщение 4epT »

может стоит в конфиге ввести новую переменную, что-то типо существующей "commandPrefix ;"

м?
Быстро и качественно напишу конфиг (макрос)! Стучи!
¤ Свежий бот ¤ Config checker ¤ Manual ¤
Изображение
Изображение
Ответить