Хелп с размерами

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
526
Реакции
461
Предупреждения
16
Помог
9 раз(а)
EngFunc_SetSize или entity_set_size для установки размеров

И правильно. Перестаньте использовать var_min var_max для установки размеров. Правильный метод выше.

Будете страдать херней если ваш девиз "only reapi" fakemeta (ham и тоже) это хорошие инструменты. А вот fun, cstrike и даже engine можно смело выкинуть.
 
Сообщения
13
Реакции
0
Сначало приведи код в порядок, потом пиши

Код:
#include < amxmodx >
#include < amxmisc >
#include < engine >
#include < reapi >
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <fun>

new ientbox[22]
new Iid
new modelindex;

enum _:POINTS_INFO
{
    Float:Origin[3]
}
new g_ePoints[256][POINTS_INFO], szFile[256], g_iPointsNum
public plugin_precache( )
{
    modelindex = precache_model("models/bigbox.mdl")
}
public plugin_init()
{
    register_plugin("ya", "manitor", "23")
    new szMapName[32]; get_mapname(szMapName, charsmax(szMapName))
    format(szFile, charsmax(szFile), "addons/amxmodx/configs/points/%s.txt", szMapName)
    if(file_exists(szFile))
    {
      LoadSpawns()
    }
    set_task(10.0, "random_spawn", 13371232235588, _, _, "a", 2)
    register_clcmd("boxbigcreate", "createspawn")
}
public LoadSpawns()
{
    new szParseText[128],szParse1[16],szParse2[16],szParse3[16]
    new szLine, szNum
    for(szLine=0;read_file(szFile, szLine, szParseText, charsmax(szParseText), szNum);szLine++)
    {
        parse(szParseText, szParse1, charsmax(szParse1), szParse2, charsmax(szParse2), szParse3, charsmax(szParse3))
        new Float:fOrigin[3]
        fOrigin[0] = float(str_to_num(szParse1)),fOrigin[1] = float(str_to_num(szParse2)),fOrigin[2] = float(str_to_num(szParse3))
        g_iPointsNum++
        g_ePoints[g_iPointsNum][Origin] = fOrigin
    }
}

public createspawn(id) {
    new Float:fOrigin[3], szString[128]
    new iOrigin[3]; get_user_origin(id, iOrigin, 3)
    fOrigin[0] = float(iOrigin[0])
    fOrigin[1] = float(iOrigin[1])
    fOrigin[2] = float(iOrigin[2])
   
    new ientboxtest = create_entity("func_breakable")
    entity_set_model(ientboxtest, "models/bigbox.mdl")
    set_entvar(ientboxtest, var_model, "models/bigbox.mdl")
    set_entvar(ientboxtest, var_modelindex, modelindex)
    set_entvar(ientboxtest, var_origin, fOrigin)
    set_entvar(ientboxtest, var_solid, SOLID_BBOX)
    set_entvar(ientboxtest, var_mins, {-10.0, -10.0, -10.0})
    set_entvar(ientboxtest, var_maxs, {10.0, 10.0, 10.0})
    set_entvar(ientboxtest, var_rendermode, kRenderNormal)
    set_entvar(ientboxtest, var_renderamt, 255)
    format(szString, charsmax(szString), "%f %f %f", fOrigin[0], fOrigin[1], fOrigin[2])
    write_file(szFile, szString, -1)
}

