Плагин "fly" полет

Darksilvers

Участник
Сообщения
35
Реакции
2
Есть плагин fly
Но он не хочет работать на v34
Что не так? Команда !fly не работает!
PHP:
#pragma semicolon 1
#include <sourcemod>

public Plugin:myinfo = 
{
	name = "Fly",
	author = "wS / Schmidt",
	description = "Позволяет игрокам летать",
	version = "1.0",
	url = "http://world-source.ru/"
};

new fly_team = 0, bool:fly_enabled = true;

public OnPluginStart()
{
	HookConVarChange(CreateConVar("fly_team", "0", "0 = all players can fly, 2 = only t, 3 = only ct", FCVAR_NOTIFY), cvar_fly_team);
	HookConVarChange(CreateConVar("fly_enabled", "1", "1 = fly enabled, 0 = fly disabled [by wS / Schmidt]", FCVAR_NOTIFY), cvar_fly_enabled);
	RegConsoleCmd("fly", fly);
}

public cvar_fly_team(Handle:var, const String:old[], const String:NewValue[])
{
	if (1 < (fly_team = StringToInt(NewValue)) < 4)
	{
		for (new i = 1; i <= MaxClients; i++)
		{
			if (IsClientInGame(i) && GetClientTeam(i) != fly_team && IsPlayerAlive(i) && GetEntityMoveType(i) == MOVETYPE_FLY)
			{
				SetEntityMoveType(i, MOVETYPE_WALK);
			}
		}
	}
}

public cvar_fly_enabled(Handle:var, const String:old[], const String:NewValue[])
{
	if (StringToInt(NewValue) == 1) fly_enabled = true;
	else
	{
		fly_enabled = false;
		for (new i = 1; i <= MaxClients; i++)
		{
			if (IsClientInGame(i) && IsPlayerAlive(i) && GetEntityMoveType(i) == MOVETYPE_FLY)
			{
				SetEntityMoveType(i, MOVETYPE_WALK);
			}
		}
	}
}

public Action:fly(client, args)
{
	if (fly_enabled && client > 0 && args < 1 && IsPlayerAlive(client) && FlyTeamAccess(client))
	{
		if (GetEntityMoveType(client) == MOVETYPE_FLY) SetEntityMoveType(client, MOVETYPE_WALK);
		else if (!(GetEntityFlags(client) & FL_ONGROUND)) SetEntityMoveType(client, MOVETYPE_FLY);
	}
	return Plugin_Handled;
}

bool:FlyTeamAccess(client)
{
	if (fly_team == 0 || fly_team == GetClientTeam(client)) return true;
	return false;
}
 

_wS_

Участник
Сообщения
383
Реакции
760
Есть плагин fly. Но он не хочет работать на v34.
Что не так? Команда !fly не работает!
Я обновил плаг (прошлый код кривоват). Но если у тебя не работало, то и теперь не будет. Замечал на v34, что бывает (может на каких-то сборках) не удается определить игрока, который использует консольную команду.

Т.е. сделали RegConsoleCmd("fly", fly); и в 'public Action:fly' client будет равен 0.
Не знаю из-за чего такой баг. С клиентом что-то не то скорее всего.
 
Сверху Снизу