Нужен маленький плагин по смене кваров

Статус
В этой теме нельзя размещать новые ответы.

Данилка

Участник
Сообщения
57
Реакции
15
Нужен плагин который менял значения от 1 до 30 (не рандомно) каждые 5 секунд

Пример: sv_log 1234

прошло 5 секунд

sv_log 3453

еще 5 секунд

sv_log 4444

Все значения изменялись бы из списка возможно ли ет ?
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Создай АДТ массив и устанавливай каждые пять сек по таймеру квар в следующее значение этого массива. Если же ты полный дуб в процедурном павне - ты ошибся разделом, и в таком случае тебе следовало писать в "запросы".
 

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #3
Создай АДТ массив и устанавливай каждые пять сек по таймеру квар в следующее значение этого массива. Если же ты полный дуб в процедурном павне - ты ошибся разделом, и в таком случае тебе следовало писать в "запросы".

Услуги, а не запросы
 

Данилка

Участник
Сообщения
57
Реакции
15
Создай АДТ массив и устанавливай каждые пять сек по таймеру квар в следующее значение этого массива. Если же ты полный дуб в процедурном павне - ты ошибся разделом, и в таком случае тебе следовало писать в "запросы".

Покажи как ет сделать о великий гуру ото я дуб =)
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
PHP:
#include <sourcemod>

new Handle:g_hADT_Array, Handle:g_hCvar_sv_log;
new i;

public OnPluginStart()
{
	g_hCvar_sv_log = FindConVar("sv_log");
	g_hADT_Array = CreateArray(32);
	LoadValues();
	CreateTimer(0.5, SomeTimer, _, TIMER_REPEAT);
}

public Action:SomeTimer(Handle:timer)
{
	new iSize = GetArraySize(g_hADT_Array);
	
	if(i == iSize-1)
		i = 0;
	
	decl String:sBuffer[32];
	GetArrayString(g_hADT_Array, i, sBuffer, sizeof(sBuffer));
	SetConVarString(g_hCvar_sv_log, sBuffer);
	i++;
	
	return Plugin_Continue;
}

LoadValues()
{
	decl String:Path[PLATFORM_MAX_PATH];
	BuildPath(Path_SM, Path, sizeof(Path), "configs/sv_log.ini");
	
	if(!FileExists(Path))
		SetFailState("%s not parsed... file doesn't exist!", Path);
	
	new Handle:filehandle = OpenFile(Path, "r");
	
	if (filehandle  == INVALID_HANDLE)
		return;
	
	decl String:Line[PLATFORM_MAX_PATH];
	while(!IsEndOfFile(filehandle))
	{
		ReadFileLine(filehandle,Line,sizeof(Line));
		
		new pos;
		pos = StrContains((Line), "//");
		if (pos != -1)
		{
			Line[pos] = '\0';
		}
		
		pos = StrContains((Line), "#");
		if (pos != -1)
		{
			Line[pos] = '\0';
		}
		
		pos = StrContains((Line), ";");
		if (pos != -1)
		{
			Line[pos] = '\0';
		}
		
		TrimString(Line);
		
		if(strlen(Line)>0)
			PushArrayString(g_hADT_Array, Line);
	}
	
	CloseHandle(filehandle);
}
Как пример.
И переместите тему куда-нибудь в запросы. Задолбали засирать мой раздел :-D
 

Данилка

Участник
Сообщения
57
Реакции
15
Ооо свещеный Игорь спасбо тебе огромное ты великий гуру...

Есть еще два вопроса

как должен выглядить файл sv_logs.ini ?

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

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Ооо свещеный Игорь спасбо тебе огромное ты великий гуру...

Есть еще два вопроса

как должен выглядить файл sv_logs.ini ?

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

В этом разделе хотелось бы видеть вопросы новичков, которые чтото пытаются, но по какой-то причине у них это "чтото" не получается. Увы, ты не попадаеш под их число. Отвечать на твои вопросы я не имею никакого желания.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу