shay data edit (0-1b)

09/05/2010 00:01 ShaiyaUnited#31
yap i agree with that jamessimpler, This tutorial helped me alot of things =) i can even create my own items and etc xD
09/05/2010 17:59 ZeroSignal#32
Please attach a link to the original unmodified decrypted Monster.SData file your trying to extract.
09/05/2010 18:05 shinru2004#33
just insert 40 bytes to the top of the monster.Sdata and it will work like its supposed too. but keep in mind when you recombine to Sdata you need to go into the new Monster.SData and delete the bytes before you re-encrypt
09/05/2010 18:24 ZeroSignal#34
It pays to learn how to read the source code so you can make modifications should formats change.

If you dont require the 64 padded bytes (which may have been dropped in Ep5) just comment that part of the code out.

In Monster.py:

Find:
Code:
fout.write(struct.pack('=64x')) # First 64 Bytes are empty.
comment it out so it's:
Code:
[b]#[/b]fout.write(struct.pack('=64x')) # First 64 Bytes are empty.
Find:
Code:
input.read(64) # Empty record.
comment it out so it's:
Code:
[b]#[/b]input.read(64) # Empty record.
09/05/2010 18:46 jamessimpler#35
omg thanks zerosignal... your contribution as always priceless. Thanks man!
09/05/2010 19:06 shinru2004#36
No need for my little tutorial... Good Work as always!! Thanks Zerosignal :)

Worked like a charm... Thanks +1 for you
09/08/2010 20:13 ProfNerwosol#37
Quote:
Originally Posted by ZeroSignal View Post
I dunno if there is an issue or not. When converted to be used in database data the values seem to be ok at least from what we tested. Try it and see if the values are ok or if there is something wrong with them and if so look at the binary data structure part of the source code.
Hmm, strange. When I was learning Item.SData structure I found that length of fields between Reqluc and Range varies for some items (I didn't write it down and I don't remember which fields were those). I remember the items though. Those were linking hammers. The value in database is above 1 byte, but in Item.SData is is limited to 1 byte, so to bypass it one of the fields (ReqVG? or Range?) was expanded to 2 bytes and one was cut to 1 byte. I thought that could had been the problem.

EDIT:
I tried to read the source code, but it's difficult for me. It's different from PHP and Delphi.
09/11/2010 17:17 mooky#38
Hi, anyone can post the files already in csv format by any chance ?^^'
Sorry but i don't understand how to do with Python T.T (yes i'm a noob).
09/11/2010 17:53 nXu#39
Mooky:

[Only registered and activated users can see links. Click Here To Register...]
Download the windows installer (Python2.7), and install it. It will create a folder "Python27" on drive C, and the python.exe will be inside there.
Now go to the downloaded Shaiya data edit, and open the .bat files with notepad. Where you see python commands, edit them to absolute paths (C:\Python27\python.exe)
Example:

map_csv.bat
Code:
python src\svmap.py %1
Change this to:
Code:
c:\Python27\python.exe src\svmap.py %1
09/12/2010 14:29 mooky#40
Thx for answer nXu, but now what i need to do ? ^^'
I've added you on skype it will be more simply to talk.
Thx again.
09/12/2010 16:03 nXu#41
Hmm.. ZeroSignal, i'd need your help since i dont understand python.
When i try to extract svmaps to CSV, the cmd window appears, but just "Press any key to continue" and nothing happens...

Anything else works, perfect tool, +1 ^^
09/15/2010 06:44 nXu#42
Quote:
Originally Posted by EarthCrush View Post
... You need to pass in the map number as an argument to the script.
Thank you :)
09/16/2010 22:01 FeatherDust#43
Ok, so i've read through all the comments, and i'm still not understanding all this. I'm trying to edit the new 66-70 pvp map, because the altars won't spawn, and i was told to use this tool. Can someone please explain in a little more detail how to fix it? If it makes it easier, feel free to PM me or add me to skype: miss.misao

