| Welcome, Guest |
You have to register before you can post on our site.
|
| Online Users |
There are currently 39 online users. » 0 Member(s) | 38 Guest(s) Bing
|
| Latest Threads |
Last Chaos Server Sale
Forum: The Black Market (Buy, Sell, Trade)
Last Post: XWrongX2
01-26-2026, 11:07 PM
» Replies: 3
» Views: 611
|
All in One Exporter
Forum: Tools
Last Post: Kain88
01-25-2026, 07:04 AM
» Replies: 4
» Views: 429
|
HELP! ReZasCashServer It ...
Forum: Ep4 Support
Last Post: Kain88
01-24-2026, 03:24 PM
» Replies: 2
» Views: 165
|
Hi, does anyone know the ...
Forum: Help
Last Post: Desarija
01-21-2026, 11:29 AM
» Replies: 1
» Views: 113
|
LastChaos Nemesis
Forum: Server Advertising
Last Post: Desarija
01-20-2026, 04:06 PM
» Replies: 3
» Views: 236
|
Looking for EP4 Guidance
Forum: General Discussion
Last Post: xHypnosiaa
01-19-2026, 08:33 AM
» Replies: 1
» Views: 171
|
We're in need of creative...
Forum: Project Recruitment
Last Post: RGT
01-16-2026, 12:48 AM
» Replies: 0
» Views: 119
|
Last Chaos build deployme...
Forum: Ep4 Guides
Last Post: xHypnosiaa
01-08-2026, 11:14 AM
» Replies: 0
» Views: 75
|
Last Chaos global server ...
Forum: Ep4 Guides
Last Post: xHypnosiaa
01-07-2026, 07:01 PM
» Replies: 0
» Views: 33
|
EP-2/EP-3 Mixed files
Forum: Archived General Server Releases
Last Post: TeKnodE
01-06-2026, 09:53 PM
» Replies: 1
» Views: 297
|
|
|
| [Release] Rates Changer |
|
Posted by: Akyma777 - 01-18-2012, 06:04 PM - Forum: Tools
- Replies (18)
|
 |
Hello everyone its me again and i present my new tool.
With this thing u can change your rates in server. This tool is conceived for ep1.
It is working perfect and very simple to use.
In the bottom icons whrite your connection data:
1. Connection name
2. User Name
3. User Password
4. Database
ENJOY IT!!! xDDD
2
2
Akyma777
|
|
|
| Guild exp contribution bug fix |
|
Posted by: blankname - 01-18-2012, 03:56 PM - Forum: Ep1 Guides
- Replies (5)
|
 |
all you need to do is open gameserver.exe with an hex editor and edit the following offsets
0x000164CE E9 0F 1B 21 00
0x000179AD E9 1A 06 21 00
0x00227FCC 7C 05
0x00227FCE 83 F8 32
0x00227FD1 7E 05
0x00227FD3 E9 C8 FB DE FF
0x00227FD8 8B 45 D4
0x00227FDB 8B 08
0x00227FDD E9 D0 F9 DE FF
0x00227FE2 7C 05
0x00227FE4 83 F8 32
0x00227FE7 7E 05
0x00227FE9 E9 D3 E6 DE FF
0x00227FEE 8B 45 C0
0x00227FF1 8B 08
0x00227FF3 E9 DB E4 DE FF
this will not work if your gs already is patched with something else at offset 0x00227FCC+
if so, post it here and ill patch it for you
|
|
|
| Adding maps into Engine.dll |
|
Posted by: someone - 01-17-2012, 05:18 PM - Forum: General Discussion
- Replies (5)
|
 |
