[0.1] FM ResetScore

Don Carleone

Пользователь
Регистрация
8 Июн 2017
Сообщения
79
Симпатии
22
Пол
Мужской
#1
Автор: neygomon
Name: FM ResetScore
Version: 0.1

Описание: Простенький плагин обнуления счета командой /rs, с проигрыванием звука при активации.
 

Вложения

LimBo

Заблокированные
Пользователь
Только чтение
Регистрация
10 Июл 2017
Сообщения
113
Симпатии
3
Пол
Мужской
#4
А как сделать чтоб после рс следуйший можно было написать через 20 сек !
 

Дмитрий

Пользователь
Регистрация
8 Июн 2017
Сообщения
183
Симпатии
28
Пол
Мужской
#5
а если добавить вот так

Код:
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say .кы",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
    register_clcmd("say_team .кы",     "CmdResetScore");
}
то получается если игрок напишет на русском язык кы то все ровно плагин сбросит стату же ?!
и если я удалю вот эту строчку то звука не будет ?:! client_cmd(id, "spk buttons/blip1.wav");
 
Последнее редактирование: Дмитрий

Дмитрий

Пользователь
Регистрация
8 Июн 2017
Сообщения
183
Симпатии
28
Пол
Мужской
#7
To be or not to be, да я уже проверил , всё работает ))
щас осталось добавить в чат нормальное сообщение )

write_string("^1[^4Сервер^1] ^1Ваш счёт обнулён!"); так же норм заработает ?:!
 

Fantomas17

Пользователь
Регистрация
11 Июл 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#8
Ребят а как сделать рандомное проигрование звуков?
к примеру у меня 3 звука залиты в папку sound , как сделать чтоб он или рандомно или по очередно их проигровал каждый раз когда пишешь /rs
подскажите пожалуйста
29 Дек 2017
вот в общем то код изменил чтобы он звуки брал с сервера

C++:
#include <amxmodx>

#include <fakemeta>



public plugin_init()

{

    register_plugin("FM ResetScore", "0.1", "neygomon");



    register_clcmd("say /rs",     "CmdResetScore");

    register_clcmd("say_team /rs",     "CmdResetScore");

}



public plugin_precache() {

        precache_sound("misc/rs_new_year.wav")



        return PLUGIN_CONTINUE

}



public CmdResetScore(id)

{

    if(is_user_connected(id))

    {

        client_cmd(id, "spk misc/rs_new_year.wav");

      

        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);

        write_byte(id);

        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");

        message_end();

      

        set_pev(id, pev_frags, 0.0);

        set_pdata_int(id, 444, 0);

      

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");

        message_begin(MSG_ALL, mScoreInfo);

        write_byte(id);

        write_short(0);    // фраги

        write_short(0); // смерти

        write_short(0);

        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)

        message_end();

    }

    return PLUGIN_HANDLED;

}

пардон незнаю как тут в код ставить и в спойлер )
 
Последнее редактирование модератором:

glokk

Пользователь
Регистрация
9 Июн 2017
Сообщения
202
Симпатии
67
Пол
Мужской
#11
Fantomas17, если честно, я тоже..
вот пример с принтом в чат:
Код:
new x=random(10);
switch(x)
{
        case 1: print("Ура, один");
        case 2,3: print("Ура, два или три");
        case 4..9: print("Ура, от четырех до девяти включительно");
        default: print("Ура, нуль");
}
 

Fantomas17

Пользователь
Регистрация
11 Июл 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#12
default: print я так понимаю это для текста )))
можно более конкретнее?
 

To be or not to be

Пользователь
Регистрация
9 Июн 2017
Сообщения
538
Симпатии
125
#13
glokk, не только)
Fantomas17, держи, 11-16 строки)
PHP:
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("FM ResetScore", "0.1", "neygomon");
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
}

new const g_arMusics[] =
{
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav"
}

public plugin_precache()
{
    g_arSize = sizeof g_arMusics

    for(new i; i < g_arSize; i++)
        precache_sound(g_arMusics[i])
}

public CmdResetScore(id)
{
    if(is_user_connected(id))
    {
        client_cmd(id, "spk %s", g_arMusics[random(g_arSize)])
        
        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);
        write_byte(id);
        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");
        message_end();

        set_pev(id, pev_frags, 0.0);
        set_pdata_int(id, 444, 0);

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
        message_begin(MSG_ALL, mScoreInfo);
        write_byte(id);
        write_short(0);    // фраги
        write_short(0); // смерти
        write_short(0);
        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)
        message_end();
    }
    return PLUGIN_HANDLED;
}
 

Fantomas17

Пользователь
Регистрация
11 Июл 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#14
glokk, не только)
Fantomas17, держи, 11-16 строки)
PHP:
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("FM ResetScore", "0.1", "neygomon");
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
}

new const g_arMusics[] =
{
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav"
}

public plugin_precache()
{
    g_arSize = sizeof g_arMusics

    for(new i; i < g_arSize; i++)
        precache_sound(g_arMusics[i])
}

public CmdResetScore(id)
{
    if(is_user_connected(id))
    {
        client_cmd(id, "spk %s", g_arMusics[random(g_arSize)])
       
        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);
        write_byte(id);
        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");
        message_end();

        set_pev(id, pev_frags, 0.0);
        set_pdata_int(id, 444, 0);

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
        message_begin(MSG_ALL, mScoreInfo);
        write_byte(id);
        write_short(0);    // фраги
        write_short(0); // смерти
        write_short(0);
        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)
        message_end();
    }
    return PLUGIN_HANDLED;
}
а как ошибку исправить? я наверн уже достал? )))
 

