BaseBuilder No-Build Zones

Тук е мястото да представите плъгин(и), написани от вас!
Post Reply
User avatar
Boneknapper
Потребител
Потребител
Posts: 2
Joined: 30 Aug 2016, 22:03

BaseBuilder No-Build Zones

Post by Boneknapper »

##---------------- Описание ----------------##
Плъгина ви позволява да създавате зони, в които е забранено строенето. По-точно - когато предмет бъде пуснат в някоя от зоните, бива връщан в началната си позиция. Много полезно когато искате да забраните строенето в областта на зони като CT spawn-a, бариерата на зомби базата и други.
##---------------- Команди ----------------##
В чата:
/bbzones - за отваряне менюто на зоните;
/point - за задаване на начална и крайна точка при създаване на зона.
##---------------- Необходими модули ----------------##
amxmodx, amxmisc, engine, fakemeta, hamsandwich
##---------------- ВАЖНО ----------------##
За да работи плъгина трябва да се добави следното нещо в края на функцията за пускане на блок в basebuilder плъгина(преди реда, съдържащ return PLUGIN_*):

Code: Select all

if( callfunc_begin("origin_check", "bbzones.amxx") == 1 ) 
{
	callfunc_push_int(id)
	callfunc_push_int(ent)
        callfunc_end()
}
Това е направено с цел максимално оптимизиране на плъгина, за да не се извършва постоянно проверката дали блок е в зона.
##---------------- Авторски права на плъгина ----------------##
Оригиналната версия на плъгина е DRZones, чийто автор е OciXCrom. Следващата цялостната преработка на плъгина, за да върши сегашната работа, е направена от мен.

Можете да изтеглите плъгина от тук: [Линк]
Last edited by Boneknapper on 24 Aug 2018, 18:13, edited 1 time in total.
User avatar
iVoka
CS-bg.info Admin
CS-bg.info Admin
Posts: 1325
Joined: 29 Jun 2007, 12:21
Favorite version: CS: 1.6
Steam Community ID: ivobg92
Contact:

Re: BaseBuilder No-Build Zones

Post by iVoka »

Мисля, че си забравил да прикачиш самия плъгин.

EDIT: Готово.
User avatar
Dem12
Дизайнер
Дизайнер
Posts: 17
Joined: 26 Jan 2012, 18:21
Skype: slimcrezy
CS Nick: Dem12
Favorite version: CS: 1.6

Re: BaseBuilder No-Build Zones

Post by Dem12 »

Може ли по-подробно да обясниш на кой ред да сложа кода?

Code: Select all

if( callfunc_begin("origin_check", "bbzones.amxx") == 1 ) 
{
   callfunc_push_int(id)
   callfunc_push_int(ent)
        callfunc_end()
}
User avatar
iVoka
CS-bg.info Admin
CS-bg.info Admin
Posts: 1325
Joined: 29 Jun 2007, 12:21
Favorite version: CS: 1.6
Steam Community ID: ivobg92
Contact:

Re: BaseBuilder No-Build Zones

Post by iVoka »

преди реда, съдържащ return PLUGIN_*
User avatar
Dem12
Дизайнер
Дизайнер
Posts: 17
Joined: 26 Jan 2012, 18:21
Skype: slimcrezy
CS Nick: Dem12
Favorite version: CS: 1.6

Re: BaseBuilder No-Build Zones

Post by Dem12 »

iVoka wrote:преди реда, съдържащ return PLUGIN_*
Но аз в basebuilder65.sma не го намирам този ред!?
User avatar
ZeLeNiq_MeN
Потребител
Потребител
Posts: 1
Joined: 25 Feb 2011, 01:23
CS Nick: ZeLeNiq_MeN
Favorite version: CS: 1.6

Re: BaseBuilder No-Build Zones

Post by ZeLeNiq_MeN »

Ред 1857

Code: Select all

public cmdStopEnt(id)
{
    if (!g_iOwnedEnt[id])
        return PLUGIN_HANDLED;
        
    new ent = g_iOwnedEnt[id]
    
    ExecuteForward(g_fwDropEnt_Pre, g_fwDummyResult, id, ent);
    
    if (BlockLocker(ent))
    {
        switch(g_iLockBlocks)
        {
            case 0:
            {
                set_pev(ent,pev_rendermode,kRenderTransColor)
                set_pev(ent,pev_rendercolor, Float:{ LOCKED_COLOR })
                set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
            case 1:
            {
                set_pev(ent,pev_rendermode,kRenderTransColor)
                set_pev(ent,pev_rendercolor, g_fColor[g_iColor[id]])
                set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
        }
    }
    else
        set_pev(ent,pev_rendermode,kRenderNormal)    
    
    UnsetEntMover(ent);
    SetLastMover(ent,id);
    g_iOwnedEnt[id] = 0;
    UnmovingEnt(ent);
    
    client_cmd(id, "spk %s", GRAB_STOP);
    
    ExecuteForward(g_fwDropEnt_Post, g_fwDummyResult, id, ent);

    return PLUGIN_HANDLED;
}
Заменяш го с:

Code: Select all

public cmdStopEnt(id)
{
    if (!g_iOwnedEnt[id])
        return PLUGIN_HANDLED;
        
    new ent = g_iOwnedEnt[id]
    
    ExecuteForward(g_fwDropEnt_Pre, g_fwDummyResult, id, ent);
    
    if (BlockLocker(ent))
    {
        switch(g_iLockBlocks)
        {
            case 0:
            {
                set_pev(ent,pev_rendermode,kRenderTransColor)
                set_pev(ent,pev_rendercolor, Float:{ LOCKED_COLOR })
                set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
            case 1:
            {
                set_pev(ent,pev_rendermode,kRenderTransColor)
                set_pev(ent,pev_rendercolor, g_fColor[g_iColor[id]])
                set_pev(ent,pev_renderamt,Float:{ LOCKED_RENDERAMT })
            }
        }
    }
    else
        set_pev(ent,pev_rendermode,kRenderNormal)    
    
    UnsetEntMover(ent);
    SetLastMover(ent,id);
    g_iOwnedEnt[id] = 0;
    UnmovingEnt(ent);
    
    client_cmd(id, "spk %s", GRAB_STOP);
    
    ExecuteForward(g_fwDropEnt_Post, g_fwDummyResult, id, ent);
    
    if(callfunc_begin("origin_check", "bbzones.amxx") == 1){
        callfunc_push_int(id)
        callfunc_push_int(ent)
        callfunc_end()
    }
    return PLUGIN_HANDLED;
}
User avatar
Dem12
Дизайнер
Дизайнер
Posts: 17
Joined: 26 Jan 2012, 18:21
Skype: slimcrezy
CS Nick: Dem12
Favorite version: CS: 1.6

Re: BaseBuilder No-Build Zones

Post by Dem12 »

Благодаря.
Направих готови бариери на някой карти,
вместо да правите нови, добавяте ги в /amxmodx/data/BBZones
Attachments
amxmodx.rar
(2.35 KiB) Downloaded 148 times
Post Reply

Return to “Ваши плъгини”