Помощь по настройке сервера нужна!

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
1.Как сделать чтоб у всех кто заходил на сервер и спавнился было по 1 хп
2.Как убрать отдачу на оружиях на сервере
3.Как убрать гравитацию и добавить скорость на сервере
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
PHP:
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)

public void OnMapStart()
{
    ServerCommand("sv_gravity %s", GRAVITY);
}

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

// Коты рулят

UPD: зря убрал проверку в PreThink на живучесть... Вернул. Не подумал...
 

Вложения

  • meow.sp
    1.3 КБ · Просмотры: 3
  • meow.smx
    5 КБ · Просмотры: 0
Последнее редактирование модератором:

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
PHP:
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)

public void OnMapStart()
{
    ServerCommand("sv_gravity %s", GRAVITY);
}

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
    }
}

public void PreThink(int iClient)
{
    if(iClient)
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send,"m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

// Коты рулят

Cпасибо огромное ,но можешь еще 1 тему сделать ? Еще нужно просто чтобы спавнились с оружием ( новой драбаш ) ( нож тоже убрать надо )
и не могли не покупать не брать нечего делать с другим оружием кроме новы.
--- Добавлено позже ---
PHP:
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)

public void OnMapStart()
{
    ServerCommand("sv_gravity %s", GRAVITY);
}

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

// Коты рулят

И еще гравитацию ставить 400 ,то гравитация такая же из за скорости.
--- Добавлено позже ---
PHP:
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)

public void OnMapStart()
{
    ServerCommand("sv_gravity %s", GRAVITY);
}

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

// Коты рулят

И еще гравитацию ставить 400 ,то гравитация такая же из за скорости.
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "weapon_nova" // Выдаваемое оружие

public void OnMapStart()
{
    ServerCommand("sv_gravity %s", GRAVITY);
}

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
       
        DeleteWeapon(iClient);
        GivePlayerItem(iClient, WEAPON);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot) // Все что находится в 5 слоте тоже все удалит(бомбу и т.д.)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят
 

Вложения

  • meow.sp
    1.9 КБ · Просмотры: 2
  • meow.smx
    5.4 КБ · Просмотры: 2

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "weapon_nova" // Выдаваемое оружие

public void OnMapStart()
{
    ServerCommand("sv_gravity %s", GRAVITY);
}

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
      
        DeleteWeapon(iClient);
        GivePlayerItem(iClient, WEAPON);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot) // Все что находится в 5 слоте тоже все удалит(бомбу и т.д.)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят

Реально не удобно ,что я тебя тревожу так )Но у нас сервер на основе Боя насмерть и выдаётся постоянно оружие. А нова - нет
Гравитация все равно не меняется.
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Реально не удобно ,что я тебя тревожу так )Но у нас сервер на основе Боя насмерть и выдаётся постоянно оружие. А нова - нет
Гравитация все равно не меняется.
Перепутал с гравой...

PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "nova" // Выдаваемое оружие

public void OnMapStart() { ServerCommand("sv_gravity %i", GRAVITY); } // Перепутал

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
       
        DeleteWeapon(iClient);
       
        char Buffer[32];
        FormatEx(Buffer, sizeof(Buffer), "weapon_%s", WEAPON);
        GivePlayerItem(iClient, Buffer);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

public Action CS_OnBuyCommand(int iClient, const char[] sWeapon)
{
    if(!(StrContains(sWeapon, WEAPON) != -1))
    {
        PrintToChat(iClient, "К сожалению можно купить только: '%s'!", WEAPON);
        return Plugin_Handled;
    }
   
    return Plugin_Continue;
}


void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят
 

Вложения

  • meow.sp
    2.1 КБ · Просмотры: 2
  • meow.smx
    5.7 КБ · Просмотры: 2

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
Перепутал с гравой...

PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 1000.0 // Стандарт: 800.0 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "nova" // Выдаваемое оружие

public void OnMapStart() { ServerCommand("sv_gravity %i", GRAVITY); } // Перепутал

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
      
        DeleteWeapon(iClient);
      
        char Buffer[32];
        FormatEx(Buffer, sizeof(Buffer), "weapon_%s", WEAPON);
        GivePlayerItem(iClient, Buffer);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

public Action CS_OnBuyCommand(int iClient, const char[] sWeapon)
{
    if(!(StrContains(sWeapon, WEAPON) != -1))
    {
        PrintToChat(iClient, "К сожалению можно купить только: '%s'!", WEAPON);
        return Plugin_Handled;
    }
  
    return Plugin_Continue;
}


void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят
Прыгать теперь вообще не могу ,когда ставлю граву на 400
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
967
Гхм. Разве sv_gravity не чит-переменная?
Попробуй FindConVar("sv_gravity").FloatValue = GRAVITY
(У меня просто уже других мыслей нет)
 

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
Гхм. Разве sv_gravity не чит-переменная?
Попробуй FindConVar("sv_gravity").FloatValue = GRAVITY
(У меня просто уже других мыслей нет)
upload_2017-10-13_0-10-16.png

--- Добавлено позже ---
Если так ,то не работает
--- Добавлено позже ---
Крч просто гравитация не работает ,нужно 400 поставить как то ,но вообще теперь прыгать не могу на сервере....
 
