Montag, 29. August 2011

Creature Folder.

Creature folder contains; brick/guard/monster/npc/portal/rank/remote/sentry/servant.csv


Important: Let me explain, when you're adding new bricks, npc's or monsters or whatever from Dekaron Korea, you will have to edit a few things, since Dekaron Korea has more Descriptions (Coloumns). I prefer to use CSVed when adding those things.

Example;
Our coloumns are like that;
Index,Name,Rank,Material,Level,MaxHP,HPRecovery,Defence_Min,Defence_Max


Dekaron Korea coloums contains lines like that;
MeleeDamageResist,RangeDamageResist,AntiStatusRate,AntiKnockBackRate

Means: Your .exe won't be able to read that and u will probably have the error coloumn 5 is NULL or can't convert from INT to ................ w/e.


Let's start with brick.csv:


Open it up and I'll explain, even though theres not much to explain.


As u can see brick.csv contains all bricks u will (can?) have. You can change the different ressistances, the HP of the bricks or w/e u want, but I wouldn't change many things, except the ressistances and the HP.


========================
Next one would be actually guard.csv, but don't have to explain it since we have just one guard?!


Want to change the Attack of the guard?


Those are the lines;
AttackDamage_Min_Melee,1150
AttackDamage_Max_Melee,2150
AbsoluteDamage_Min_Melee,150
AbsoluteDamage_Max_Melee,250


========================
 Next one is the monster.csv


Open it up and I'll explain, use excel or CSVed.


Here you can change everything about the mobs,


You can change the Attack, Defense, Ressistances or whatever u want.


Let's start with the Important things:


Coloumn25 = Exp; Here you can change the exp of the mob.
Coloumn26 = Money_Min0; Here you can change the min money of the mob.
Coloumn27 = Money_Max0; Here you can change the max money of the mob.
Coloumn28 = Money_Rate; Here you change the dil rate of the mob, I would make it 100000.
Coloumn29 =AIKey; Here you can change the AIKey which i explained at AI folder already.
Coloumn39-42 = AttackDamage_Min/Max_Melee, AbsoloutDamage_Min/Max_Melee; Here you can change the attack of the monsters.
^NOTE;
This applies for the other AttackDamage coloumns, for all of them, I don't have to explain every of them since they do the same thing.
Coloumn31 = MaxItemSet; Here you can change how many Itemsets the mob can drop.
Coloumn158 = Itemset from itemset.csv


The following coloumns are for the droprate, i.e next itemset index and so on.


Also, the single resultcodes coloumns, when you add new Monsters, if the monster attack's, but does no damage at all, It ALWAYS means its a wrong result code for the monster, means the monster needs a new result codes. Try some different result codes from the monsters which already exist and attack properly, thats how you will get them to deal damage and attack properly.


Thats it for monster.csv already, If I didn't explain anything right or want to know some more just make a comment to it and I'll answer it.


========================


Alright let's move on to npc.csv, open it and I'll explain,


Thats the file where u can add NPC's, but as well change their jobs, jobcounts and other stuff.


Alright again I'll explain the coloumns which might be hard to figure out yourself,


Coloumn3 = Shape; The shape found at script folder called npc_shape.csv
Coloumn4 = Desc; Index used from script/string/stringtable_job, don't want the description to be some random numbers when you hoove the mouse over the npc dot on your map? Add the index to it!
Coloumn6 = CommTableIndex; Index used from script/string/stringtable_conv, you want your NPC to have a conversation on it? Add the index!
Coloumn7 = JobCount; Obviously how many jobs u want the npc to have, not sure how many you can add, I haven't checked it out yet.
Coloumn8 = JobType; Alright that might be a difficult part for some of you, but don't worry, its not :). I'll explain, JobType is the type of the job you want to add to your NPC, i.e Teleporter, ReturnMaster, Shop(Skill/Armor/Wep/etc.), Guild Master, Siege Master, Fortifiy Master or w/e u want to add u can add it here.
Important Job's:

Shop = 0
Quests = 1
Teleporter = 2
Stash = 3
ReturnMaster = 4
Slot Merchant = 14/41; Add Slot/Remove Slot.
Fortifiy = 11


Those are mostly the most important Job's, if I missed some you can look them up by urself just using an example of an existing NPC which has the job u wanna add to ur new NPC.


Coloumn9 = JobIndex1; Thats the different indexes you have to add for Teleport indexes found in share/arrange/teleporter.csv, or for return masters at share/arrange/location.csv, for shop's at share/item/shop.csv, and etc.


