Бхоп для админов

Сообщения
26
Реакции
0
Собсно, сабж. От Korden'a видал плагин в пару строк, кто может сбацать, чтобы админы только бхопили?
 

akvorok.ego

Участник
Сообщения
314
Реакции
186
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

public Plugin:myinfo =
{
	name = "Bhop [Mod Size]",
	author = "Dragonfly",
	description = "Plugin with lots of features for BunnyHop's servers.",
	version = "1.1",
	url = ""
};

public OnPluginStart()
{
	HookEvent("player_jump", Event_player_jump);
	HookEvent("player_spawn", Event_player_spawn);
}

public Action:Event_player_jump(Handle:event, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	
	if(client && GetUserFlagBits(client) && ADMFLAG_BAN)
	{
		SetEntPropFloat(client, Prop_Send, "m_flStamina", 0.0);
	}
	
	return Plugin_Continue;
}

public Action:Event_player_spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	
	if(client && GetUserFlagBits(client) && ADMFLAG_BAN)
	{
		SetEntProp(client, Prop_Data, "m_CollisionGroup", 2);
	}	
	
	return Plugin_Continue;
}

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
	if (IsPlayerAlive(client) && GetUserFlagBits(client) && ADMFLAG_BAN)
	{
		if (buttons & IN_JUMP)
		{
			if (!(GetEntityFlags(client) & FL_ONGROUND))
			{
				if (!(GetEntityMoveType(client) & MOVETYPE_LADDER))
				{
					new iType = GetEntProp(client, Prop_Data, "m_nWaterLevel");
					if (iType <= 1)
					{
						buttons &= ~IN_JUMP;
					}
				}
			}
		}
	}
	return Plugin_Continue;
}[/SPOILER]

PHP:
ADMFLAG_BAN
Флаг доступа.
 
Сообщения
26
Реакции
0
Спасибо! Хоть я и не кодер, но хукс тут обязателен разве? У кордена в 2 строчки уместилось без чека прав)
 

akvorok.ego

Участник
Сообщения
314
Реакции
186
Спасибо! Хоть я и не кодер, но хукс тут обязателен разве? У кордена в 2 строчки уместилось без чека прав)

Либо так:
PHP:
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon){
	if (IsPlayerAlive(client) && GetUserFlagBits(client) && ADMFLAG_BAN){
		if (buttons & IN_JUMP){
			if (!(GetEntityFlags(client) & FL_ONGROUND)){
				if (!(GetEntityMoveType(client) & MOVETYPE_LADDER)){
					new iType = GetEntProp(client, Prop_Data, "m_nWaterLevel");
					if (iType <= 1){
						buttons &= ~IN_JUMP;
					}
				}
			}
		}
	}
	return Plugin_Continue;
}
 
Сообщения
26
Реакции
0
С первым кодом какой-то бхоп странный немного, может отвык...

Либо так: можно полностью код?)
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
PHP:
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) 
    if (IsPlayerAlive(client) && (buttons & IN_JUMP) && !(GetEntityFlags(client) & FL_ONGROUND) && !(GetEntityMoveType(client) & MOVETYPE_LADDER) && (GetEntProp(client, Prop_Data, "m_nWaterLevel") <= 1) && GetAdminFlag(GetUserAdmin(client), Admin_Reservation))
        buttons &= ~IN_JUMP;

Как-то так
 

akvorok.ego

Участник
Сообщения
314
Реакции
186

Danyas

Участник
Сообщения
2,173
Реакции
1,072
А в чем отличие твоего, от предыдущего оО? Кроме



Больше ничего не нужно? Логов ошибок не будет? Вроде воркает

по сути ни в чем, только вот я начал дописывать только как тему открыл, а отправил минут пять назад
 
Сообщения
26
Реакции
0
Ок, я скомпилил, вроде воркает... А то просто последнее - ; , а у него return Plugin_Continue; , вот и очкую, все ли норм, не будет ли ошибок))))
 

Похожие темы

Ответы
5
Просмотры
Ответы
0
Просмотры
210
Ответы
10
Просмотры
861
Сверху Снизу