Скидывает с респауна

Lima

Участник
Сообщения
159
Реакции
57
Добрый вечер, может кто знает как можно убрать на некоторых surf_картах скидывание с респауна, то есть начинается раунд, проходит некоторое время и игрока скидывает на серф, интересует вопрос как убрать это "скидывание".
 
Сообщения
15
Реакции
0
Добрый вечер, может кто знает как можно убрать на некоторых surf_картах скидывание с респауна, то есть начинается раунд, проходит некоторое время и игрока скидывает на серф, интересует вопрос как убрать это "скидывание".
Вроде бы нельзя не как отключить скидывание, потому что это карта так сделана.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
плагина с произвольным ID, нужный постараюсь найти
Готовый инструментарий: http://hlmod.ru/forum/utverjdionnye-plaginy/26679-manual-cleaning-map.html.
Удаляешь его: !cleanmap trigger_teleport -1 - по одному и проверяешь, скидывает или нет. Можно попробовать сразу все удалить, если карта будет функционировать нормально (может там и есть всего 1 объект Оффтоп).
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
А можно пример плагина с произвольным ID, нужный постараюсь найти?

Не тестировал, вот ты и протестируешь.
Для компилирования нужна библиотека smlib.
Строчка 34: if (StrEqual(current_map, "тут_прописать_карту")) - название нужной тебе карты.
 

Вложения

  • trigger_push.sp
    776 байт · Просмотры: 5
Последнее редактирование:

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Готовый инструментарий: http://hlmod.ru/forum/utverjdionnye-plaginy/26679-manual-cleaning-map.html.Удаляешь его: !cleanmap trigger_teleport -1 - по одному и проверяешь, скидывает или нет. Можно попробовать сразу все удалить, если карта будет функционировать нормально (может там и есть всего 1 объект Оффтоп).

Почаще апай свои темы, очень полезные плагины у тебя. Нужно сделать поисковик как на sourcemod.net.
 

Lima