Note:

Coloumn 8/9 apply for the next coloumns as well as their only for JobTypes and Indexes.


Thats it actually for NPC.csv as it doesn't contain that much.


Also its easy to figure out what each coloumn does once you work with it.


Hope I explained everything alright so you guys understand everything.


========================
Portal.csv, do I really have to explain?!


Obviously for the Portals you wanna add, all the coloumns explain itself...


Coloumn1 = MapIndex; Obviously the damn Map index, Lol.
Coloumn2 = LocationIndex; LocationIndex found in share/arrange/portallocation.csv
Coloumn3 = Shape;......................................................................................wait I won't explain that one.


========================
Remote.csv!!!


This is mainly for the skill, monster effects.


But also some mobs/skills use remote.csv to deal damage.


Coloumn1 = Index; Oh Index....
Coloumn2 = EffectID; Most likely the effect id which u can find at data/property/effect - effectscene.txt files.
Coloumn3 = SceneID; The SceneID of the effect which is also in the effectscene.txt files.
Coloumn4 = EffectTime; Obviously the Effect Time, its in seconds.
Coloumn5 = Description; Your decision if you wanna add to what thing the effect belons to or not.
Coloumn6 = ResultType; ResultType, kinda the same as the ResultCode which I've already explained at monster.csv, you might have to changed it to make monsters attack, if its a wrong result code it will display it at dbmon.exe
Coloumn7 = MaxDistance; Its Obviously the distance. Don't have to explain more.
Coloumn8 = MoveSpeed; Should be obvious as well, its the speed you want it to have.
Coloumn9 = Size; To be honest, I don't know it myself, but its probably the range you want to have on that effect.
Coloumn10 = MaxPiercingNum; The Maximum Piercing rate the Skilll/Effect has, as an example if theres 100 people in at one same spot, and the Piercing Rate is 30, it will only hit 30 people and not all 100.
Coloumn11 = MaxPiercingRate; The rate of the Piercing effect, as explained above if its 100 it will hit all 30 people, if its 50 then its a 50/50 chance.
Coloumn12 = ContactEffectID; Found in the effectscene.txt files as well, thats the effect u want it contact to an other effect.
Coloumn13 = ContactSceneID; Most likely the same as SceneID, its the scene u want to contact it to.
Coloumn14 = ContactEffectTime; Most likely the same as EffectTime.
Coloumn15-16 = PiercingEffectID, PiercingSceneID; The Pierce effect/scene found in the effectscene.txt files, as an example for trippe arrow in effectscene02.txt,


# ######## TripleArrow_pierce ######### #
<effect>
     id        2251
     name        TripleArrow_pierce
    <list>
    res            1        mh_TripleArrow_bolt02
    res            2        pt_TripleArrow_finish_explode
    res            3        pt_TripleArrow_action_particle
    res            4        pt_TripleArrow_bom
    </list>
    <scene>
     sceneid        1


The ID is 2251, the scene is 1.


Coloumn16 = PiercingEffectTime; Obviously the effect time of it, also in seconds.
Coloumn17 = HitCycle; I haven't figured it out myself yet, maybe anyone of you will :O.


Thats it for Remote.csv, if you'll work enough with it I'm 100% sure it will be very easy.




========================
Sentry.csv,


Useless file as it doesn't even work with our server files, its for Siege but it doesn't work.


========================
 Servant.csv


Servant.csv is for the Summoner Pets, you can change everything for them in this file,




Attack, Defense, Status effect, Ressistances and etc, well I'll explain, the coloumns which might be hard to understand,


Coloumn26 = AIKey; Here you can change the AIKey which i explained at AI folder already.
Coloumn34-37 = attackDamage_Min_Melee, attackDamage_Max_Melee, absoluteDamage_Min_Melee, absoluteDamage_Max_Melee; Those are the coloumns to change their attack damage.
Note:
This applies for the next AttackDamage coloumns as well. AND APPLIES ONLY FOR MELEE PETS.
Coloumn40 = ResultCode_Melee; Thats the result code, I've kinda explained it at monster.csv already, its the same for the pets, wrong result code, won't attack, try different result codes and you'll get it to work.
Note:
APPLIES ONLY FOR MELEE PETS.


Important:
The coloumns for the Ranged pets start at Coloumn 81, if the pets are melee leave the range coloumns 0. If the pets are melee leave the coloumns at ranged 0.