public random_spawn()
{
    new IRSpawn = random_num(1, g_iPointsNum)
   
    ientbox[Iid++] = create_entity("func_button")
   
    set_entvar(ientbox[Iid], var_model, "models/bigbox.mdl")
    set_entvar(ientbox[Iid], var_modelindex, modelindex)
    set_entvar(ientbox[Iid], var_origin, g_ePoints[IRSpawn])
    set_entvar(ientbox[Iid], var_solid, SOLID_BBOX)
    set_entvar(ientbox[Iid], var_mins, {-10.0, -10.0, -10.0})
    set_entvar(ientbox[Iid], var_maxs, {10.0, 10.0, 10.0})
    set_entvar(ientbox[Iid], var_rendermode, kRenderNormal)
    set_entvar(ientbox[Iid], var_renderamt, 255)
   
    RegisterHamFromEntity(Ham_Use, ientbox[Iid], "BTounch", true);

}
public BTounch(this, idcaller)
{
    if(is_entity(this))
        remove_entity(this)
   
    new randomammo = random_num(1,2)
    new randomgun = random_num(1, 16)
    new randomammob = random_num(5, 40)

    set_hudmessage(255, 30, 90, 1.0, -1.0, 0, 6.0, 3.0)
   
    if(randomgun <= 4)
    {
        show_hudmessage(idcaller, "Ящик оказался пустым :(");
        return 0;
    }

    switch(randomgun)
    {
        case 5:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался USP");
                    rg_give_item(idcaller, "weapon_usp", GT_DROP_AND_REPLACE)
                   
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался USP с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_usp", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                   
                }
            }
        }
        case 6:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Deagle");
                    rg_give_item(idcaller, "weapon_deagle", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Deagle с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_deagle", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
        case 7:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался ЮМП с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_ump45", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказались Елитры");
                    rg_give_item(idcaller, "weapon_elite", GT_DROP_AND_REPLACE)
                }
            }
        }
        case 8:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался ЮМП");
                    rg_give_item(idcaller, "weapon_ump45", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался ФайфСевен с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_fiveseven", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
        case 9:
        {
            show_hudmessage(idcaller, "В ящике оказался ФайфСевен");
            rg_give_item(idcaller, "weapon_fiveseven", GT_DROP_AND_REPLACE)

        }
        case 10:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок");
                    rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
        case 11:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок");
                    rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался ТМП с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_tmp", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
   
        case 12:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Фамас");
                    rg_give_item(idcaller, "weapon_famas", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Фамас с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_famas", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
   
        case 13:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался нож");
                    rg_give_item(idcaller, "weapon_knife", GT_APPEND)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5 с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_mp5n", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
   
        case 14:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5");
                    rg_give_item(idcaller, "weapon_mp5n", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5 с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_mp5n", GT_DROP_AND_REPLACE)
                    rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                    rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                }
            }
        }
   
        case 15,16:
        {
            show_hudmessage(idcaller, "В ящике оказалась хилка(+35 HP)")
            new hp = get_user_health(idcaller)
            set_user_health(idcaller, hp + 35)
        }
    }
    return 1;
}
Спасибо за порядочный код, но а чо делать то?
 
Сообщения
658
Реакции
230
Помог
11 раз(а)
Я не понимаю пж скажите что не так :sad:
ты хоть пытался?
1709739545062.png


Код:
#include < amxmodx >
#include < engine >
#include < reapi >
#include < hamsandwich >

new ientbox[128]
new Iid
new modelindex;

enum _:POINTS_INFO
{
    Float:Origin[3]
}
new Float:g_ePoints[256][POINTS_INFO], szFile[256], g_iPointsNum
public plugin_precache( )
{
    modelindex = precache_model("models/bigbox.mdl")
}
public plugin_init()
{
    register_plugin("ya", "manitor", "23")
    new szMapName[32]; get_mapname(szMapName, charsmax(szMapName))
    format(szFile, charsmax(szFile), "addons/amxmodx/configs/points/%s.txt", szMapName)
    if(file_exists(szFile))
    {
      LoadSpawns()
    }
    
    register_clcmd("boxbigcreate", "createspawn")
    
    
    RegisterHam(Ham_Use, "func_button", "hamUse");
}
public LoadSpawns()
{
    new szParseText[128],szParse1[16],szParse2[16],szParse3[16]
    new szLine, szNum
    for(szLine=0;read_file(szFile, szLine, szParseText, charsmax(szParseText), szNum);szLine++)
    {
        parse(szParseText, szParse1, charsmax(szParse1), szParse2, charsmax(szParse2), szParse3, charsmax(szParse3))
        new Float:fOrigin[3]
        fOrigin[0] = float(str_to_num(szParse1)),
        fOrigin[1] = float(str_to_num(szParse2)),
        fOrigin[2] = float(str_to_num(szParse3))
        g_ePoints[g_iPointsNum][Origin] = fOrigin
        g_iPointsNum++
    }
    
    set_task(2.0, "random_spawn", 13371232235588, _, _, "a", g_iPointsNum)
}

public createspawn(id) {
    new szString[128]
    new iOrigin[3];
    get_entvar(id, var_origin,iOrigin);

    format(szString, charsmax(szString), "%.2f %.2f %.2f", iOrigin[0], iOrigin[1], iOrigin[2])
    write_file(szFile, szString, -1)
    
    
    client_print_color(id, 0, "^x04* ^x01Ящик создан, появиться при смене карт");
}

