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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Деньги для випов по таймеру

Статус пользователя liroy
сообщение 16.12.2015, 11:55
Сообщение #1
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

Добрый день господа. подскажите пожалуйста есть ли такой плагин и как он называется.

Плагин должен давать денег вип игрокам (с флагом t) по таймеру.
Например дать 10 000 спустя 3 минуты от начала раунда

Подскажите название такого плагина, или подскажите как должен выглядеть код ) пожалуйста!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя DRIVE37
сообщение 16.12.2015, 12:57
Сообщение #2


Стаж: 11 лет

Сообщений: 146
Благодарностей: 14
Полезность: 69

Вот просто бонус за время игры на сервере, а как сделать для админов/випов надеюсь знаешь сам. В интернете плагин называется TimeBonus.

Код:
#include <amxmodx>
#include <cstrike>

/*===============================================================================
=
[Macros]
================================================================================
=*/

#define SMALL 1000
#define AVERAGE 1500
#define LARGE 3000
#define MAX 5000
#define PRO 10000
#define HARD 16000

/*===============================================================================
=
[Plugin Init]
================================================================================
=*/

public plugin_init()
{
register_plugin("Time Bonus", "1.1", "SKOBAR1K")
}

/*===============================================================================
=
[Set Tasks]
================================================================================
=*/

public client_putinserver(id)
{
set_task(180.0, "small_present", id)
set_task(300.0, "average_present", id)
set_task(600.0, "large_present", id)
set_task(1200.0, "max_present", id)
set_task(1800.0, "pro_present", id)
set_task(3600.0, "hard_present", id)
}

/*===============================================================================
=
[Remove Task]
================================================================================
=*/

public client_disconnect(id)
{
if(task_exists(id))
remove_task(id)
}

/*===============================================================================
=
[Give Presents]
================================================================================
=*/

public small_present(id)
{
cs_set_user_money(id, min(cs_get_user_money(id) + SMALL, 16000), 1)
client_printcolor(id, "^4[Time Bonus] ^1Вы получили ^4%d $^1, играя на нашем сервере^4 3 минуты.", SMALL)
}

public average_present(id)
{
cs_set_user_money(id, min(cs_get_user_money(id) + AVERAGE, 16000), 1)
client_printcolor(id, "^4[Time Bonus] ^1Вы получили ^4%d $^1, играя на нашем сервере^4 5 минут.", AVERAGE)
}

public large_present(id)
{
cs_set_user_money(id, min(cs_get_user_money(id) + LARGE, 16000), 1)
client_printcolor(id, "^4[Time Bonus] ^1Вы получили ^4%d $^1, играя на нашем сервере^4 10 минут.", LARGE)
}

public max_present(id)
{
cs_set_user_money(id, min(cs_get_user_money(id) + MAX, 16000), 1)
client_printcolor(id, "^4[Time Bonus] ^1Вы получили ^4%d $^1, играя на нашем сервере^4 20 минут.", MAX)
}

public pro_present(id)
{
cs_set_user_money(id, min(cs_get_user_money(id) + PRO, 16000), 1)
client_printcolor(id, "^4[Time Bonus] ^1Вы получили ^4%d $^1, играя на нашем сервере^4 30 минут.", PRO)
}

public hard_present(id)
{
cs_set_user_money(id, min(cs_get_user_money(id) + HARD, 16000), 1)
client_printcolor(id, "^4[Time Bonus] ^1Вы получили ^4%d $^1, играя на нашем сервере^4 1 час.", HARD)
}

/*===============================================================================
=
[Stock]
================================================================================
=*/

stock client_printcolor(const id, const input[], any:...)
{
new iCount = 1, iPlayers[32]
static szMsg[191]

vformat(szMsg, charsmax(szMsg), input, 3)
replace_all(szMsg, 190, "/g", "^4")
replace_all(szMsg, 190, "/y", "^1")
replace_all(szMsg, 190, "/ctr", "^1")
replace_all(szMsg, 190, "/w", "^0")

if(id) iPlayers[0] = id
else get_players(iPlayers, iCount, "ch")
for (new i = 0; i < iCount; i++)
{
if(is_user_connected(iPlayers[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, iPlayers[i])
write_byte(iPlayers[i])
write_string(szMsg)
message_end()
}
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя liroy
сообщение 16.12.2015, 15:00
Сообщение #3
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

такой плагин я тоже находил. и пытался его переделывать
но у меня ничего не вышло, что не удивительно исходя из того что я делаю первый сервер в жизни
Так что еслиб знал как переделать чтоб работало сдесь бы не отписывал )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 16.12.2015, 16:20
Сообщение #4
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

и не выйдет потому что это быдлокод
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя liroy
сообщение 16.12.2015, 17:01
Сообщение #5
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

спасибо за емкие ответы)
А что нибудь по существу господа могут подсказать ?;)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя liroy
сообщение 16.12.2015, 17:18
Сообщение #6
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

еще вопрос существует ли плагин при помощи которого можно выдавать модельки конкретному игроку ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 16.12.2015, 17:19
Сообщение #7


Стаж: 12 лет

Сообщений: 2237
Благодарностей: 1343
Полезность: 836

На каждого игрока по 6 таймеров .. кошмар ..

Не проще сделать один таймер и чекать время игрока (записанное в массив) ? .. а далее switch'ём раздавать что кому полагается ..

Отредактировал: ssx, - 16.12.2015, 17:19


[Half-Life DM FFA] 78.152.169.100:27016
[CS 1.6 GunGame] 78.152.169.100:27018
[CS 1.6 DM AIM] 78.152.169.100:27017
[CS 1.6 DM FFA] 78.152.169.100:27015
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Alloha
сообщение 16.12.2015, 17:50
Сообщение #8
Стаж: 10 лет

Сообщений: 210
Благодарностей: 118
Полезность: < 0

А зачем катать квадратное и таскать круглое?

Можно же найти альтернативу Вашему вопросу, например ограничить свой плагин vipmenu в выдаче $?

Из личного архива!
sma
Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <WPMGPrintChatColor>

enum (<<=1)
{
    DROP_PRIMARY = 1,
    DROP_SECONDARY
}

const WEAPONS_PRIMARY_BITSUM     = (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 WEAPONS_SECONDARY_BITSUM     = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
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 use_weapon[33]
new round_number

public plugin_init()
{
    register_plugin("vipka", "1.1", "?")

    register_event("HLTV", "event_start_round", "a", "1=0", "2=0")
    register_event("TextMsg", "event_restart_round", "a", "2&#Game_C", "2&#Game_w")
    RegisterHam(Ham_Spawn, "player", "player_spawn", 1)

    register_clcmd("vipmenu", "handle_menu")
    register_clcmd("say /mvip", "handle_menu")
    register_clcmd("say /vipmenu", "handle_menu")
}

public event_start_round()
{
    round_number++
    for(new i; i <= 32; i++)
    {
        if(!is_user_connected(i))  continue;
        use_weapon[i] = false
    }
}

public event_restart_round()
{
    round_number = 0
    for(new i; i <= 32; i++)
    {
        if(!is_user_connected(i))  continue;
        use_weapon[i] = false
    }
}

public player_spawn(id)
{
    if(!is_user_connected(id))
        return HAM_IGNORED
    if(get_user_flags(id) & ADMIN_LEVEL_H)
    {
        give_item(id,"weapon_hegrenade")
        give_item(id,"weapon_flashbang")
        give_item(id,"weapon_flashbang")
        give_item(id,"weapon_smokegrenade")
        give_item(id,"item_assaultsuit")

        if(round_number >= 3)
            cs_set_user_money(id, min(cs_get_user_money(id) + 1500, 16000))
    }
    return HAM_IGNORED
}

public handle_menu(id)
{
        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
        {
        PrintChatColor(id, PRINT_COLOR_RED, "!tНедостаточно прав.")
            return PLUGIN_HANDLED
    }

    if(!is_user_alive(id))
    {
        PrintChatColor(id, PRINT_COLOR_RED, "!tВы умерли и не можете использовать это меню.")
            return PLUGIN_HANDLED
    }

    if(use_weapon[id])
    {
        PrintChatColor(id, PRINT_COLOR_RED, "!tВы не можете использовать это меню, так как уже брали в нем оружие")
            return PLUGIN_HANDLED
    }

    new menu  = menu_create("\yВыбирай оружие:", "handle_menu_choise")
    if(round_number >= 2)
    {
        menu_additem(menu, "M4a1", "1", 0)
        menu_additem(menu, "Ak-47", "2", 0)
    }
    else
    {
        menu_additem(menu, "\dM4a1", "1", 0)
        menu_additem(menu, "\dAk-47", "2", 0)
    }

    if(round_number >= 3)
    {
        menu_additem(menu, "Awp", "3", 0)
        menu_additem(menu, "Aug", "4", 0)
        menu_additem(menu, "Sg552", "5", 0)
    }
    else
    {
        menu_additem(menu, "\dAwp", "3", 0)
        menu_additem(menu, "\dAug", "4", 0)
        menu_additem(menu, "\dSg552", "5", 0)
    }

    if(round_number >= 2)
    {
        menu_additem(menu, "Famas", "6", 0)
        menu_additem(menu, "Galil", "7", 0)
    }
    else
    {
        menu_additem(menu, "\dFamas", "6", 0)
        menu_additem(menu, "\dGalil", "7", 0)
    }

    menu_display(id, menu)
        return PLUGIN_HANDLED
}

public handle_menu_choise(id, menu, item)
{
        if(!(get_user_flags(id) & ADMIN_LEVEL_H))
        {
        PrintChatColor(id, PRINT_COLOR_RED, "!tНедостаточно прав.")
            return PLUGIN_HANDLED
    }

    if(!is_user_alive(id))
    {
        PrintChatColor(id, PRINT_COLOR_RED, "!tВы умерли и не можете использовать это меню.")
            return PLUGIN_HANDLED
    }

    new dst[32], data[6], access, callback
    menu_item_getinfo(menu, item, access, data, charsmax(data), dst, charsmax(dst), callback)
    menu_destroy(menu)
    new key = str_to_num(data)

    switch(key)
    {
        case(1):
        {
            if(round_number >= 2 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_m4a1")
                cs_set_user_bpammo(id, CSW_M4A1, 90)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли M4a1.")
            }
            else
                handle_menu(id)
        }
        case(2):
        {
            if(round_number >= 2 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_ak47")
                cs_set_user_bpammo(id, CSW_AK47, 90)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли Ak47.")
            }
            else
                handle_menu(id)
        }
        case(3):
        {
            if(round_number >= 3 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_awp")
                cs_set_user_bpammo(id, CSW_AWP, 30)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли Awp.")
            }
            else
                handle_menu(id)
        }
        case(4):
        {
            if(round_number >= 3 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_aug")
                cs_set_user_bpammo(id, CSW_AUG, 90)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли Aug.")
            }
            else
                handle_menu(id)
        }
        case(5):
        {
            if(round_number >= 3 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_sg552")
                cs_set_user_bpammo(id, CSW_SG552, 90)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли Sg552.")
            }
            else
                handle_menu(id)
        }
        case(6):
        {
            if(round_number >= 2 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_famas")
                cs_set_user_bpammo(id, CSW_FAMAS, 90)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли Famas.")
            }
            else
                handle_menu(id)
        }
        case(7):
        {
            if(round_number >= 2 && !use_weapon[id])
            {
                use_weapon[id] = true
                drop_weapons(id, 1)
                give_item(id,"weapon_galil")
                cs_set_user_bpammo(id, CSW_GALIL, 90)
                PrintChatColor(id, PRINT_COLOR_RED, "!yВы взяли Galil.")
            }
            else
                handle_menu(id)
        }
        }
        return PLUGIN_HANDLED
}

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, sizeof wname - 1)
            engclient_cmd(id, "drop", wname)
        }
    }
}



