Перейти к содержимому


Фотография

Квары (переменные) L4D

cfg servercfg квары

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 116

#101 Pringles

Pringles

    Пользователь

  • Пользователь
  • PipPipPip
  • 275 сообщений

Отправлено 18 Апрель 2020 - 12:13

К профилю привязывают в обязательном порядке CS сервера. А именно, создают токен, и прописывают его в конфиге сервера.

Нигода не слышал о подобном в L4D.

Спасибо



#102 kpss333

kpss333

    Новичок

  • Пользователь
  • Pip
  • 7 сообщений

Отправлено 14 Декабрь 2020 - 15:59

Всем привет! Есть такой квар, который управляет скоростью запуска генератора?



#103 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 700 сообщений

Отправлено 14 Декабрь 2020 - 16:09

На сколько я знаю, это свойство энтити "func_button_timed". Можно через стриппер поменять. Имя "use_time". Число типа int (задается в секундах).

https://developer.va...nc_button_timed


  • history_maker это нравится

#104 Profanuch

Profanuch

    Участник

  • Пользователь
  • PipPip
  • 124 сообщений

Отправлено 19 Январь 2021 - 11:09

Можно с помощью кваров сделать себе оружие с любым количеством патронов? Например дробовик с 468 патронами. Или за это отвечает плагин?



#105 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 202 сообщений

Отправлено 19 Январь 2021 - 13:47

Можно с помощью кваров сделать себе оружие с любым количеством патронов? Например дробовик с 468 патронами. Или за это отвечает плагин?

Конкретно себе - нет. Но вот менять стандартное количество патронов в оружиях на сервере можно без проблем.

ammo_assaultrifle_max (м-ка 360)
ammo_buckshot_max (дробовики 128)

ammo_huntingrifle_max (снайпа 150)

ammo_smg_max (узи 480)


Сообщение отредактировал history_maker: 19 Январь 2021 - 13:47


#106 Profanuch

Profanuch

    Участник

  • Пользователь
  • PipPip
  • 124 сообщений

Отправлено 19 Январь 2021 - 17:12

Конкретно себе - нет.

Хмм, а как тогда мод krx surup например, добавляет вместо 10 (дефолтное значение) заряженных патронов в дробовике - 15?



#107 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 848 сообщений

Отправлено 19 Январь 2021 - 23:59

Хмм, а как тогда мод krx surup например, добавляет вместо 10 (дефолтное значение) заряженных патронов в дробовике - 15?

Он делает это уже не стандартными переменными, а функциями SourcePawn, что обращается к движку игры



#108 history_maker

history_maker

    Пользователь

  • Пользователь
  • PipPipPip
  • 202 сообщений

Отправлено 20 Январь 2021 - 13:11

Хмм, а как тогда мод krx surup например, добавляет вместо 10 (дефолтное значение) заряженных патронов в дробовике - 15?

В 1 части L4D уже в самой игре заложена система перок, KrX просто выдаёт так званый "Увеличенный магазин" на ряду с другими перками.
Так же количество патронов в обойме можно поменять в скриптах оружия или плагином, но это опять будет делаться для всех, а не для конкретного человека+ начнутся проблемы с анимациями



#109 brain

brain

    Новичок

  • Пользователь
  • Pip
  • 2 сообщений

Отправлено 25 Апрель 2021 - 0:16

кварами - нет, для этого есть плагины, многие используют l4d_multitanks

https://forums.allie...wthread.php?t=1



#110 brain

brain

    Новичок

  • Пользователь
  • Pip
  • 2 сообщений

Отправлено 25 Апрель 2021 - 1:23

Всем привет, кто юзал квар director_panic_forever ?

Не могу понять как его запустить вводил в консоль игры sm_cvar director_panic_forever 1, пишет что переменная изменена а проверяешь стоит на 0.

Также пробовал через плагин вводить:

SetConVarInt(FindConVar("director_panic_forever"), 1, false, false);

ServerCommand("sm_cvar director_panic_forever 1");

Работает только одним методом если вводить в консоль сервера sm_cvar director_panic_forever 1.

поставь число один в кавычки  "1"



#111 Vitamin

Vitamin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 492 сообщений

Отправлено 26 Апрель 2021 - 5:27

Потому что director_panic_forever это консольная команда, а не переменная

#112 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 848 сообщений

Отправлено 26 Апрель 2021 - 12:45

Потому что director_panic_forever это консольная команда, а не переменная

А если так?

Скрытый текст

Сообщение отредактировал BloodyBlade: 26 Апрель 2021 - 12:55


#113 DenMarko

DenMarko

    Новичок

  • Пользователь
  • Pip
  • 33 сообщений

Отправлено 26 Апрель 2021 - 16:53

А если так?

Скрытый текст

если так делать то нужно чтобы ето была команда а ето квар

 



#114 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 848 сообщений

Отправлено 26 Апрель 2021 - 17:14

 

А если так?

Скрытый текст

если так делать то нужно чтобы ето была команда а ето квар

 

Я то знаю. По-сути, это должно работать, как в консоли в виде sm_cvar director_panic_forever 1, так и в плагине в виде: FindConVar("director_panic_forever").SetInt(1);



#115 DenMarko

DenMarko

    Новичок

  • Пользователь
  • Pip
  • 33 сообщений

Отправлено 26 Апрель 2021 - 19:02

Я то знаю. По-сути, это должно работать, как в консоли в виде sm_cvar director_panic_forever 1, так и в плагине в виде: FindConVar("director_panic_forever").SetInt(1);

в консольной команде sm_cvar получается вот так FindConVar("director_panic_forever").SetString("1", true); 

поскольку любой квар изменяется значение через SetString

 

plugin basecommands.sp

