Помогите с плагином: Random Weapons WarmUP(neugomon)

Статус
В этой теме нельзя размещать новые ответы.

Нервный

Пользователь
Регистрация
15 Июн 2017
Сообщения
11
Симпатии
2
Пол
Мужской
Темы с данным плагином не нашел.
Насколько помню на старом форуме, были в теме этого плагина просьбы о доработке плагина.
В чем суть проблемы, нужно добавить запрет на покупку при данной разминке.
Не удобно когда попадается knife раунд, а игроки покупают диглы.
Помогите пожалуйста кто понимает в этом.


C++:
// *************************************************************************************//
// Плагин загружен с  www.neugomon.ru                                                   //
// Автор: Neygomon  [ https://neugomon.ru/members/1/ ]                                  //
// Официальная тема поддержки: https://neugomon.ru/threads/2418/                        //
// При копировании материала ссылка на сайт www.neugomon.ru ОБЯЗАТЕЛЬНА!                //
// *************************************************************************************//

#include <amxmodx>
#include <reapi>

#define WARMUPTIME     60    // Время вармапа
#define NUM_RR        1    // Кол-во рестартов
#define LATENCY        1.5    // Задержка между рестартами
#define DHUD_MESSAGE        // Показывать в dhud. Закомментируйте, чтобы был hud
#define GIVE_SHIELD    0    // 0 - выключить; 1 - Щит + deagle; 2 - щит + нож; 3 - щит и с диглом и ножом
#define STOP_PLUGS        // Отключать плагины на время вармапа
#define DM_MODE            // Бесконечный респавн на время вармапа
#define ThFiveHP_ON_KNIFE    // Выдает 35HP игрокам, если оружие - НОЖ

#if defined STOP_PLUGS
    new g_arPlugins[][] =    // Указывать название файлов, например test.amxx
    {
        "VipMenu1.0.amxx",
        "weapon_rest.amxx"
    }
#endif
new g_szWeapon[32];
new g_iWp;
new HookChain:fwd_NewRound,
#if defined DM_MODE
    HookChain:fwd_Killed,
#endif
    HookChain:fwd_Spawn;
#if defined DHUD_MESSAGE
    #if AMXX_VERSION_NUM < 183
        #include <dhudmessage>
    #endif
#else
    new g_iHudSync;
#endif

public plugin_init()
{
    register_plugin("Random Weapons WarmUP", "2.4.1", "neugomon");

    RegisterHookChain(RG_RoundEnd, "fwdRoundEnd", true);
    DisableHookChain((fwd_NewRound = RegisterHookChain(RG_CSGameRules_RestartRound, "fwdRoundStart", false)));
    DisableHookChain((fwd_Spawn    = RegisterHookChain(RG_CBasePlayer_Spawn, "fwdPlayerSpawnPost", true)));
#if defined DM_MODE  
    DisableHookChain((fwd_Killed   = RegisterHookChain(RG_CBasePlayer_Killed, "fwdPlayerKilledPost", true)));
   
    register_clcmd("joinclass", "clCmdJoinClass");
    register_clcmd("menuselect","clCmdJoinClass");
#endif
#if !defined DHUD_MESSAGE
    g_iHudSync    = CreateHudSyncObj();
#endif
    state warmupOff;
}