Прикрепленные файлы:
Прикрепленный файл  vip.sma ( 6,78 килобайт ) Кол-во скачиваний: 5
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя liroy
сообщение 16.12.2015, 18:17
Сообщение #9
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

мне понравилась ваша идея больше всего.
Только он выдает с третьего раунда бабки.
а как сделать чтобы с 3 минуты, ведь на ксдм раунд не кончается..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Alloha
сообщение 16.12.2015, 18:59
Сообщение #10
Стаж: 10 лет

Сообщений: 210
Благодарностей: 118
Полезность: < 0

Цитата(liroy @ 16.12.2015, 19:12) *
мне понравилась ваша идея больше всего.
Только он выдает с третьего раунда бабки.
а как сделать чтобы с 3 минуты, ведь на ксдм раунд не кончается..


Друг, ты в следующий раз пиши "почву" а не "например"!
А стоит ли на CSDM ставить vipmenu?

Я как бы все понимаю, но на мой взгляд - DM (должен быть - рандом респаун, выбор оружия выводится автоматич).
Пример такого CSDM скину личку как он появится в онлайн!

Отредактировал: Alloha, - 16.12.2015, 19:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя liroy
сообщение 17.12.2015, 9:02
Сообщение #11
Стаж: 10 лет

Сообщений: 28
Благодарностей: 1
Полезность: < 0

Цитата(Alloha @ 16.12.2015, 18:54) *
Друг, ты в следующий раз пиши "почву" а не "например"!
А стоит ли на CSDM ставить vipmenu?

Я как бы все понимаю, но на мой взгляд - DM (должен быть - рандом респаун, выбор оружия выводится автоматич).
Пример такого CSDM скину личку как он появится в онлайн!


оно так у меня есть .

сервер с пушками и лазерами
респ рандом, пушки на халяву

Но есть ряд плюшек которые реализованы за бабло, а так же отдельно для вип.
И вот такая штука с добавкой денег по таймеру очень вписывается в общую мою концепцию...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ALIK
сообщение 17.12.2015, 12:59
Сообщение #12


Стаж: 12 лет

Сообщений: 33
Благодарностей: 13
Полезность: 300

liroy, небольшой пример.

Бонус после 3х сыгранных минут.
Код:

#include <amxmodx>
#include <cstrike>

#define TASK_PLAYER_BONUS 171215

#define CVAR_TIME 180 //сек
#define CVAR_BONUS 10000 //$
#define CVAR_FLAG ADMIN_LEVEL_H //t

public client_putinserver(pId)
{
if(get_user_flags(pId) & CVAR_FLAG)
{
set_task(CVAR_TIME.0, "Task_Bonus", pId + TASK_PLAYER_BONUS);
}
}

public client_disconnect(pId)
{
if(task_exists(pId + TASK_PLAYER_BONUS))
{
remove_task(pId + TASK_PLAYER_BONUS);
}
}

public Task_Bonus(pId)
{
if(pId > TASK_PLAYER_BONUS) pId -= TASK_PLAYER_BONUS;

cs_set_user_money(pId, cs_get_user_money(pId) + CVAR_BONUS, _:is_user_alive(pId));
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Alloha
сообщение 17.12.2015, 13:48
Сообщение #13
Стаж: 10 лет

Сообщений: 210
Благодарностей: 118
Полезность: < 0

Цитата(liroy @ 17.12.2015, 9:57) *
оно так у меня есть .

сервер с пушками и лазерами
респ рандом, пушки на халяву

Но есть ряд плюшек которые реализованы за бабло, а так же отдельно для вип.
И вот такая штука с добавкой денег по таймеру очень вписывается в общую мою концепцию...


Я так понимаю в паблике ты не найдешь такого плагина!

Напиши такому парню как Сафелист - если ему будет интересно, он поможет.
А вообще - Вконтакте с ним работал и проблем никогда не было!
Его данные на форуме https://c-s.net.ua/forum/user110604.html
Его тема [Услуга] Написание AMXX плагинов.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: