Джеймс Максвелл
Участник
- Сообщения
- 26
- Реакции
- 0
Собсно, сабж. От Korden'a видал плагин в пару строк, кто может сбацать, чтобы админы только бхопили?
infinite-jumping_flags_infinite "a"
#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]
ADMFLAG_BAN
Спасибо! Хоть я и не кодер, но хукс тут обязателен разве? У кордена в 2 строчки уместилось без чека прав)
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;
}
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;
Либо так: можно полностью код?)
Эм, так и компилировать?
КОМПИЛЕНЫЙ
return Plugin_Continue;
А в чем отличие твоего, от предыдущего оО? Кроме
Больше ничего не нужно? Логов ошибок не будет? Вроде воркает