public fwdRoundEnd(WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
    if(event == ROUND_GAME_COMMENCE)
        EnableHookChain(fwd_NewRound);

public fwdRoundStart()
{
    state warmupOn;
    BuyZone_ToogleSolid(SOLID_NOT);
   
    DisableHookChain(fwd_NewRound);
    EnableHookChain(fwd_Spawn);
#if defined DM_MODE  
    EnableHookChain(fwd_Killed);
#endif  
#if defined STOP_PLUGS  
    PluginController(1);
#endif  
    switch((g_iWp = random(10)))
    {
        case 0: formatex(g_szWeapon, charsmax(g_szWeapon), "AWP");
        case 1: formatex(g_szWeapon, charsmax(g_szWeapon), "Deagle");
        case 2: formatex(g_szWeapon, charsmax(g_szWeapon), "Scout");
        case 3: formatex(g_szWeapon, charsmax(g_szWeapon), "MAC10");
        case 4: formatex(g_szWeapon, charsmax(g_szWeapon), "Knife");
        case 5: formatex(g_szWeapon, charsmax(g_szWeapon), "XM1014");
        case 6: formatex(g_szWeapon, charsmax(g_szWeapon), "UMP45");
        case 7: formatex(g_szWeapon, charsmax(g_szWeapon), "USP");
        case 8: formatex(g_szWeapon, charsmax(g_szWeapon), "M249");
        case 9: formatex(g_szWeapon, charsmax(g_szWeapon), "MP5N");
        case 10: formatex(g_szWeapon, charsmax(g_szWeapon), "M3");
    }
       
    set_task(1.0, "ShowTimer", .flags = "a", .repeat = WARMUPTIME);
}
#if defined DM_MODE
public clCmdJoinClass(id) <warmupOff>
    return;
   
public clCmdJoinClass(id) <warmupOn>
    if(get_member(id, m_iMenu) == Menu_ChooseAppearance)
        set_task(0.5, "SpawnPlayer", id);
#endif
public fwdPlayerSpawnPost(const id)
{
    if(!is_user_alive(id))
        return;
       
    rg_remove_all_items(id);
   
    switch(g_iWp)
    {
        case 0:
        {
            rg_give_item(id, "weapon_awp");
            rg_set_user_bpammo(id, WEAPON_AWP, 30);
        }
        case 1:
        {
            rg_give_item(id, "weapon_deagle");
            rg_set_user_bpammo(id, WEAPON_DEAGLE, 70);
        }
        case 2:
        {
            rg_give_item(id, "weapon_scout");
            rg_set_user_bpammo(id, WEAPON_SCOUT, 90);
        }
        case 3:
        {
            rg_give_item(id, "weapon_mac10");
            rg_set_user_bpammo(id, WEAPON_MAC10, 120);
        }
        case 4:
        {
            rg_give_item(id, "weapon_knife");
        #if defined ThFiveHP_ON_KNIFE
            set_entvar(id, var_health, 35.0);
        #endif  
        }  
        case 5:
        {
            rg_give_item(id, "weapon_xm1014");
            rg_set_user_bpammo(id, WEAPON_XM1014, 32);
        }
        case 6:
        {
            rg_give_item(id, "weapon_ump45");
            rg_set_user_bpammo(id, WEAPON_UMP45, 120);
        }
        case 7:
        {
            rg_give_item(id, "weapon_usp");
            rg_set_user_bpammo(id, WEAPON_USP, 90);
        }
        case 8:
        {
            rg_give_item(id, "weapon_m249");
            rg_set_user_bpammo(id, WEAPON_M249, 512);
        }
        case 9:
        {
            rg_give_item(id, "weapon_mp5navy");
            rg_set_user_bpammo(id, WEAPON_MP5N, 120);
        }
        case 10:
        {
            rg_give_item(id, "weapon_m3");
            rg_set_user_bpammo(id, WEAPON_M3, 32);
        }
    }  
}
#if defined DM_MODE
public fwdPlayerKilledPost(pVictim)
    set_task(1.0, "SpawnPlayer", pVictim);
#endif  
public ShowTimer()
{
    static timer = -1;
    if(timer == -1) timer = WARMUPTIME;
   
    switch(--timer)
    {
        case 0:
        {
            state warmupOff;
           
            BuyZone_ToogleSolid(SOLID_TRIGGER);
            DisableHookChain(fwd_Spawn);
        #if defined DM_MODE  
            DisableHookChain(fwd_Killed);
        #endif
        #if defined STOP_PLUGS  
            PluginController(0);
        #endif  
        #if NUM_RR > 1      
            set_task(LATENCY, "SV_Restart", .flags = "a", .repeat = NUM_RR);
        #else
            SV_Restart();
        #endif
            timer = -1;
        }
        default:
        {
        #if defined DHUD_MESSAGE
            set_dhudmessage(.red = 135, .green = 206, .blue = 235, .x = -1.0, .y = 0.08, .holdtime = 0.9);
            show_dhudmessage(0, "Разминка на %s!^nРестарт через %d сек", g_szWeapon, timer);
        #else  
            set_hudmessage(135, 206, 235, .x = -1.0, .y = 0.9, .holdtime = 0.9, .channel = -1);
            ShowSyncHudMsg(0, g_iHudSync, "Разминка на %s!^nРестарт через %d сек", g_szWeapon, timer);
        #endif  
        }
    }
}

public SV_Restart()
    set_cvar_num("sv_restart", 1);
#if defined DM_MODE  
public SpawnPlayer(id)
{
    if(!is_user_connected(id))
        return;
    if(is_user_alive(id))
        return;
       
    switch(get_member(id, m_iTeam))
    {
        case 1, 2: rg_round_respawn(id);
    }
}
#endif
stock PluginController(stop)
{
    for(new i; i < sizeof g_arPlugins; i++)
    {
        if(stop)pause  ("ac", g_arPlugins[i]);
        else    unpause("ac", g_arPlugins[i]);
    }  
}

stock BuyZone_ToogleSolid(const solid)
{
    new entityIndex = 0;
    while ((entityIndex = rg_find_ent_by_class(entityIndex, "func_buyzone")))
        set_entvar(entityIndex, var_solid, solid);
}
 
Последнее редактирование модератором:

Нервный

Пользователь
Регистрация
15 Июн 2017
Сообщения
11
Симпатии
2
Пол
Мужской
Проверил на de_dust2 Все работает отлично. Еще раз спасибо.
 

suspectcs

Пользователь
Регистрация
11 Июл 2017
Сообщения
138
Симпатии
7
Пол
Мужской
заменил и добавил другое оружие.. при компиляции ошибки(
кто может исправьте пожалуйста что там не так)
Спасибо!
 

Вложения

suspectcs

Пользователь
Регистрация
11 Июл 2017
Сообщения
138
Симпатии
7
Пол
Мужской
установил....не пишет что идет разминка,и на чем вообще не каких дхуд худ...и в калаше 30 патронов)
 

