Jump to content

eressea

Legendary Member
  • Posts

    534
  • Credits

  • Joined

  • Last visited

  • Days Won

    7
  • Feedback

    0%

Everything posted by eressea

  1. Just fixed one last problem with rabbit event (added droptime + rename event_search -> event_search_manager) Do you have some tested events you can add?
  2. Maybe I'm bringing owls to Athens, but if it helped anyone... Ignore the [drop] section, it's my custom event drop system (percent, not korea based), just use droptime_... variables OR look down below the settings (if you're experienced) [coretimeteleport] eventperiod = 2006/08/15-00:01 ~ 2010/12/31-23:59 coretime = 20:0 ~ 23:59 priceratio = 50 dayoption = 1 ~ 5 [PCCafeCouponEvent] EventPeriod = 2006/08/15-00:01 ~ 2010/12/31-23:59 EventAddedPeriod = 2006/08/15-00:01 ~ 2010/12/31-23:59 EventOrdinal = 0 coupon_item_info = 0 [XmasSantaEvent] EventPeriod = 2006/08/14-00:01 ~ 2010/12/31-23:59 ;EventPeriod = 2016/05/25-00:00 ~ 2016/06/29-23:59 buff_id_count = 1 buff_id1 = 78905346 delay_time = 30 [YearCatchEvent] EventPeriod = 2006/08/14-00:01 ~ 2010/12/31-23:59 delay_time = 30 ; FIREWORKS ;[event] ;eventname = fireworks_event ;eventnpcname = fire_event ;flagsettingtime = 120000 ;event_doing = 1 ;dropitem_count = 0 ;droptime_count = 0 ;npctime_count = 1 ;npctime0= 2016/05/25-00:00 ~ 2016/06/29-23:59 ;timevariable_count = 0 ;[npcsetting] ;npcsetting_count = 1 ;npceventname0 = fire_event ;[drop] ;maxleveldifference = 8 ;count = 3 ;item0 = 6403 ;chance0 = 5.0 ;item1 = 6404 ;chance1 = 4.0 ;item2 = 6405 ;chance2 = 1.0 ; CHRISTMASS [trees, agathion] ;[event] ;eventname = christmas ;eventnpcname = christmas ;flagsettingtime = 120000 ;event_doing = 1 ;dropitem_count = 0 ;droptime_count = 0 ;npctime_count = 1 ;npctime0 = 2016/05/25-00:00 ~ 2016/06/29-23:59 ;timevariable_count = 0 ;[npcsetting] ;npcsetting_count = 1 ;npceventname0 = christmas ;[drop] ;maxleveldifference = 8 ;count = 4 ;item0 = 5556 ;chance0 = 6.0 ;item1 = 5557 ;chance1 = 6.0 ;item2 = 5558 ;chance2 = 15.0 ;item3 = 5559 ;chance3 = 3.0 ; CHRISTMASS [turkey] ;[event] ;eventname = br_xmas_event ;eventnpcname = br_xmas_event ;flagsettingtime = 600000 ;event_doing = 1 ;dropitem_count = 0 ;droptime_count = 1 ;droptime0 = 2016/05/25-00:00 ~ 2016/06/29-23:59 ;npctime_count = 1 ;npctime0 = 2016/05/25-00:00 ~ 2016/06/29-23:59 ;timevariable_count = 0 ; PIG EVENT ;[event] ;eventname = event_mutant_pig ;eventnpcname = event_mutant_pig ;flagsettingtime = 600000 ;event_doing = 1 ;dropitem_count = 0 ;droptime_count = 0 ;npctime_count = 9 ;npctime0 = 2016/06/11-20:00 ~ 2016/06/11-23:00 ;npctime1 = 2016/06/12-16:00 ~ 2016/06/12-17:00 ;npctime2 = 2016/06/12-20:00 ~ 2016/06/12-21:00 ;npctime3 = 2016/06/13-16:00 ~ 2016/06/13-17:00 ;npctime4 = 2016/06/13-20:00 ~ 2016/06/13-21:00 ;npctime5 = 2016/06/14-16:00 ~ 2016/06/14-17:00 ;npctime6 = 2016/06/14-20:00 ~ 2016/06/14-21:00 ;npctime7 = 2016/06/15-16:00 ~ 2016/06/15-17:00 ;npctime8 = 2016/06/15-20:00 ~ 2016/06/15-21:00 ;eventperiod = 2016/06/11-00:00 ~ 2016/06/18-23:59 ;timevariable_count = 0 ; ;[npcsetting] ;npcsetting_count = 1 ;npc_eventname0 = event_mutant_pig_manager ;; RAT EVENT ; ;[event] ;eventname = event_mutant_rat ;eventnpcname = event_mutant_rat ;flagsettingtime = 600000 ;event_doing = 1 ;dropitem_count = 0 ;droptime_count = 0 ;npctime_count = 9 ;npctime0 = 2016/06/12-12:00 ~ 2016/06/12-17:50 ;npctime1 = 2016/06/12-18:00 ~ 2016/06/12-23:50 ;npctime2 = 2016/06/13-00:00 ~ 2016/06/13-23:50 ;npctime3 = 2016/06/14-00:00 ~ 2016/06/14-22:00 ;npctime4 = 2016/06/14-23:30 ~ 2016/06/15-00:30 ;npctime5 = 2016/06/15-10:00 ~ 2016/06/15-11:00 ;npctime6 = 2016/06/15-12:00 ~ 2016/06/15-13:00 ;npctime7 = 2016/06/15-14:00 ~ 2016/06/15-15:00 ;npctime8 = 2016/06/15-16:00 ~ 2016/06/15-17:00 ;eventperiod = 2016/06/12-00:00 ~ 2016/06/16-23:59 ;timevariable_count = 0 ; ;[npcsetting] ;npcsetting_count = 1 ;npc_eventname0 = event_mutant_rat_manager ; SEARCH EVENT - rabbits - MAYBE DOESN'T WORK AS EXPECTED, I'M STILL TESTING IT ; you need to go through npcpos.txt and change [EventName]=[event_search] ; to [EventName]=[event_search_manager] everywhere EXCEPT npc event_search_thing [event] eventname = event_search eventnpcname = event_search flagsettingtime = 600000 event_doing = 1 dropitem_count = 0 droptime_count = 1 droptime0 = 2016/06/14-00:00 ~ 2016/06/19-23:59 npctime_count = 8 npctime0 = 2016/06/15-00:00 ~ 2016/06/15-13:00 npctime1 = 2016/06/15-14:00 ~ 2016/06/15-23:00 npctime2 = 2016/06/16-00:00 ~ 2016/06/16-13:00 npctime3 = 2016/06/16-14:30 ~ 2016/06/16-23:30 npctime4 = 2016/06/17-10:00 ~ 2016/06/17-13:00 npctime5 = 2016/06/17-14:00 ~ 2016/06/17-23:00 npctime6 = 2016/06/18-00:00 ~ 2016/06/18-13:00 npctime7 = 2016/06/18-14:00 ~ 2016/06/18-23:00 eventperiod = 2016/06/14-00:00 ~ 2016/06/19-23:59 timevariable_count = 0 [npcsetting] npcsetting_count = 1 npc_eventname0 = event_search_manager I'll probably add more when I test it Okay, if you want my event drop system (flat probability based): hook bool CNPC::Die(CCreature *killer) at 0x72972C, do some random rolling and if desired, call 0x533E44 (add drop to given NPC) BEFORE proceeding to 0x72972C: typedef bool(__thiscall *t)(CCreature*, int, UINT64, bool, int, int, int, void*, int, void*); t f = (t) 0x00533E44; UINT32 itemOptionKey[2]; itemOptionKey[0] = 0; itemOptionKey[1] = 0; UINT16 baseAttribute[8]; baseAttribute[0] = 0xfffe; for (size_t i = 1 ; i < 8 ; ++i) { baseAttribute[i] = 0; } return f(this, itemId, count, false, 0, 0, 0, reinterpret_cast<void*>(itemOptionKey), 0, reinterpret_cast<void*>(baseAttribute));
  3. I'm no fan of hex editing, I do everything inside my extender. These are only some tiny bits that can be used without any C++ coding, function hooking, fake vtables etc. EDIT: Brand new one (BUT NOT TESTED YET, JUST PATCHED LIVE IN MEMORY ON MY TESTERVER :)) Original: 84 C0 74 47 41 B8 74 00 00 00 48 8D 15 6A E7 4F Remove annoying //load_npcsetting time condition ("can't load npc setting within 12 min."): 30 C0 74 47 41 B8 74 00 00 00 48 8D 15 6A E7 4F
  4. You must be looking at a wrong file, I can easily debug it in IDA Pro
  5. Hi, people ask me for client files I use, you can download it here: https://osamelahora.cz/gracia-client-w10.zip it contains - unpacked l2.exe (not by me) - unpacked engine.dll (not by me) with my crash fix - unpacked nwindow.dll (not by me) - d3ddrv.dll with my nogamma patch + agp message removed
  6. Hi, you can freely use these (just hexedit GF rev 83 l2server.exe and replace what you want): Original: 84 C0 74 23 48 8B 03 BA A8 0A 00 00 48 8B CB FF Allow skills on airships: 30 C0 74 23 48 8B 03 BA A8 0A 00 00 48 8B CB FF Original: 00 00 41 8A D7 49 8B CC E8 DF F7 FF FF Keep buffs on mount: 00 00 41 8A D7 49 8B CC 90 90 90 90 90 Original: F8 E6 01 B2 01 48 8B CD E8 67 D7 FE FF Keep buffs on dismount: F8 E6 01 B2 01 48 8B CD 90 90 90 90 90 Original: 8B 07 BA EC 02 00 00 48 8B CF FF 90 F8 07 00 00 90 If mob moves and skill fails (distance), at least auto attack it: 89 FA 4C 89 E9 90 90 90 90 90 B8 9C 0A 71 00 FF D0 Original: C7 43 18 1E 00 00 00 BA E8 03 00 00 41 B8 02 00 Shutdown 180 seconds: C7 43 18 B4 00 00 00 BA E8 03 00 00 41 B8 02 00 Shutdown n seconds: C7 43 18 nn0 nn1 nn2 nn3 BA E8 03 00 00 41 B8 02 00
  7. Not in the global scope, but for example the first one is in UGameEngine::LoadMapThread. They call something like UObjectLoader *res = UObject::GetLoader(something); if (res->var84h[something2]->var10h) { here they access res->var84h[something2]->var10h->var1c which is totally wrong if you don't have mutex here } so my fix does simply this: void *someptr = res->var84h[something2]->var10h; if (*someptr) { now i work with someptr which is copy } the best solution would be to add mutexes, but I don't have the source code :))
  8. Problems - you mean EXP bar showing only percent sign? Unfortunatelly I don't know where I found these files - it's not my work (except d3ddrv.dll where I removed the annoying AGP message and disabled gamma correction)
  9. There's a race condition error in engine.dll: engine.dll:00CE80AA lea eax, [eax+edx*4] engine.dll:00CE80AD cmp dword ptr [eax+10h], 0 <----- now it's not 0, so it won't jump on the next line engine.dll:00CE80B1 jz 0CE80C8h -- meanwhile some other thread sets dword ptr [eax+10h] to 0 -- engine.dll:00CE80B3 mov ecx, [eax+10h] <----- so now we have ecx == 0 engine.dll:00CE80B6 mov ecx, [ecx+1Ch] <----- read dword ptr [0+1ch] -> CRASH engine.dll:00CE80B9 test ecx, 0x4000000 engine.dll:00CE80BF jnz short loc_CE80C8 engine.dll:00CE80C1 mov dword ptr [eax+10h], 0 It can be fixed this way: engine.dll:00CE80AA lea eax, [eax+edx*4] engine.dll:00CE80AD mov ecx, [eax+10h] <----- we copy that value from memory engine.dll:00CE80B0 jecxz 0CE80C8h <----- and compare it this way - jecxz is a nice instruction :) engine.dll:00CE80B2 mov ecx, [ecx+1ch] <----- even if some other thread resets dword ptr [eax+10h], we have still copy in ecx engine.dll:00CE80B5 test ecx, 0x4000000 engine.dll:00CE80BB jne 0CE80C8h engine.dll:00CE80BD nop engine.dll:00CE80BE nop <----- we saved 4 bytes :) engine.dll:00CE80BF nop engine.dll:00CE80C0 nop engine.dll:00CE80C1 mov dword ptr [eax+10h], 0 There are two occurrences of this bug in engine.dll, to fix them both replace following (in unpacked engine.dll ofc) old: 83 78 10 00 74 15 8B 48 10 8B 49 1C F7 C1 00 00 00 04 75 07 new: 8B 48 10 E3 16 8B 49 1C F7 C1 00 00 00 04 75 0B 90 90 90 90 old: 83 78 10 00 74 13 8B 48 10 F7 41 1C 00 00 00 04 75 07 new: 8B 48 10 E3 14 F7 41 1C 00 00 00 04 75 0b 90 90 90 90 Enjoy ;)
  10. Gracia Final Windows 10 fix: https://osamelahora.cz/update-nogamma/files/system-oh/engine.dll (needed for W10) https://osamelahora.cz/update-nogamma/files/system-oh/l2.bin (needed for W10, rename it to l2.exe if you don't have l2.bin in your system) https://osamelahora.cz/update-nogamma/files/system-oh/NWindow.dll (needed for W10) https://osamelahora.cz/update-nogamma/files/system-oh/D3DDrv.dll (some fixes)
  11. I run the client on Win 10 (64bit) and the server on Win 2k8 SP2 server (64bit as well)
  12. hello, just didn't want to keep this for myself (took 3 hours with assembler) global shout disable/enable: 0x8abc3a: disable = 45 3B D4 45 0F 4C E2 (original) enable = 31 DB 89 5C 24 3C 90 0x8abc4a: disable = 3B CE 45 0F 4C F1 (original) enable = 8D 74 24 A0 31 FF enjoy :)
  13. It really works if you manage just to change the blowfish key? I don't think so
  14. Hi guys, here the hated lame admin :) I can't give you link to system.zip, cause we're not using it anymore, so you'll have to use http://eressea.cz/Launcher.exe, I'm pretty sure you'll figure out what to do. I'm curious how much time will you need to break in ;)
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock