Русское сообщество по скриптингу

Краш сервера с вылетом из игры.

Все, что касается защиты серверов от различного рода атак, эксплойтов, бэкдуров и т.д.
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Краш сервера с вылетом из игры.

Сообщение Boyka331 » 15 мар 2017, 19:11

Здравствуйте. Речь идет о JailBreak моде.
Используют эксплоит с вылетом игроков из игры на рабочий стол.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Там речь идет о плагине "Gang - банды", в описании под видео написано.
Убирать сам плагин не хочется, плагин от "opo4umapy"
Может кто просмотрит сам плагин и подскажет где в нём ошибка.
Код: Выделить всё
/* Plugin generated by AMXX-Studio */

#include < amxmodx >
#include < amxmisc >
#include < cstrike >
#include < fun >
#include < engine >
#include < fakemeta >
#include < hamsandwich >

native jb_set_user_money(idnum)
native jb_get_user_money(id)

native jb_give_crowbar(id)
native jbe_is_user_simon(id)
native jbe_is_user_fd(id)

#define PLUGIN         "[JB] Gang"
#define VERSION         "1.0"
#define AUTHOR         "Opo4uMapy"

#define VIP        ADMIN_BAN

new g_Gang
new g_GangName[64]
new 
g_CreatorName[32]
new 
g_Member[33]
new 
g_NumMember
new g_Money
new g_Skin

new g_MaxPlayerGang         =    4

new CostGravity            =     200
new CostGlock            =     1700
new CostHpAp            =     400
new CostCrowbar            =     400
new CostRendering        =     100
new CostGlock1            =     2000

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /gang""OpenMenu")
    
register_clcmd("GangName""CreateGang")
    
    
register_menu("GangMenu"1023"menu_handler1")
    
register_menu("ControlMenu"1023"menu_handler2")

    
set_task(5.0"CheckMember"555__"b")
}

public 
CheckMember()
{
    for(new 
1<= get_maxplayers(); i++)
    {
        if(!
is_user_connected(i))
            continue

        if(
g_Member[i] && get_user_team(i) == 2)
        {
            
g_Member[i] = false
        
}

        if((
g_Gang == i) && get_user_team(i) == 2)
        {
            
g_Gang 0
            g_Money 
0
            g_NumMember 
0
            g_Skin 
0
        
}
        if(!
g_Gang && g_Member[i])
        {
            
g_Member[i] = false
        
}
    }
}

public 
plugin_precache()
{
    
precache_model("models/player/3ek/3ek.mdl")
}

public 
plugin_natives() 

    
register_native("jb_user_member_gang""native_user_member_gang"1)
    
register_native("jb_gang_name""native_gang_name"1)
    
register_native("jb_gang""native_gang"1)
    
register_native("jb_gang_skin""native_gang_skin"1)
    
register_native("jb_set_money""native_jb_set_money"1)
    
register_native("jb_get_money""native_jb_get_money"1)
    
register_native("jb_gang_name""native_gang_name")
    
}
public 
native_gang()
{
    return 
g_Gang
}

public 
native_jb_set_money(amount)
    
g_Money amount

public native_jb_get_money()
    return 
g_Money

public native_gang_skin()
    return 
g_Skin

public bool:native_user_member_gang(id)
{
    if(
g_Member[id] || g_Gang == id)
        return 
true
    
return false
}

public 
native_gang_name(pluginparams)
{
    
set_array(2g_GangNameget_param(3))
    return 
1
}

public 
OpenMenu(id)
{
    if(!
is_user_connected(id) ||  cs_get_user_team(id) == CS_TEAM_CT)
        return 
PLUGIN_HANDLED

    
static menu[512], iLenszTextMember[256]
    
iLen 0

    format
(szTextMember255"%s"GetMemberGang())
    
    
iLen formatex(menu[iLen], charsmax(menu) - iLen"\yМеню банды^n^n")
    
    if(!
g_Gang && get_user_flags(id) & VIP && cs_get_user_team(id) != CS_TEAM_CT)
        
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r1. \wСоздать банду (\rАдмин\w)^n")
    else 
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r1. \dСоздать банду (\rАдмин\d)^n")
    
    if(
g_Gang == id || g_Member[id])
        
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r2. \wМеню банды^n^n")
    else 
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r2. \dМеню банды^n^n")
    
    if(
g_Gang)
        
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r0. \wВыход^n^nНазвание банды: \r%s^n\wСоздатель банды: \r%s^n\wВ банды: \r%s"g_GangNameg_CreatorNameszTextMember)
    else 
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r0. \wВыход")

    
show_menu(id1023menu, -1"GangMenu")
    
    return 
PLUGIN_HANDLED
}
    
