Проблема с Deathmatch Team Balancer

OffsprinG

Участник
Сообщения
56
Реакции
16
Уважаемые, кто может подсказать в чем проблема:
Данный плагин справляется со своей задачей хорошо, но есть некие проблемы в его работе, а именно: когда плагин загружаю (sm plugins load) - он работает, но после смены карты - снова не работает, но загружен. Единственный вариант - каждый раз его в ручную перезагружать, но это глупо.
Я полагаю что в самом плагине ошибка, возможно у кого то будут какие то идеи по-этому поводу? Кто понимает в павне - посмотрите, может найдете ошибку)
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
в логах нет ошибок ?
 

kv.acid

Участник
Сообщения
2,025
Реакции
755
пока знатоки SP нет появились, а плагин очень нужен, то добавь sm plugins load dmtb.smx в любой выполняемый конфиг :)
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
PHP:
#include <sourcemod>

#define FILE "dmtb.smx"

new Handle:hPlugin = INVALID_HANDLE;

public OnAllPluginsLoaded()
{
	hPlugin = FindPluginByFile(FILE);
}

public OnMapStart()
{
	CreateTimer(1.0, Timer, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:Timer(Handle:timer)
{
	SetFailState("%s	:	%d", FILE, GetPluginStatus(hPlugin));
}
Проверь, затем скинь сюда ответ плагина
 
Последнее редактирование:

FrozDark

Участник
Сообщения
1,769
Реакции
2,050
PHP:
#include <sourcemod>

#define FILE "dmtb.smx"

new Handle:hPlugin = INVALID_HANDLE;

public OnPluginStart()
{
	hPlugin = FindPluginByFile(FILE);
}

public OnMapStart()
{
	CreateTimer(1.0, Timer, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:Timer(Handle:timer)
{
	SetFailState("%s	:	%d", FILE, GetPluginStatus(hPlugin));
}
Проверь, затем скинь сюда ответ плагина

слишком рано получаешь плагин, нужно в OnAllPluginsLoaded
 

OffsprinG

Участник
Сообщения
56
Реакции
16
The End Is Near..., если я все правильно понял, то - я скомпилировал твой код и кинул плагин.
Бьет ошибки:
C-подобный:
L 08/02/2013 - 16:07:40: SourceMod error session started
L 08/02/2013 - 16:07:40: Info (map "gg_deagel_x") (file "errors_20130802.log")
L 08/02/2013 - 16:07:40: [SM] Plugin encountered error 25: Call was aborted
L 08/02/2013 - 16:07:40: [SM] Native "SetFailState" reported: dmtb.smx    :    0
L 08/02/2013 - 16:07:40: [SM] Displaying call stack trace for plugin "dmtb-fix.smx":
L 08/02/2013 - 16:07:40: [SM]   [0]  Line 19, dmtb-fix.sp::Timer()
L 08/02/2013 - 16:07:53: Error log file session closed.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
OffsprinG
Попробуй такой код, когда не будет работать баланс, введи команду test в консоль и результат сюда
PHP:
#include <sourcemod>

#define FILE "dmtb.smx"

new Handle:hPlugin = INVALID_HANDLE;

public OnPluginStart()
{
	RegConsoleCmd("test", CallBack);
}

public OnAllPluginsLoaded()
{
	hPlugin = FindPluginByFile(FILE);
}

public Action:CallBack(client, args)
{
	ReplyToCommand(client, "%s : %d", FILE, GetPluginStatus(hPlugin));

	return Plugin_Handled;
}
Или другой вариант
Данный код просто будет перезагружать плагин через секунду после смены карты
PHP:
#include <sourcemod>

#define FILE "dmtb"

public OnMapStart()
{
	CreateTimer(1.0, Timer, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:Timer(Handle:timer)
{
	ServerCommand("sm plugins reload %s", FILE);
}
 

OffsprinG

Участник
Сообщения
56
Реакции
16
Или другой вариант
Данный код просто будет перезагружать плагин через секунду после смены карты
PHP:
#include <sourcemod>

#define FILE "dmtb"

public OnMapStart()
{
	CreateTimer(1.0, Timer, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:Timer(Handle:timer)
{
	ServerCommand("sm plugins reload %s", FILE);
}
Решил использовать 2й вариант. Это работает прекрасно. Тему можете закрывать.
Благодарю всех кто принимал участие в решении проблемы ;)
 
Сверху Снизу