Coloumn168 = LeaveEffectID; The effect ID found at the effectscene.txt files.
Coloumn169 = LeaveSceneID; The scene ID found at the effectscene.txt files.
Coloumn170 = LeaveEffectTime; How long the effect will last, in seconds.
Coloumn171-173 = StatusEffectID, EnterEffectID, IconIndex; Should leave it as it is.


NOTE: DONT FORGET TO ADD NEW PETS INTO SHARE/AI/INFO.CSV OR ELSE YOU'LL DC WHEN SPAWNING THEM.


Thats it!


And that means? Woot we're done with the Creature folder, finally huh =D.


Hope I explained everything good enough for you to understand it.


And right there we'll move on to the next folder.


~Harmony.

Freitag, 27. August 2010

Arrange folder.

Arrange folder contains cell/chaoticlocation/location/maprespawn/portallocation/siegeteleport/skyteleport/teleport/warp.csv files.


The most important files and which u will work the most with are location.csv/teleport.csv and warp.csv


Lets start with Location;


Open the file and I'll explain,


Index,Location_Name,MapIndex,Pos_X,Pos_Y,Direction,Pos_X2,Pos_Y3,Direction4


Index = Used in teleport.csv and warp.csv.
Location_Name = Name of the Location.
MapIndex = Index of the Map.
Pos_X = Position of the X axis.
Pos_Y = Position of the Y axis.
Direction = The direction of ur Character which he'll be facing.
Pos_X2 = Same as Pos_X
Pos_Y3 = Same as Pos_Y

Direction4 = Same as Direction.


Now I'll take that line as an example.


Index,Location_Name,MapIndex,Pos_X,Pos_Y,Direction,Pos_X2,Pos_Y3,Direction4
104,Parca Temple,6,416,333,0,416,333,0


Not hard to understand right? location.csv actually contains all the locations for the teleport.csv and warp.csv files. Means if you make an new teleporter and lets say u add a new map and u want the Teleporter to teleport u to that map u will also have to add a new location line for that map.


=========================
Now open Teleport.csv,


Teleporter is easy to understand, Click on a Teleport > location.csv and u will be Teleported.


Index,Teleport_StringIndex,UnitCount,UnitIndex_1,LocationIndex_1,String_1,Cost_1,Level_1,UnitIndex_2,LocationIndex_2,String_2,Cost_2,Level_2,UnitIndex_3,LocationIndex_3,String_3,Cost_3,Level_3,UnitIndex_4,LocationIndex_4,String_4,Cost_4,Level_4,UnitIndex_5,LocationIndex_5,String_5,Cost_5,Level_5,UnitIndex_6,LocationIndex_6,String_6,Cost_6,Level_6,UnitIndex_7,LocationIndex_7,String_7,Cost_7,Level_7,UnitIndex_8,LocationIndex_8,String_8,Cost_8,Level_8,UnitIndex_9,LocationIndex_9,String_9,Cost_9,Level_9

Index = Used is npc.csv file.
Teleport_StringIndex = Don't change it leave it at 1.
UnitCount = Count of how many locations do u want to have, 9 is max as far as i know more then 9 will crash u.
UnitIndex_1 = Don't change it leave it at 1. UnitIndex_2 = 2. UnitIndex_3 = 3 and so on..
LocationIndex_1 = Used from location.csv as i explained already, thats the location u will teleport to.
String_1 = The location name used in stringtable_teleport.txt as i already explained it, If it will show up as a code u will have to add that.
Cost_1 = How much u will pay to teleport.
Level_1 = Min lvl to teleport to the location.


Now I'll use this line as an example;
106,1,7,1,111,100,20,1,2,102,200,20,1,3,103,300,10,15,4,104,400,20,25,5,109,500,15,40,6,106,600,20,45,7,112,700,175,65,8,0,0,0,0,9,0,0,0,0

Now go to share/creature and open npc.csv and search for Alvin, Look at his coloum 9 its 106 right?


Means, Alvin is the Index in teleport.csv 106;

Alvin has 7 Locations to teleport to. Now back to teleport.csv look at the coloum 5 its 111 and the index 111 at location.csv is Braiken Castle 1 in my location.csv file. Coloum 6 is 100 means u will pay 100 dil to teleport to braiken. Coloumn 7 is 1 means u will have to be level 20 to teleport to Braiken 1..


