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

[SWE] Roulette | Рулетка

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

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

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

[SWE] Roulette | Рулетка

Сообщение DoNotFollowMe » 05 окт 2016, 00:33

Автор: IIPU3PAK
Версия: 1.0
Рулетка для сервера, писал себе для кнайфа. Эта версия чутка урезана.
При вводе в чат /ruletka, появляется меню с подтверждением. Выпасть могут деньги, хп, двойной урон или килл.
Код: Выделить всё
swe_roulette_cost "8000" //Стоимость игры в рулетку

Настройки в исходнике
Код: Выделить всё
#define HEALTH_MIN    10      //Минимальное кол-во. хп
#define HEALTH_MAX    35      //Максимальное кол-во. хп

#define MONEY_MIN    1000   //Минимальное кол-во. денег
#define MONEY_MAX    6000   //Максимальное кол-во. денег

#define CHAT_PREFIX "^1[^4Сюрприз^1]"   //Префикс в чате, ^1 - желтый, ^4 - зеленый, ^3 - цвет команды.

Код: Выделить всё
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>
#include <hamsandwich>

#define PLUGIN "[SWE] Roulette"
#define VERSION "1.0"
#define AUTHOR "IIPU3PAK"

#define HEALTH_MIN     10        //Минимальное кол-во. хп
#define HEALTH_MAX     35        //Максимальное кол-во. хп

#define MONEY_MIN     1000    //Минимальное кол-во. денег
#define MONEY_MAX     6000    //Максимальное кол-во. денег

#define CHAT_PREFIX "^1[^4Рулетка^1]"    //Префикс в чате, ^1 - желтый, ^4 - зеленый, ^3 - цвет команды.

new g_Cvars[1];
new 
bool:g_DoubleDamage[33];

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /ruletka""RandomMenu")
    
register_clcmd("say_team /ruletka""RandomMenu")
    
    
g_Cvars[0] = register_cvar("swe_roulette_cost""8000")
    
    
RegisterHam(Ham_TakeDamage"player""DoubleDamage")
    
RegisterHam(Ham_Spawn"player""HamSpawn"1)
}

public 
RandomMenu(id)
{
    if(!
is_user_alive(id))
    {
        
ColorChat(idNORMAL"%s ^3Ты мертв, подожди."CHAT_PREFIX)
        return 
PLUGIN_HANDLED;
    }
    
    if(
cs_get_user_money(id) <= get_pcvar_num(g_Cvars[0]))
    {
        
ColorChat(idNORMAL"%s ^3Недостаточно денег."CHAT_PREFIX)
        return 
PLUGIN_HANDLED;
    }
    
    new 
szText512 char ];
    
formatex(szTextcharsmaxszText ), "\r[SWE] \yСыграть в рулетку?^n\wУ вас: \r%d\y$"cs_get_user_money(id))
    new 
menu menu_createszText"menu_handler")
    
    
menu_additem(menu"\yДа","1")
    
menu_additem(menu"\rНет","2")

    
menu_setprop(menuMPROP_EXITNAME"Выход")
    
menu_setprop(menuMPROP_EXIT,MEXIT_ALL)

    
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)

    switch(
key)
    {
        case 
1:
        {
            
RandomFunc(id)
        }
        case 
2:
        {
            
menu_destroy(menu)
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
RandomFunc(id)
{
    new 
g_Random random_num(1100);
    new 
health_Random random_num(HEALTH_MINHEALTH_MAX);
    new 
money_Random random_num(MONEY_MINMONEY_MAX);
    new 
pName[32];
    
get_user_name(idpName31);
    
    if(
g_Random >= && g_Random 25)
    {
        
set_user_health(idget_user_health(id) + health_Random)
        
        
ColorChat(0NORMAL"%s ^1Игроку ^3%s ^1выпало ^4+^3%d ^4ХП^1."CHAT_PREFIXpNamehealth_Random)
    }
    else if(
g_Random >= 25 && g_Random 50)
    {
        
user_kill(id1)
        
ColorChat(0NORMAL"%s ^1Игроку ^3%s ^1выпала ^3Смерть^1."CHAT_PREFIXpName)
    }
    else if(
g_Random >= 50 && g_Random 75)
    {
        
cs_set_user_money(idcs_get_user_money(id) + money_Random)
        
ColorChat(0NORMAL"%s ^1Игроку ^3%s ^1выпало ^4+^3%d ^4$^1."CHAT_PREFIXpNamemoney_Random)
    }
    else if(
g_Random >= 75 && g_Random 100)
    {
        
g_DoubleDamage[id] = true;
        
ColorChat(0NORMAL"%s ^1Игроку ^3%s ^1выпал ^4Двойной урон."CHAT_PREFIXpName)
    }
    
cs_set_user_money(idcs_get_user_money(id) - get_pcvar_num(g_Cvars[0]))
}

public 
DoubleDamage(victiminflictorattackerFloat:damagedamage_type)
{
    if(!(
attacker && attacker 33) || !g_DoubleDamage[attacker])
        return 
HAM_IGNORED;
        
    
SetHamParamFloat(4damage 2.0)
    {
        return 
HAM_IGNORED;
    }
}

public 
HamSpawn(id)
{
    
g_DoubleDamage[id] = false;
}

public 
client_disconnect(id)
{
    
g_DoubleDamage[id] = false;
}
 

:-D

Добавлено спустя 3 минуты 9 секунд:
Жду сообщений об ошибках=)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
DoNotFollowMe
 
Сообщения: 109
Зарегистрирован: 29 фев 2016, 20:25
Благодарил (а): 37 раз.
Поблагодарили: 1 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: [SWE] Roulette | Рулетка

Сообщение Pafos » 05 окт 2016, 21:46

DoNotFollowMe, крутой плугин!
У меня есть код , который почти всегда работает, но не ясно , что он делает :crazy:

Аватара пользователя
Pafos
 
Сообщения: 495
Зарегистрирован: 07 апр 2014, 18:03
Откуда: pfnClientConnect
Предупреждения: 1
Благодарил (а): 114 раз.
Поблагодарили: 87 раз.
Опыт программирования: Около года
Языки программирования: Pawn

Re: [SWE] Roulette | Рулетка

Сообщение DoNotFollowMe » 05 окт 2016, 22:55

Pafos писал(а):DoNotFollowMe, крутой плугин!

П***б засчитан
Аватара пользователя
DoNotFollowMe
 
Сообщения: 109
Зарегистрирован: 29 фев 2016, 20:25
Благодарил (а): 37 раз.
Поблагодарили: 1 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6


Вернуться в Добавленные новые плагины

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

Сейчас этот форум просматривают: Yahoo [Bot] и гости: 2