suspectcs

Пользователь
Регистрация
11 Июл 2017
Сообщения
138
Симпатии
7
Пол
Мужской
rg_set_user_bpammo(id, WEAPON_SCOUT, 300); я так понимаю где 300 это патроны?
 

sonyx

Заблокированные
Регистрация
8 Июн 2017
Сообщения
488
Симпатии
242
suspectcs, да. вы неверно указываете Weapon id
вот какие есть:

C++:
WEAPON_NONE,
    WEAPON_P228,
    WEAPON_GLOCK,
    WEAPON_SCOUT,
    WEAPON_HEGRENADE,
    WEAPON_XM1014,
    WEAPON_C4,
    WEAPON_MAC10,
    WEAPON_AUG,
    WEAPON_SMOKEGRENADE,
    WEAPON_ELITE,
    WEAPON_FIVESEVEN,
    WEAPON_UMP45,
    WEAPON_SG550,
    WEAPON_GALIL,
    WEAPON_FAMAS,
    WEAPON_USP,
    WEAPON_GLOCK18,
    WEAPON_AWP,
    WEAPON_MP5N,
    WEAPON_M249,
    WEAPON_M3,
    WEAPON_M4A1,
    WEAPON_TMP,
    WEAPON_G3SG1,
    WEAPON_FLASHBANG,
    WEAPON_DEAGLE,
    WEAPON_SG552,
    WEAPON_AK47,
    WEAPON_KNIFE,
    WEAPON_P90,
    WEAPON_SHIELDGUN
Constants · cssdk_const · Re Scripting API Reference
 

AJIeKc

Пользователь
Регистрация
11 Июн 2017
Сообщения
9
Симпатии
4
Пол
Мужской
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу