Как выдать CT USP-S по-умолчанию?

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Сабж в названии темы.
Пробовал в конфиге гейммода выставить
mp_ct_default_secondary weapon_usp_silencer
Как итог - отсутствие пистолета. В инвентаре выбран P2000, нужно чтобы выдавало Usp-s
П.С через эту переменную спокойно выдается Fiveseven, cz75a, проблема только с USP.
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
Сабж в названии темы.
Пробовал в конфиге гейммода выставить
mp_ct_default_secondary weapon_usp_silencer
Как итог - отсутствие пистолета. В инвентаре выбран P2000, нужно чтобы выдавало Usp-s
П.С через эту переменную спокойно выдается Fiveseven, cz75a, проблема только с USP.
Попробуй:
PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools_functions>
#include <sdktools_entinput>

public void OnClientPutInServer(int iClient)
{
    SDKHook(iClient, SDKHook_WeaponCanUse, OnWeaponCanUse);
}

public Action OnWeaponCanUse(int iClient, int iWeapon)
{
    char sItem[32];
    GetEdictClassname(iWeapon, sItem, sizeof(sItem));
    if(StrEqual("p2000", sItem[7]))
    {
        RemovePlayerItem(iClient, iWeapon);
        AcceptEntityInput(iWeapon, "Kill");
        GivePlayerItem(iClient, "weapon_usp_silencer");
    }
}
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
@Someone, не, с этим вообще сервер падает и в логи 300 кб ошибок:)
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
@Someone, не, с этим вообще сервер падает и в логи 300 кб ошибок:)
Какие ошибки ?

А если так ?
PHP:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools_functions>
#include <sdktools_entinput>

public void OnClientPutInServer(int iClient)
{
    SDKHook(iClient, SDKHook_WeaponCanUse, OnWeaponCanUse);
}

public Action OnWeaponCanUse(int iClient, int iWeapon)
{
    char sItem[32];
    GetEdictClassname(iWeapon, sItem, sizeof(sItem));
    if(StrEqual("hkp2000", sItem[7]) && IsValidEdict(iWeapon))
    {
        RemovePlayerItem(iClient, iWeapon);
        AcceptEntityInput(iWeapon, "Kill");
        GivePlayerItem(iClient, "weapon_usp_silencer");
    }
}
 

mrdiega

Участник
Сообщения
328
Реакции
47
up.
Сейчас актуально, т.к инвентарь в ксго больше не работает

А если так ?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools_functions>
#include <sdktools_entinput>

public void OnClientPutInServer(int iClient)
{
    SDKHook(iClient, SDKHook_WeaponCanUse, OnWeaponCanUse);
}

public Action OnWeaponCanUse(int iClient, int iWeapon)
{
    char sItem[32];
    GetEdictClassname(iWeapon, sItem, sizeof(sItem));
    if(StrEqual("hkp2000", sItem[7]) && IsValidEdict(iWeapon))
    {
        RemovePlayerItem(iClient, iWeapon);
        AcceptEntityInput(iWeapon, "Kill");
        GivePlayerItem(iClient, "weapon_usp_silencer");
    }
}
Этот способ меняют на юсп, но крашит сервер.
Может кто рабочую версию написать? Возможно платно
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,981
Этот способ меняют на юсп, но крашит сервер.
А если так?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools_functions>
#include <sdktools_entinput>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_WeaponCanUse, OnWeaponCanUse);
}

public Action OnWeaponCanUse(int client, int weapon)
{
    static char cls[16];
    GetEntityClassname(weapon, cls, sizeof(cls));
    if(strcmp("hkp2000", cls[7]))
        return Plugin_Continue;

    RemovePlayerItem(client, weapon);
#if SOURCEMOD_V_MAJOR == 1 && SOURCEMOD_V_MINOR < 10
    AcceptEntityInput(weapon, "Kill");
#else
    RemoveEntity(weapon);
#endif
    GivePlayerItem(client, "weapon_usp_silencer");

    return Plugin_Handled;
}
 

