Олимпиада: эффект на экране

WindOfChange

Пляшущий с бубном
VIP
Участник Новогоднего Фонда 2023
Победитель в номинации 2023
Победитель в номинации 2022
Сообщения
80
Розыгрыши
0
Решения
2
Репутация
60
Реакции
24
Баллы
263
Хроники
  1. Grand Cursade
Исходники
Присутствуют
Сборка
l2-scripts
Делаю олимпиаду из 3х матчей, как на мейне сейчас стоит. Столкнулся с тем, что не понимаю как вызвать эффект "TIME OUT", "KO", "VICTORY" и тп. Вопрос к знающим - они вызываются при отправке какого- либо пакета или это что-то типа эффекта, который можно вызвать? Соответственно если он вызывается, то как это сделать? Где они лежат? Прошуршал dat файлы, пакеты не нашел там ничего похожего.

c5fb0966-0640-4b47-8f58-6b7d79f1fb2f.jpeg c9bdf1e4-4804-4832-bac5-20f94452d417.jpeg
 
Последнее редактирование:
Плохо смотрели.
Это System Messages, они где-то в районе 700 идшников вроде. И названия у них особенные.
 
Решение
Да, действительно плохо смотрел, благодарю
Плохо смотрели.
Это System Messages, они где-то в районе 700 идшников вроде. И названия у них особенные.
Код:
msg_begin    id=5185    UNK_0=1    message=[+hidden_msg+ Старт Олимпиады]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Старт Олимпиады]    gfxscrnparam=[type=3 label=start locY=53 delay=0.3]    type=[flash]    msg_end
msg_begin    id=5186    UNK_0=1    message=[+hidden_msg+ Победа в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Победа в Олимпиаде]    gfxscrnparam=[type=3 label=win locY=53 delay=2.3]    type=[flash]    msg_end
msg_begin    id=5187    UNK_0=1    message=[+hidden_msg+ Поражение в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Поражение в Олимпиаде]    gfxscrnparam=[type=3 label=lose locY=53 delay=2.3]    type=[flash]    msg_end
msg_begin    id=5188    UNK_0=1    message=[+hidden_msg+ Ничья в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Ничья в Олимпиаде]    gfxscrnparam=[type=3 label=draw locY=53 delay=2.3]    type=[flash]    msg_end
msg_begin    id=5189    UNK_0=1    message=[+hidden_msg+ Окончание Олимпиады]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Окончание Олимпиады]    gfxscrnparam=[type=3 label=timeOut locY=-20]    type=[flash]    msg_end
msg_begin    id=5190    UNK_0=1    message=[+hidden_msg+ Опрокидывание в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Опрокидывание в Олимпиаде]    gfxscrnparam=[type=3 label=ko locY=-20]    type=[flash]    msg_end
msg_begin    id=5191    UNK_0=1    message=[+hidden_msg+ Олимпиада Раунд 1]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Олимпиада Раунд 1]    gfxscrnparam=[type=3 label=round labelIndex=1 locY=-20]    type=[flash]    msg_end
msg_begin    id=5192    UNK_0=1    message=[+hidden_msg+ Олимпиада Раунд 2]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Олимпиада Раунд 2]    gfxscrnparam=[type=3 label=round labelIndex=2 locY=-20]    type=[flash]    msg_end
msg_begin    id=5193    UNK_0=1    message=[+hidden_msg+ Олимпиада Раунд 3]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Олимпиада Раунд 3]    gfxscrnparam=[type=3 label=round labelIndex=3 locY=-20]    type=[flash]    msg_end
 
Последнее редактирование:
Да, действительно плохо смотрел, благодарю

Код:
msg_begin    id=5185    UNK_0=1    message=[+hidden_msg+ Старт Олимпиады]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Старт Олимпиады]    gfxscrnparam=[type=3 label=start locY=53 delay=0.3]    type=[flash]    msg_end
msg_begin    id=5186    UNK_0=1    message=[+hidden_msg+ Победа в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Победа в Олимпиаде]    gfxscrnparam=[type=3 label=win locY=53 delay=2.3]    type=[flash]    msg_end
msg_begin    id=5187    UNK_0=1    message=[+hidden_msg+ Поражение в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Поражение в Олимпиаде]    gfxscrnparam=[type=3 label=lose locY=53 delay=2.3]    type=[flash]    msg_end
msg_begin    id=5188    UNK_0=1    message=[+hidden_msg+ Ничья в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Ничья в Олимпиаде]    gfxscrnparam=[type=3 label=draw locY=53 delay=2.3]    type=[flash]    msg_end
msg_begin    id=5189    UNK_0=1    message=[+hidden_msg+ Окончание Олимпиады]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Окончание Олимпиады]    gfxscrnparam=[type=3 label=timeOut locY=-20]    type=[flash]    msg_end
msg_begin    id=5190    UNK_0=1    message=[+hidden_msg+ Опрокидывание в Олимпиаде]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Опрокидывание в Олимпиаде]    gfxscrnparam=[type=3 label=ko locY=-20]    type=[flash]    msg_end
msg_begin    id=5191    UNK_0=1    message=[+hidden_msg+ Олимпиада Раунд 1]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Олимпиада Раунд 1]    gfxscrnparam=[type=3 label=round labelIndex=1 locY=-20]    type=[flash]    msg_end
msg_begin    id=5192    UNK_0=1    message=[+hidden_msg+ Олимпиада Раунд 2]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Олимпиада Раунд 2]    gfxscrnparam=[type=3 label=round labelIndex=2 locY=-20]    type=[flash]    msg_end
msg_begin    id=5193    UNK_0=1    message=[+hidden_msg+ Олимпиада Раунд 3]    group=none    color=B09B79FF    sound=[None]    voice=[None]    win=0    font=0    lftime=0    bkg=0    anim=0    scrnmsg=[]    scrcrnparam=[]    gfxscrnmsg=[+hidden_msg+ Олимпиада Раунд 3]    gfxscrnparam=[type=3 label=round labelIndex=3 locY=-20]    type=[flash]    msg_end
А, так вот зачем эта костылина в окне чата.
1681735773775.webp
 
Чисто для информации - на более старых клиентах можно использовать этот пакет, тоже показывающий по особому оформленные сообщения на экране
У себя я к примеру его юзаю для PvP-эвентов.
Пакет существует вроде как минимум с грации, а может и даже раньше.
Java:
package l2p.gameserver.network.s2c.eventmatch;

import l2p.gameserver.network.components.ServerPackets;
import l2p.gameserver.network.s2c.L2GameServerPacket;

public class ExEventMatchMessage extends L2GameServerPacket
{
    private int _type;
    private String _message;

    public ExEventMatchMessage(int type, String message)
    {
        _type = type;
        _message = message;
    }

    @Override
    protected void writeImpl()
    {
        writeId(ServerPackets.EX_EVENT_MATCH_MESSAGE);
        writeC(_type);
        writeS(_message);
    }
}
типы сообщений
Java:
    /**
     * Виды специальных эвентовых сообщений
     */
    public enum MessageType
    {
        TEXT, // Произвольный текст
        FINISH, // Большая надпись "FINISH" посреди экрана
        START, // Большая надпись "START" посреди экрана
        GAME_OVER, // Большая надпись "GAME OVER" посреди экрана
        NUMBER_1, // Большая цифра "1" посреди экрана
        NUMBER_2, // Большая цифра "2" посреди экрана
        NUMBER_3, // Большая цифра "3" посреди экрана
        NUMBER_4, // Большая цифра "4" посреди экрана
        NUMBER_5; // Большая цифра "5" посреди экрана
    }
 
Назад
Сверху Снизу