Now lets look at the other coloumns the next Location is 102 means this is Braiken Castle 2 in my location.csv then the next coloumn is 200 means u will pay 200dil to teleport there, the next coloumn is 20 means u have to be level 20 to teleport to Braiken 2.


And so on, It should be all clearly explained now right? Thought so.


=========================
Next one is the warp.csv;


Warp.csv is also easy to understand warp.csv > location.csv and you will be warped.


Open up warp.csv and I'll explain;


Index,From_LocationIndex,Rect_X,Rect_Y,To_LocationIndex,Seige,Dungeon


Index = Index obviously doesnt matter which u use.
LocationIndex = Location index from which u will be warped (location.csv)
Rect_X = make it 3-4.
Rect_Y = make it 3-4.
To_LocationIndex = Location index to which you will be warped.
Siege = This one is only for siege map.
Dungeon = Also this one is only for Dungeons.


Now I'll take those lines as an example from warp.csv;


Also open location.csv


11245,11245,4,3,11246,0,0
11248,11248,4,3,11244,0,0



Those are my 2 lines; 
First line =
11245 = 11245,Cursed Maze,21,15,375,0,15,375,0
11245 = 11245,Cursed Maze,21,15,375,0,15,375,0
4,3 = the Rect_X and Rect_Y as i explained it already make it 3-4.
11244 = 11246,The Death Lands,63,235,461,0,235,461,0

2nd line =

11248 = 11248,Space of Pilgrimage,47,484,38,0,484,38,0
11245 = 11248,Space of Pilgrimage,47,484,38,0,484,38,0
4,3 = the Rect_X and Rect_Y as i explained it already make it 3-4.
11244 = 11244,Aguirai ruins 1,46,52,449,0,52,449,0


Its clearly easy to understand what that means, the first line will warp u from maze to the deadlands.
And the 2nd line will warp u from Space back to Aquirai Ruins.


Not hard at all to understand right? I knoooooooooooow =3.


You can also make alot of other things into the arrange folder like making new respawn points etc or also niete points, but I didn't learn that since now though, Its not that important also.


Those are the most important files into the Arrange folder, I hope u will understand everything when reading this.


~Harmony.

AI folder.

I won't be able to tell u really much about the AI folder since I'm still learning about those things, 


buuuuuuuuuuuuuuut, I can tell u something about the info.csv file in the Ai folder, If you're adding new mobs YOU WILL have to add the right line for the mob into the info.csv file open it up and take a look at it, seems to be hard to understand and theres alot of Numbers right? But It's not hard at all. Let me explain;


3600,3,20,26,3,2800,1500,1200,1000,0,0,0,50,2,0,4,3,100,20,0,100,30,0,18,10,0,2,20,10,5,0,0,0,0,0,0,0,0,0,0,1


This line is for Aquirai the Immortal, explains itself since it has the Index 3600, also you won't have to write those lines urself since u can copy/paste the line for the right mob from Dekaron Korea.


=======================
Patterninfo file.csv;


File patterninfo.csv has the purpose to point to the files into the Pattern folder, Pattern files also have the purpose to tell the monster on how to react to different situations, 


As an example, every monster in share/creature/monster.csv folder has an AI key coloumn, that coloumn points back to the Pattern folder,


Immortal has the AI Key 1,


Now if you take a look at ur patterinfo.csv and search for 1 u will see this;


1,Pattern\Positive_Attack.csv 


Now you can open ur pattern folder and open the Positive_Attack.csv and there you can see what it contains, as I already said, I won't be able to really tell u much about it, but thats all I know for now and I wouldn't also really change those things.


~Harmony.

Action folder.

Action folder;


Action folder contains brick/guard/item/monster/pc/rider/sentry/vehicle and list.csv file.


Lets start with the Brick/Guard and Item folder.


Alright open your brick folder, and I'll choose the karonship.act.30620.csv as an example, Open it and u'll see it will look like this..


Creature,BRICK,,,,,,,,,,,,,,,
Index,36020,,,,,,,,,,,,,,,
Skeleton,Brick\sh_door_04.skel,,,,,,,,,,,,,,,

Style,Action,Index,Animation,Start_Inter,End_Inter,TimeLength,Swing,Strike,Timing,Split,Timing2,Freeze,Effect,CancelTime,DefaultAction,Intersect
0,OPENBRICK,0,Brick\ship_door\sh_door_04.anim,4,1,1,0,0,0.1,1,0,0,0,0,0,0
0,CLOSEBRICK,0,Brick\ship_door\sh_door_04_stand.anim,4,1,1,0,0,0,0,0,0,0,0,0,0