public Action Command_Cvar(int client, int args)
{
	if (args < 1)
	{
		if (client == 0)
		{
			ReplyToCommand(client, "[SM] Usage: sm_cvar <cvar|protect> [value]");
		}
		else
		{
			ReplyToCommand(client, "[SM] Usage: sm_cvar <cvar> [value]");
		}
		return Plugin_Handled;
	}

	char cvarname[64];
	GetCmdArg(1, cvarname, sizeof(cvarname));
	
	if (client == 0 && StrEqual(cvarname, "protect"))
	{
		if (args < 2)
		{
			ReplyToCommand(client, "[SM] Usage: sm_cvar <protect> <cvar>");
			return Plugin_Handled;
		}
		GetCmdArg(2, cvarname, sizeof(cvarname));
		ProtectVar(cvarname);
		ReplyToCommand(client, "[SM] %t", "Cvar is now protected", cvarname);
		return Plugin_Handled;
	}

	ConVar hndl = FindConVar(cvarname);
	if (hndl == null)
	{
		ReplyToCommand(client, "[SM] %t", "Unable to find cvar", cvarname);
		return Plugin_Handled;
	}

	if (!IsClientAllowedToChangeCvar(client, cvarname))
	{
		ReplyToCommand(client, "[SM] %t", "No access to cvar");
		return Plugin_Handled;
	}

	char value[255];
	if (args < 2)
	{
		hndl.GetString(value, sizeof(value));

		ReplyToCommand(client, "[SM] %t", "Value of cvar", cvarname, value);
		return Plugin_Handled;
	}

	GetCmdArg(2, value, sizeof(value));
	
	// The server passes the values of these directly into ServerCommand, following exec. Sanitize.
	if (StrEqual(cvarname, "servercfgfile", false) || StrEqual(cvarname, "lservercfgfile", false))
	{
		int pos = StrContains(value, ";", true);
		if (pos != -1)
		{
			value[pos] = '\0';
		}
	}

	if ((hndl.Flags & FCVAR_PROTECTED) != FCVAR_PROTECTED)
	{
		ShowActivity2(client, "[SM] ", "%t", "Cvar changed", cvarname, value);
	}
	else
	{
		ReplyToCommand(client, "[SM] %t", "Cvar changed", cvarname, value);
	}

	LogAction(client, -1, "\"%L\" changed cvar (cvar \"%s\") (value \"%s\")", client, cvarname, value);

	hndl.SetString(value, true);

	return Plugin_Handled;
}


#116 BloodyBlade

BloodyBlade

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 848 сообщений

Отправлено 27 Апрель 2021 - 13:31

 

в консольной команде sm_cvar получается вот так FindConVar("director_panic_forever").SetString("1", true); 

поскольку любой квар изменяется значение через SetString

 

plugin basecommands.sp

public Action Command_Cvar(int client, int args)
{
	if (args < 1)
	{
		if (client == 0)
		{
			ReplyToCommand(client, "[SM] Usage: sm_cvar <cvar|protect> [value]");
		}
		else
		{
			ReplyToCommand(client, "[SM] Usage: sm_cvar <cvar> [value]");
		}
		return Plugin_Handled;
	}

	char cvarname[64];
	GetCmdArg(1, cvarname, sizeof(cvarname));
	
	if (client == 0 && StrEqual(cvarname, "protect"))
	{
		if (args < 2)
		{
			ReplyToCommand(client, "[SM] Usage: sm_cvar <protect> <cvar>");
			return Plugin_Handled;
		}
		GetCmdArg(2, cvarname, sizeof(cvarname));
		ProtectVar(cvarname);
		ReplyToCommand(client, "[SM] %t", "Cvar is now protected", cvarname);
		return Plugin_Handled;
	}

	ConVar hndl = FindConVar(cvarname);
	if (hndl == null)
	{
		ReplyToCommand(client, "[SM] %t", "Unable to find cvar", cvarname);
		return Plugin_Handled;
	}

	if (!IsClientAllowedToChangeCvar(client, cvarname))
	{
		ReplyToCommand(client, "[SM] %t", "No access to cvar");
		return Plugin_Handled;
	}

	char value[255];
	if (args < 2)
	{
		hndl.GetString(value, sizeof(value));

		ReplyToCommand(client, "[SM] %t", "Value of cvar", cvarname, value);
		return Plugin_Handled;
	}

	GetCmdArg(2, value, sizeof(value));
	
	// The server passes the values of these directly into ServerCommand, following exec. Sanitize.
	if (StrEqual(cvarname, "servercfgfile", false) || StrEqual(cvarname, "lservercfgfile", false))
	{
		int pos = StrContains(value, ";", true);
		if (pos != -1)
		{
			value[pos] = '\0';
		}
	}

	if ((hndl.Flags & FCVAR_PROTECTED) != FCVAR_PROTECTED)
	{
		ShowActivity2(client, "[SM] ", "%t", "Cvar changed", cvarname, value);
	}
	else
	{
		ReplyToCommand(client, "[SM] %t", "Cvar changed", cvarname, value);
	}

	LogAction(client, -1, "\"%L\" changed cvar (cvar \"%s\") (value \"%s\")", client, cvarname, value);

	hndl.SetString(value, true);

	return Plugin_Handled;
}

Ну и? Например, изменение значений толпы же работает и так. Проверено.

Скрытый текст


#117 DenMarko

DenMarko

    Новичок

  • Пользователь
  • Pip
  • 33 сообщений

Отправлено 28 Апрель 2021 - 0:00

я отом что консольна команда sm_cvar работает через SetString и если изменить получилось только через sm_cvar то пускай попробует FindConVar("director_panic_forever").SetString("1", true);


  • BloodyBlade это нравится



Темы с аналогичным тегами cfg, servercfg, квары

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных