Проблема с плагином

QuadXeon

Участник
Сообщения
8
Реакции
1
Здравствуйте.
Ищу плагин на авто-бхоп, который не будет конфликтовать с двойным прыжком.
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
if (IsPlayerAlive(client) && VIP_IsClientVIP(client) && VIP_IsClientFeatureUse(client, VIP_DJUMP))
{
DoubleJump(client);
}
}

stock DoubleJump(const any:client) {
new fCurFlags = GetEntityFlags(client), fCurButtons = GetClientButtons(client);

if (g_fLastFlags[client] & FL_ONGROUND) {
if (!(fCurFlags & FL_ONGROUND) && !(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP)
{
OriginalJump(client);
}
}
else if (fCurFlags & FL_ONGROUND)
{
Landed(client);
}
else if (!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP)
{
ReJump(client);
}

g_fLastFlags[client] = fCurFlags;
g_fLastButtons[client] = fCurButtons;
}

stock OriginalJump(const any:client) {
g_iJumps[client]++;
}

stock Landed(const any:client) {
g_iJumps[client] = 0;
}

stock ReJump(const any:client) {
if (1 <= g_iJumps[client] <= g_iJumpMax)
{
g_iJumps[client]++;
decl Float:vVel[3];
GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel);
vVel[2] = g_flBoost;
TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, vVel);
}
}
Прошу Вас подсказать название такого плагина, если кто сталкивался с проблемой, или знает как ее решить.

Вот также пример с которым конфликтует (автоматического бхопа)
void BhopOn()
{
if(!CSGO)
{
SetCvar("sv_enablebunnyhopping", "1");
SetCvar("sv_airaccelerate", "2000");
}
else
{
SetCvar("sv_enablebunnyhopping", "1");
SetCvar("sv_staminamax", "0");
SetCvar("sv_airaccelerate", "2000");
SetCvar("sv_staminajumpcost", "0");
SetCvar("sv_staminalandcost", "0");
}
}

stock void SetCvar(char[] scvar, char[] svalue)
{
Handle cvar = FindConVar(scvar);
SetConVarString(cvar, svalue, true);
}

public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3], float angles[3], int &weapon)
{
if(GetConVarInt(hBhop) == 1 && GetConVarInt(hAutoBhop) == 1) //Check if plugin and autobhop is enabled
if (IsPlayerAlive(client) && buttons & IN_JUMP) //Check if player is alive and is in pressing space
if(!(GetEntityMoveType(client) & MOVETYPE_LADDER) && !(GetEntityFlags(client) & FL_ONGROUND)) //Check if is not in ladder and is in air
if(waterCheck(client) < WATER_LIMIT)
buttons &= ~IN_JUMP;
return Plugin_Continue;
}

int waterCheck(int client)
{
return GetEntProp(client, Prop_Data, "m_nWaterLevel");
}

stock bool IsValidClient(int client)
{
if(client <= 0 ) return false;
if(client > MaxClients) return false;
if(!IsClientConnected(client)) return false;
return IsClientInGame(client);
}

Я так понимаю проблема в:
if(waterCheck(client) < WATER_LIMIT)
buttons &= ~IN_JUMP;


Прошу помощи с решением данной проблемы.
 

R1KO

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

QuadXeon

Участник
Сообщения
8
Реакции
1
@QuadXeon, они не будут конфликтовать только если будут в одном плагине
Хм, сейчас попробую.
Кстати использую твое ядро для VIP.
--- Добавлено позже ---
@QuadXeon, они не будут конфликтовать только если будут в одном плагине

Теперь он только авто-бхопит (и да, задача разрешить бхоп всем, а не только випами)

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
if (IsPlayerAlive(client) && VIP_IsClientVIP(client) && VIP_IsClientFeatureUse(client, VIP_DJUMP))
{
DoubleJump(client);
}
if (IsPlayerAlive(client) && buttons & IN_JUMP && !(GetEntityFlags(client) & FL_ONGROUND) && !(GetEntityMoveType(client) & MOVETYPE_LADDER) && GetEntProp(client, Prop_Data, "m_nWaterLevel") <= 1)
{
buttons &= ~IN_JUMP;
}
}
--- Добавлено позже ---
@QuadXeon, они не будут конфликтовать только если будут в одном плагине
f23808fba3.png
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #4
@QuadXeon, ты просто слепил всё в одно. а нужно это сделать разумно
 
Сверху Снизу