включать и выключать эффекты и фог

AlhimN1

Пляшущий с бубном
VIP
Сообщения
273
Розыгрыши
0
Решения
1
Репутация
370
Реакции
274
Баллы
222
как то можно включать и выключать эмиттеры и фог через команды с сервера?
кто то такое делал?
 
Как вариант через эвенттриггеры можно попробовать - включают/выключают "событие" с заданным ид в конкретном месте карты.
Java:
package l2p.gameserver.network.s2c;

import l2p.gameserver.network.components.ServerPackets;

public class EventTrigger extends L2GameServerPacket
{
    private int _id;
    private boolean _active;

    public EventTrigger(int id, boolean active)
    {
        _id = id;
        _active = active;
    }

    @Override
    protected final void writeImpl()
    {
        writeId(ServerPackets.EVENT_TRIGGER);
        writeD(_id);
        writeC(_active);
    }
}
 
Оверпостинг
который FOG info

Как вариант через эвенттриггеры можно попробовать - включают/выключают "событие" с заданным ид в конкретном месте карты.
Java:
package l2p.gameserver.network.s2c;

import l2p.gameserver.network.components.ServerPackets;

public class EventTrigger extends L2GameServerPacket
{
    private int _id;
    private boolean _active;

    public EventTrigger(int id, boolean active)
    {
        _id = id;
        _active = active;
    }

    @Override
    protected final void writeImpl()
    {
        writeId(ServerPackets.EVENT_TRIGGER);
        writeD(_id);
        writeC(_active);
    }
}
та я вот смотрю как можно через уже в существующий скрипт баюма например добавить туда включение эмиттера и выключение фога
 
Код:
class'UIDATA_PAWNVIEWER'.static.ExecuteCommand("show Particles");
class'UIDATA_PAWNVIEWER'.static.ExecuteCommand("show fog");
 
AlhimN1, в интерфейс. ) Ну или через админку юзать /// и то что в скобках.
 
AlhimN1, та костьілять, конечно. ) Вроде как задуманьіх корейцами таких механик не предусмотрено. :unsure:
 
  • Ха-ха-ха
Реакции: Rolo
AlhimN1, не ну так, то Gaikotsu найадекватнейший метод описал, в емитерьі изи запихнуть необходимьіе гейм ивентьі и дать ему EventCmd=LEC_Show, а дальше засьілать ему в пакете ид и тру/фолс соответственно. А туман вот хз, реагирует на такое или не, если не - можна дефолтньій поудалять и симитировать его ефектами, да тоже рулить потом сервером. ) Я вот подобньім вопросом задался, только в логин стейте (лобби), но туда серваком не достучаться таким образом. )

Код:
Begin Map
Begin Actor Class=Emitter Name=Emitter79
    Begin Object Class=SpriteEmitter Name=SpriteEmitter2048
        Acceleration=(Z=-200.000000)
        ColorScale(0)=(Color=(B=255,G=225,R=164,A=255))
        ColorScale(1)=(RelativeTime=1.000000,Color=(B=255,G=222,R=155,A=255))
        ColorMultiplierRange=(X=(Min=0.400000,Max=0.600000),Y=(Min=0.100000,Max=0.300000),Z=(Min=0.100000,Max=0.100000))
        Opacity=0.230000
        FadeOutStartTime=3.500000
        FadeOut=True
        FadeInEndTime=1.000000
        FadeIn=True
        MaxParticles=150
        WeatherRangeTime(0)=(Min=200.000000,Max=210.000000)
        WeatherRangeTime(1)=(Min=400.000000,Max=410.000000)
        WeatherSoundCheck=True
        Name="smog61"
        StartLocationOffset=(Z=-1050.000000)
        StartLocationRange=(X=(Min=-1024.000000,Max=1024.000000),Y=(Min=-1024.000000,Max=1024.000000),Z=(Min=-200.000000,Max=200.000000))
        StartLocationPolarRange=(X=(Max=360.000000),Y=(Min=80.000000,Max=90.000000),Z=(Min=120.000000,Max=160.000000))
        AlphaTest=False
        RevolutionsPerSecondRange=(Z=(Min=0.100000,Max=0.300000))
        SpinsPerSecondRange=(X=(Min=0.010000,Max=0.010000))
        StartSpinRange=(X=(Max=1.000000))
        UseSizeScale=True
        UseRegularSizeScale=False
        UniformSize=True
        SizeScale(0)=(RelativeSize=1.000000)
        SizeScale(1)=(RelativeTime=1.000000,RelativeSize=3.000000)
        StartSizeRange=(X=(Min=80.000000,Max=120.000000),Y=(Min=80.000000,Max=120.000000),Z=(Min=80.000000,Max=120.000000))
        InitialParticlesPerSecond=50.000000
        DrawStyle=PTDS_AlphaBlend
        Texture=Texture'LineageEffectsTextures.Particles3.fx_m_t4003'
        TextureUSubdivisions=2
        TextureVSubdivisions=2
        UseRandomSubdivision=True
        SubdivisionEnd=3
        LifetimeRange=(Min=5.000000,Max=5.000000)
        StartVelocityRange=(X=(Min=-30.000000,Max=30.000000),Y=(Min=-30.000000,Max=30.000000),Z=(Min=20.000000,Max=20.000000))
        VelocityLossRange=(X=(Min=2.000000,Max=2.000000),Y=(Min=2.000000,Max=2.000000),Z=(Min=2.000000,Max=2.000000))
        WarmupTicksPerSecond=1.000000
        RelativeWarmupTime=1.000000
        UseSoftParticle=True
        SoftParticleFadeDist=50.000000
        Name="SpriteEmitter2048"
    End Object
    Emitters(0)=SpriteEmitter'myLevel.SpriteEmitter2048'
    AutoReplay=True
    RotPerSecond=(Yaw=500)
    VisibleLimit=(Min=50.000000,Max=2500.000000)
    VisibilityInterpRange=150.000000
    bUpdate=True
    bDynamicActorFilterState=True
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo6',iLeaf=53,ZoneNumber=1)
    Tag="Emitter"
    L2GameEvent(0)=(EventID=20175020,EventCmd=LEC_Show)
    bSunAffect=True
    Group="None,BloodRain,BloodRain_C"
    PhysicsVolume=PhysicsVolume'myLevel.PhysicsVolume0'
    Location=(X=12280.017578,Y=-26598.808594,Z=-2873.124268)
    DrawScale=5.000000
    bUnlit=False
    bDirectional=True
    bSelected=True
    TexModifyInfo=(Color=(B=255,G=255,R=255,A=255),AlphaOp=1,ColorOp=1)
    Name="Emitter79"
End Actor
Begin Surface
End Surface
End Map
Особое внимание
L2GameEvent(0)=(EventID=20175020,EventCmd=LEC_Show)
1727801021400.png
 
AlhimN1, не ну так, то Gaikotsu найадекватнейший метод описал, в емитерьі изи запихнуть необходимьіе гейм ивентьі и дать ему EventCmd=LEC_Show, а дальше засьілать ему в пакете ид и тру/фолс соответственно. А туман вот хз, реагирует на такое или не, если не - можна дефолтньій поудалять и симитировать его ефектами, да тоже рулить потом сервером. ) Я вот подобньім вопросом задался, только в логин стейте (лобби), но туда серваком не достучаться таким образом. )

Код:
Begin Map
Begin Actor Class=Emitter Name=Emitter79
    Begin Object Class=SpriteEmitter Name=SpriteEmitter2048
        Acceleration=(Z=-200.000000)
        ColorScale(0)=(Color=(B=255,G=225,R=164,A=255))
        ColorScale(1)=(RelativeTime=1.000000,Color=(B=255,G=222,R=155,A=255))
        ColorMultiplierRange=(X=(Min=0.400000,Max=0.600000),Y=(Min=0.100000,Max=0.300000),Z=(Min=0.100000,Max=0.100000))
        Opacity=0.230000
        FadeOutStartTime=3.500000
        FadeOut=True
        FadeInEndTime=1.000000
        FadeIn=True
        MaxParticles=150
        WeatherRangeTime(0)=(Min=200.000000,Max=210.000000)
        WeatherRangeTime(1)=(Min=400.000000,Max=410.000000)
        WeatherSoundCheck=True
        Name="smog61"
        StartLocationOffset=(Z=-1050.000000)
        StartLocationRange=(X=(Min=-1024.000000,Max=1024.000000),Y=(Min=-1024.000000,Max=1024.000000),Z=(Min=-200.000000,Max=200.000000))
        StartLocationPolarRange=(X=(Max=360.000000),Y=(Min=80.000000,Max=90.000000),Z=(Min=120.000000,Max=160.000000))
        AlphaTest=False
        RevolutionsPerSecondRange=(Z=(Min=0.100000,Max=0.300000))
        SpinsPerSecondRange=(X=(Min=0.010000,Max=0.010000))
        StartSpinRange=(X=(Max=1.000000))
        UseSizeScale=True
        UseRegularSizeScale=False
        UniformSize=True
        SizeScale(0)=(RelativeSize=1.000000)
        SizeScale(1)=(RelativeTime=1.000000,RelativeSize=3.000000)
        StartSizeRange=(X=(Min=80.000000,Max=120.000000),Y=(Min=80.000000,Max=120.000000),Z=(Min=80.000000,Max=120.000000))
        InitialParticlesPerSecond=50.000000
        DrawStyle=PTDS_AlphaBlend
        Texture=Texture'LineageEffectsTextures.Particles3.fx_m_t4003'
        TextureUSubdivisions=2
        TextureVSubdivisions=2
        UseRandomSubdivision=True
        SubdivisionEnd=3
        LifetimeRange=(Min=5.000000,Max=5.000000)
        StartVelocityRange=(X=(Min=-30.000000,Max=30.000000),Y=(Min=-30.000000,Max=30.000000),Z=(Min=20.000000,Max=20.000000))
        VelocityLossRange=(X=(Min=2.000000,Max=2.000000),Y=(Min=2.000000,Max=2.000000),Z=(Min=2.000000,Max=2.000000))
        WarmupTicksPerSecond=1.000000
        RelativeWarmupTime=1.000000
        UseSoftParticle=True
        SoftParticleFadeDist=50.000000
        Name="SpriteEmitter2048"
    End Object
    Emitters(0)=SpriteEmitter'myLevel.SpriteEmitter2048'
    AutoReplay=True
    RotPerSecond=(Yaw=500)
    VisibleLimit=(Min=50.000000,Max=2500.000000)
    VisibilityInterpRange=150.000000
    bUpdate=True
    bDynamicActorFilterState=True
    bLightChanged=True
    Level=LevelInfo'myLevel.LevelInfo0'
    Region=(Zone=ZoneInfo'myLevel.ZoneInfo6',iLeaf=53,ZoneNumber=1)
    Tag="Emitter"
    L2GameEvent(0)=(EventID=20175020,EventCmd=LEC_Show)
    bSunAffect=True
    Group="None,BloodRain,BloodRain_C"
    PhysicsVolume=PhysicsVolume'myLevel.PhysicsVolume0'
    Location=(X=12280.017578,Y=-26598.808594,Z=-2873.124268)
    DrawScale=5.000000
    bUnlit=False
    bDirectional=True
    bSelected=True
    TexModifyInfo=(Color=(B=255,G=255,R=255,A=255),AlphaOp=1,ColorOp=1)
    Name="Emitter79"
End Actor
Begin Surface
End Surface
End Map
Особое внимание
L2GameEvent(0)=(EventID=20175020,EventCmd=LEC_Show)
Посмотреть вложение 78570
ну на скок я понял он включается в папке систем, или всё же на сервере? можно поподробнее
 
AlhimN1, на сервере, не знаю, правда, когда єтот пакет появился. )) В сам ефект на карте ставиться вот то что я под спойлер кинул, а сервером шлется просто
Java:
                activeChar.sendPacket(new EventTrigger(20175020, false)); //вьіключить
                activeChar.sendPacket(new EventTrigger(20175020, true)); //включить
Ну весь пакет Gaikotsu вон вьіше вьіложил уже.
 
1. ERROR in \CrumaTower.java (at line 21)
import net.sf.l2j.gameserver.network.serverpackets.EventTrigger;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The import net.sf.l2j.gameserver.network.serverpackets.EventTrigger cannot be resolved
----------
 
AlhimN1, импортьі не под Вашу сборку. )
 
AlhimN1, я буквально вчера крутил такие ефектьі и думал как его в лобби закостьілять. ) В игре все ок с єтим, в геймстейте без проблем.
 
о ну можно и там
AlhimN1, в лобби? Та не, туда такой пакет не кинуть, если я правильно понимаю, то клиент шлет его нахрен, ибо не тот стейт для ингейм пакетов.
а каких хроник лобби?
Та мое кастомное, оно не базируется на дефолтньіх.
 
AlhimN1, в лобби? Та не, туда такой пакет не кинуть, если я правильно понимаю, то клиент шлет его нахрен, ибо не тот стейт для ингейм пакетов.

Та мое кастомное, оно не базируется на дефолтньіх.
ну клиент какой? не интерлюд же за основу, там походу у тя хф
 
Назад
Сверху Снизу