Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Плагин ViP

, Помочь подредактировать.
sevcs
сообщение 26.4.2015, 11:51
Сообщение #1
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Всем доброго дня.
Есть вот плагин ViP, хотелось его немного подредактировать.
Инфо:
1. Каждый раунд Все гранаты
2. Каждый раунд +105 хп. +110 брони.
3. +2200$
4. VIP в таблице.
------------------------------
5. Каждый раунд Desert

Возможно ли добавить в эту авто выдачу, ещё и выдачу Desert'а, бесплатно.
Прошу помощи.
Спасибо.
плагин
Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta_util>
#include <money_ul>

new const CT_MODEL[] = "models/player/gign/gign.mdl"
new const T_MODEL[] = "models/player/leet/leet.mdl"

#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    ( 1 << 0 )
#define SCOREATTRIB_BOMB    ( 1 << 1 )
#define SCOREATTRIB_VIP  ( 1 << 2 )

const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

new cvar_grenade, cvar_armor, cvar_health, cvar_armor_amount, cvar_health_amount, cvar_tab, cvar_money, cvar_money_amount, cvar_menu, cvar_model, cvar_flag
new g_msgSayText, g_maxplayers, round_count
new can_take[33]
new g_HudSync, g_HudSync2

public plugin_init()
{
    register_plugin("VIP", "1.0", "ill")
    
    register_event("HLTV", "RoundStart", "a", "1=0", "2=0")
    register_event("TextMsg","RoundRestart","a","2&#Game_w")
    register_event("Damage", "damage_message", "b", "2!0", "3=0", "4!0")
    register_logevent("logevent_round_start",2, "1=Round_Start")
    
    register_message(get_user_msgid("ScoreAttrib" ), "MessageScoreAttrib")
    
    RegisterHam(Ham_Spawn, "player", "fw_SpawnPost", 1)
        
    register_clcmd("say /vm", "press_wm")
    register_clcmd("say /vip", "vip_motd")
    register_menu("VIP Weapon", KEYSMENU, "weapon_menu")
    
    cvar_grenade = register_cvar("vip_get_grenade", "1")
    cvar_armor = register_cvar("vip_get_armor", "1")
    cvar_armor_amount = register_cvar("vip_get_armor_amount", "110")
    cvar_health = register_cvar("vip_get_health", "5")
    cvar_health_amount = register_cvar("vip_get_health_amount", "105")
    cvar_tab = register_cvar("vip_tab", "1")
    cvar_money = register_cvar("vip_get_money", "1")
    cvar_money_amount = register_cvar("vip_get_money_amount", "2200")
    cvar_menu = register_cvar("vip_get_menu", "0")
    cvar_model = register_cvar("vip_model", "0")
    cvar_flag = register_cvar("vip_flag", "t")
    
    g_msgSayText = get_user_msgid("SayText")
    g_maxplayers = get_maxplayers()
    g_HudSync = CreateHudSyncObj()
    g_HudSync2 = CreateHudSyncObj()
    
    round_count = 0
}

public plugin_precache()
{
    precache_model(CT_MODEL)
    precache_model(T_MODEL)
}

public RoundStart()
{
    for (new id = 1; id <= g_maxplayers; id++)
    {
        can_take[id] = true
    }
}

public logevent_round_start()
{
    round_count++
}

public RoundRestart(id)
{
    round_count = 1
}

public fw_SpawnPost(id)
{
    if(!is_user_alive(id))
        return
    
    if(!isVIP(id))
        return
    
    if(get_pcvar_num(cvar_grenade))
    {
        give_item(id, "weapon_hegrenade")
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_flashbang")
        give_item(id, "weapon_smokegrenade")
    }

    if(get_pcvar_num(cvar_armor))
        set_user_armor(id, get_pcvar_num(cvar_armor_amount))
                    
    if(get_pcvar_num(cvar_health))
        set_user_health(id, get_pcvar_num(cvar_health_amount))
    
    if(get_pcvar_num(cvar_money))
    {
        if(round_count > 2)
        {
            cs_set_user_money_ul(id, cs_get_user_money_ul(id) + get_pcvar_num(cvar_money_amount))
            colored_print(id, "^x01[^x04Server^x01] ты получил [ ^x04+2200 $ ^x01] за ^x04ViP ^x01игрока.")
        }
    }
            
    if(get_pcvar_num(cvar_model))
    {
        if(cs_get_user_team(id) == CS_TEAM_CT)
            cs_set_user_model(id, "gign")
        else if(cs_get_user_team(id) == CS_TEAM_T)
            cs_set_user_model(id, "leet")
    }
    else
        cs_reset_user_model(id)
}

public damage_message(id)
{
    new attacker = get_user_attacker(id)
    new damage = read_data(2)
    
    if(isVIP(id))
    {    
    set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
    ShowSyncHudMsg(id, g_HudSync2, "[%iхп]", damage)
    }
    
    if (is_user_connected(attacker) && isVIP(attacker))
    {
        set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
        ShowSyncHudMsg(attacker, g_HudSync, "[%iхп]", damage)
    }
}

public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{
    new id = get_msg_arg_int(1)
    if(is_user_connected(id) && isVIP(id) && get_pcvar_num(cvar_tab))
    {
        set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD)
    }
}