Kewn

Участник
Сообщения
321
Реакции
61
А если так?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools_functions>
#include <sdktools_entinput>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_WeaponCanUse, OnWeaponCanUse);
}

public Action OnWeaponCanUse(int client, int weapon)
{
    static char cls[16];
    GetEntityClassname(weapon, cls, sizeof(cls));
    if(strcmp("hkp2000", cls[7]))
        return Plugin_Continue;

    RemovePlayerItem(client, weapon);
#if SOURCEMOD_V_MAJOR == 1 && SOURCEMOD_V_MINOR < 10
    AcceptEntityInput(weapon, "Kill");
#else
    RemoveEntity(weapon);
#endif
    GivePlayerItem(client, "weapon_usp_silencer");

    return Plugin_Handled;
}
А выбросить p2000 и выдать usp не вариант? Если честно у меня таких проблем не было и все работало через команду.
 

mrdiega

Участник
Сообщения
328
Реакции
47
А если так?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdkhooks>
#include <sdktools_functions>
#include <sdktools_entinput>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_WeaponCanUse, OnWeaponCanUse);
}

public Action OnWeaponCanUse(int client, int weapon)
{
    static char cls[16];
    GetEntityClassname(weapon, cls, sizeof(cls));
    if(strcmp("hkp2000", cls[7]))
        return Plugin_Continue;

    RemovePlayerItem(client, weapon);
#if SOURCEMOD_V_MAJOR == 1 && SOURCEMOD_V_MINOR < 10
    AcceptEntityInput(weapon, "Kill");
#else
    RemoveEntity(weapon);
#endif
    GivePlayerItem(client, "weapon_usp_silencer");

    return Plugin_Handled;
}
Пролагивает сервер, когда подбираешь юсп, и крашит при покупке других пистолетов
Показал на видео для наглядности: usp.mp4
C-подобный:
ED_Alloc: no free edicts
ED_Alloc: no free edicts
Segmentation fault (core dumped)
BFD: warning: /steamcmd/server/core is truncated: expected core file size >= 958464000, found: 1093632

warning: Error reading shared library list entry at 0x74727473

warning: Error reading shared library list entry at 0x6975622e
Failed to read a valid object file image from memory.
warning: Error reading shared library list entry at 0x74727473
warning: Error reading shared library list entry at 0x6975622e
debug.cmds:5: Error in sourced command file:
No function contains program counter for selected frame.

Дам наводку - это в стандартных конфигах меняется. Без плагинов даже.
mp_ct_default_secondary "weapon_usp_silencer" не работает
 

696DEATH696

Участник
Сообщения
42
Реакции
1
Так в итоге как поменять p2000 на usp?Чтоб у всех так было.
 

696DEATH696

Участник
Сообщения
42
Реакции
1
Чел спасибо что везде помогаешь,реально сработало,даже лучше(выдаёт usp всегда,если чел захотел p2000 заходит в shop и берёт p2000)
заходишь в Конфиги, далее gamemode_casual_server.cfg
и mp_ct_default_secondary weapon_usp_silencer

Спасибо что везде мне помогаешь)) лав
Сообщения автоматически склеены:

заходишь в Конфиги, далее gamemode_casual_server.cfg
и mp_ct_default_secondary weapon_usp_silencer
с m4a1 как сделать чтоб вместо неё была m4a1-s
 

XDSTYLE

Участник
Сообщения
402
Реакции
279
Чел спасибо что везде помогаешь,реально сработало,даже лучше(выдаёт usp всегда,если чел захотел p2000 заходит в shop и берёт p2000)


Спасибо что везде мне помогаешь)) лав
Сообщения автоматически склеены:


с m4a1 как сделать чтоб вместо неё была m4a1-s
плагином можно, будут покупать только m4a1-s
 

Похожие темы

Сверху Снизу