Администратор ryancoolround Опубликовано 3 мая, 2020 Администратор Опубликовано 3 мая, 2020 Следующий код способен выводить определенную информацию игроку, если он будет набирать необходимые триггер команды, которые вы интегрируете в этот код. Интегрируется все настолько легко, что даже я такой паразит, смог его переделать под свои нужды. Кстати, @dr.lex считает этот код мусором 🙂 Но я все же им поделюсь, так как форум в первую очередь рассчитан на новичков. Пример работы: Сам код, работать в L4D2 будет: #include <sourcemod> #include <sdktools> #include <colors> #pragma semicolon 1 #pragma newdecls required public Plugin myinfo = { name = "Информация по триггер запосам", author = "L4D2Noob.Ru", description = "Отображает необходимую информацию по триггер запросам в чате", version = "3.5", url = "https://l4d2noob.ru/" }; ConVar g_site; ConVar g_grup; ConVar g_easteregg; ConVar g_adminka; char g_sBuffer[64]; public void OnPluginStart() { RegConsoleCmd("sm_site", CommandSite); RegConsoleCmd("sm_grup", CommandGrup); RegConsoleCmd("sm_easteregg", CommandEasteregg); RegConsoleCmd("sm_adminka", CommandAdminka); g_site = CreateConVar("sm_link_site", "https://l4d2noob.ru/"); g_grup = CreateConVar("sm_link_grup", "https://steamcommunity.com/groups/l4d2noobru"); g_easteregg = CreateConVar("sm_link_easteregg", "Торта нет"); g_adminka = CreateConVar("sm_link_adminka", "На форуме бесплатно!"); } public Action CommandSite(int client, int args) { g_site.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat(client, "» \x04Форум для админов и кодеров:\x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandGrup(int client, int args) { g_grup.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat(client, "» \x04Группа в Steam:\x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandEasteregg(int client, int args) { g_easteregg.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat (client, "» \x04[ОТСЫЛКА]: \x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandAdminka(int client, int args) { g_adminka.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat (client, "» \x04[СТАТЬ АДМИНОМ]: \x04 \x05%s", g_sBuffer); return Plugin_Handled; } Ну и готовый пример можно посмотреть на нашем VS#3 сервере. «Успех – это приятно, но он не должен быть единственной причиной, по которой вы – музыкант». - Честер Беннингтон
dr.lex Опубликовано 3 мая, 2020 Опубликовано 3 мая, 2020 5 часов назад, Ryancoolround сказал: Следующий код способен выводить определенную информацию игроку, если он будет набирать необходимые триггер команды, которые вы интегрируете в этот код. Интегрируется все настолько легко, что даже я такой паразит, смог его переделать под свои нужды. Кстати, @dr.lex считает этот код мусором 🙂 Но я все же им поделюсь, так как форум в первую очередь рассчитан на новичков. Пример работы: Сам код, работать в L4D2 будет: #include <sourcemod> #include <sdktools> #include <colors> #pragma semicolon 1 #pragma newdecls required public Plugin myinfo = { name = "Информация по триггер запосам", author = "L4D2Noob.Ru", description = "Отображает необходимую информацию по триггер запросам в чате", version = "3.5", url = "https://l4d2noob.ru/" }; ConVar g_site; ConVar g_grup; ConVar g_easteregg; ConVar g_adminka; char g_sBuffer[64]; public void OnPluginStart() { RegConsoleCmd("sm_site", CommandSite); RegConsoleCmd("sm_grup", CommandGrup); RegConsoleCmd("sm_easteregg", CommandEasteregg); RegConsoleCmd("sm_adminka", CommandAdminka); g_site = CreateConVar("sm_link_site", "https://l4d2noob.ru/"); g_grup = CreateConVar("sm_link_grup", "https://steamcommunity.com/groups/l4d2noobru"); g_easteregg = CreateConVar("sm_link_easteregg", "Торта нет"); g_adminka = CreateConVar("sm_link_adminka", "На форуме бесплатно!"); } public Action CommandSite(int client, int args) { g_site.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat(client, "» \x04Форум для админов и кодеров:\x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandGrup(int client, int args) { g_grup.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat(client, "» \x04Группа в Steam:\x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandEasteregg(int client, int args) { g_easteregg.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat (client, "» \x04[ОТСЫЛКА]: \x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandAdminka(int client, int args) { g_adminka.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat (client, "» \x04[СТАТЬ АДМИНОМ]: \x04 \x05%s", g_sBuffer); return Plugin_Handled; } Ну и готовый пример можно посмотреть на нашем VS#3 сервере. По моему не обязательно опубликовывать мое мнение с разговора ЛС. Почему я считаю данный код мусором. 1. Зачем использовать библиотеку цветов, если они не используются? #include <colors> с функцией CPrintToChat Не проще использовать стандартный PrintToChat 2. Делать куча команд, о которых игрок по сути даже не знает. RegConsoleCmd("sm_site", CommandSite); RegConsoleCmd("sm_grup", CommandGrup); RegConsoleCmd("sm_easteregg", CommandEasteregg); RegConsoleCmd("sm_adminka", CommandAdminka); По мне лучше сделать примерно так (не проверял) #include <sourcemod> #include <sdktools> #pragma semicolon 1 #pragma newdecls required ConVar hm_link_site; ConVar hm_link_grup; ConVar hm_link_easteregg; ConVar hm_link_adminka; public Plugin myinfo = { name = "Спам информация", author = "dr lex", description = "Сообщение в чате (типа рекламы)", version = "0.1", url = "https://steamcommunity.com/id/dr_lex" }; public void OnPluginStart() { hm_link_site = CreateConVar("hm_link_site", "https://l4d2noob.ru/", "", FCVAR_NONE|FCVAR_NOTIFY); hm_link_grup = CreateConVar("hm_link_grup", "https://steamcommunity.com/groups/l4d2noobru", "", FCVAR_NONE|FCVAR_NOTIFY); hm_link_easteregg = CreateConVar("hm_link_easteregg", "Торта нет", "", FCVAR_NONE|FCVAR_NOTIFY); hm_link_adminka = CreateConVar("hm_link_adminka", "На форуме бесплатно!", "", FCVAR_NONE|FCVAR_NOTIFY); } public void OnMapStart() { CreateTimer(60.0, HxTimer, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); } public Action HxTimer(Handle timer) { char link_site[96]; hm_link_site.GetString(link_site, sizeof(link_site)); char link_grup[96]; hm_link_grup.GetString(link_grup, sizeof(link_grup)); char link_easteregg[96]; hm_link_easteregg.GetString(link_easteregg, sizeof(link_easteregg)); char link_adminka[96]; hm_link_adminka.GetString(link_adminka, sizeof(link_adminka)); switch (GetRandomInt(1, 4)) { case 1: PrintToChatAll("» \x04[ОТСЫЛКА]: \x04 \x05%s", link_site); case 2: PrintToChatAll("» \x04Форум для админов и кодеров:\x04 \x05%s", link_easteregg); case 3: PrintToChatAll("» \x04Группа в Steam:\x04 \x05%s", link_grup); case 4: PrintToChatAll("» \x04[\x03СТАТЬ АДМИНОМ\x04]\x03: \x04 \x05%s", link_adminka); } }
Администратор ryancoolround Опубликовано 3 мая, 2020 Автор Администратор Опубликовано 3 мая, 2020 @dr.lex дружище. Я всего лишь учусь, и делюсь результатами. И твой пост научит меня еще многому. Извини, если ты понял что то не так, я не хотел тебя обидеть. Этот плагин (Код) сам по себе необязателен. Так как, к примеру я использую MySQL рекламу, которая модерируется в WEB панели, и там добавляется куча серверов, где надо отображать эту рекламу. И само собой все можно настроить в этой панели. Этот код идет же, как простейший пример, того что у меня хоть что то получается. «Успех – это приятно, но он не должен быть единственной причиной, по которой вы – музыкант». - Честер Беннингтон
BoSSICoM Опубликовано 3 мая, 2020 Опубликовано 3 мая, 2020 @dr.lex, просто он нашел человека который его понимает)
dr.lex Опубликовано 3 мая, 2020 Опубликовано 3 мая, 2020 2 минуты назад, BoSSICoM сказал: @dr.lex, просто он нашел человека который его понимает) я сам себя понять не могу) а тут кто-то меня)) 20 минут назад, Ryancoolround сказал: @dr.lex дружище. Я всего лишь учусь, и делюсь результатами. И твой пост научит меня еще многому. Извини, если ты понял что то не так, я не хотел тебя обидеть. Этот плагин (Код) сам по себе необязателен. Так как, к примеру я использую MySQL рекламу, которая модерируется в WEB панели, и там добавляется куча серверов, где надо отображать эту рекламу. И само собой все можно настроить в этой панели. Этот код идет же, как простейший пример, того что у меня хоть что то получается. я не против) просто иногда моё мнение и ответы в ЛС могут быть не особо понятны для многих)
BoSSICoM Опубликовано 3 мая, 2020 Опубликовано 3 мая, 2020 1 минуту назад, dr.lex сказал: я не против) просто иногда мои мнение и ответы в ЛС могут быть не особо понятны для многих) Если тебя кто-то не может понять это значит что ты слишком умён для этого человека)
Администратор ryancoolround Опубликовано 2 августа, 2021 Автор Администратор Опубликовано 2 августа, 2021 В 03.05.2020 в 14:21, Ry@N сказал: #include <sourcemod> #include <sdktools> #include <colors> #pragma semicolon 1 #pragma newdecls required public Plugin myinfo = { name = "Информация по триггер запосам", author = "L4D2Noob.Ru", description = "Отображает необходимую информацию по триггер запросам в чате", version = "3.5", url = "https://l4d2noob.ru/" }; ConVar g_site; ConVar g_grup; ConVar g_easteregg; ConVar g_adminka; char g_sBuffer[64]; public void OnPluginStart() { RegConsoleCmd("sm_site", CommandSite); RegConsoleCmd("sm_grup", CommandGrup); RegConsoleCmd("sm_easteregg", CommandEasteregg); RegConsoleCmd("sm_adminka", CommandAdminka); g_site = CreateConVar("sm_link_site", "https://l4d2noob.ru/"); g_grup = CreateConVar("sm_link_grup", "https://steamcommunity.com/groups/l4d2noobru"); g_easteregg = CreateConVar("sm_link_easteregg", "Торта нет"); g_adminka = CreateConVar("sm_link_adminka", "На форуме бесплатно!"); } public Action CommandSite(int client, int args) { g_site.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat(client, "» \x04Форум для админов и кодеров:\x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandGrup(int client, int args) { g_grup.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat(client, "» \x04Группа в Steam:\x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandEasteregg(int client, int args) { g_easteregg.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat (client, "» \x04[ОТСЫЛКА]: \x04 \x05%s", g_sBuffer); return Plugin_Handled; } public Action CommandAdminka(int client, int args) { g_adminka.GetString(g_sBuffer, sizeof(g_sBuffer)); CPrintToChat (client, "» \x04[СТАТЬ АДМИНОМ]: \x04 \x05%s", g_sBuffer); return Plugin_Handled; } Кстати, надо не забыть... Это именно то, о чем просил @CHIKI_BRIKI В этой теме. Спойлер На это сообщение необязательно отвечать. Это просто напоминание для самого себя. «Успех – это приятно, но он не должен быть единственной причиной, по которой вы – музыкант». - Честер Беннингтон
Администратор ryancoolround Опубликовано 16 июля, 2022 Автор Администратор Опубликовано 16 июля, 2022 Скомпилированная версия плагина Info Trigger на версии SourceMod 1.11.0.6905. infotrigger.smx infotrigger.sp «Успех – это приятно, но он не должен быть единственной причиной, по которой вы – музыкант». - Честер Беннингтон
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти