Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Вопрос о ExShowScreenMessage
#11
sendPacket(new ExShowScreenMessage("TEXT",5000));

Вот строка, делал через
ExShowScreenMessage text1 = new ExShowScreenMessage("TEXT", 5000);
sendPacket(text);

Такая же канитель...
Использую в L2PcInstance

Вот получившийся класс:
Код:
package net.sf.l2j.gameserver.network.serverpackets;

public class ExShowScreenMessage extends L2GameServerPacket
{
    private String _text;
    private int _time;
    private ScreenMessageAlign _position;
    private boolean _sizeBig;
    private boolean _effect;
    private int _type;
    private int _sysMessageId;
    
    public static enum ScreenMessageAlign
    {
        TOP_LEFT,
        TOP_CENTER,
        TOP_RIGHT,
        MIDDLE_LEFT,
        MIDDLE_CENTER,
        MIDDLE_RIGHT,
        BOTTOM_CENTER,
        BOTTOM_RIGHT,
    }
    
    public ExShowScreenMessage(String text, int time)
    {
        this(text, time, ScreenMessageAlign.TOP_CENTER, true);
    }
    
    public ExShowScreenMessage(String text, int time, ScreenMessageAlign pos, boolean sizeBig)
    {
        this(text, time, pos, sizeBig, false);
    }
    
    public ExShowScreenMessage(String text, int time, ScreenMessageAlign pos, boolean sizeBig, boolean effect)
    {
        _text = text;
        _time = time;
        _position = pos;
        _sizeBig = sizeBig;
        _effect = effect;
        _type = 1;
        _sysMessageId = -1;
    }
    @Override
    public String getType()
    {
        return "ExShowScreenMessage";
    }
    @Override
    protected void writeImpl()
    {
        writeC(0xFE);
        writeH(0x38);
        writeD(_type); // 0 - system messages, 1 - your defined text
        writeD(_sysMessageId); // system message id (_type must be 0 otherwise no effect)
        writeD(_position.ordinal() + 1); // размещение текста
        writeD(0x00);
        writeD(_sizeBig ? 1 : 0); // размер текста (0 или 1)
        writeD(0x00);
        writeD(0x00);
        writeD(!_effect ? 0 : 1); // Медленное исчезновение
        writeD(_time); // время отображения сообщения в милисекундах
        writeD(0x01);
        writeS(_text);
    }
}
Mike-S.ru
Ответ
#12
PHP код:
<?php 
package net
.sf.l2j.gameserver.serverpackets;

public class
ExShowScreenMessage extends L2GameServerPacket
{
public static enum
SMPOS
{
DUMMY, TOP_LEFT, TOP_CENTER, TOP_RIGHT, MIDDLE_LEFT, MIDDLE_CENTER, MIDDLE_RIGHT, BOTTOM_CENTER, BOTTOM_RIGHT,
}

private final
int _type;
private final
int _sysMessageId;
private final
int _hide;
private final
int _unk2;
private final
int _unk3;
private final
int _unk4;
private final
int _size;
private final
int _position;
private final
boolean _effect;
private final
String _text;
private final
int _time;

public
ExShowScreenMessage(String text, int time)
{
_type = 1;
_sysMessageId = -1;
_hide = 0;
_unk2 = 0;
_unk3 = 0;
_unk4 = 0;
_position = 0x02;
_text = text;
_time = time;
_size = 0;
_effect = false;
}

public
ExShowScreenMessage(String text, int time, SMPOS pos, boolean effect)
{
this(text, time, pos.ordinal(), effect);
}

public
ExShowScreenMessage(String text, int time, int pos, boolean effect)
{
_type = 1;
_sysMessageId = -1;
_hide = 0;
_unk2 = 0;
_unk3 = 0;
_unk4 = 0;
_position = pos;
_text = text;
_time = time;
_size = 0;
_effect = effect;
}

public
ExShowScreenMessage(int type, int messageId, int position, int unk1, int size, int unk2, int unk3, boolean showEffect, int time, int unk4, String text)
{
_type = type;
_sysMessageId = messageId;
_hide = unk1;
_unk2 = unk2;
_unk3 = unk3;
_unk4 = unk4;
_position = position;
_text = text;
_time = time;
_size = size;
_effect = showEffect;
}

// Close packet
public ExShowScreenMessage()
{
_type = 1;
_sysMessageId = -1;
_hide = 1; // hide it
_unk2 = 0;
_unk3 = 0;
_unk4 = 0;
_position = 0x02;
_text = "";
_time = 0;
_size = 0;
_effect = false;
}

@
Override
public String getType()
{
return
"[S]FE:39 ExShowScreenMessage";
}

@
Override
protected void writeImpl()
{
writeC(0xfe);
writeH(0x38);
writeD(_type); // 0 - system messages, 1 - your defined text
writeD(_sysMessageId); // system message id (_type must be 0 otherwise no effect)
writeD(_position); // message position
writeD(_hide); // hide
writeD(_size); // font size 0 - normal, 1 - small
writeD(_unk2); // ?
writeD(_unk3); // ?
writeD(_effect == true ? 1 : 0); // upper effect (0 - disabled, 1 enabled) - _position must be 2 (center) otherwise no effect
writeD(_time); // time
writeD(_unk4); // ?
writeS(_text); // your text (_type must be 1, otherwise no effect)
}
}

вызов
PHP код:
<?php 
sendPacket
(new ExShowScreenMessage(text, time));
Ответ
#13
DELETED DELETED
Mike-S.ru
Ответ
#14
Mike_S. Написал:Весело)
Код:
[javac] D:\servl2\source\java\net\sf\l2j\gameserver\network\serverpackets\ExShowScreenMessage.java:3: error: cannot find symbol
    [javac] public class ExShowScreenMessage extends L2GameServerPacket
    [javac]                                          ^
    [javac]   symbol: class L2GameServerPacket
итого 16 по всему классу)

мб все же стоит подганять код под свои сурсы?
мой код на все 100% рабочий.
Ответ
#15
Да да я вижу, package не правильный был прописан... чтож щас проверим...

Добавлено через 2 минуты
Огромное спасибо!
Код работает на 5 балов!
Mike-S.ru
Ответ
#16
Да я тоже 100% верный код скинул.. )
Ответ
#17
Походу проблема была в том, что я обновлял 1 класс после компиляции... а не 2...
Mike-S.ru
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  вопрос по поводу Server RT Lineage 2 C5 rev. 1269 ATOM 21 9,282 04-16-2020, 02:40 PM
Последний пост: Fenharell
  Вопрос про форум phpBB Sber 1 1,819 09-04-2019, 09:25 PM
Последний пост: Psycho
  Вопрос по Интерлюду SevenWitches 4 1,754 02-04-2018, 07:46 PM
Последний пост: Deazer
  Вопрос про hauthe ussyka 0 1,160 03-12-2017, 03:02 PM
Последний пост: ussyka
  Вопрос По Поводу Armorgrp.dat на хронике God MaGvayeR 1 1,611 02-21-2017, 02:50 AM
Последний пост: Zubastic
  Вопрос по аннимации Kampina 2 1,219 01-13-2016, 06:38 PM
Последний пост: Kampina
  Вопрос по ТВ Hett 5 1,834 12-22-2015, 11:01 AM
Последний пост: GGteam
  Вопрос по выбору сборки сhronicle 3 jumanji 1 1,348 11-19-2015, 07:51 PM
Последний пост: moveton
  Вопрос. Как оградить конкретную территорию Business 20 3,837 01-05-2015, 04:34 PM
Последний пост: KilRoy
  У кого осталась эта сборка Maddev rev. 79 (R1) и ВОПРОС straikmen 0 1,089 08-18-2014, 03:49 PM
Последний пост: straikmen

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)