Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/26/11 in all areas

  1. Smith Armor I decided to release this little mod as support to this new forum. Yay i'll be the first one making a source edit in here. Back on topic... This little mod will allow WhiteSmiths to have a new skill "Smith Armor" which will allow users to create elemental armors in the same way as they did with weapons. It will work in a similar fashion as to forge new Weapons. Just check the following screenshots to see how it will work. Steps 1- Go to yourserver/src/map/skill.h and find the following: ALL_REVERSEORCISH, ALL_WEWISH, ALL_SONKRAN, And paste below this: WS_SMITH_ARMOR = 998, Then save the file. 2- Go to yourserver/src/map/skill.c and find the following: } else { // Weapon Forging - skill bonuses are straight from kRO website, other things from a jRO calculator [DracoRPG] And replace it with this: } else if(itemdb_isequiptype(nameid) == 1){ // Weapon Forging - skill bonuses are straight from kRO website, other things from a jRO calculator [DracoRPG] Find this: if(pc_search_inventory(sd,989) > 0) make_per+= 1000; // Emperium Anvil: +10 else if(pc_search_inventory(sd,988) > 0) make_per+= 500; // Golden Anvil: +5 else if(pc_search_inventory(sd,987) > 0) make_per+= 300; // Oridecon Anvil: +3 else if(pc_search_inventory(sd,986) > 0) make_per+= 0; // Anvil: +0? if(battle_config.wp_rate != 100) make_per = make_per * battle_config.wp_rate / 100; } Then paste below this: else { // Calc Smith Armor bonus make_per = sd->status.job_level*20 + status->dex*10 + status->luk*10; make_per += pc_checkskill(sd,skill_id)*500; // Smithing skills bonus: +5/+10/+15 if(pc_search_inventory(sd,989) > 0) make_per+= 1000; // Emperium Anvil: +10 else if(pc_search_inventory(sd,988) > 0) make_per+= 500; // Golden Anvil: +5 else if(pc_search_inventory(sd,987) > 0) make_per+= 300; // Oridecon Anvil: +3 else if(pc_search_inventory(sd,986) > 0) make_per+= 0; // Anvil: +0? if(battle_config.wp_rate != 100) make_per = make_per * battle_config.wp_rate / 100; } Save this file. 3- Go to yourserver/src/map/itemdb.h and find this: int itemdb_isequip2(struct item_data *); Paste below this: int itemdb_isequiptype(int); Save this file. 4- Go to yourserver/src/map/itemdb.c and find this: /*========================================== * Alternate version of itemdb_isequip *------------------------------------------*/ int itemdb_isequip2(struct item_data *data) { nullpo_ret(data); switch(data->type) { case IT_WEAPON: case IT_ARMOR: case IT_AMMO: return 1; default: return 0; } } Then paste below this: /*========================================== * Return if weapon, armor or ammo. //by JakeRed *------------------------------------------*/ int itemdb_isequiptype(int nameid) { int type=itemdb_type(nameid); switch (type) { case IT_WEAPON: return 1; case IT_ARMOR: return 2; case IT_AMMO: return 3; default: return 0; } } Save this file. 5- Go to yourserver/db/skill_db.txt and find the following: 477,0,6,4,0,0x1,0,10,1,no,0,0,0,weapon,0, WS_WEAPONREFINE,Upgrade Weapon Then paste below this: 998,0,0,0,0,0,0,1,0,no,0,0,0,weapon,0, WS_SMITH_ARMOR,Smith Armor Save this file. 6- Go to yourserver/db/produce.txt and find this; //===== Elemental Converters === ItemLV=23 ===== //-- Fire Elemental Converter <-- SA_CREATECON & 1 Blank Scroll, 3 Scorpion Tail 12114,23,1007,1,7433,1,904,3 //-- Water Elemental Converter <-- SA_CREATECON & 1 Blank Scroll, 3 Snail's Shell 12115,23,1007,1,7433,1,946,3 //-- Earth Elemental Converter <-- SA_CREATECON & 1 Blank Scroll, 3 Horn 12116,23,1007,1,7433,1,947,3 //-- Wind Elemental Converter <-- SA_CREATECON & 1 Blank Scroll, 3 Rainbow Shell 12117,23,1007,1,7433,1,1013,3 //============================================== Then paste below this: //---- Armors ----------------------- //-- Tights <-- WS_SMITH_ARMOR & 1 Porcellio card, 3 Scorpion Tail <--- Examples of recipes for armors 2330,3,998,1,4337,1,904,3 //-- Chain Mail <-- WS_SMITH_ARMOR & 1 Porcellio card, 5 Scorpion Tail <--- Example of recipes for armors 2314,3,998,1,4437,1,904,5 //============================================== Save this file and recompile your server, if everything is correct it will not show any error. In produce.txt change the recipes and add as many recipes as you want to your skill. In step 2 you can change the chances of sucess and also if you want to ask for other items besides (Golden Anvil, Emperium Anvil,Oridecon Anvil) . Now that we ended with our server side modifications, we need to modify the Client, so here are the steps to modify the client side. 1- Go to yourdatafolder/lua files/skillid.lua and find this: KN_CHARGEATK = 1001, CR_SHRINK = 1002, AS_SONICACCEL = 1003, Above add this: WS_SMITH_ARMOR = 998, Save your file. 2- Go to yourdatafolder/lua files/skilltreeview.lua and find this: [JOBID.JT_BLACKSMITH_H] = { [21] = SKID.WS_CARTBOOST, [28] = SKID.WS_CARTTERMINATION, [22] = SKID.WS_MELTDOWN, [25] = SKID.WS_OVERTHRUSTMAX, [23] = SKID.WS_WEAPONREFINE }, And replace it with this: [JOBID.JT_BLACKSMITH_H] = { [21] = SKID.WS_CARTBOOST, [28] = SKID.WS_CARTTERMINATION, [22] = SKID.WS_MELTDOWN, [25] = SKID.WS_OVERTHRUSTMAX, [35] = SKID.WS_SMITH_ARMOR, [23] = SKID.WS_WEAPONREFINE }, Save your file. 3- Go to yourdatafolder/lua files/skillinfolist.lua and find: [sKID.WS_WEAPONREFINE] = { "WS_WEAPONREFINE"; SkillName = "Weapon Refine", MaxLv= 10, _NeedSkillList = { { SKID.BS_WEAPONRESEARCH,10 } } }, Paste below this: [sKID.WS_SMITH_ARMOR] = { "WS_SMITH_ARMOR"; SkillName = "Smith Armor", MaxLv = 1, _NeedSkillList = { { SKID.WS_WEAPONREFINE,10 } } }, Save the file. 4- Go to yourdatafolder/lua files/skilldescript.lua and find: [sKID.WS_WEAPONREFINE] = {[/b] [b] "Weapon Refine", "Max Level:^777777 10 ^000000", "Type:^000099 Passive ^000000", "Target:^777777 Self ^000000", "Effect:^777777 Enables you to refine weapons. Unlike Forging, this skill doesn't depend on DEX and LUK, but only on the character's job level.", "At job level 50, you have about the same chances of upgrading as Hollgrehenn.", "At job 70, you have an about 10% better success chance than Hollgrehenn.", "For level 1 Weapons, Phracon is needed.", "For level 2 Weapons, Emveretarcon is needed.", "For level 3/4 Weapons, Oridecon is needed. ^000000", "[LV 1]^777777 Up to +1 ^000000", "[LV 2]^777777 Up to +2 ^000000", "[LV 3]^777777 Up to +3 ^000000", "[LV 4]^777777 Up to +4 ^000000", "[LV 5]^777777 Up to +5 ^000000", "[LV 6]^777777 Up to +6 ^000000", "[LV 7]^777777 Up to +7 ^000000", "[LV 8]^777777 Up to +8 ^000000", "[LV 9]^777777 Up to +9 ^000000", "[LV 10]^777777 Up to +10 ^000000", }, Paste below this: [sKID.WS_SMITH_ARMOR] = {[/b] [b] "Smith Armor", "Max Level:^777777 1 ^000000", "Type:^000099 Passive ^000000", "Catalyst:^777777 Varies ^000000", "Effect:^777777 Allows character to forge Armors using a hammer. Skill Value is (5*SkillLV)%. Anvil, JobLV, DEX and LUK (in this order) further increase this chance. ^000000", "^000000[LV 1]^777777", "Tights", "1 Porcellio Card", "3 Scorpion Tails", "Chain Mail", "1 Porcellio Card", "5 Scorpion Tails", "^6699ffForging formula:", "Base % chance: Skill Value + JobLV * 0.2 + DEX * 0.1 + LUK * 0.1 + 50", "Normal Anvil +0%", "Oridecon Anvil +3%", "Golden Anvil +5%", "Emperium Anvil +10%", "LV 1 Weapon -0%", "LV 2 Weapon -20%", "LV 3 Weapon -30%", "Per Star Crumb -15%", "Elemental Stone -20% ^000000", }, Save the file. 5- Go to yourdatafolder/textures/À¯ÀúÀÎÅÍÆäÀ̽º/item/ and paste the icon for the skill provided in the following link: http://www.mediafire...om165c1&thumb=4 Test it and it must to work correctly. In order to get the skill Smith Armor it will be necessary to get Weapon Refine level 10. Change your killdescript.lua according to your likings. PS: If you dont know how to compile a server use the Wiki and "learn". PS2: It seems i'm unable to upload files compressed, so i had to upload it to mediafire. Regards, Client Side: http://www.mediafire...iadvqrec1yhgrjy Diff files: Smith_Armor_eAthena-trunk_14993.patch Smith_Armor_RR_Mod_rev_79.patch Smith_Armor_3CeAM-trunk_652.patch
    1 point
  2. GRF Sharper v 0.1 [usable Release] Hello everyone this is my GRF Explorer tool, So why another GRF Tool you ask? well here are the reasons The current ones are old The current ones are un-maintained (not all of them) The current ones are written in C X_X; I want to make my own So what are the features gonna be? GRF Merge Fast GRF Filter and Search Open Multiple GRFs in another tab Transfer files between tabs Live preview of files in the grf ( even sprite , map , acts ) On the spot editing of grf files (no need to extract, edit , put it back, just double click edit and save ) Open sourced Well documented Its C#! So faster development speed( I made the UI 2 hours ago ) It works on Linux , Mac and Windows Notes: It only supports 0x200 GRF version and the DES Decryption algorithm is still broken ( that means its not able to extract some files in data.grf yet , coming soon) Ok let me tell you the truth! This is a part of an effort called "Managed Athena Project or mAthena" the goal is to port the existing eAthena software and the Open-Ragnarok https://gitorious.org/open-ragnarok/ into managed C#/.NET/Mono Code This is just the beginning , I am not expecting to do this by myself. That is the reason I am posting this. To let everyone know about the project. And if your a skilled but totally bored programmer and want to build your own stuff for RO. then this is our chance I honestly dont think it will replace our beloved eAthena project, but this will be an alternative and hopefully a competition for eA in the future Anyway heres the screenshots: Credits: ROInt Project - https://gitorious.or...bs/master/grf.c(GRF Engine) @KeyWorld for explaining to me the GRF File structure, DES Encryption and everything else has forked it on git hub and added the support for the following file formats. (SPR, PAL, TGA) https://github.com/s...45...a8317caba4 don't forget to rate it 5 starts if you like it Git Hub: https://github.com/Mercurial/mAthena What are you waiting for? fork it now! GRFSharper 0.1.rar
    1 point
  3. VERY nice start. I've hoped for a tabbed GRF editor/viewer for ages, so I'm pleased to see one in development!
    1 point
  4. erm, it's a video series... look on the first page.... of this post :X
    1 point
  5. Hey, I'm Adrian, I'm 17 years old, and I used to be an active member of the old forum. And I really like this new one. Congratulations Guys !
    1 point
  6. That's what i thought, but I have /save/ and all the files... all permission = full access... I don't know, maybe it was a problem with the server vbrenth gave me... I modified it to use sql anyways (since my tutorial series will eventually be branching into the sql eventually) and everything worked fine... so either way, I'm good.
    1 point
  7. 1 point
  8. Thanks got to know something new on this post :3
    1 point
  9. No, I think its ok, I'm scripter, and spriter myself, and my Co-Owner, Skorm, Is a developer and Scripter. We just need some extra help. And we have quite the stuff done. Edit: Thanks for the spoiler whoever did it. Good idea. Should've thought of it xD
    1 point
  10. I'm not at home so I couldn't test if it's actually working. The following changes set the variables killed_x and killed_y when a monster (and player if you like) is killed. It works exactly like killedid, just with the coordinates instead of the id. Find (src/map/map.h:308): SP_KILLEDRID=122, Add after: SP_KILLED_X=123, SP_KILLED_Y=124, Find (src/map/pc.c:6035): case SP_KILLEDRID: val = sd->killedrid; break; Add after: case SP_KILLED_X: val = sd->killed_x; break; case SP_KILLED_Y: val = sd->killed_y; break; Find (src/map/pc.c:6177): case SP_KILLEDRID: sd->killedrid = val; return 1; Add after: case SP_KILLED_X: sd->killed_x = val; return 1; case SP_KILLED_Y: sd->killed_y = val; return 1; Find (src/map/mob.c:2429): pc_setparam(mvp_sd, SP_KILLEDRID, md->class_); Add after: pc_setparam(mvp_sd, SP_KILLED_X, md->bl.x); pc_setparam(mvp_sd, SP_KILLED_Y, md->bl.y); Find (src/map/pc.h:390): int killerrid, killedrid; Add after: int killed_x, killed_y; Find (db/const.txt:296): killedrid 122 1 Add after: killed_x 123 1 killed_y 124 1 (Edit:) Sets the variables for custom mob kill events and killed players as well. Find (src/map/mob.c:2416): pc_setparam(sd, SP_KILLERRID, sd->bl.id); Add after: pc_setparam(sd, SP_KILLED_X, sd->bl.x); pc_setparam(sd, SP_KILLED_Y, sd->bl.y); Find (src/map/mob.c:2421): pc_setparam(mvp_sd, SP_KILLERRID, sd?sd->bl.id:0); Add after: pc_setparam(mvp_sd, SP_KILLED_X, sd?sd->bl.x:0); pc_setparam(mvp_sd, SP_KILLED_Y, sd?sd->bl.y:0); Find (src/map/pc.c:5719): pc_setparam(sd, SP_KILLERRID, src?src->id:0); Add After: pc_setparam(sd, SP_KILLED_X, src?src->x:0); pc_setparam(sd, SP_KILLED_Y, src?src->y:0); (/Edit) If you want to add the x and y coordinates for player kills as well: Find (src/map/pc.c:5778): pc_setparam(ssd, SP_KILLEDRID, sd->bl.id); Add after: pc_setparam(ssd, SP_KILLED_X, sd->bl.x); pc_setparam(ssd, SP_KILLED_Y, sd->bl.y);
    1 point
  11. Color : Blue & Black Name : Mysterious Ragnarok Online Size : 420x60 Anime : Picture of Assassin Cross, Sniper, and Lordknight Animation : N / A PS: Can you do a border like the image you have on your siggy?
    1 point
×
×
  • Create New...