• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Иконка ресурса

Интерфейс хф + исходники 0.638

Нет прав для скачивания
Rolo держи апдейт, брат !
 

Вложения

  • holiday_special.rar
    1,8 КБ · Просмотры: 101
Реакции: Rolo
Monokini2 обновил(а) ресурс Интерфейс хф + исходники новой записью:

продолжаем натягивать сову


Узнать больше об этом обновлении...
 

Изменение размера инвентаря как то так.
Я инвентарь не делал, просто приклеил шапку и минимайз попробовал свой сделать. просто перерисуй из настроек стилей заново пока
 
Реакции: Deom
Багрепорт надо?)
1) Создание нового чара порождает несколько фейк-чаров. После релога, все ок.

2) Урон отлетает от той цели, которая в таргете, а не по которой идет атака непосредственно

3) При фейле АТТ, умирают кнопки управления и нужно переоткрывать камень(допускаю, что это может быть моя пакетка)

а так, вроде часть старых багов пофикшена. Годный апдейт, спасибо.
 
Хм 1. интересно, первый раз вообще такое вижу, есть лайв сервер? можно сделать фильтр по 0 лвлу попробовать. У каждой сборки свои приколы с пакетами и их таймингом, сложно на всех стульях усидеть
2. Блин, я вообще забыл это отключить, дамаг только на текущем таргете да и на аое месиво, в след обнове дамаг уберу или под галку какую спрячу
3. Это еще с deadza окно, я там почти ничего не трогал
 
еще небольшой багрепорт - при получении нескольких писем, и в каком нибудь из писем есть предмет, который можно забрать, то счетчик минусует 1 при прочтении, и еще минусует 1 при нажатии на кнопку ресива вещи (проверял на двух сервах)
 
ну уже не зря
 
ну у меня таргет эффект так сделан, как говорится шо смог, по идее туда можно с интерфейса и скорость и пульсацию настраивать и картинку
C++:
class Target extends Emitter; // DynamicProjector

var DynamicProjector TestDynamicProjector;

var bool saveScale;
var float scale;
var float prevscale;

var rotator R;

var bool InitTick;
var bool InitTimer;

var int targetID;


function PostBeginPlay()
{

    Super.PostNetBeginPlay();

    targetID =  Owner.CreatureID;

    TestDynamicProjector = Spawn(class'DynamicProjector', Owner, , , Rotation);
    TestDynamicProjector.SetDrawScale(0);
    TestDynamicProjector.FrameBufferBlendingOp = PB_AlphaBlend;
    TestDynamicProjector.MaterialBlendingOp = PB_None;
    self.SetBase(TestDynamicProjector);
    TestDynamicProjector.bClipBSP = true;
    TestDynamicProjector.bClipStaticMesh = true;
    TestDynamicProjector.bProjectOnUnlit = true;
    TestDynamicProjector.FOV = 1;

    SetTimer(0.05, false);
}


function FindMountScale()
{
    local Pawn P;
    
    foreach RadiusActors(class'Pawn', P, 500, TestDynamicProjector.Location)
    {
        if (P.CreatureID == targetID && P.RidePawn.Name != '')
        {
            self.SetOwner(P);
            scale =  P.CollisionRadius/110;
            InitTick = true;
            break;
        }
    }
    SetTimer(0.01, false);
}


function FindNewPawn()
{
    local Pawn P;

    foreach RadiusActors(class'Pawn', P, 500, TestDynamicProjector.Location)
    {   
        if (P.CreatureID == targetID && P.RidePawn.Name == '')
        {
            self.SetOwner(P);
            scale =  P.CollisionRadius/110;
            InitTick = true;
            break;
        }
    }
    SetTimer(0.01, false);   
}


function Tick(float deltatime)
{
    if (InitTick)
    {
        if (Owner != None)
        {
            TestDynamicProjector.DetachProjector();
            TestDynamicProjector.SetLocation(Owner.Location);
            TestDynamicProjector.AttachProjector();
        }
    }
    super.Tick(deltatime);
}