public 
menu_handler1(idkey
{    
    switch(
key
    {
        case 
0:
        {
            if(!
g_Gang && cs_get_user_team(id) == CS_TEAM_T)
            {
                if(
get_user_flags(id) & VIP)
                {
                    
client_cmd(id"messagemode GangName")
                }
                else  
color_chat(id"!y[!gJB!y] Вы не Admin")
            }
            else 
color_chat(id"!y[!gJB!y] На сервере уже есть банда %s"g_GangName)
        }
        case 
1:
        {
            if(
g_Gang)
                
OpenMenu2(id)
            else 
color_chat(id"!y[!gJB!y] На сервере еще нету банды.")
        }
    }
    return 
PLUGIN_HANDLED
}

public 
OpenMenu2(id)
{
    if(!
is_user_connected(id))
        return

    static 
menu[512], iLenszTextMember[256]
    
iLen 0
    
    format
(szTextMember255"%s"GetMemberGang())
    
    
iLen formatex(menu[iLen], charsmax(menu) - iLen"\yМеню банды^n^n")
    
    if(
g_Gang == id && g_NumMember g_MaxPlayerGang)
        
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r1. \wДобавить игрока^n")
    else 
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r1. \dДобавить игрока^n")
    
    if(
g_Gang == id && g_NumMember 0)
        
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r2. \wВыгнать игрока^n")
    else 
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r2. \dВыгнать игрока^n")
    
    
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r3. \wПополнить общак^n")
    
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r4. \wУлучшение банды^n")

    if(
g_Gang == id)
        
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r5. \wОдежда банды^n^n")
    else 
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r5. \w\dОдежда банды^n^n")
    
    
iLen += formatex(menu[iLen], charsmax(menu) - iLen"\r0. \wВыход^n^nОбщак: \r%d^nНики банды: \d%s"g_MoneyszTextMember)

    
show_menu(id1023menu, -1"ControlMenu")
}

public 
menu_handler2(idkey
{
    switch(
key
    {
        case 
0:
        {
            if(
g_Gang == id)
            {
                if(
g_NumMember g_MaxPlayerGang)
                    
AddMember(id)
                else
                {
                    
color_chat(id"!y[!gJB!y] Вы уже набрали максимальное количество игроков в банду")
                    
OpenMenu2(id)
                }
            }
            else 
color_chat(id"!y[!gJB!y] Ты не создатель банды")
        }
        case 
1:
        {
            if(
get_user_flags(id) & VIP)
            {
                if(
g_Gang == id)
                {
                    if(
g_NumMember 0)
                    {
                        
RemoveMember(id)
                    }
                    else
                    {
                        
color_chat(id"!y[!gJB!y] В банде еще нет игроков")
                        
OpenMenu2(id)
                    }
                }
                else 
color_chat(id"!y[!gJB!y] Ты не создатель банды")
            }
            else 
color_chat(id"!y[!gJB!y] Вы не VIP")
        }
        case 
2:
        {
            if(
g_Member[id] || g_Gang == id)
                
AddMoney(id)
        }
        case 
3:
        {
            if(
g_Member[id] || g_Gang == id)
                
UpgradeGang(id)
        }
        case 
4:
        {
            if(
g_Gang == id)
                
ChangeSkin(id)
            else 
color_chat(id"!y[!gJB!y] Ты не создатель банды")
        }
    }
    return 
PLUGIN_HANDLED
}

public 
ChangeSkin(id)
{
    new 
menu menu_create("\yВыбири одежду для банды""menu_handler7")

    
menu_additem(menu"Белая""1")
    
menu_additem(menu"Картинки""2")
    
    
menu_setprop(menuMPROP_EXITNAME"Выход")
    
menu_display(idmenu0)

    return 
PLUGIN_HANDLED
}

public 
menu_handler7(idmenuitem
{
    if(
item == MENU_EXIT
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}

    new 
data[6], iName[64], accesscallback
    menu_item_getinfo
(menuitemaccessdata5iName63callback)

    new 
key str_to_num(data)

    new 
name[32]
    
get_user_name(idnamecharsmax(name))

    
set_user_info(id"model""3ek")

    switch(
key
    {
        case 
1:
        {
            
color_chat(0"!y[!gJB!y] Одежда банды !t%s !yизменена на !gбелую!"g_GangName)
            
set_pev(idpev_skin0)
            
g_Skin 0
        
}
        case 
2:
        {
            
color_chat(0"!y[!gJB!y] Одежда банды !t%s !yизменена на !gкартинки!"g_GangName)
            
set_pev(idpev_skin1)
            
g_Skin 1
        
}
    }
    return 
PLUGIN_HANDLED
}

GetMemberGang()
{
    static 
szNumber
     
new szText[512], szFormat[512]
     new 
szTextWanted[512]

      
szNumber 0
      szNumber 
strlenszText )
 
      for(new 
0<= get_maxplayers(); i++)
      {
           if(
g_Member[i])
           {
                new 
szName[32
                
get_user_name(iszNamecharsmaxszName ))

                
szNumber += copy(szText[szNumber], charsmaxszText ) - szNumber"^n")

                
formatex(szFormatcharsmaxszFormat ), "%s"szName)
                
szNumber += copy(szText[szNumber], charsmaxszText ) - szNumberszFormat)
           }
    }
    if(
g_NumMember 0)
    {
        
formatex(szTextWantedcharsmaxszTextWanted ), "%s"szText)
    }
    return 
szTextWanted
}

public 
UpgradeGang(id
{
    new 
menu menu_create("\yУлучшение банды""menu_handler6")

    if(
g_Money >= CostGravity)
        
menu_additem(menu"Всем грава \r(200$)""1")
    else 
menu_additem(menu"\dВсем грава (200$)""1")
    
    if(
g_Money >= CostGlock)
        
menu_additem(menu"Всем глок (10патр) \r(1700$)""2")
    else 
menu_additem(menu"\dВсем глок (10патр) (1700$)""2")
    
    if(
g_Money >= CostHpAp)
        
menu_additem(menu"Всем 200 хп 200 брони \r(400$)""3")
    else 
menu_additem(menu"\dВсем 200 хп 200 брони (400$)""3")
    
    if(
g_Money >= CostCrowbar)
        
menu_additem(menu"Всем ломик \r(400$)""4")
    else 
menu_additem(menu"\dВсем ломик (400$)""4")
    
    if(
g_Money >= CostRendering)
        
menu_additem(menu"Всем подцветка \r(100$)""5")
    else 
menu_additem(menu"\dВсем подцветка (100$)""5")

    if(
g_Money >= CostGlock1)
        
menu_additem(menu"Всем AK47 \r(2000$)""6")
    else 
menu_additem(menu"\dВсем AK47 (2000$)""6")

    
menu_setprop(menuMPROP_EXITNAME"Выход")

    
menu_display(idmenu0)

    return 
PLUGIN_HANDLED
}

public 
menu_handler6(idmenuitem
{
    if(
item == MENU_EXIT
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}

    new 
data[6], iName[64], accesscallback
    menu_item_getinfo
(menuitemaccessdata5iName63callback)

    new 
key str_to_num(data)
    
    new 
name[32]
    
get_user_name(idnamecharsmax(name))
         
    switch(
key
    {
        case 
1:
        {
            if(
g_Money CostGravity)
                return 
PLUGIN_HANDLED
            
for(new 1<= get_maxplayers(); i++)
            {
                if(!
is_user_alive(i))
                    continue

                if(
g_Member[i] || g_Gang == i)
                {
                    
set_user_gravity(i0.5)
                }
            }
            
g_Money -= CostGravity
        
}
        case 
2:
        {
            if(
g_Money CostGlock)
                return 
PLUGIN_HANDLED
            
for(new 1<= get_maxplayers(); i++)
            {
                if(!
is_user_alive(i))
                    continue

                if(
g_Member[i] || g_Gang == i)
                {
                    new 
iEnt give_item(i"weapon_glock18")
                    
                    if (
is_valid_ent(iEnt))
                        
cs_set_weapon_ammo(iEnt10)
                }
            }
            
g_Money -= CostGlock
        
}
        case 
3:
        {
            if(
g_Money CostHpAp)
                return 
PLUGIN_HANDLED

            
for(new 1<= get_maxplayers(); i++)
            {
                if(!
is_user_alive(i))
                    continue

                if(
g_Member[i] || g_Gang == i)
                {
                    
set_user_health(i200)
                    
set_user_armor(i200)
                }
            }
            
g_Money -= CostHpAp
        
}
        case 
4:
        {
            if(
g_Money CostCrowbar)
                return 
PLUGIN_HANDLED

            
for(new 1<= get_maxplayers(); i++)
            {
                if(!
is_user_alive(i))
                    continue

                if(
g_Member[i] || g_Gang == i)
                {
                    
jb_give_crowbar(i)
                }
            }
            
g_Money -= CostCrowbar
        
}
        case 
5:
        {
            if(
g_Money CostRendering)
                return 
PLUGIN_HANDLED

            
for(new 1<= get_maxplayers(); i++)
            {
                if(!
is_user_alive(i))
                    continue

                if(
g_Member[i] || g_Gang == i)
                {
                    
set_user_rendering(ikRenderFxGlowShell00255kRenderNormal15)
                }
            }
            
g_Money -= CostRendering
        
}
        case 
6:
        {
            if(
g_Money CostGlock1)
                return 
PLUGIN_HANDLED
            
for(new 1<= get_maxplayers(); i++)
            {
                if(!
is_user_alive(i))
                    continue

                if(
g_Member[i] || g_Gang == i)
                {
                    new 
iEnt give_item(i"weapon_ak47")
                    
                    if (
is_valid_ent(iEnt))
                        
cs_set_weapon_ammo(iEnt15)
                }
            }
            
g_Money -= CostGlock1
        
}
    }
    
color_chat(0"!y[!gJB!y] %s что-то купил в банду. Охрана, внимание!"name)
    return 
PLUGIN_HANDLED
}

public 
RemoveMember(id)
{
    new 
i_Menu menu_create("\yКого выгнать из банды?""menu_handler5")
    new 
s_Players[32], i_Numi_Player
    
new s_Name[32], s_Player[10]
    
    
get_players(s_Playersi_Num)
    
    for (new 
ii_Numi++)
    { 
        
i_Player s_Players[i]
    
        if(
id != i_Player && get_user_team(i_Player) == && g_Member[i_Player])
        {
            
get_user_name(i_Players_Namecharsmax(s_Name))
            
num_to_str(i_Players_Playercharsmax(s_Player))

            
menu_additem(i_Menus_Names_Player0)
        }
    }
    
menu_display(idi_Menu0)
    return 
PLUGIN_HANDLED
}

public 
menu_handler5(idi_Menuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(i_Menu)
        return 
PLUGIN_HANDLED
    
}

    new 
s_Data[6], s_Name[64], i_Accessi_Callback
    menu_item_getinfo
(i_Menuitemi_Accesss_Datacharsmax(s_Data), s_Namecharsmax(s_Name), i_Callback)

    new 
i_Player str_to_num(s_Data)

    new 
name[32]
    
get_user_name(i_Playernamecharsmax(name))

    if(
id != i_Player && get_user_team(i_Player) == && g_Member[i_Player])
    {
        
color_chat(0"!y[!gJB!y] Игрок!g %s !yвыгнал из банды !g%s !yигрока %s"g_CreatorNameg_GangNamename)
        
color_chat(i_Player"!y[!gJB!y] Вас выгнали из банды !g%s"g_GangName)
        
g_NumMember--
        
g_Member[i_Player] = false
        OpenMenu2
(id)
        
GetMemberGang()
    }

    
menu_destroy(i_Menu)
    return 
PLUGIN_HANDLED
}

public 
AddMember(id)
{
    new 
i_Menu menu_create("\yКого пригласить в банду?""menu_handler4")
    new 
s_Players[32], i_Numi_Player
    
new s_Name[32], s_Player[10]
    
    
get_players(s_Playersi_Num)
    
    for (new 
ii_Numi++)
    { 
        
i_Player s_Players[i]
    
        if(
id != i_Player && get_user_team(i_Player) == && !g_Member[i_Player] && g_NumMember g_MaxPlayerGang)
        {
            
get_user_name(i_Players_Namecharsmax(s_Name))
            
num_to_str(i_Players_Playercharsmax(s_Player))

            
menu_additem(i_Menus_Names_Player0)
        }
    }
    
menu_display(idi_Menu0)
    return 
PLUGIN_HANDLED
}

public 
menu_handler4(idi_Menuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(i_Menu)
        return 
PLUGIN_HANDLED
    
}

    new 
s_Data[6], s_Name[64], i_Accessi_Callback
    menu_item_getinfo
(i_Menuitemi_Accesss_Datacharsmax(s_Data), s_Namecharsmax(s_Name), i_Callback)

    new 
i_Player str_to_num(s_Data)

    new 
name[32]
    
get_user_name(i_Playernamecharsmax(name))

    if(
id != i_Player && get_user_team(i_Player) == && !g_Member[i_Player])
    {
        
VoteToGang(i_Player)
        
OpenMenu2(id)
        
color_chat(id"!y[!gJB!y] Вы отправили маляву зеку !t%s !yна вступление в банду"name)
        
color_chat(0"!y[!gJB!y] Игрок !t%s !yпригласил в банду !t%s !yигрока !t%s"g_CreatorNameg_GangNamename)
    }

    
menu_destroy(i_Menu)
    return 
PLUGIN_HANDLED
}

public 
VoteToGang(id
{
    new 
buffer[64]
    
    
formatex(buffercharsmax(buffer), "\yБратюнь, вступишь в банду \r%s \w?"g_GangName)
    new 
menu menu_create(buffer"menu_handler")

    
menu_additem(menu"Конечно""1")
    
menu_additem(menu"Не, банда тухляк""2")
    
    
menu_setprop(menuMPROP_EXITNAME"Выход")

    
menu_display(idmenu0)

    return 
PLUGIN_HANDLED
}

public 
menu_handler(idmenuitem
{
    if(
item == MENU_EXIT
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
         
    new 
data[6], iName[64], accesscallback
    menu_item_getinfo
(menuitemaccessdata5iName63callback)

    new 
key str_to_num(data)
    
    new 
name[32]
    
get_user_name(idnamecharsmax(name))
         
    switch(
key
    {
        case 
1:
        {
            if(
g_NumMember g_MaxPlayerGang)
            {
                
g_NumMember++
                
g_Member[id] = true
    
                set_user_info
(id"model""3ek")
                
set_pev(idpev_skin0)
                
g_Skin 0
                color_chat
(id"!y[!gJB!y] Добро пожаловать в банду: !t%s"g_GangName)
                
color_chat(0"!y[!gJB!y] Игрок %s принял предложение вступить в банду %s"nameg_GangName)
                
GetMemberGang()
            }
            else 
color_chat(0"!y[!gJB!y] Ты не успел войти в банду")
        }
        case 
2: return PLUGIN_HANDLED
    
}
    return 
PLUGIN_HANDLED
}

public 
AddMoney(id
{
    new 
menu menu_create("\yСколько вложить в общак ?""menu_handler3")

    if(
jb_get_user_money(id) >= 10)
        
menu_additem(menu"10$""1")
    else 
menu_additem(menu"\d10$""1")
    
    if(
jb_get_user_money(id) >= 100)
        
menu_additem(menu"100$""2")
    else 
menu_additem(menu"\d100$""2")
    
    if(
jb_get_user_money(id) >= 200)
        
menu_additem(menu"200$""3")
    else 
menu_additem(menu"\d200$""3")

    if(
jb_get_user_money(id) >= 500)
        
menu_additem(menu"500$""4")
    else 
menu_additem(menu"\d500$""4")
    
    if(
jb_get_user_money(id) >= 800)
        
menu_additem(menu"800$""5")
    else 
menu_additem(menu"\d800$""5")
    
    if(
jb_get_user_money(id) >= 1000)
        
menu_additem(menu"1000$""6")
    else 
menu_additem(menu"\d1000$""6")
    
    
menu_setprop(menuMPROP_EXITNAME"Выход")

    
menu_display(idmenu0)

    return 
PLUGIN_HANDLED
}

public 
menu_handler3(idmenuitem
{
    if(
item == MENU_EXIT
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
         
    new 
data[6], iName[64], accesscallback
    menu_item_getinfo
(menuitemaccessdata5iName63callback)

    new 
key str_to_num(data)
    
    new 
name[32]
    
get_user_name(idnamecharsmax(name))
         
    switch(
key
    {
        case 
1:
        {
            if(
jb_get_user_money(id) < 10)
            {
                
color_chat(id"!y[!gJB!y] У вас нету выбранной суммы")
                return 
PLUGIN_HANDLED
            
}
            
jb_set_user_money(idjb_get_user_money(id) - 10)
            
g_Money += 10
        
}
        case 
2:
        {
            if(
jb_get_user_money(id) < 100)
            {
                
color_chat(id"!y[!gJB!y] У вас нету выбранной суммы")
                return 
PLUGIN_HANDLED
            
}
            
jb_set_user_money(idjb_get_user_money(id) - 100)
            
g_Money += 100
        
}
        case 
3:
        {
            if(
jb_get_user_money(id) < 200)
            {
                
color_chat(id"!y[!gJB!y] У вас нету выбранной суммы")
                return 
PLUGIN_HANDLED
            
}
            
jb_set_user_money(idjb_get_user_money(id) - 200)
            
g_Money += 200
        
}
        case 
4:
        {
            if(
jb_get_user_money(id) < 500)
            {
                
color_chat(id"!y[!gJB!y] У вас нету выбранной суммы")
                return 
PLUGIN_HANDLED
            
}
            
jb_set_user_money(idjb_get_user_money(id) - 500)
            
g_Money += 500
        
}
        case 
5:
        {
            if(
jb_get_user_money(id) < 800)
            {
                
color_chat(id"!y[!gJB!y] У вас нету выбранной суммы")
                return 
PLUGIN_HANDLED
            
}
            
jb_set_user_money(idjb_get_user_money(id) - 800)
            
g_Money += 800
        
}
        case 
6:
        {
            if(
jb_get_user_money(id) < 1000)
            {
                
color_chat(id"!y[!gJB!y] У вас нету выбранной суммы")
                return 
PLUGIN_HANDLED
            
}
            
jb_set_user_money(idjb_get_user_money(id) - 1000)
            
g_Money += 1000
        
}
    }
    
OpenMenu2(id)
    return 
PLUGIN_HANDLED
}

public 
CreateGang(id)
{
    if(
g_Gang || cs_get_user_team(id) == CS_TEAM_CT)
        return
        
    new 
Name[64]
    
read_args(Namecharsmax(Name))
    
    
remove_quotes(Name)

    if(!
Name[0])
        return

    
formatex(g_GangNamecharsmax(g_GangName), "%s"Name)
    
g_Gang id
    get_user_name
(idg_CreatorNamecharsmax(g_CreatorName))
    
OpenMenu(id)
    
color_chat(0"!y[!gJB!y] Игрок!g %s !yсоздал банду:!g %s"g_CreatorNameg_GangName)
}

public 
client_disconnect(id)
{
    if(
g_Member[id])
    {
        if(
g_NumMember 0)
            
g_NumMember--

        
g_Member[id] = false
    
}

    if(
g_Gang == id)
    {
        for(new 
1<= get_maxplayers(); i++)
        {
            
g_Member[i] = false
        
}
        
color_chat(0"!y[!gJB!y] Игрок %s збежал с банды со всеми деньгами..."g_CreatorName)
        
g_Gang 0
        g_Money 
0
        g_NumMember 
0
    
}
}

public 
bool:jb_check_gang(id)
{
    if(
g_Member[id] || g_Gang == id)
        return 
true
    
return false
}

stock color_chat(const id, const input[], any:...)
{
    new 
count 1players[32];
    static 
msg[191];
    
vformat(msg190input3);
    
    
replace_all(msg190"!g""^4");
    
replace_all(msg190"!y""^1");
    
replace_all(msg190"!t""^3");
    
    if (
idplayers[0] = id; else get_players(playerscount"ch");
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]);
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }
}
 
Аватара пользователя
Boyka331
 
Сообщения: 102
Зарегистрирован: 14 авг 2014, 20:00
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Краш сервера с вылетом из игры.

Сообщение KOTOKU » 16 мар 2017, 05:29

Я бы вообще не ставил его плагины, тут что утечек памяти, что кривого кода - с головой хватает
Смори ошибку в GangName
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.


Вернуться в Безопасность и защита серверов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5