public press_wm(id)
{
    if(!get_pcvar_num(cvar_menu))
    {
        colored_print(id, "^x01[^x04Server^x01] Меню отключено.")
        return PLUGIN_HANDLED
    }
    
    if(!isVIP(id))
    {
        colored_print(id, "^x01[^x04Server^x01] Меню доступно только ^x04VIP ^x01игрокам.")
        return PLUGIN_HANDLED
    }
    
    if(round_count <= 3)
    {
        colored_print(id, "^x01[^x04Server^x01] Меню доступно только после ^x04третего ^x01раунда.")
        return PLUGIN_HANDLED
    }
    
    if(!can_take[id])
    {
        colored_print(id, "^x01[^x04Server^x01] Меню доступно ^x04один раз ^x01за раунд.")
        return PLUGIN_HANDLED
    }
        
    if(!is_user_alive(id))
    {
        colored_print(id, "^x01[^x04Server^x01] Меню доступно только ^x04живым ^x01игрокам.")
        return PLUGIN_HANDLED
    }
    
    show_weapons_menu(id)
    
    return PLUGIN_HANDLED
}

public weapon_menu(id, key)
{
    switch (key)
    {
        case 0:
        {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id,"weapon_m4a1")
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
            cs_set_user_bpammo(id, CSW_M4A1, 90)
            
            can_take[id] = false
        }    
        case 1:
        {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id,"weapon_ak47")
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
            cs_set_user_bpammo(id, CSW_AK47, 90)
            
            can_take[id] = false
        }    
        case 2:
        {
            drop_weapons(id, 1)
            drop_weapons(id, 2)
            give_item(id,"weapon_awp")
            give_item(id,"weapon_deagle")
            cs_set_user_bpammo(id, CSW_DEAGLE, 35)
            cs_set_user_bpammo(id, CSW_AWP, 30)
            
            can_take[id] = false
        }    
    }
}

public vip_motd(id)
{
    show_motd(id, "vip.txt", "VIP")
}

public isVIP(id)
{
    return get_user_flags(id) & get_admin_level_flag()
}

public get_admin_level_flag()
{
    new flags[24]

    get_pcvar_string ( cvar_flag, flags, sizeof ( flags ) - 1 )

    return ( read_flags ( flags ) )
}

stock drop_weapons(id, dropwhat)
{
    static weapons[32], num, i, weaponid
    num = 0
    get_user_weapons(id, weapons, num)

    for (i = 0; i < num; i++)
    {
        weaponid = weapons[i]
        
        if ((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
        {
            static wname[32]
            get_weaponname(weaponid, wname, charsmax(wname))
            engclient_cmd(id, "drop", wname)
        }
    }
}

stock colored_print( target, const message[],  any:... )
{
    static buffer[ 512 ]

    if( !target )
    {
        static player
        for( player = 1; player <= g_maxplayers; player++ )
        {
            if ( !is_user_connected( player ) )
            continue;

            vformat( buffer, charsmax( buffer ), message, 3 )

            message_begin( MSG_ONE_UNRELIABLE, g_msgSayText, _, player )
            write_byte( player )
            write_string( buffer )
            message_end()
        }
    }

    else
    {
        vformat( buffer, charsmax( buffer ), message, 3 )

        message_begin( MSG_ONE, g_msgSayText, _, target )
        write_byte( target )
        write_string( buffer )
        message_end()
    }
}


Отредактировал: sevcs, - 26.4.2015, 11:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя rstasiv
сообщение 26.4.2015, 11:54
Сообщение #2


Стаж: 11 лет

Сообщений: 106
Благодарностей: 4
Полезность: 37

sevcs, можно. Добавлю но вечером, если никто не сделает раньше конечно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 26.4.2015, 21:24
Сообщение #3
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Ну так что, есть кто может помочь ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Immunity
сообщение 26.4.2015, 21:33
Сообщение #4
Стаж: 11 лет

Сообщений: 444
Благодарностей: 119
Полезность: 139

Сейчас попробую.

Отредактировал: Immunity, - 26.4.2015, 21:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 26.4.2015, 21:34
Сообщение #5
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Цитата(Immunity @ 26.4.2015, 22:33) *
#include <money_ul> - оО
Что это за инклюд такой?


Превышение лимита денег на сервере <16000...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Immunity
сообщение 26.4.2015, 21:50
Сообщение #6
Стаж: 11 лет

Сообщений: 444
Благодарностей: 119
Полезность: 139

Да я уже понял)
Сделал вроде, но скомпилировать не могу( Ошибка табуляции :( Хотя код вроде в порядке)
Сделайте ему)

Отредактировал: Immunity, - 26.4.2015, 21:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 26.4.2015, 22:03
Сообщение #7
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Цитата(Immunity @ 26.4.2015, 22:50) *
Да я уже понял)
Сделал вроде, но скомпилировать не могу( Ошибка табуляции :( Хотя код вроде в порядке)
Сделайте ему)


Скинь мне пожалуйста то, что сделал, там кусок кода вырезан. Вот и не компилится. Скинь в ЛС. Спасибо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 26.4.2015, 22:05
Сообщение #8


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

в эту функцию
Код:
public fw_SpawnPost(id)

добавить такие строки (можно в самый конец)
Код:
drop_weapons(id, 2)
give_item(id, "weapon_deagle")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Immunity
сообщение 26.4.2015, 22:17
Сообщение #9
Стаж: 11 лет

Сообщений: 444
Благодарностей: 119
Полезность: 139

Цитата(GOOD FELLOW @ 26.4.2015, 23:05) *
в эту функцию
Код:
public fw_SpawnPost(id)

добавить такие строки (можно в самый конец)
Код:
drop_weapons(id, 2)
give_item(id, "weapon_deagle")

Там ещё и квар надо)
Вот сделал уже) Не проверял, но должен работать.
Прикрепленные файлы:
Прикрепленный файл  PIV.sma ( 8,65 килобайт ) Кол-во скачиваний: 6
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
sevcs
сообщение 26.4.2015, 22:21
Сообщение #10
Стаж: 11 лет

Сообщений: 407
Благодарностей: 169
Полезность: 254

Спасибо. Надо будет попробовать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: