ServerBlockingVolume принцип работы и команды с сервера?

AlhimN1

Бывалый
что то не вижу как сервер отключает и включает его ибо в параметрах актора на карте нету никаких ссылок даже через л2пе
есть знатоки грации+?

1746706998646.webp
 
вообще никаких параметров намекающих на возможность принимать команды от сервера как оно тогда работает там на грации?? оно вообще работает?
1746715326349.webp
 
вообще никаких параметров намекающих на возможность принимать команды от сервера как оно тогда работает там на грации?? оно вообще работает?
Посмотреть вложение 87050
C-подобный:
enum EL2ObjectType
{
    EL2_NORMAL,
    EL2_DOOR,
    EL2_CHAIR,
    EL2_PUB_CHAIR,
    EL2_AIRSHIPKEY,
    EL2_STATUE,
    EL2_CHAIR_SOCIAL_ACTION
};
Могу предположить что контролируется пакетом /*0x9F*/ StaticObjectPacket

C-подобный:
enum EL2ObjectType
{
    EL2_NORMAL,
    EL2_DOOR,
    EL2_CHAIR,
    EL2_PUB_CHAIR,
    EL2_AIRSHIPKEY,
    EL2_STATUE,
    EL2_CHAIR_SOCIAL_ACTION
};
Могу предположить что контролируется пакетом /*0x9F*/ StaticObjectPacket
Java:
    public StaticObjectPacket(StaticObjectInstance obj)
    {
        _staticObjectId = obj.getUId();
        _objectId = obj.getObjectId();
        _type = 0;
        _isTargetable = 1;
        _meshIndex = obj.getMeshIndex();
        _isClosed = 0;
        _isEnemy = 0;
        _maxHp = 0;
        _currentHp = 0;
        _showHp = 0;
        _damageGrade = 0;
    }
Java:
    public StaticObjectPacket(DoorInstance door, Player player)
    {
        _staticObjectId = door.getDoorId();
        _objectId = door.getObjectId();
        _type = 1;
        _isTargetable = door.getTemplate().isTargetable() ? 1 : 0;
        _meshIndex = 1;
        _isClosed = door.isOpen() ? 0 : 1; //opened 0 /closed 1
        _isEnemy = door.isAutoAttackable(player) ? 1 : 0;
        _currentHp = (int) door.getCurrentHp();
        _maxHp = door.getMaxHp();
        _showHp = door.isHPVisible() ? 1 : 0; //TODO [G1ta0] статус двери для осаждающих
        _damageGrade = door.getDamage();
    }
 
Последнее редактирование модератором:
Java:
    public StaticObjectPacket(StaticObjectInstance obj)
    {
        _staticObjectId = obj.getUId();
        _objectId = obj.getObjectId();
        _type = 0;
        _isTargetable = 1;
        _meshIndex = obj.getMeshIndex();
        _isClosed = 0;
        _isEnemy = 0;
        _maxHp = 0;
        _currentHp = 0;
        _showHp = 0;
        _damageGrade = 0;
    }
Java:
    public StaticObjectPacket(DoorInstance door, Player player)
    {
        _staticObjectId = door.getDoorId();
        _objectId = door.getObjectId();
        _type = 1;
        _isTargetable = door.getTemplate().isTargetable() ? 1 : 0;
        _meshIndex = 1;
        _isClosed = door.isOpen() ? 0 : 1; //opened 0 /closed 1
        _isEnemy = door.isAutoAttackable(player) ? 1 : 0;
        _currentHp = (int) door.getCurrentHp();
        _maxHp = door.getMaxHp();
        _showHp = door.isHPVisible() ? 1 : 0; //TODO [G1ta0] статус двери для осаждающих
        _damageGrade = door.getDamage();
    }
теоретически можно сделать пол из сервер блок вола который в определённый момент будет пропадать и персонажи упадут вниз?)
 
теоретически можно сделать пол из сервер блок вола который в определённый момент будет пропадать и персонажи упадут вниз?)
ну если ServerID будет хоть какой-то, то наверное?
 
ну если ServerID будет хоть какой-то, то наверное?
ну вот я и хотел узнать как они работают в грации ибо там какое то взаимодействие с камнями с их помощью сделано

п.с. придумал один интересный эвент/инстанс / арену/босс зону с такой фишкой и думаю будет ли это работать ибо нету сервера на котором могу проверить
 
ну вот я и хотел узнать как они работают в грации ибо там какое то взаимодействие с камнями с их помощью сделано
я не скажу точно - меня пугает то, что у них ServerId -1 :(
Может корейцы сделали какую-то группу для -1, а может как-то по другому обрабатывается.

Вообще - если он наследуется от StaticObject - наверное можно управлять при помощи того пакета.
 
я не скажу точно - меня пугает то, что у них ServerId -1 :(
Может корейцы сделали какую-то группу для -1, а может как-то по другому обрабатывается.

Вообще - если он наследуется от StaticObject - наверное можно управлять при помощи того пакета.
Код:
class ServerBlockingVolume extends Volume
  Native
  NativeReplication;
defaultproperties
{
    bStatic=False
    bBlockActors=True
    bBlockPlayers=True
    bBlockZeroExtentTraces=False
}
собственно весь его код
он идёт как объём не как статик
но касание в нём стоит как л2моваблестатикмешактор
 
Назад
Сверху