Перейти к содержанию

Сейчас пытаюсь реализовать определенную идею. И слава богу, что есть человек, который хоть и не пишет плагин за меня, к большому сожалению... Но он хотя бы делится своими советами. Спасибо ему!

В общем, что я хочу:

Спустя 30 секунд, после загрузки карты c6m3_port (Порт), в чате появляется уведомление:

Цитата

[L4D2Noob Army]В данном районе недавно был замечен монстр! Будьте предельно аккуратны!

Игрок запускает музыкальный автомат, при треке из игры Portal (Почему именно эта песня, ну у нее самый минимальный шанс воспроизведения) появляется надпись в чате о том что эта песня была слишком громкой, и эта песня последнее, что слышали игроки в своей жизни.

Эта песня будит монстра. И в итоге появляется Толстяк, увеличенный в размере в 3 раза, и у которого 18 тысяч хп.

Само собой эту пасхалку можно будет запустить один раз за раунд.

На данный момент мне известно всего две переменных:

  • track6

  • Jukebox.still_alive

По ходу дела я буду отписываться в этой теме, но если кто то понимает в этом Sourcemod, я буду очень рад, если вы поделитесь своими советами.

Изменено пользователем Ryancoolround
Обновил тег (смотреть историю редактирования)

Это моя подпись.

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/
Поделиться на другие сайты

Решено Ryancoolround

Перейти к решению

Рекомендуемые сообщения

Опубликовано
  • Автор
  • Администраторы
  • Решение
comment_14308

SuperMob

Просмотр файла

Это непроверенная концепция моей идеи, мне ее сейчас негде проверить. Просто я попытался реализовать. Я даже неуверен в том, что этот плагин заработает. Но в течении нескольких следующих дней, на тестовом сервере я проверю его.

SuperMob — это нечто, что вы можете испытать не только в игре, но и в мире SourceMod с помощью нашего нового плагина! Наш плагин "SuperMob" превращает ваш сервер SourceMod в мир хаоса и страха, когда на горизонте звучит опасный звук трека 6 из Jukebox.

Особенности:

  • Автоматический спавн бумера: Когда запускается трек 6 из Jukebox, на вашем сервере появляется бумер из Left 4 Dead 2 с удивительными 18 000 единицами здоровья. Этот монстр готов принести хаос и ужас вашим игрокам!
  • Предупреждение игроков: Плагин предупреждает игроков о приближающейся угрозе, отправляя сообщение в чат, чтобы они могли быть готовы к атаке и борьбе за выживание.
  • Контрольные точки: Плагин также учитывает текущую карту и активируется только на карте "c6m3_port", чтобы обеспечить максимальное взаимодействие и атмосферу ужаса.

Как использовать:

  • Просто установите этот плагин на свой сервер SourceMod и дайте своим игрокам насладиться уникальным и захватывающим игровым опытом! Когда на горизонте зазвучит трек 6, подготовьтесь к зомби-апокалипсису!

Позвольте вашему серверу стать ареной для зомби-апокалипсиса с помощью нашего плагина! Не забудьте предупредить своих игроков, что в мире SourceMod нет ничего более страшного, чем звук трека 6 из Jukebox.


 

Это моя подпись.

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=14308
Поделиться на другие сайты
  • 3 года спустя...
Опубликовано
  • Автор
  • Администраторы
comment_745

Пока что я пытаюсь запустить плагин только на определенной карте, и выводить сообщение.

В 25.04.2020 в 10:21, Ryancoolround сказал:

Спустя 30 секунд, после загрузки карты c6m3_port (Порт), в чате появляется уведомление:

Знакомый подкинул несколько кодов для этого. Этот код не компилируется.

public void OnMapStart()
{
char mapname[64];
GetCurrentMap(mapname, sizeof(mapname));
if (StrEqual(mapname, "c7m3_port"))
{
int i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
PrintToChat(i, "{LIGHTGREEN}[L4D2Noob Army]{GREEN}В данном районе недавно был замечен монстр! Будьте предельно аккуратны!");
}
i += 1;
}
}
return Plugin_Stop;
}

А следующие коды работают, но заветное сообщение в чат они так и не вывели, но на определенной карте плагин запускается.

public void OnMapStart()
{
char mapname[64];
GetCurrentMap(mapname, sizeof(mapname));
if (StrEqual(mapname, "c7m3_port"))
{
CreateTimer(15, HxTimerRS, _, TIMER_FLAG_NO_MAPCHANGE);
}
}

public Action HxTimerRS(Handle timer)
{
int i = 1;
while (i <= MaxClients)
{
if (IsClientInGame(i))
{
CreateTimer(1.2, HxTimerRS, _, TIMER_FLAG_NO_MAPCHANGE);
PrintToChat(i, "{LIGHTGREEN}[L4D2Noob Army]{GREEN}В данном районе недавно был замечен монстр! Будьте предельно аккуратны!");
}
i += 1;
}

return Plugin_Stop;
}
public void OnMapStart()
{
char mapname[64];
GetCurrentMap(mapname, sizeof(mapname));
if (StrEqual(mapname, "c7m3_port"))
{
CreateTimer(15, HxTimerRS, _, TIMER_FLAG_NO_MAPCHANGE);
}
}