Any help is greatly appreciated.
09/17/2010 02:17 NocturnalSniper#44
Alters Locations and defenders are controlled by Obelisk.ini not the .svmap file.
File Location Should be in ..\SERVER\PSM_Client\Bin\Data

That's what i edited to add multiple Alters to 1-15 and 20-30 PvP maps as well

Look for something like.
[zone_30] <--Whatever your map zone number is
[Obelisk_001] = (900.15,2.53,179.88),(716, 718, 717),0 <--Location and ID of the Alter
[Mob] = (900.49,2.28,200.22,3),(719, 721, 720),2 <--Location of Defenders 01
[Mob] = (920.95,4.17,179.98,3),(719, 721, 720),2 <--Location of Defenders 02
[Mob] = (900.18,3.17,159.66,3),(719, 721, 720),2 <--Location of Defenders 03
[Mob] = (879.96,1.40,180.22,3),(719, 721, 720),2 <--Location of Defenders 04

Notice:
[Mob] = (Location of Defender Spawn),(Defender Types),Number of Defenders spawned at that Location

4 Locations for defenders at corners around alter gives a circle around the alter of defenders
09/17/2010 14:37 ShaiyaUnited#45
Lol .. Well i will release mine now.. so you guys don't need to think or fix :P.. Here is my lv70 map altars in Obelisk.ini..

Im sure you need brain.exe for this too xD

