Divisor

Свой человек
Пользователь
Сообщения
18
Розыгрыши
0
Репутация
0
Реакции
1
Баллы
525
Any form to make it fast? for example, in L2PatchD has an option to make it load in a few seconds (npc spawning take some minutes), im interested in the fast load, may be later on the EnterWorld. MasterToma i invoke you
 

This is for GF possible.
 
This works in c4, fast load at cost of IOPool

[NPC Server]
ServerHost={{127.0.0.1;2002;{{127.0.0.1};};};}
ServerBanIpList={}
; запускать в процессе загрузки
StartAtLoad=False
;StartAtLoad=True
; 0 - спрятать окно, 1 - обычный, 2 - свернуто, 3 - развернуто
ShowMode=1
; позиционирование окна если ShowMode=1
PosX=600
PosY=600
SizeX=600
SizeY=300
; быстрая загрузка нпц, проверка на прочность
; default 2, 8192 что бы грузить все в 1 момент, создает высокий pending write и требует достаточного количества IOPool
NPCLoadCountAtTick=8192
 
You have to decrease timer in L2NPC. here is pseudo code

Код:
void CNpcMakerDB::TimerExpired(intptr_t id)
{
    guard(__FUNCTIONW__);

    ProcessOneNpcMaker();
    if (ProcessOneNpcMaker())
    {
        // AddTimer(100, 0); FIXED: speeded up 10 times
        AddTimer(10, 0);
    }
}

This let L2NPC to send NPC spawn request 10 times faster to L2Server. But L2Server itself has it's own timer, 200ms. So, you have to set it to value you need. You can use extender, or just change binaries manually. Those are just int numbers.

If you are skilled enough with extenders, here is the way how to remove timers at all:

Код:
void CNpcMakerDB::TimerExpired(intptr_t id)
{
    guard(__FUNCTIONW__);

    while (ProcessOneNpcMaker())
    {
        ; // loop for all NPC without timeouts
    }
}

Unfortunately, I have addresses for C1 binaries only. But I checked C4, and newest chronicles - all is the same as in C1.
 
Thank you so much, i'm a newbie but almost try. CFF Explorer is appropiate for change the values of AddTimer?
 
Thanks Master! downloading Ghidra
 
Thank youMasterToma
but if I remove the limit, L2server will get it ~14000 packets within a second yes? Has anyone tested it yet?
 
I'm trying but i can't for now... If you do it all packets will go to L2Server but L2Server has a +-200ms timer and the NPC will not spawn quick.
the idea is divide the timers in L2Server and L2NPC by 10 to load 10x faster and spawn in world.

Any help will be accepted to make it possible.

C++:
void CNpcMakerDB::TimerExpired (int timer_id) {
    while ( ProcessOneNpcMaker() )
    {
        // Put Timer or leave void 
    }
    while ( ProcessOneNpcMakerEx() )
    {
        // Put Timer or leave void
    }
}

That's the code but i dont know how to put it in a extender and make it run, WriteCall?
I dont have the ProcessOneNpcMaker/Ex

//summon2 65535 MasterToma

[QUOTE = "kick, post: 113120, miembro: 1"]
[USER = 7731] MasterToma [/ USER], sin presupuesto
[/CITAR]
what is it ??

im trying to get help for make an extender and this fuckin' guys come with animated movies -.-". Someone can help? xD
 
Последнее редактирование модератором:
Назад
Сверху Снизу