public Action HxTimerRS(Handle timer)
{
PrintToChatAll("{LIGHTGREEN}[L4D2Noob Army]{GREEN}В данном районе недавно был замечен монстр! Будьте предельно аккуратны!");
return Plugin_Stop;
}

Мне сложно, ибо я самоучка, который только начинает учиться, но я запилю эту плагин.

Это моя подпись.

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=745
Поделиться на другие сайты
#pragma semicolon 1
#include <sourcemod>
#pragma newdecls required

char sMap[64];
int ig_c6m3_port;
int ig_time;

public void OnPluginStart()
{
	HookEvent("round_start", Event_RoundStart);
}

public void OnMapStart()
{
	ig_time = GetTime() + 30;
	GetCurrentMap(sMap, sizeof(sMap));
	if (StrEqual(sMap, "c6m3_port"))
	{	
		ig_c6m3_port = 1;
	}
	else
	{
		ig_c6m3_port = 0;
	}
}

public void OnClientPostAdminCheck(int client)
{
	if (ig_c6m3_port)
	{
		if (GetTime() < ig_time)
		{
			if (!IsFakeClient(client))
			{
				CreateTimer(15.0, HxTimerRS, client, TIMER_FLAG_NO_MAPCHANGE);
			}
		}
	}
}

public void Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
	if (ig_c6m3_port)
	{
		int i = 1;
		while (i <= MaxClients)
		{
			if (!IsFakeClient(i))
			{
				CreateTimer(2.0, HxTimerRS, i, TIMER_FLAG_NO_MAPCHANGE);
			}
			i += 1;
		}
	}
}

public Action HxTimerRS(Handle timer, any client)
{
	if (!IsFakeClient(client))
	{
		if (GetClientTeam(client) == 2)
		{
			if (IsPlayerAlive(client))
			{
				PrintToChat(client, "\x04[\x03L4D2Noob Army\x04] \x05В данном районе недавно был замечен монстр! Будьте предельно аккуратны!");
			}
		}
	}
	return Plugin_Stop;
}

1.Должно показывать только на карте c6m3_port

2. Сообщение будет показывать только команде живым (не думаю что инфекции нужно это видеть)
3. При загрузке карты запускается таймер 30 сек, если игрок зайдет в течении этого времени он увидит сообщение, если более 30 сек нет. (так как по сути игра может уже начаться другими игроками.
4. Так же сообщение будет показывать начале  каждого раунда (на данной карте)

Как это будет работать в режиме versus хз) так как не держу сервер данного режима

b_350_20_692108_381007_ffffff_000000.png

b_350_20_692108_381007_ffffff_000000.png

 

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=788
Поделиться на другие сайты
Опубликовано
  • Автор
  • Администраторы
comment_790
В 02.05.2020 в 00:41, dr.lex сказал:

Как это будет работать в режиме versus хз) так как не держу сервер данного режима

Это работает.

Теперь надо сделать что бы если из Jukebox запускался track6, то спавнился Толстяк с 18к хп. Тут как раз и надо вроде начинать изучать hookevent

На сервере, когда игрок нажимает на кнопку Jukebox, ничего не происходит. Консоль ничего не пишет, вообще ничего... Поэтому на Порте придется поискать какой нибудь другой триггер для пасхалки.

Изменено пользователем Ryancoolround
Удалил битые файлы. (смотреть историю редактирования)

Это моя подпись.

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=790
Поделиться на другие сайты

Посмотрите этот плагин Alliedmods, возможно он вам поможет. И еще сюда загляните myarena.ru

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=792
Поделиться на другие сайты
Опубликовано
  • Автор
  • Администраторы
comment_793

Хотя с включенным sv_cheats 1 смог получить следующую переменную song_game_event

Вопрос. Что по вашему более забавно? Живой Толстяк в каком то недоступном месте с 18к хп, или просто трудно заметная надпись "Monstr"?

23 часа назад, Blutsauger сказал:

Посмотрите этот плагин Alliedmods

22 часа назад, Ryancoolround сказал:

Живой Толстяк в каком то недоступном месте с 18к хп

Ну благодаря ссылке, которую скинул @Blutsauger я смог получить позицию, где хотелось бы заспавнить Толстяка:

350.987182 -456.186798 184.031250     30.700063 90.861076 0.000000

Это моя подпись.

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=793
Поделиться на другие сайты
  • 4 года спустя...
В 25.04.2020 в 10:21, Ryancoolround сказал:

Игрок запускает музыкальный автомат, при треке из игры Portal (Почему именно эта песня, ну у нее самый минимальный шанс воспроизведения) появляется надпись в чате о том что эта песня была слишком громкой, и эта песня последнее, что слышали игроки в своей жизни.

Эта песня будит монстра. И в итоге появляется Толстяк, увеличенный в размере в 3 раза, и у которого 18 тысяч хп.

Само собой эту пасхалку можно будет запустить один раз за раунд.

Хорошая идея 🙂

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=14873
Поделиться на другие сайты
  • 3 недели спустя...
В 14.10.2024 в 23:03, Darya сказал:

Хорошая идея 🙂

Но к сожалению так и не реализованная.

Это моя подпись.

Ссылка на комментарий
https://ip-gamers.net/topic/3451-supermob/?&do=findComment&comment=15279
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

Последние посетители 0

  • Ни одного зарегистрированного пользователя не просматривает данную страницу