Well its actually clearly to understand what purpose it has, It's actually the same for the shapes, you won't really need to edit those files since u're just adding bricks from Dekaron Korea so you will just have to add the files of the brick ur adding into the Brick folder.


Same goes for Item & Guard, Adding new Items or Guards(Which won't happen that fast) you will have to add their single files into their folder.


By the way, If you're adding something you will also need the list.csv file, open it and I'll explain it.


Thats the most important file in ur action folder,


Alright scroll it a bit down and take a look at it, not hard to understand at all right? 


Well I'll explain it anyways a bit, Since i explained u how to add bricks I'll take the same file as an example, I added one of the bricks of Karons Transport ship now and I will have to add to the list.csv file to appear it ingame,


Brick\KaronShip.act.36020.csv


It really shouldn't be hard to understand at all. That was actually all for those folders.


=========================
Next one is the Monster folder, open it and u will see every single file of an mob.


I'll take the Immortal file as an example open it up, looks almost like the brick file i explained u right? Those files have actually the purpose for the game/exe to know where it gets the animations from, and also as i mentioned it at the brick file already if you're adding new mobs u won't have to edit their files since we will have the same ones as Dekaron Korea, u will just have to add their Animation and skel files.


And also EVERYTHING u'll add new to the game, u will also have to add it to the list.csv file 


If I'll add immortal it will look like that;


Monster\aquirai_the_immotal.act.3600.csv


The names are of course of the files. So you will actually just have to copy the right line of the monster/brick or whatever from Dekaron Korea to ur list.csv.


Since I've explained that i really shouldn't have to explain the other folders as well since its the same thing u will always have to do.


npc folder = For NPC's of course it explains itself.
pc folder = the PC folder is for the Character Animations how they STAND/WALK etc.
pet folder = for Dshop pets I believe, but since private servers dont have them the folder isn't important at all
rider folder = the RIDER folder is also for the Character Animations how they look like when they're on a mount.
sentry folder = the SENTRY folder explains itself.
servant folder = the SERVANT folder is for the summoner pets.
vehicle folder = the VEHICLE folder is also for the mounts.


And remember if you're adding any new things of those files, you will ALSO HAVE to add them to the list.csv


~Harmony.

Share folder.

Lets start with the Share folder,


Share folder contains action/ai/arrange/creature/dungeon/fishing/guild/guildobserver/item/map/mapredcell/observer/partywar/pc/quest/request_quest/server/siege/string/skill/vehicle and some single files which I'll explain also.


All changes which u will be doing at ur share folder are server sided, means u will have to patch it to the server to see the changes.


~Harmony.

Donnerstag, 26. August 2010

Texturepack folder.

Texture pack folder has the same purpose as the mesh/anim/texture/skel folder, If you're adding new things you will have to add their texturepack files, Don't need to explain more I guess.


~Harmony.

Texture folder.

Texture folder;


(ATTENTION = All files in the Texture folder are .dds files, you will need Photoshop to edit .dds files)


This folder has one of the most files I guess, So It will be a bit to explain,


Or maybe not since most of the files have the same purpose of the mesh, anim and skel folder, If you'll add new things you will also have to add their textures, but lets start,


ad, brick, character, costume, environment, etc, maptitle, game, item, minimap, monster, npc, object, remote, sentry, servant, vehicle and water actually explains itself right? Adding new contect means also adding their textures, Thats the easiest work at being a Dekaron Developer.


Now lets get to the texture/ui folder.


============================
Important folder of the UI folder:

Ui/game folder;


Character folder = This is where you change the texture when u're making a new Character, as an example for character_new_002.dds file, this is the texture of when u're making a new Character and when u can choose between Braiken and Loa, and since I've added the new start map Ardeca to my Server, I also had to edit the .dds file I removed braiken and Loa from the Picture and added Ardeca to it.


Guild folder = Here you could add new Guild emblems into the game.


Loading folder = Here are all Loading screens located, if you will add a new map you will also have to add their Loading Screen. Simple.


Maptitle folder = Here are the .dds files for the maptitles when a map did load to the end it will Say Loa Castle or Braiken Castle.


Theme01 folder = Here are all Dshop Pictures and Icons, and the buff icons of the skills (also really important when adding new skills)


Skill folder = Here are all Skill Icons, This folder is Important when adding new Skills.


Those are actually the important files in the Texture folder.


The other folder should explain itself,


~Harmony.