public random_spawn()
{
    new IRSpawn = random_num(1, g_iPointsNum)

    
    ientbox[Iid] = rg_create_entity("func_button")
    
    set_entvar(ientbox[Iid], var_classname, "bigbox")
    set_entvar(ientbox[Iid], var_model, "models/bigbox.mdl")
    set_entvar( ientbox[Iid], var_mins, {-10.0, -10.0, -10.0})
    set_entvar( ientbox[Iid], var_maxs, {10.0, 10.0, 10.0})
    
    set_entvar(ientbox[Iid], var_modelindex, modelindex)
    
    set_entvar(ientbox[Iid], var_movetype,  MOVETYPE_PUSHSTEP);
    g_ePoints[IRSpawn][1] -= 50;
    set_entvar(ientbox[Iid], var_origin, g_ePoints[IRSpawn])
    set_entvar(ientbox[Iid], var_solid, SOLID_BBOX)

    set_entvar(ientbox[Iid], var_rendermode, kRenderNormal)
    set_entvar(ientbox[Iid], var_renderamt, 255)
    
    drop_to_floor(ientbox[Iid])
    
    ientbox[Iid]++
}
public hamUse(ent, idcaller)
{
    if(!is_entity_box_breakable(ent))
        return 0;
    
    
    remove_entity(ent)
    
    new randomammo = random_num(1,2)
    new randomgun = random_num(1, 16)
    new randomammob = random_num(5, 40)

    set_hudmessage(255, 30, 90, 1.0, -1.0, 0, 6.0, 3.0)
    
    if(randomgun <= 4)
    {
        show_hudmessage(idcaller, "Ящик оказался пустым :(");
        return 0;
    }

    switch(randomgun)
    {
        case 5:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался USP");
                    rg_give_item(idcaller, "weapon_usp", GT_DROP_AND_REPLACE)
                    
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался USP с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_usp", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                    
                }
            }
        }
        case 6:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Deagle");
                    rg_give_item(idcaller, "weapon_deagle", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Deagle с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_deagle", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
        case 7:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался ЮМП с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_ump45", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказались Елитры");
                    rg_give_item(idcaller, "weapon_elite", GT_DROP_AND_REPLACE)
                }
            }
        }
        case 8:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался ЮМП");
                    rg_give_item(idcaller, "weapon_ump45", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался ФайфСевен с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_fiveseven", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
        case 9:
        {
            show_hudmessage(idcaller, "В ящике оказался ФайфСевен");
            rg_give_item(idcaller, "weapon_fiveseven", GT_DROP_AND_REPLACE)

        }
        case 10:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок");
                    rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
        case 11:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок");
                    rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался ТМП с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_tmp", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
    
        case 12:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Фамас");
                    rg_give_item(idcaller, "weapon_famas", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Фамас с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_famas", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
    
        case 13:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался нож");
                    rg_give_item(idcaller, "weapon_knife", GT_APPEND)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5 с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_mp5navy", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
    
        case 14:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5");
                    rg_give_item(idcaller, "weapon_mp5navy", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5 с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_mp5navy", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
    
        case 15,16:
        {
            show_hudmessage(idcaller, "В ящике оказалась хилка(+35 HP)")

            set_entvar(idcaller, var_health, get_entvar(idcaller, var_health) + 35.0);
        }
    }
    return 1;
}


public is_entity_box_breakable(ent)
{
    if(is_entity(ent)) {
        static classname[32]
        get_entvar(ent, var_classname, classname, 31)
        if(equal(classname, "bigbox"))
            return true
    }
    return false
}
 
Сообщения
13
Реакции
0
ты хоть пытался?
Посмотреть вложение 41089


Код:
#include < amxmodx >
#include < engine >
#include < reapi >
#include < hamsandwich >

new ientbox[128]
new Iid
new modelindex;

enum _:POINTS_INFO
{
    Float:Origin[3]
}
new Float:g_ePoints[256][POINTS_INFO], szFile[256], g_iPointsNum
public plugin_precache( )
{
    modelindex = precache_model("models/bigbox.mdl")
}
public plugin_init()
{
    register_plugin("ya", "manitor", "23")
    new szMapName[32]; get_mapname(szMapName, charsmax(szMapName))
    format(szFile, charsmax(szFile), "addons/amxmodx/configs/points/%s.txt", szMapName)
    if(file_exists(szFile))
    {
      LoadSpawns()
    }
   
    register_clcmd("boxbigcreate", "createspawn")
   
   
    RegisterHam(Ham_Use, "func_button", "hamUse");
}
public LoadSpawns()
{
    new szParseText[128],szParse1[16],szParse2[16],szParse3[16]
    new szLine, szNum
    for(szLine=0;read_file(szFile, szLine, szParseText, charsmax(szParseText), szNum);szLine++)
    {
        parse(szParseText, szParse1, charsmax(szParse1), szParse2, charsmax(szParse2), szParse3, charsmax(szParse3))
        new Float:fOrigin[3]
        fOrigin[0] = float(str_to_num(szParse1)),
        fOrigin[1] = float(str_to_num(szParse2)),
        fOrigin[2] = float(str_to_num(szParse3))
        g_ePoints[g_iPointsNum][Origin] = fOrigin
        g_iPointsNum++
    }
   
    set_task(2.0, "random_spawn", 13371232235588, _, _, "a", g_iPointsNum)
}

public createspawn(id) {
    new szString[128]
    new iOrigin[3];
    get_entvar(id, var_origin,iOrigin);

    format(szString, charsmax(szString), "%.2f %.2f %.2f", iOrigin[0], iOrigin[1], iOrigin[2])
    write_file(szFile, szString, -1)
   
   
    client_print_color(id, 0, "^x04* ^x01Ящик создан, появиться при смене карт");
}

public random_spawn()
{
    new IRSpawn = random_num(1, g_iPointsNum)

   
    ientbox[Iid] = rg_create_entity("func_button")
   
    set_entvar(ientbox[Iid], var_classname, "bigbox")
    set_entvar(ientbox[Iid], var_model, "models/bigbox.mdl")
    set_entvar( ientbox[Iid], var_mins, {-10.0, -10.0, -10.0})
    set_entvar( ientbox[Iid], var_maxs, {10.0, 10.0, 10.0})
   
    set_entvar(ientbox[Iid], var_modelindex, modelindex)
   
    set_entvar(ientbox[Iid], var_movetype,  MOVETYPE_PUSHSTEP);
    g_ePoints[IRSpawn][1] -= 50;
    set_entvar(ientbox[Iid], var_origin, g_ePoints[IRSpawn])
    set_entvar(ientbox[Iid], var_solid, SOLID_BBOX)

    set_entvar(ientbox[Iid], var_rendermode, kRenderNormal)
    set_entvar(ientbox[Iid], var_renderamt, 255)
   
    drop_to_floor(ientbox[Iid])
   
    ientbox[Iid]++
}
public hamUse(ent, idcaller)
{
    if(!is_entity_box_breakable(ent))
        return 0;
   
   
    remove_entity(ent)
   
    new randomammo = random_num(1,2)
    new randomgun = random_num(1, 16)
    new randomammob = random_num(5, 40)

    set_hudmessage(255, 30, 90, 1.0, -1.0, 0, 6.0, 3.0)
   
    if(randomgun <= 4)
    {
        show_hudmessage(idcaller, "Ящик оказался пустым :(");
        return 0;
    }

    switch(randomgun)
    {
        case 5:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался USP");
                    rg_give_item(idcaller, "weapon_usp", GT_DROP_AND_REPLACE)
                   
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался USP с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_usp", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                   
                }
            }
        }
        case 6:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Deagle");
                    rg_give_item(idcaller, "weapon_deagle", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Deagle с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_deagle", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
        case 7:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался ЮМП с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_ump45", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказались Елитры");
                    rg_give_item(idcaller, "weapon_elite", GT_DROP_AND_REPLACE)
                }
            }
        }
        case 8:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался ЮМП");
                    rg_give_item(idcaller, "weapon_ump45", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался ФайфСевен с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_fiveseven", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
        case 9:
        {
            show_hudmessage(idcaller, "В ящике оказался ФайфСевен");
            rg_give_item(idcaller, "weapon_fiveseven", GT_DROP_AND_REPLACE)

        }
        case 10:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок");
                    rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
        case 11:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Глок");
                    rg_give_item(idcaller, "weapon_glock", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался ТМП с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_tmp", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
   
        case 12:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался Фамас");
                    rg_give_item(idcaller, "weapon_famas", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался Фамас с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_famas", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
   
        case 13:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался нож");
                    rg_give_item(idcaller, "weapon_knife", GT_APPEND)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5 с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_mp5navy", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
   
        case 14:
        {
            switch(randomammo)
            {
                case 1:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5");
                    rg_give_item(idcaller, "weapon_mp5navy", GT_DROP_AND_REPLACE)
                }
                case 2:
                {
                    show_hudmessage(idcaller, "В ящике оказался МП5 с патронами");
                    new iItem = rg_give_item(idcaller, "weapon_mp5navy", GT_DROP_AND_REPLACE)
                    if(iItem > 0)
                    {
                        rg_set_iteminfo(iItem, ItemInfo_iMaxAmmo1, randomammob);
                        rg_set_user_bpammo(idcaller, get_member(iItem, m_iId), randomammob);
                    }
                }
            }
        }
   
        case 15,16:
        {
            show_hudmessage(idcaller, "В ящике оказалась хилка(+35 HP)")

            set_entvar(idcaller, var_health, get_entvar(idcaller, var_health) + 35.0);
        }
    }
    return 1;
}


public is_entity_box_breakable(ent)
{
    if(is_entity(ent)) {
        static classname[32]
        get_entvar(ent, var_classname, classname, 31)
        if(equal(classname, "bigbox"))
            return true
    }
    return false
}
Спасибо большое!!
Да, я пытался пофиксить, но то как ты пофиксил мне бы в голову не пришло
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу