В России началась распродажа консолей PlayStation и аксессуаров к ним
-
Similar Content
-
By Ryancoolround
3 июня в России началась официальная акция PlayStation под названием «Время первых Время играть». Сегодня она закончилась.
Подробности тут:
-
By Ryancoolround
Начнем с того, что таких плагинов для Left 4 Dead 2 в сети лежит 1000 и 1 штука. Но этот скрипт я писал сам, для обучения. И поэтому можно разобрать здесь его. Ну а вы меня отругаете, или все переделаете на свой лад. 🖖 Итак, сам код (Кстати, на версии Sourcemod 1.10.6460 он компилируется без проблем):
#pragma semicolon 1 #include <sourcemod> #include <sdktools> #include <geoip> #pragma tabsize 0 new Handle:h_connectmsg = INVALID_HANDLE; public Plugin:myinfo = { name = "Анонс о подключении", author = "L4D2Noob.ru Dr.Lex", description = "Сообщает в чате о присоединении игрока", version = "1.6", url = "https://l4d2noob.ru/" }; public OnPluginStart() { h_connectmsg = CreateConVar("sm_connectmsg", "1", "Показывает сообщение о подключении в чате, когда игрок присоединяется.", FCVAR_NOTIFY | FCVAR_DONTRECORD); } public OnClientPutInServer(client) { if (!IsFakeClient(client)) { new Connect = GetConVarInt(h_connectmsg); if(Connect == 1) { new String:name[99], String:authid[99], String:IP[99], String:Country[99]; GetClientName(client, name, sizeof(name)); GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid)); GetClientIP(client, IP, sizeof(IP), true); if(!GeoipCountry(IP, Country, sizeof Country)) { Country = "Неизвестный Регион"; } if (CheckCommandAccess(client, "sm_admin", ADMFLAG_GENERIC, true)) return; PrintToChatAll ("\x04[L4D2Noob]: \x05 Игрок \x04%s \x05 вошел на сервер", name); PrintToChatAll ("\x04[L4D2Noob] \x05 SteamID: \x04[%s]",authid); PrintToChatAll ("\x04[L4D2Noob] \x05 Локация: \x04%s", Country); } else { CloseHandle(h_connectmsg); } } } Давайте разберемся с проблемами, которые возникли у меня при создании. Но опять таки, благодаря @dr.lex их удалось решить.
PrintToChatAll ("\x04[L4D2Noob]: \x05 Игрок \x04%s \x05 вошел на сервер", name); PrintToChatAll ("\x04[L4D2Noob] \x05 SteamID: \x04[%s]",authid); PrintToChatAll ("\x04[L4D2Noob] \x05 Локация: \x04%s", Country); Почему то не хотели отображаться цветные сообщения в игре. Оказалось, что виноват символ "»". Что очень странно, ведь в предыдущем моем творении, он исправно работал.
Но как только я убрал этот символ, цвета в чате стали отображаться. Кстати, благодаря этому я понял почему @dr.lex ругал меня за #include <colors> в той теме. Оказывается что это подключение отвечает за отображение дополнительных, подключаемых цветов, которые выводятся как {green} или {lightgreen}, и что если ты используешь стандартные цвета типа \x04, то это подключение не нужно.
Кстати, надо запомнить, что CPrintToChatAll = {green}, а PrintToChatAll = \x04.
Дальше я столкнулся со следующей бедой, это отображение спавна ботов в этом оповещении. То есть плагин считал каждого появившегося бота, как подключившегося игрока. Из за этого в чате игры возникал бесконечный спам. Что бы этого не было, и плагин говорил только о настоящих игроках, нам следующие строки:
new Connect = GetConVarInt(h_connectmsg); if(Connect == 1) { new String:name[99], String:authid[99], String:IP[99], String:Country[99]; GetClientName(client, name, sizeof(name)); GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid)); GetClientIP(client, IP, sizeof(IP), true); if(!GeoipCountry(IP, Country, sizeof Country)) { Country = "Неизвестный Регион"; } if (CheckCommandAccess(client, "sm_admin", ADMFLAG_GENERIC, true)) return; PrintToChatAll ("\x04[L4D2Noob]: \x05 Игрок \x04%s \x05 вошел на сервер", name); PrintToChatAll ("\x04[L4D2Noob] \x05 SteamID: \x04[%s]",authid); PrintToChatAll ("\x04[L4D2Noob] \x05 Локация: \x04%s", Country); } else { CloseHandle(h_connectmsg); } Надо просто было поместить в следующий оператор (Не знаю правильно ли я это назвал, но проект не просто так называется l4d2NOOB😞
if (!IsFakeClient(client)) { Поместить сюда } По итогу все. Как может показаться, что это мелочь, но на эту мелочь у меня ушло часа 2,5.
-
-
Recently Browsing 0 members
No registered users viewing this page.
Recommended Posts