Последнее редактирование:

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
Gravity - переменная float, так почему ты вставляешь в строку его как int? Юзай %f
Сонный в говно, сплю на ходу, третий раз делаю ошибку в одном месте.
По моему можно и int использовать, погоду не поменяет.
upload_2017-10-13_0-49-32.png
PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 400 // Стандарт: 800 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "nova" // Выдаваемое оружие

public void OnMapStart() { ServerCommand("sv_gravity %i", GRAVITY); } // Перепутал

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
      
        DeleteWeapon(iClient);
      
        char Buffer[32];
        FormatEx(Buffer, sizeof(Buffer), "weapon_%s", WEAPON);
        GivePlayerItem(iClient, Buffer);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

public Action CS_OnBuyCommand(int iClient, const char[] sWeapon)
{
    if(!(StrContains(sWeapon, WEAPON) != -1))
    {
        PrintToChat(iClient, "К сожалению можно купить только: '%s'!", WEAPON);
        return Plugin_Handled;
    }
  
    return Plugin_Continue;
}


void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят
 

Вложения

  • meow.sp
    2.1 КБ · Просмотры: 5
  • meow.smx
    5.7 КБ · Просмотры: 3

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
Сонный в говно, сплю на ходу, третий раз делаю ошибку в одном месте.
По моему можно и int использовать, погоду не поменяет.
PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 400 // Стандарт: 800 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "nova" // Выдаваемое оружие

public void OnMapStart() { ServerCommand("sv_gravity %i", GRAVITY); } // Перепутал

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
    
        DeleteWeapon(iClient);
    
        char Buffer[32];
        FormatEx(Buffer, sizeof(Buffer), "weapon_%s", WEAPON);
        GivePlayerItem(iClient, Buffer);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

public Action CS_OnBuyCommand(int iClient, const char[] sWeapon)
{
    if(!(StrContains(sWeapon, WEAPON) != -1))
    {
        PrintToChat(iClient, "К сожалению можно купить только: '%s'!", WEAPON);
        return Plugin_Handled;
    }
 
    return Plugin_Continue;
}


void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят
D
Сонный в говно, сплю на ходу, третий раз делаю ошибку в одном месте.
По моему можно и int использовать, погоду не поменяет.
PHP:
#include <sdktools_functions>
#include <sdkhooks>

#define HP 1 // Стандарт: 100 (хп)
#define GRAVITY 400 // Стандарт: 800 (гравитация)
#define SPEED 2.0 // Стандарт: 1.0 (скорость)
#define WEAPON "nova" // Выдаваемое оружие

public void OnMapStart() { ServerCommand("sv_gravity %i", GRAVITY); } // Перепутал

public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient))
    {
        SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
        SDKHook(iClient, SDKHook_PreThink, PreThink);
    }
}

public void SpawnPost(int iClient)
{
    if(iClient)
    {
        SetEntityHealth(iClient, HP);
        SetEntPropFloat(iClient, Prop_Data, "m_flLaggedMovementValue", SPEED);
    
        DeleteWeapon(iClient);
    
        char Buffer[32];
        FormatEx(Buffer, sizeof(Buffer), "weapon_%s", WEAPON);
        GivePlayerItem(iClient, Buffer);
    }
}

public void PreThink(int iClient)
{
    if(iClient && IsPlayerAlive(iClient))
    {
        // http://hlmod.ru/resources/vip-no-recoil.612/
        int iActiveWeapon = GetEntPropEnt(iClient, Prop_Send, "m_hActiveWeapon");
        if (iActiveWeapon != -1 && IsValidEdict(iActiveWeapon))
        {
            SetEntPropFloat(iActiveWeapon, Prop_Send, "m_fAccuracyPenalty", -5000000.0);
            SetEntPropVector(iClient, Prop_Send, "m_viewPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngle", view_as<float>({0.0, 0.0, 0.0}));
            SetEntPropVector(iClient, Prop_Send, "m_aimPunchAngleVel", view_as<float>({0.0, 0.0, 0.0}));
        }
    }
}

public Action CS_OnBuyCommand(int iClient, const char[] sWeapon)
{
    if(!(StrContains(sWeapon, WEAPON) != -1))
    {
        PrintToChat(iClient, "К сожалению можно купить только: '%s'!", WEAPON);
        return Plugin_Handled;
    }
 
    return Plugin_Continue;
}


void DeleteWeapon(int iClient)
{
    char classname[32], weapon;
    for(int slot; slot <= 5; ++slot)
    {
        while ((weapon = GetPlayerWeaponSlot(iClient, slot)) != -1)
        {
            GetEdictClassname(weapon, classname, sizeof(classname));
            RemovePlayerItem(iClient, weapon);
            //AcceptEntityInput(weapon, "Kill");
        }
    }
}

// Коты рулят
Все равно не работает ,не могу прыгать и всё.
--- Добавлено позже ---
а когда падаешь даже с мал.высоты ,то умираешь .
--- Добавлено позже ---
А нет ,приношу извинения ,все робит! Спасибо огромное.
--- Добавлено позже ---
Если не сложно.
Помогите сделать сервер! VIP и его настройка
Нужен плагин! Помогите с созданием сервера.
 
Последнее редактирование:
Сверху Снизу