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

Оцените stock Тутор сообщений с CZ.

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

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

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 05 мар 2012, 18:29

Код: Выделить всё
#include <amxmodx>
 
#define TASK_HIDE_TUTOR 8800
 
new gMsgTutorClose
, gMsgTutorText, gMsgTutorTime
 
public plugin_init
()
{
        gMsgTutorClose = get_user_msgid("TutorClose")
        gMsgTutorText = get_user_msgid("TutorText")
        gMsgTutorTime = register_cvar("msg_tutor_time", "8") // длительность показа сообщения min 5.
}
 
public plugin_precache
()
{
        precache_generic("gfx/career/icon_i.tga")
        precache_generic("gfx/career/icon_skulls.tga")
        precache_generic("gfx/career/round_corner_ne.tga")
        precache_generic("gfx/career/round_corner_nw.tga")
        precache_generic("gfx/career/round_corner_se.tga")
        precache_generic("gfx/career/round_corner_sw.tga")
 
        precache_generic
("resource/TutorScheme.res")
        precache_generic("resource/UI/TutorTextWindow.res")
 
        precache_sound
("events/enemy_died.wav")
        precache_sound("events/friend_died.wav")
        precache_sound("events/task_complete.wav")
        precache_sound("events/tutor_msg.wav")
}
 
stock Create_TutorMsg
(id, szMsg[], iStyle, bSound)
{
        if (bSound)
        {
                switch(iStyle)
                {
                        case 1: client_cmd(id, "spk events/friend_died.wav")
                        case 2: client_cmd(id, "spk events/enemy_died.wav")
                        case 5: client_cmd(id, "spk events/task_complete.wav")
                        default: client_cmd(id, "spk events/tutor_msg.wav")
                }
        }
        
        message_begin
(MSG_ONE_UNRELIABLE , gMsgTutorClose, {0, 0, 0}, id)
        message_end()
        
        
        message_begin
(MSG_ONE_UNRELIABLE , gMsgTutorText, {0, 0, 0}, id)
        write_string(szMsg)
        write_byte(0)
        write_short(0)
        write_short(0)
        write_short(1<<iStyle)
        message_end()
        
        remove_task
(TASK_HIDE_TUTOR+id)
        set_task(get_pcvar_num(gMsgTutorTime) < 5 ? 5.0 : get_pcvar_float(gMsgTutorTime), "Remove_TutorMsg", TASK_HIDE_TUTOR+id)
 
}
 
public Remove_TutorMsg
(taskid)
{
        new id = (taskid > TASK_HIDE_TUTOR) ? (taskid - TASK_HIDE_TUTOR) : taskid
        message_begin
(MSG_ONE , gMsgTutorClose, {0, 0, 0}, id)
        message_end()
}

Пример:
Код: Выделить всё
Create_TutorMsg(id"Вы успешно сбросили свой счёт!"01
Последний раз редактировалось Retro-kolt Lincoln 06 мар 2012, 20:09, всего редактировалось 4 раз(а).
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение navigator » 26 ноя 2016, 12:35

А как сделать чтобы сообщения в туторе выводились по русски?
Аватара пользователя
navigator
 
Сообщения: 65
Зарегистрирован: 03 фев 2011, 21:35
Откуда: Уфа.
Благодарил (а): 18 раз.
Поблагодарили: 3 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение StRiKeR.csF » 28 ноя 2016, 04:51

Написать их на русском языке.
Чего добился ты и бла, бла, бла
Тут, типа, посыл был, но админ его потёр :(

Skype: nestle.csf
-В чём сила, брат?
-Сила в Debug.log xD
Аватара пользователя
StRiKeR.csF
Скриптер
 
Сообщения: 771
Зарегистрирован: 03 июн 2011, 06:26
Откуда: Кубань
Благодарил (а): 126 раз.
Поблагодарили: 181 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++
C#
JavaScript
PHP(+MySQL)
Assembler

Re: Оцените stock Тутор сообщений с CZ.

Сообщение navigator » 28 ноя 2016, 17:09

StRiKeR.csF писал(а):Написать их на русском языке.

Так писал иероглифы выходят, кодировку на UTF без BOM тоже ставил, может еще что подскажите?
Аватара пользователя
navigator
 
Сообщения: 65
Зарегистрирован: 03 фев 2011, 21:35
Откуда: Уфа.
Благодарил (а): 18 раз.
Поблагодарили: 3 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение L4D2 » 29 ноя 2016, 18:56

Тодже вопрос интересует.
Анси так же.
хм.

==============================================
|| Пишу не большие плагины под заказ: Заказ онлайн (Кликабельно)
|| Ссылка на официальный топик: заказ плагинов.
|| Желаешь оставить отзыв: тебе сюда(кликни).
==============================================
Аватара пользователя
L4D2
 
Сообщения: 792
Зарегистрирован: 25 июн 2011, 19:26
Благодарил (а): 240 раз.
Поблагодарили: 100 раз.
Языки программирования: Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Leonidddd » 29 ноя 2016, 23:14

Возможно, он работает по принципу motd окна и там нужна кодировка UTF-8. Попробую, как только смогу.


UDP: Раскидайте файлы по папкам и можете опробовать код:

Код: Выделить всё
#include <amxmodx>
 
#define TASK_HIDE_TUTOR 8800
 
static gMsgTutorClose
, gMsgTutorText, gMsgTutorTime;
 
public plugin_init
()
{
    gMsgTutorClose = get_user_msgid("TutorClose");
    gMsgTutorText = get_user_msgid("TutorText");
    gMsgTutorTime = register_cvar("msg_tutor_time", "8") // длительность показа сообщения min 5.
    
    
    register_clcmd
("say /testt", "testing");
    
    register_dictionary
("test_dictionary.txt");
}
 
public testing
(id){
    new message[128];
    formatex(message, charsmax(message), "%L", LANG_PLAYER, "TD_HELLO");
    
    Create_TutorMsg
(id, message, 0, 1);
}

public plugin_precache()
{
    precache_generic("gfx/career/icon_i.tga")
    precache_generic("gfx/career/icon_skulls.tga")
    precache_generic("gfx/career/round_corner_ne.tga")
    precache_generic("gfx/career/round_corner_nw.tga")
    precache_generic("gfx/career/round_corner_se.tga")
    precache_generic("gfx/career/round_corner_sw.tga")
 
    precache_generic
("resource/TutorScheme.res")
    precache_generic("resource/UI/TutorTextWindow.res")
 
    precache_sound
("events/enemy_died.wav")
    precache_sound("events/friend_died.wav")
    precache_sound("events/task_complete.wav")
    precache_sound("events/tutor_msg.wav")
}
 
stock Create_TutorMsg
(id, szMsg[], iStyle, bSound)
{
    if (bSound)
    {
        switch(iStyle)
        {
            case 1: client_cmd(id, "spk events/friend_died.wav")
            case 2: client_cmd(id, "spk events/enemy_died.wav")
            case 5: client_cmd(id, "spk events/task_complete.wav")
            default: client_cmd(id, "spk events/tutor_msg.wav")
        }
    }
    
    message_begin
(MSG_ONE , gMsgTutorClose, {0, 0, 0}, id)
    message_end()
    
    client_print
(id, print_chat, "DEBUG : %s", szMsg);
    
    message_begin
(MSG_ONE , gMsgTutorText, {0, 0, 0}, id)
    write_string(szMsg)
    write_byte(0)
    write_short(0)
    write_short(0)
    write_short(1<<iStyle)
    message_end()
    
    remove_task
(TASK_HIDE_TUTOR+id)
    set_task(get_pcvar_num(gMsgTutorTime) < 5 ? 5.0 : get_pcvar_float(gMsgTutorTime), "Remove_TutorMsg", TASK_HIDE_TUTOR+id)

}
 
public Remove_TutorMsg
(taskid)
{
    new id = (taskid > TASK_HIDE_TUTOR) ? (taskid - TASK_HIDE_TUTOR) : taskid
    message_begin
(MSG_ONE , gMsgTutorClose, {0, 0, 0}, id)
    message_end()
}


Внимание! В файле test_dictionary.txt обязательно должна быть кодировка ANSI! При открытии с блокнота - она собьется в UTF-8(если не ошибаюсь), при UTF-8 без BOM так же и будут показаны иероглифы.

Если на клиенте просто черный экран справа вверху без текста, то значит нету .gfx/.res файлов на клиенте. Не подгрузилось через precache_generic .
Можете себе залить вручную в клиент файлы с папок resource и gfx в папку cstrike.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.

Re: Оцените stock Тутор сообщений с CZ.

Сообщение navigator » 03 дек 2016, 07:11

Сам спросил а потом забыл про тему :-) т.к. сам разобрался, сделал также как и постом выше, сделал словарь в нем поставил кодировку ANSI, а сам плагин в UTF8 без BOM главное не пишите букву (я) маленькую в словаре иначе весь текст дальше исчезнет!
По поводу
Leonidddd писал(а):Если на клиенте просто черный экран справа вверху без текста, то значит нету .gfx/.res файлов на клиенте. Не подгрузилось через precache_generic .
Можете себе залить вручную в клиент файлы с папок resource и gfx в папку cstrike.

Не обязательно, если игрок зашел первый раз на сервер то ему все закачалось но он также будет видеть темную полоску пока не перезапустит CS, я просто вешал такой информер для тех кто не может воспользоватся микрофоном потому что мало фрагов (типа защита от микрофонных флудеров), а потом подумал а смысл если он его все равно не увидет т.к. первый раз зашел на сервер и .gfx еще не применились

А вот вопрос, у меня на сервере этот информер сообщает о последнем раунде, установки бомбы, и тем у кого забанили микрофон, но вот немного не удобно если он открывается то пропадают сообщения (правый верхний угол) кто кого убил это не совсем удобно, можно тутор как то ниже опустить где к примеру показывается табличка кто говорит в микро?
Аватара пользователя
navigator
 
Сообщения: 65
Зарегистрирован: 03 фев 2011, 21:35
Откуда: Уфа.
Благодарил (а): 18 раз.
Поблагодарили: 3 раз.
Опыт программирования: Меньше месяца
Языки программирования: Counter-Strike 1.6

Пред.

Вернуться в Скриптинг

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

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