This is not Done, when it will be done, I will make it to load the Map files from a file. The code is from 1279 client.
I posted this here since its not a finished guide.
Creates instances of ZoneInfo
CPU Disasm
Address Hex dump Command Comments
100AF900 . 68 04040000 PUSH 404 ;20 * nr_maps + 4 ; memory to alocate
100AF905 C706 20000000 MOV DWORD PTR DS:[ESI],20 ;nr of maps
100AF90B . E8 A8AE3A00 CALL ; Jump to msvcrt.operator new
This code initializes the instances usually null values
CPU Disasm
Address Hex dump Command Comments
100AF921 . 68 20420B10 PUSH Engine.100B4220 ; /Arg5 = Engine.100B4220, Entry point
100AF926 . 68 A0410B10 PUSH Engine.100B41A0 ; |Arg4 = Engine.100B41A0, Entry point
100AF92B . 6A 20 PUSH 20 ; |Arg3 = 20 ;change into the number of maps you have
100AF92D . 8D78 04 LEA EDI,[EAX+4] ; |
100AF930 . 6A 20 PUSH 20 ; |Arg2 = 20 ;remains 20
100AF932 . 57 PUSH EDI ; |Arg1
100AF933 . C700 20000000 MOV DWORD PTR DS:[EAX],20 ; |;change into the number of maps you have
100AF939 . E8 80AE3A00 CALL Engine.1045A7BE ; \Engine.1045A7BE
I saw a pattern here(like EDX,EAX,ECX, EAX+3CC is calculated into eax+X, where X is 20*n + C, and n is a counter from 0 to number of maps.
CPU Disasm
Address Hex dump Command Comments
100AFA55 . 89B8 CC030000 MOV DWORD PTR DS:[EAX+3CC],EDI ;EAX+3CC is calculated into eax + X
100AFA5B . 8B4E 04 MOV ECX,DWORD PTR DS:[ESI+4]
100AFA55 . 89B8 CC030000 MOV DWORD PTR DS:[EAX+3EC],EDI
100AFA5B . 8B4E 04 MOV EdX,DWORD PTR DS:[ESI+4]
;THE METHOD EDX,EAX,ECX
;if something is like this
;100AFA5B . 8B4E 04 MOV ECX,DWORD PTR DS:[ESI+4]
;the nextone will be like this
;100AFA5B . 8B4E 04 MOV EDX,DWORD PTR DS:[ESI+4]
This will save the first map so the only thing, where to store the info, the code is ECX+3EC, which is ECX+X, where X is 20*n + C, where n is a value from number of maps+1 till 2*number of maps.
CPU Disasm
Address Hex dump Command Comments
100AFA61 . 68 B00F5C10 PUSH OFFSET Engine.105C0FB0 ; Arg1 = ASCII "data\world\StartZone\StartZone.wld"
100AFA66 . 895D FC MOV DWORD PTR SS:[EBP-4],EBX
100AFA69 89B9 0C040000 MOV DWORD PTR DS:[ECX+40C],EDI ;change form ecx+3ec into ecx+40c
100AFA6F . E8 9CE33400 CALL Engine.StringDuplicate
;Jump to your code location.
CPU Disasm
Address Hex dump Command Comments
100B036F . jmp xxxxxx
You can copy paste this code for the client to read you map string.
CPU Disasm
Address Hex dump Command Comments
100AFDC3 . 68 60115C10 PUSH OFFSET Engine.105C1160 ; /Arg1 = ASCII "data\world\P_Dungeon1\P_dungeon1.wld"
100AFDC8 . E8 43E03400 CALL Engine.StringDuplicate ; \Engine.StringDuplicate
100AFDCD . 8945 EC MOV DWORD PTR SS:[EBP-14],EAX
100AFDD0 . 8B4E 04 MOV ECX,DWORD PTR DS:[ESI+4]
100AFDD3 . 81C1 94010000 ADD ECX,194
100AFDD9 . 50 PUSH EAX ; /Arg1
100AFDDA . C745 FC 0D000 MOV DWORD PTR SS:[EBP-4],0D ; |Map Number(1 startzone)
100AFDE1 . 894D F0 MOV DWORD PTR SS:[EBP-10],ECX ; |
100AFDE4 . E8 27E03400 CALL Engine.StringDuplicate ; \Engine.StringDuplicate
100AFDE9 . 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
100AFDEC . 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
100AFDEF . 8B02 MOV EAX,DWORD PTR DS:[EDX]
100AFDF1 . 50 PUSH EAX ; /Arg1
100AFDF2 . E8 69DF3400 CALL Engine.StringFree ; \Engine.StringFree
100AFDF7 . 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
100AFDFA . 8B4D E8 MOV ECX,DWORD PTR SS:[EBP-18]
100AFDFD . 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
100AFE00 . 50 PUSH EAX ; /Arg1
100AFE01 . 890A MOV DWORD PTR DS:[EDX],ECX ; |
100AFE03 . 895D FC MOV DWORD PTR SS:[EBP-4],EBX ; |
100AFE06 . E8 55DF3400 CALL Engine.StringFree ; \Engine.StringFree
; dont forget to put "ADD ESP,10" after this instruction
then jump back to the code
The rest of the code till return will look something like this:
CPU Disasm
Address Hex dump Command Comments
100B04AA . 8D0CBD 040000 LEA ECX,[EDI*4+4]
100B04B1 . 51 PUSH ECX
100B04B2 . E8 01A33A00 CALL ; Jump to msvcrt.operator new
100B04B7 . 83C4 04 ADD ESP,4
100B04BA . 8945 EC MOV DWORD PTR SS:[EBP-14],EAX
100B04BD . 85C0 TEST EAX,EAX
100B04BF C745 FC 21000 MOV DWORD PTR SS:[EBP-4],21 ; max_maps+n, where n is a value from 1 to max_maps
100B04C6 . 74 20 JE SHORT Engine.100B04E8
100B04C8 . 68 A0210010 PUSH Engine.CTString::~CTString ; /Arg5 = Engine.CTString::~CTString
100B04CD . 68 F0200010 PUSH Engine.CTString::CTString ; |Arg4 = Engine.CTString::CTString
100B04D2 . 57 PUSH EDI ; |Arg3
100B04D3 . 8938 MOV DWORD PTR DS:[EAX],EDI ; |
100B04D5 . 83C0 04 ADD EAX,4 ; |
100B04D8 . 6A 04 PUSH 4 ; |Arg2 = 4
100B04DA . 50 PUSH EAX ; |Arg1
100B04DB . 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX ; |
100B04DE . E8 DBA23A00 CALL Engine.1045A7BE ; \Engine.1045A7BE
100B04E3 . 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
100B04E6 . EB 02 JMP SHORT Engine.100B04EA
100B04E8 > 33C0 XOR EAX,EAX
100B04EA > 8B56 04 MOV EDX,DWORD PTR DS:[ESI+4]
100B04ED . 8942 1C MOV DWORD PTR DS:[EDX+1C],EAX
100B04F0 . 8B46 04 MOV EAX,DWORD PTR DS:[ESI+4]
100B04F3 . 8B78 24 MOV EDI,DWORD PTR DS:[EAX+24]
I know no one will understand this, thats why I posted it.
|
|
|
| My lil tuts |
|
Posted by: Koko - 01-15-2012, 01:31 PM - Forum: Ep1 Guides
- Replies (12)
|
 |
Hey,
I decided to release some tuts. Maybe some are already known, maybe some are not, i wont bother to check which is and which is not, so if theres another one you dont understand, you can try mine.
- Create a second map (another juno, dratan, merac etc).
Client side: youll need to replace an existing zone, i suggest u to use the dratan arena (for gameplay reasons). Copy the wld, tbn & wtr files of the zone you want to copy (for example, Juno), put them in the folder of the zone you want to replace and rename those files just like the one you want to replace (for example, if u use Dratan arena youll have to name the files PK_tournament.XX).
Server side: edit the line of the zone you replaced in t_zonedata and put the datas of the original map.
Log on and use a go_zone to go to your zone and check if it works.
- Fix Mondshine & "second map" (check previous tut) send error reports.
This happens because some files are missing in Data\Interface\SignBoard\USA. For example, lets say you transformed Dratan Arena into Mondshine. Take all files from a recent client starting by "sb_32_" (in Data\Interface\SignBoard\USA (USA may be GER or anything else, it will depend of the client youre using)), and copy them to your client (still Data\Interface\SignBoard\USA). Now just replace the 32 in the name by your zone id (here, i replaced dratan arena, so ill change 32 to 24).
- Official Ep1 zone list: (thanks to TheEvilAnt for testing the Maargadum thing )
0: Juno
1: Velpist
2: Streia temple
3: Prokyon
4: Dratan
5: Minoc Coal Mine
6: Begginer dungeon
7: Merac
8: Guild room
9: Maargadum (complete)
10: Ajaka Canyon
11: Gate of dimension
12: Temple of Forgetfullness
13: Maargadum (gives an error)
14: OX Room
15: Egeha
17-18-19-20: Lust Trum
21: Tomb
22: Monster Combo
23: Streiana
24: Dratan Arena
25: Extreme Cube
26: Spirit Cave
27: Quanian Cave
28: Golem Cave
29: Ebony Mine
30: Canyon Ajaka
31: Floriam Cave
- Change the lvl cap (all credits to Falo). Starts at "i forgot some lvlup checks", in //Edit 6 : 2 Exp table starts at "Exp table 1-255" (at the end of the file, hexedit it).
>> NOTE : Dead link
- Create a mob, just like here: 2 (forget the line about shopkeeper, to create one just copy Geres or anyother merchant; youll need to add the npc to t_npc & t_shop).
- Edit a t_npc_regen to replace some mobs in a map: Just a lil query:
UPDATE t_npc_regen SET a_npc_idx = (NEW MOB/NPC ID) WHERE a_npc_idx = (OLD MOB/NPC ID);
- Simple rates editing: queries again:
UPDATE t_npc SET a_exp = a_exp * (your rate);
The query for sp is almost the same, just chgange a_exp to the correct skill point field (i forgot it atm).
- Hex edit some files: first try to find in hex each information about something you already know (like a weapon, armor, skill etc). And then try to edit to see if it works or not Use the Windows calculator (scientific interface) to switch from Dec to Hex.
I think its clear enough to understand everything. You may need a bit of experience with those files to understand everything. If you want to learn a bit about all of this, i suggest u to download the 2005 server files (i think its the best to begin).
- Sell 97+ items: 2
- Fix the cash item thing at relog: 2
HF!
|
|
|
|