Участник
Сообщения
159
Реакции
57
Готовый инструментарий: http://hlmod.ru/forum/utverjdionnye-plaginy/26679-manual-cleaning-map.html.Удаляешь его: !cleanmap trigger_teleport -1 - по одному и проверяешь, скидывает или нет. Можно попробовать сразу все удалить, если карта будет функционировать нормально (может там и есть всего 1 объект Оффтоп).
Нашел, причина в trigger_push:
!cleanmap trigger_push 1
Удален: №1 entity "trigger_push" (id: 572).
Теперь вопрос как удалять это постоянно, как я понял плагин не сохраняет изменения(
Не тестировал, вот ты и протестируешь.
Для компилирования нужна библиотека smlib.
Строчка 38: if (hammerID != 23993)
Строчка 36: if (StrEqual(current_map, "surf_map")) - название нужной тебе карты.
Не работает, заменил в плагине trigger_teleport на trigger_push и ID вставил из цитаты выше (572).
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Нашел, причина в trigger_push:
!cleanmap trigger_push 1
Удален: №1 entity "trigger_push" (id: 572).
Теперь вопрос как удалять это постоянно, как я понял плагин не сохраняет изменения(

Не работает, заменил в плагине trigger_teleport на trigger_push и ID вставил из цитаты выше (572).

http://hlmod.ru/forum/showpost.php?p=222483&postcount=6
Перезалил. В этом случае будет удалять все trigger_push на нужной тебе карты, не забудь править исходник.
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
ID вставил из цитаты выше
Это реальный индекс объекта. Не тот "ID".
Проверил, сколько таких объектов на карте? Если всего 1, то удалять можно легко и всегда верно. Оффтоп
все trigger_push на нужной тебе карты
Оффтоп Не будет работать.
 

Lima

Участник
Сообщения
159
Реакции
57
Добавлено через 10 минут
Это реальный индекс объекта. Не тот "ID".
Проверил, сколько таких объектов на карте? Если всего 1, то удалять можно легко и всегда верно. ОффтопОффтоп Не будет работать.
А где узнать нужный ID?
http://hlmod.ru/forum/showpost.php?p=222483&postcount=6
Перезалил. В этом случае будет удалять все trigger_push на нужной тебе карты, не забудь править исходник.
Отключение всех trigger_push не вариант, перестает работать "толчек" игрока вверх на некоторых местах карты(
 
Последнее редактирование:

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Добавлено через 10 минут

А где узнать нужный ID?

Отключение всех trigger_push не вариант, перестает работать толчек игрока на некоторых местах карты(

Тогда возьми старый исходник trigger_teleport.
Получи HammerID нужного тебе trigger_push (не забудь изменить trigger_teleport на trigger_push) и вставь, пропиши нужную карту, где удалять и проверяй.
 

Lima

Участник
Сообщения
159
Реакции
57
Тогда возьми старый исходник trigger_teleport.
Получи HammerID нужного тебе trigger_push (не забудь изменить trigger_teleport на trigger_push) и вставь, пропиши нужную карту, где удалять и проверяй.
Вопрос именно в том как HammerID вообще можно определить на нужном мне объекте, есть исходник карты, открывал блокнотом, нашел нужный trigger_push
entity
{
"id" "1411"
"classname" "trigger_push"
"origin" "5468 417 136"
"pushdir" "0 270 0"
"spawnflags" "1"
"speed" "500"
"StartDisabled" "1"
"targetname" "push_spawn1"
solid
{
Взял id 1411, плагин не заработал, через Hummer World Editor так и не понял где указывается ID нужного мне объекта(
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

Lima

Участник
Сообщения
159
Реакции
57
Пробей остальные push-объекты на имена. Если не совпадает, можно по нему и сносить именно нужный тебе trigger. Оффтоп
Можно попробовать на push_spawn1 и push_spawn2, но как реализовать это плагином?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
PHP:
#include <sdktools>

new String:g_sMapActivate[][] = {"de_dust"};

public OnMapStart()
{
	decl String:current_map[32];
	GetCurrentMap(current_map, sizeof(current_map));
	static bool:bActivate;
	for (new i = 0; i < sizeof(g_sMapActivate); ++i)
	{
		if (strcmp(current_map, g_sMapActivate[i]) == 0)
		{
			if (!bActivate)
			{
				HookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy);
				bActivate = true;
			}
			return;
		}
	}
	if (bActivate)
	{
		UnhookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy);
		bActivate = false;
	}
}

public OnRoundStart(Handle:event, String:name[], bool:dontBroadcast)
{
	decl String:buffer[13];
	new entity = MaxClients + 1;
	while ((entity = FindEntityByClassname(entity, "trigger_push")) != -1)
	{
		DispatchKeyValue(entity, "targetname", buffer);
		if (strcmp(buffer, "push_spawn1") == 0 || strcmp(buffer, "push_spawn2") == 0) AcceptEntityInput(entity, "Kill");
	}
}
Пробуй, не проверял.
g_sMapActivate - вписать карту(ы), как указано в примере.
 

Lima

Участник
Сообщения
159
Реакции
57
PHP:
#include <sdktools>

new String:g_sMapActivate[][] = {"de_dust"};

public OnMapStart()
{
	decl String:current_map[32];
	GetCurrentMap(current_map, sizeof(current_map));
	static bool:bActivate;
	for (new i = 0; i < sizeof(g_sMapActivate); ++i)
	{
		if (strcmp(current_map, g_sMapActivate[i]) == 0)
		{
			if (!bActivate)
			{
				HookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy);
				bActivate = true;
			}
			return;
		}
	}
	if (bActivate)
	{
		UnhookEvent("round_start", OnRoundStart, EventHookMode_PostNoCopy);
		bActivate = false;
	}
}

public OnRoundStart(Handle:event, String:name[], bool:dontBroadcast)
{
	decl String:buffer[13];
	new entity = MaxClients + 1;
	while ((entity = FindEntityByClassname(entity, "trigger_push")) != -1)
	{
		DispatchKeyValue(entity, "targetname", buffer);
		if (strcmp(buffer, "push_spawn1") == 0 || strcmp(buffer, "push_spawn2") == 0) AcceptEntityInput(entity, "Kill");
	}
}
Пробуй, не проверял.
g_sMapActivate - вписать карту(ы), как указано в примере.
Спасибо огромное, все работает:yahoo:
 
Сверху Снизу