[zone_70]
[Obelisk_001] = (811.56,45.12,796.88),(2852, 2856, 2860),0
[Mob] = (790.17,45.44,796.20,1),(2875, 2879, 2883),1
[Mob] = (832.30,45.45,796.32,1),(2876, 2880, 2884,1
[Mob] = (811.09,45.44,814.46,1),(2877, 2881, 2885),1
[Mob] = (801.09,45.44,778.46,1),(2878, 2882, 2886),1
[Mob] = (832.13,45.44,809.84,5),(2889, 2890, 2891),2
[Mob] = (792.32,45.44,810.76,5),(2889, 2890, 2891),2
[Mob] = (812.99,45.40,771.12,5),(2889, 2890, 2891),2
[Mob] = (836.87,45.43,789.90,5),(2889, 2890, 2891),2
[Mob] = (901,23.86,1347.23,7),(0, 2816, 2825),2
[Mob] = (913.43,23.86,1340.23,7),(0, 2817, 2826),2
[Mob] = (905.43,23.86,1317.23,7),(0, 2818, 2827),2
[Mob] = (861,23.86,1346.23,7),(0, 2819, 2828),2
[Mob] = (898.43,23.86,1379.23,5),(0, 2820, 2829),1
[Mob] = (777,23.86,1340.23,7),(0, 2816, 2825),2
[Mob] = (747.43,23.86,1362.23,7),(0, 2817, 2826),2
[Mob] = (722.43,23.86,1327.23,7),(0, 2818, 2827),2
[Mob] = (715,23.86,1286.23,7),(0, 2819, 2828),2
[Mob] = (662.43,23.86,1307.23,5),(0, 2820, 2829),1
[Mob] = (596,23.86,1316.23,7),(0, 2816, 2825),2
[Mob] = (582.43,23.86,1366.23,7),(0, 2817, 2826),2
[Mob] = (554.43,23.86,1380.23,7),(0, 2818, 2827),2
[Mob] = (567,23.86,1417.23,7),(0, 2819, 2828),2
[Mob] = (609.43,23.86,1385.23,5),(0, 2820, 2829),1
[Mob] = (1049,23.86,1318.23,7),(0, 2816, 2825),2
[Mob] = (1002.43,23.86,1298.23,7),(0, 2817, 2826),2
[Mob] = (961.43,23.86,1306.23,7),(0, 2818, 2827),2
[Mob] = (924,23.86,1271.23,7),(0, 2819, 2828),2
[Mob] = (884.43,23.86,1235.23,5),(0, 2820, 2829),1
[Mob] = (804,23.86,410.23,7),(0, 2780, 2789),2
[Mob] = (834.43,23.86,404.23,7),(0, 2781, 2790),2
[Mob] = (823.43,23.86,379.23,7),(0, 2782, 2791),2
[Mob] = (777.43,23.86,364.23,7),(0, 2783, 2792),2
[Mob] = (745.43,23.86,381.23,5),(0, 2784, 2793),1
[Mob] = (692,23.86,374.23,7),(0, 2780, 2789),2
[Mob] = (661.43,23.86,396.23,7),(0, 2781, 2790),2
[Mob] = (656.43,23.86,347.23,7),(0, 2782, 2791),2
[Mob] = (681.43,23.86,327.23,7),(0, 2783, 2792),2
[Mob] = (711.43,23.86,311.23,5),(0, 2784, 2793),1
[Mob] = (811,23.86,285.23,7),(0, 2780, 2789),2
[Mob] = (834.43,23.86,261.23,7),(0, 2781, 2790),2
[Mob] = (843.43,23.86,230.23,7),(0, 2782, 2791),2
[Mob] = (860.43,23.86,206.23,7),(0, 2783, 2792),2
[Mob] = (897.43,23.86,233.23,5),(0, 2784, 2793),1
[Mob] = (987,23.86,217.23,7),(0, 2780, 2789),2
[Mob] = (1014.43,23.86,225.23,7),(0, 2781, 2790),2
[Mob] = (1048.43,23.86,221.23,7),(0, 2782, 2791),2
[Mob] = (1062.43,23.86,257.23,7),(0, 2783, 2792),2
[Mob] = (1038.43,23.86,303.23,5),(0, 2784, 2793),1


[Obelisk_002] = (153.56,7.12,1499.88),(2853, 2857, 2861),0
[Mob] = (163,45.7,1478.20,1),(2875, 2879, 2883),1
[Mob] = (143.30,7.45,1519.32,1),(2876, 2880, 2884,1
[Mob] = (136.09,7.44,1492.46,1),(2877, 2881, 2885),1
[Mob] = (169.09,7.44,1508.46,1),(2878, 2882, 2886),1
[Mob] = (174.13,7.44,1487.84,5),(2889, 2890, 2891),2
[Mob] = (159.32,7.44,1522.76,5),(2889, 2890, 2891),2
[Mob] = (128.99,7.40,1494.12,5),(2889, 2890, 2891),2
[Mob] = (147.87,7.43,1475.90,5),(2889, 2890, 2891),2
[Mob] = (210,23.86,1051.23,7),(0, 2834, 2843),2
[Mob] = (248.43,23.86,1069.23,7),(0, 2835, 2844),2
[Mob] = (298.43,23.86,1061.23,7),(0, 2836, 2845),2
[Mob] = (282.43,23.86,1020.23,7),(0, 2837, 2846),2
[Mob] = (239.43,23.86,987.23,5),(0, 2838, 2847),1
[Mob] = (262,23.86,888.23,7),(0, 2834, 2843),2
[Mob] = (224.43,23.86,872.23,7),(0, 2835, 2844),2
[Mob] = (260.43,23.86,843.23,7),(0, 2836, 2845),2
[Mob] = (311.43,23.86,828.23,7),(0, 2837, 2846),2
[Mob] = (339.43,23.86,853.23,5),(0, 2838, 2847),1
[Mob] = (380,23.86,811.23,7),(0, 2834, 2843),2
[Mob] = (383.43,23.86,782.23,7),(0, 2835, 2844),2
[Mob] = (371.43,23.86,750.23,7),(0, 2836, 2845),2
[Mob] = (395.43,23.86,722.23,7),(0, 2837, 2846),2
[Mob] = (427.43,23.86,743.23,5),(0, 2838, 2847),1
[Mob] = (385,23.86,653.23,7),(0, 2834, 2843),2
[Mob] = (344.43,23.86,637.23,7),(0, 2835, 2844),2
[Mob] = (298.43,23.86,626.23,7),(0, 2836, 2845),2
[Mob] = (243.43,23.86,623.23,7),(0, 2837, 2846),2
[Mob] = (270.43,23.86,567.23,5),(0, 2838, 2847),1
[Mob] = (234,23.86,542.23,7),(0, 2834, 2843),2
[Mob] = (207.43,23.86,509.23,7),(0, 2835, 2844),2
[Mob] = (166.43,23.86,517.23,7),(0, 2836, 2845),2
[Mob] = (279.43,23.86,680.23,7),(0, 2837, 2846),2
[Mob] = (181.43,23.86,586.23,5),(0, 2838, 2847),1


[Obelisk_003] = (1482.56,23.12,1459.88),(2854, 2858, 2862),0
[Mob] = (1474.17,23.23,1439.20,1),(2875, 2879, 2883),1
[Mob] = (1489.30,23.45,1479.32,1),(2876, 2880, 2884,1
[Mob] = (1468.09,23.44,1476.46,1),(2877, 2881, 2885),1
[Mob] = (1495.09,23.44,1443.46,1),(2878, 2882, 2886),1
[Mob] = (1486.13,23.44,1434.84,5),(2889, 2890, 2891),2
[Mob] = (1460.32,23.44,1469.76,5),(2889, 2890, 2891),2
[Mob] = (1488.99,23.40,1484.12,5),(2889, 2890, 2891),2
[Mob] = (1510.87,23.43,1462.90,5),(2889, 2890, 2891),2
[Mob] = (1392,23.86,736.23,7),(0, 2798, 2807),2
[Mob] = (1363.43,23.86,659.23,7),(0, 2799, 2808),2
[Mob] = (1350.43,23.86,630.23,7),(0, 2800, 2809),2
[Mob] = (1307.43,23.86,619.23,7),(0, 2801, 2810),2
[Mob] = (1264.43,23.86,633.23,5),(0, 2802, 2811),1
[Mob] = (1299,23.86,494.23,7),(0, 2798, 2807),2
[Mob] = (1272.43,23.86,527.23,7),(0, 2799, 2808),2
[Mob] = (1264.43,23.86,570.23,7),(0, 2800, 2809),2
[Mob] = (1355.43,23.86,569.23,7),(0, 2801, 2810),2
[Mob] = (1415.43,23.86,538.23,5),(0, 2802, 2811),1
[Mob] = (1475,23.86,498.23,7),(0, 2798, 2807),2
[Mob] = (1471.43,23.86,450.23,7),(0, 2799, 2808),2
[Mob] = (1431.43,23.86,444.23,7),(0, 2800, 2809),2
[Mob] = (1402.43,23.86,485.23,7),(0, 2801, 2810),2
[Mob] = (1189.43,23.86,716.23,5),(0, 2802, 2811),1
[Mob] = (1190,23.86,801.23,7),(0, 2798, 2807),2
[Mob] = (1223.43,23.86,837.23,7),(0, 2799, 2808),2
[Mob] = (1207.43,23.86,876.23,7),(0, 2800, 2809),2
[Mob] = (1224.43,23.86,907.23,7),(0, 2801, 2810),2
[Mob] = (1228.43,23.86,946.23,5),(0, 2802, 2811),1
[Mob] = (1266,23.86,999.23,7),(0, 2798, 2807),2
[Mob] = (1306.43,23.86,989.23,7),(0, 2799, 2808),2
[Mob] = (1347.43,23.86,987.23,7),(0, 2800, 2809),2
[Mob] = (1381.43,23.86,1002.23,7),(0, 2801, 2810),2
[Mob] = (1384.43,23.86,1082.23,5),(0, 2802, 2811),1
I won't tell you where to add them.. just read Nsniper answer =).. Have fun and enjoy! :P..

Don't forget to thx me :)