function Timer()
{
    if (!InitTimer)
    {
        if (TestDynamicProjector.ProjTexture.Name == 'None')
        {
            scale = TransientSoundRadius;
            prevscale = scale;
            Emitters[0].Texture.UClampMode = TC_Clamp;
            Emitters[0].Texture.VClampMode = TC_Clamp;
            TestDynamicProjector.ProjTexture = Emitters[0].Texture;
            InitTimer = true;
            InitTick = true;
            SetTimer(0.01, false);
        }
    }
    else
    {
        if (TransientSoundVolume == 1)
        {
            if (!InitTick)
            {
                if (Owner == None)   
                    FindNewPawn();
                else
                    FindMountScale();
                return;
            }
                
            if (Owner == None)
            {
                InitTick = false;
                TestDynamicProjector.SetDrawScale(0);
                SetTimer(0.03, false);
                return;
            }

            if (Pawn(Owner).CurRideType != 0)    // change effect scale when use mount
            {
                if (!saveScale)
                {
                    InitTick = false;
                    saveScale = true;
                    prevscale = scale;
                    TestDynamicProjector.SetDrawScale(0);
                    SetTimer(0.03, false);
                    return;
                }
            }
            else
            {
                if (saveScale)
                {
                    saveScale = false;
                    scale = prevscale;
                }
            }
        }



        if (int(m_fCurTime) % 2 == 0)
        {
            TestDynamicProjector.SetDrawScale((1 + (m_fCurTime - int(m_fCurTime))*0.33) * scale);        // scale range ~1.0-1.33       
        }
        else
        {
            TestDynamicProjector.SetDrawScale((1.3 - (m_fCurTime - int(m_fCurTime))*0.33) * scale);
        }
        
        
        R.Yaw = - 1000 * m_fCurTime;
        TestDynamicProjector.SetRotation(R);
        
        
        SetTimer(0.01, false);
    }
}


event Destroyed()
{
    TestDynamicProjector.SetDrawScale(0);
    Level.ObjectPool.FreeObject(TestDynamicProjector.ProjTexture);
    TestDynamicProjector.ProjTexture = None;
    TestDynamicProjector.NDestroy();
    TestDynamicProjector = None;
    Super.Destroyed();
}


defaultproperties
{
    Rotation=(Pitch=-16384,Yaw=0,Roll=0)
    R=(Pitch=-16384,Yaw=0,Roll=0)
    Begin Object Class=SpriteEmitter Name=SpriteEmitter1
        MaxParticles=1
        UniformSize=True
        SizeScale(0)=(RelativeSize=1.000000)
        InitialParticlesPerSecond=1.000000
        AutomaticInitialSpawning=False
        Texture=None
        LifetimeRange=(Min=1.000000,Max=1.000000)
        Disabled=True
        Name="SpriteEmitter1"
     End Object
     Emitters(0)=SpriteEmitter'SpriteEmitter1'
     bNoDelete=False
}
 
Все изображения и файлы загружайте только на наш сервер! Для этого используйте кнопку "Загрузить файл", расположенную ниже или просто перетащите необходимые файлы/изображения со своего компьютера в окно редактора.
Да, я все прекрасно понимаю, но проблема заключается в следующем.
Я уже пытался исправить ваш скрипт для версии Interlude, но текстура будет статичной и эффекта нет вообще. В любом случае, спасибо за внимание!


 
А не подскажите из Actor/Pawn можно как-то стянуть урон со скиллов, по аналогии с NPrimeAction для автооатак?
 

    sber

    Баллов: 5
    ЧУВАК ПРОСТО ОФИГЕНЕН!) РЕСПЕКТ ЗА ПАТЧ!!!
так, покекать и убить фепесы, попытка в прикреплении дамага на птсе рпг-клаба)) но точности для скиллов увы не хватает (хз откуда значение урона со скиллов стянуть, руинят сообщения урона от рефлекта, отсутствие сообщения успеха дебаффов, ну и станы со слипами), вообщем так для красоты больше, индикаторы целей для себя и для пета не забудьте в xdat

 

Вложения

  • MonIca_Damage.rar
    20,3 КБ · Просмотры: 43

    Rolo

    Баллов: 21
    За Багападобнасть!1!!1
nice work with the textures, looks awesome!
 
Хотелось переделать макропанельку в болеее настраиваемую , но почему то при выставлении строк больше 8 (дефолтный размер макро окна 6x8строк) начинает съедатся отображение крайней строки, по столбцам такого вроде не обнаружено. Какие-то внутренние ограничения?
 
Интересно ещё обновления будут? Будут исправления в шапках? А то где то их 2 а где то от эссенс. Хотелосьбы везде одинаковые)