Администратор Райан Posted May 3, 2020 Администратор Share Posted May 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 сервере. 1 Quote Ненавижу загружать новые файлы, но обожаю обновлять версии. Link to comment Share on other sites More sharing options...
dr.lex Posted May 3, 2020 Share Posted May 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); } } 2 Quote Link to comment Share on other sites More sharing options...
Администратор Райан Posted May 3, 2020 Author Администратор Share Posted May 3, 2020 @dr.lex дружище. Я всего лишь учусь, и делюсь результатами. И твой пост научит меня еще многому. Извини, если ты понял что то не так, я не хотел тебя обидеть. Этот плагин (Код) сам по себе необязателен. Так как, к примеру я использую MySQL рекламу, которая модерируется в WEB панели, и там добавляется куча серверов, где надо отображать эту рекламу. И само собой все можно настроить в этой панели. Этот код идет же, как простейший пример, того что у меня хоть что то получается. 1 Quote Ненавижу загружать новые файлы, но обожаю обновлять версии. Link to comment Share on other sites More sharing options...
BoSSICoM Posted May 3, 2020 Share Posted May 3, 2020 @dr.lex, просто он нашел человека который его понимает) 1 Quote Link to comment Share on other sites More sharing options...
dr.lex Posted May 3, 2020 Share Posted May 3, 2020 2 минуты назад, BoSSICoM сказал: @dr.lex, просто он нашел человека который его понимает) я сам себя понять не могу) а тут кто-то меня)) 20 минут назад, Ryancoolround сказал: @dr.lex дружище. Я всего лишь учусь, и делюсь результатами. И твой пост научит меня еще многому. Извини, если ты понял что то не так, я не хотел тебя обидеть. Этот плагин (Код) сам по себе необязателен. Так как, к примеру я использую MySQL рекламу, которая модерируется в WEB панели, и там добавляется куча серверов, где надо отображать эту рекламу. И само собой все можно настроить в этой панели. Этот код идет же, как простейший пример, того что у меня хоть что то получается. я не против) просто иногда моё мнение и ответы в ЛС могут быть не особо понятны для многих) 2 Quote Link to comment Share on other sites More sharing options...
BoSSICoM Posted May 3, 2020 Share Posted May 3, 2020 1 минуту назад, dr.lex сказал: я не против) просто иногда мои мнение и ответы в ЛС могут быть не особо понятны для многих) Если тебя кто-то не может понять это значит что ты слишком умён для этого человека) 3 Quote Link to comment Share on other sites More sharing options...
qqqq Posted September 15, 2020 Share Posted September 15, 2020 Потрясающе! Спасибо! 1 Quote Link to comment Share on other sites More sharing options...
Администратор Райан Posted August 2, 2021 Author Администратор Share Posted August 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 В этой теме. Спойлер На это сообщение необязательно отвечать. Это просто напоминание для самого себя. 0 Quote Ненавижу загружать новые файлы, но обожаю обновлять версии. Link to comment Share on other sites More sharing options...
Администратор Featured Comment Райан Posted July 16, 2022 Author Администратор Featured Comment Share Posted July 16, 2022 Скомпилированная версия плагина Info Trigger на версии SourceMod 1.11.0.6905. infotrigger.smx infotrigger.sp 0 Quote Ненавижу загружать новые файлы, но обожаю обновлять версии. Link to comment Share on other sites More sharing options...
Recommended Posts
Posted by Райан,
Плагин скомпилированный на версии SourceMod 1.11.0.6905.
Recommended by Райан
Reputation Points
Go to this post
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.