Вложения

  • 110,7 KB 4

To be or not to be

Пользователь
Регистрация
9 Июн 2017
Сообщения
538
Симпатии
125
#15
Fantomas17, проглядел)
PHP:
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("FM ResetScore", "0.1", "neygomon");
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
}

new const g_arMusics[] =
{
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav"
}

new g_arSize

public plugin_precache()
{
    g_arSize = sizeof g_arMusics

    for(new i; i < g_arSize; i++)
        precache_sound(g_arMusics[i])
}

public CmdResetScore(id)
{
    if(is_user_connected(id))
    {
        client_cmd(id, "spk %s", g_arMusics[random(g_arSize)])
        
        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);
        write_byte(id);
        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");
        message_end();

        set_pev(id, pev_frags, 0.0);
        set_pdata_int(id, 444, 0);

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
        message_begin(MSG_ALL, mScoreInfo);
        write_byte(id);
        write_short(0);    // фраги
        write_short(0); // смерти
        write_short(0);
        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)
        message_end();
    }
    return PLUGIN_HANDLED;
}
 

Fantomas17

Пользователь
Регистрация
11 Июл 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#16
Fantomas17, проглядел)
PHP:
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("FM ResetScore", "0.1", "neygomon");
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
}

new const g_arMusics[] =
{
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav"
}

new g_arSize

public plugin_precache()
{
    g_arSize = sizeof g_arMusics

    for(new i; i < g_arSize; i++)
        precache_sound(g_arMusics[i])
}

public CmdResetScore(id)
{
    if(is_user_connected(id))
    {
        client_cmd(id, "spk %s", g_arMusics[random(g_arSize)])
       
        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);
        write_byte(id);
        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");
        message_end();

        set_pev(id, pev_frags, 0.0);
        set_pdata_int(id, 444, 0);

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
        message_begin(MSG_ALL, mScoreInfo);
        write_byte(id);
        write_short(0);    // фраги
        write_short(0); // смерти
        write_short(0);
        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)
        message_end();
    }
    return PLUGIN_HANDLED;
}
СПАСИБО ОГРОМНОЕ =)
30 Дек 2017
Fantomas17, проглядел)
PHP:
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("FM ResetScore", "0.1", "neygomon");
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
}

new const g_arMusics[] =
{
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav",
    "sound/ambience/arabmusic.wav"
}

new g_arSize

public plugin_precache()
{
    g_arSize = sizeof g_arMusics

    for(new i; i < g_arSize; i++)
        precache_sound(g_arMusics[i])
}

public CmdResetScore(id)
{
    if(is_user_connected(id))
    {
        client_cmd(id, "spk %s", g_arMusics[random(g_arSize)])
       
        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);
        write_byte(id);
        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");
        message_end();

        set_pev(id, pev_frags, 0.0);
        set_pdata_int(id, 444, 0);

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
        message_begin(MSG_ALL, mScoreInfo);
        write_byte(id);
        write_short(0);    // фраги
        write_short(0); // смерти
        write_short(0);
        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)
        message_end();
    }
    return PLUGIN_HANDLED;
}
правда теперь сервер в краш ушел )))
 

Вложения

  • 22,5 KB 5

Fantomas17

Пользователь
Регистрация
11 Июл 2017
Сообщения
15
Симпатии
0
Пол
Мужской
#19

Анатолий

Пользователь
Регистрация
8 Июн 2017
Сообщения
304
Симпатии
81
Пол
Мужской
#20
спасибо конечно , но ты хоть читал что я писал?
30 Дек 2017

я так понимаю лучше удалить константы и использовать precache ?
Тогда так делай
Код:
#include <amxmodx>
#include <fakemeta>

public plugin_init()
{
    register_plugin("FM ResetScore", "0.1", "neygomon");
    register_clcmd("say /rs",     "CmdResetScore");
    register_clcmd("say_team /rs",     "CmdResetScore");
}

new const g_arMusics[] =
{
    "sound/ambience/arabmusic1.wav",
    "sound/ambience/arabmusic2.wav",
    "sound/ambience/arabmusic3.wav"
}

public plugin_precache()
{

    for(new i; i < sizeof g_arMusics; i++)
        precache_sound(g_arMusics[i])
}

public CmdResetScore(id)
{
    if(is_user_connected(id))
    {
    switch(random_num(1, 3))
    {
        case 1: client_cmd(id, "spk ambience/arabmusic1");
        case 2: client_cmd(id, "spk ambience/arabmusic2");
        case 3: client_cmd(id, "spk ambience/arabmusic3");
    }
        message_begin(MSG_ONE_UNRELIABLE, 76, .player = id);
        write_byte(id);
        write_string("^1[^4RS^1] Ваш счет ^3успешно обнулен!");
        message_end();

        set_pev(id, pev_frags, 0.0);
        set_pdata_int(id, 444, 0);

        static mScoreInfo; if(!mScoreInfo) mScoreInfo = get_user_msgid("ScoreInfo");
        message_begin(MSG_ALL, mScoreInfo);
        write_byte(id);
        write_short(0);    // фраги
        write_short(0); // смерти
        write_short(0);
        write_short(0);    // по идее, тут надо тиму игрока указывать. но так тоже норм =)
        message_end();
    }
    return PLUGIN_HANDLED;
}