Leaderboard
Popular Content
Showing content with the highest reputation on 08/10/20 in all areas
-
Hello, I'm Haziel. I've been a graphic artist for over 15 years. I've made commissions for several Ragnarök Servers and also, worked on the production of some Indie Games either as Concept or Pixel Artist. Spriter is my main role on game development but I'm also able to perform as Designer, Mapper and Programmer, drop me a PM if you're interested in any of those services. For the previews below, keep in mind: Headgears, Garments, Equipment, Weapon/Shield and Monsters. Headgears Divine Headgear Set A Gem Themed Headgear Set carrying the theme of mystical stones, targeted for each of the main class branches. Dragon Headgear Set In a similar fashion of the previous one, having one main headgear targeted to fit certain classes. Equipment Divergent Set The Divergent Set concept is based on evolution. After meeting some requirements, the player would be able to evolve the basic Divergent Equipment (grey-ish blue), to one of 8 different forms: Demon (Purple), Dragon (Green), Fox (Orange), Ox (Black), Phoenix (Red), Shark (Skyline Blue), Tiger (Yellow) and Wolf (White). Each one with its own properties. The Helmet has it's own appearances while the other equipment will have it's colour changed. Arcane Set The Arcane Set was meant to be a magical bundle of equipment with four options of headgears for combining, it also has a Weapon compatible with Wizards, Sages and their evolutions. Sacred Set Initially, the Sacred Shield was requested, then, a Swordsman Equipment set, I mixed both things and expanded it to an 8-piece Equipment Set. Plate themed, this one is intended for Knights, Crusaders and their respective evolutions, but can be used by any Class. The Shield is currently only available for Crusaders and evolutions but can be adapted for any Class, although a specific Diff from NEMO is required to implement it. An alternative Cursed theme is also available. Elemental Auras Four Aura-like headgears and four monsters/pets to go along the theme. Anime/Show/Game Themed Gears Anime/Game Themed Gears Miscellaneous Gears made based on some Anime/Game characters and/or artefacts. Above, Megaman X and Zero Helmets from Megaman X franchise, Dying Will from Katekyo Hitman Reborn anime, Kaneki Mask from Tokyo Ghoul anime. Sword Art Online 2 Headgears/Garments and 3 Weapons based on the Manga/Anime Sword Art Online. Elucidator and Dark Repulser both are available for Knights and Evolutions, Kirito Weapons for Assassins and Evolutions. Event Gears Valentine's Day Halloween Halloween Package includes 5 Headgears with matching Garments and also the Wicked Set, composed of 2 Headgears and a Garment. Auras 32bit Headgear Auras All of them available in 12 colours. Monsters Defence Turrets Those are monsters meant to be summoned and attack anything that goes near. Originally intended to be WoE-related. Untear, Unseal, Unnes & Undine My take on the concept of evolutive Pets, can also be used as monsters. Miscellaneous Monsters Situational mobs to be used in Custom Maps/Quests. Trickster Collection My own take on Trickster Online conversions. Christmas Boss: Evil Santa Meant for Christmas Events, this boss has some weirdly strong Reindeers as minions! Sword Art Online Collection Overlord Collection RE: Zero Collection Bosses Big Bosses Really Big Bosses VIP Badges Those were intended to be exclusive to certain VIP levels, there are alternate versions for PVP purposes. Logo Headgears I also offer the service of recreating a server's Logo in a promotional Headgear. Headgear Edits Examples of minor works I usually receive requests for, that may be, from little corrections or addition of details to recolours and mixing of headgears. Above, a symbolic gift to Nova and his request about a Sunglass equipped on the lower slot. Garments/Robes Garments are visual items Gravity made on Jan/05 of 2011, but even Gravity itself didn't make much of them. They're equipped on Cape or Costume Cape slot and must be made Class by Class to fit perfectly on each movement. Different from Headgears, they are layered correctly behind the character and does not stay floating around it as some custom content out there. Official examples of it are the Archangel Wings and the Adventurer's Backpack. Wing-Themed Collection My current Wing collection consists of several themes divided on Insect, Feathered, Leather and Other categories. Suitable for all classes. Classes Relics A garment bundle created to illustrate an attribute of each class branch in RO. Miscellaneous Garment Collection Another set of Custom Garments, but with another kind of thematic, instead of the usual wings. Weapons Weapons Weapons are specific for classes, but can be adapted to multiple at once. Miscellaneous Equipment Sets These have no visual appearance, are only intended as common gear. Freebies Headgears Garments Monsters Freebies Click on the preview image to be redirected to download thread! Freebies will be posted weekly! Rules 1. DO NOT steal my work, it takes hours, days, sometimes weeks to be made, don't claim it yours. 2. DO NOT redistribute, mirror or redistribute my work. 3. DO NOT edit my work without my permission, It includes recolours. 4. DO NOT remove my signature included among my files, be respectful. 5. DO use my works as Donation Rewards, be kind and just ask me first. Additional Information • I'm a Freelancer and my work is for sale, contact me by PM, Facebook, Discord, E-Mail ([email protected]) or Skype (hyering) if you're interested. • I'll not edit or modify other Artists' work without their permission, be sure to have it before asking. • I do take references on Sprites from TalesWeaver, Trickster and other sources, but I'll not redistribute raw materials or teach how to get it. • Feel free to contact me speaking English or Spanish. I can also understand Portuguese at a certain level. • I'm not a master or a know-it-all, I'll share my knowledge when I feel appropriate to do so.1 point
-
View File ALL monster drop item with Random Option ALL equipment drop by monster has chance of getting Random-Option. Like MU online every item you found have some (random) option .. now in rathena. ///////////// News update 28/04/2107 due to #2065 one of the requirement was merged in to rathena master so we no longer need any source modification for those who using latest release. ///////////////// UPDATE V.1.0 - 3 random option in each item. V.1.1 - has chance of getting 0-3 option in stead of fixed 3option. V.1.2 - drop chance is lower according to option quantity. Now 3option is rare (not yet applied to weapon). - Fixed error message. pre-re user still getting error message refer to Invalid monster ID. but random-drop-system work fine with this error. get in touch with next update. ///////// Requirement (for athena before bf2461f 28/04/2107) Initial release item random option for monster drop #2065 //////////////// Installation replace the following files. db/re(pre-re)/item_randomopt_group.txt db/re(pre-re)/mob_drop.txt make sure your /db/re(pre-re)/item_randomopt_db.txt is 201 lines (200 sloc) 16.7 KB. add following 6 line at the end of /db/const.txt RDMOPTG_WEP 1 RDMOPTG_EQARM 2 RDMOPTG_EQSH 3 RDMOPTG_EQGAR 4 RDMOPTG_EQFOOT 5 RDMOPTG_EQACC 6 ////////////////// Option Description (DEFAULT) /////////// Drop rate (DEFAULT) same rate as you can see in db/re/item_db.txt customize your droprate by editing db/re(pre-re)/mob_drop.txt ///////// Feel free to PM me Submitter nutminemz Submitted 04/10/2017 Category Source Modifications Video Content Author NuTmineMz1 point
-
View File Cheshire Set CHESHIRE SET CUSTOM HEADGEAR & CUSTOM ROBE Greetings again, rAthena! I'm Haziel, once more, I'm back planning on new freebies every week! Cheshire Set consists in a one Custom Headgear and a Custom Garment, Cheshire Ears and Cheshire Tail. I hope you enjoy the final product! If you're interested on my work, reach me at: By downloading this file, you agree with my Terms of Service: • YOU WILL NOT remove my signature from any of the included files. • YOU WILL NOT alter, edit, recolour any of my files unless for your personal use. • YOU WILL NOT repost, repass or mirror my work nor edited versions of it anywhere. • YOU WILL NOT sell, resell or in any manner, ask money or rewards using my work as exchange. • YOU WILL NOT claim my work as yours. Submitter Haziel Submitted 01/25/2019 Category Headgears Video Content Author Nexxon, Haziel Graphics1 point
-
1 point
-
Try this ? //===== rAthena Script ======================================= //= Job Master //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. [Euphy] //= 1.1 Fixed reset on Baby job change. //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. //= 1.3 Kagerou/Oboro added. //= 1.4 Rebellion added. //= 1.5 Added option to disable RebirthClass. [mazvi] //= 1.6 Added option to get job related equipment on change. [Braniff] //= 1.7 Readability changes. Also added BabyExpanded and BabySummoner classes. [Jey] //= 1.8 Added option to disable Baby Novice Only but Baby Class can be Enabled [mazvi] //= 1.9 Migrate/Integrate to Global Functions Platinum Skills. [mazvi] //============================================================ prontera,153,193,6 script Job Master 123,{ function Get_Job_Equip; // Checks if the Player has the required level. // closes if not, returns if yes function Require_Level { if (BaseLevel < getarg(0) || JobLevel < getarg(1)) { .@blvl = getarg(0) - BaseLevel; .@jlvl = getarg(1) - JobLevel; mes "Level requirement:"; mes ((getarg(0)>1)? "^bb0000"+getarg(0)+"^000000 (^bb0000Base^000000) / ":"")+"^00bb00"+ getarg(1)+"^000000 (^00bb00Job^000000)"; mes "You need " + ((.@blvl > 0) ? "^bb0000"+.@blvl+"^000000 more base levels " + ((.@jlvl > 0) ? "and " : "") : "") + ((.@jlvl > 0) ? "^00bb00"+.@jlvl+"^000000 more job levels " : "") + "to continue."; close; } return; } // Checks if the given eac is a baby class function Is_Baby { return ((getarg(0, eaclass())&EAJL_BABY)>0); } // Checks if the player can change to third class. // Note: This does not include the level checks. function Can_Change_Third { // To change to third class you either need to be: // * Second Class // * Transcendent Second Class // * Baby Second Class if( !.ThirdClass ) return false; // Third job change disabled if( !(eaclass()&EAJL_2) ) return false; // Not second Class if( eaclass()&EAJL_THIRD ) return false; // Already Third Class if( roclass(eaclass()|EAJL_THIRD) < 0 ) return false; // Job has no third Class if( (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE ) return false; // Exp. Super Novice equals 3rd Cls, but has it's own case if( Is_Baby() && (!.BabyClass || !.BabyThird) ) return false; // No Baby (Third) change allowed return true; } function Can_Rebirth { // To rebirth, you need to be: // * Second Class if( !.RebirthClass ) return false; // Rebirth disabled if( !(eaclass()&EAJL_2) ) return false; // Not second Class if( eaclass()&EAJL_UPPER ) return false; // Already Rebirthed if( roclass(eaclass()|EAJL_UPPER) < 0 ) return false; // Job has no transcended class if( Is_Baby() && !.BabyClass ) return false; // No Baby changes allowed return true; } // Checks if the given eac is a first class function Is_First_Cls { return (getarg(0) <= EAJ_TAEKWON); } function Check_Riding { // Note: Why we should always check for Riding: // Mounts are considered as another class, which // would make this NPC bigger just to handle with // those special cases. if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your " + ((checkfalcon()) ? "falcon" : "") + ((checkcart()) ? "cart" : "") + ((checkriding()) ? "Peco" : "") + ((ismounting()) ? "mount" : "") + " before proceeding."; close; } return; } function Check_SkillPoints { if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } return; } // addJobOptions is essentially the same like // setarray .@array[getarraysize(.@array)],opt1,opt2,...; // It's just easier to read, since we're using it very often function Job_Options { .@argcount = getargcount(); .@arr_size = getarraysize(getarg(0)); for( .@i = 1; .@i < .@argcount; .@i++) { setarray getelementofarray(getarg(0), .@arr_size++),getarg(.@i); } } // Begin of the NPC mes .NPCName$; Check_Riding(); Check_SkillPoints(); // initialisation deletearray .@job_opt[0],getarraysize(.@job_opt); .@eac = eaclass(); .@third_possible = Can_Change_Third(); .@rebirth_possible = Can_Rebirth(); .@first_eac = .@eac&EAJ_BASEMASK; .@second_eac = .@eac&EAJ_UPPERMASK; // Note: These are already set in pc.cpp // BaseClass = roclass(.@eac&EAJ_BASEMASK) which is the players First Class // BaseJob = roclass(.@eac&EAJ_UPPERMASK) which is the players Second Class //dispbottom "Debug: eac ("+.@eac+"), third ("+.@third_possible+"), rebirth("+.@rebirth_possible+"), BaseClass ("+BaseClass+"), BaseJob ("+BaseJob+")"; // From here on the jobmaster checks the current class // and fills the the array `.@job_opt` with possible // job options for the player. if( .@rebirth_possible ) { // Rebirth option (displayed on the top of the menu) Require_Level(.Req_Rebirth[0], .Req_Rebirth[1]); Job_Options(.@job_opt, Job_Novice_High); } if( .@third_possible ) { // Third Job change (displayed below rebirth) Require_Level(.Req_Third[0], .Req_Third[1]); Job_Options(.@job_opt, roclass(.@eac|EAJL_THIRD)); } if (.SecondExpanded && (.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE && // is Super Novice !(eaclass()&EAJL_THIRD) ) { // not already Expanded SN // (Baby) Super Novice to Expanded (Baby) Super Novice if( !Is_Baby(.@eac) || (.BabyClass && .BabyExpanded) ) { // .BabyClass & .BabyExpanded must be enabled if the is a baby Require_Level(.Req_Exp_SNOVI[0], .Req_Exp_SNOVI[1]); Job_Options(.@job_opt,roclass(.@eac|EAJL_THIRD)); // Expanded SN is "third" cls } } if (.SecondExpanded && ((.@eac&(~EAJL_BABY)) == EAJ_NINJA || // is (Baby) Ninja (.@eac&(~EAJL_BABY)) == EAJ_GUNSLINGER)) { // is (Baby) Gunslinger // (Baby) Ninja to (Baby) Kagerou / Oboro // (Baby) Gunslinger to (Baby) Rebellion if( !Is_Baby(.@eac) || (.BabyClass && .BabyExpanded) ) { // .BabyClass & .BabyExpanded must be enabled if the is a baby Require_Level(.Req_Exp_NJ_GS[0], .Req_Exp_NJ_GS[1]); // Kagerou, Oboro, Rebellion are considered as a 2-1 class Job_Options(.@job_opt, roclass(.@eac|EAJL_2_1)); } } // Player is Job_Novice, Job_Novice_High or Job_Baby if (.@first_eac == EAJ_NOVICE && .@second_eac != EAJ_SUPER_NOVICE) { // MAPID_NOVICE, MAPID_SUPER_NOVICE, MAPID_NOVICE_HIGH, MAPID_BABY Require_Level(.Req_First[0], .Req_First[1]); switch(Class) { case Job_Novice: // First job change Job_Options(.@job_opt,Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_Super_Novice, Job_Taekwon, Job_Gunslinger, Job_Ninja); if( .BabyNovice ) Job_Options(.@job_opt, Job_Baby); break; case Job_Novice_High: // Job change after rebirth if( .LastJob && lastJob ) Job_Options(.@job_opt, roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); else Job_Options(.@job_opt, Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High); break; case Job_Baby: if( !.BabyClass ) break; // First job change as a baby Job_Options(.@job_opt, Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer,Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief); if( .BabyExpanded ) Job_Options(.@job_opt, Job_Super_Baby, Job_Baby_Taekwon, Job_Baby_Gunslinger, Job_Baby_Ninja); if( .BabySummoner ) Job_Options(.@job_opt, Job_Baby_Summoner); break; default: mes "An error has occurred."; close; } } else if( Is_First_Cls(.@eac) || // First Class Is_First_Cls(.@eac&(~EAJL_UPPER)) || // Trans. First Cls (.BabyClass && Is_First_Cls(.@eac&(~EAJL_BABY))) ) { // Baby First Cls // Player is First Class (not Novice) // most jobs should have two options here (2-1 and 2-2) .@class1 = roclass(.@eac|EAJL_2_1); // 2-1 .@class2 = roclass(.@eac|EAJL_2_2); // 2-2 // dispbottom "Debug: Classes: class1 ("+.@class1+"), class2 ("+.@class2+")"; if(.LastJob && lastJob && (.@eac&EAJL_UPPER)) { // Player is rebirth Cls and linear class changes are enforced Require_Level(.Req_Second[0], .Req_Second[1]); Job_Options(.@job_opt, lastJob + Job_Novice_High); } else { // Class is not enforced, player can decide. if( .@class1 > 0 ) { // 2-1 Require_Level(.Req_Second[0], .Req_Second[1]); Job_Options(.@job_opt, .@class1); } if( .@class2 > 0 ) { // 2-2 Require_Level(.Req_Second[0], .Req_Second[1]); Job_Options(.@job_opt, .@class2); } } } // Displaying the Job Menu defined by .@job_opt. // .@job_opt should not be changed below this line. function Job_Menu; Job_Menu(.@job_opt); close; // Displays the job menu function Job_Menu { // getarg(0) is the .@job_opt array holding all available job changes. function Confirm_Change; while(true) { .@opt_cnt = getarraysize(getarg(0)); if( .@opt_cnt <= 0 ) { mes "No more jobs are available."; close; } .@selected = 0; // Just a single job class given, no select needed if (.@opt_cnt > 1) { // Multiple job classes given. Select one and save it to .@class // After that confirm .@class mes "Select a job."; .@menu$ = ""; for (.@i = 0; .@i < .@opt_cnt; .@i++) { if( getelementofarray(getarg(0), .@i) == Job_Novice_High) .@jobname$ = "^0055FFRebirth^000000"; else .@jobname$ = jobname(getelementofarray(getarg(0), .@i)); .@menu$ = .@menu$ + " ~ " + .@jobname$ + ":"; } .@menu$ = .@menu$+" ~ ^777777Cancel^000000"; .@selected = select(.@menu$) - 1; if( .@selected < 0 || .@selected >= .@opt_cnt ) close; next; mes .NPCName$; } .@class = getelementofarray(getarg(0), .@selected); if ((.@class == Job_Super_Novice || .@class == Job_Super_Baby) && BaseLevel < .SNovice) { // Special Level Requirement because Super Novice and // Super Baby can both be selected in one of the first class // changes. That's why the Level Requirement is after and not before // the selection. mes "A base level of " + .SNovice + " is required to turn into a " + jobname(.@class) + "."; return; } // Confirm the Class Confirm_Change(.@class, .@opt_cnt > 1); next; mes .NPCName$; } return; } // Executes the actual jobchange and closes. function Job_Change { .@to_cls = getarg(0); next; mes .NPCName$; mes "You are now " + callfunc("F_InsertArticle", jobname(.@to_cls)) + "!"; if (.@to_cls == Job_Novice_High && .LastJob) lastJob = Class; // Saves the lastJob for rebirth jobchange .@to_cls; if (.@to_cls == Job_Novice_High) resetlvl(1); else if (.@to_cls == Job_Baby) { resetstatus; resetskill; set SkillPoint,0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.Platinum) callfunc "F_GetPlatinumSkills"; if (.GetJobEquip) Get_Job_Equip(); close; // Always closes after the change } function Confirm_Change { // Player confirms he want to change into .@class .@class = getarg(0, -1); .@back = getarg(1, false); if( .@class < 0 ) { mes "Unknown Class Error."; close; } if(.ZCost != 0 && .@class == Job_Novice_High) { mes "Do you want to rebirth?"; mes "This will cost "+callfunc("F_InsertComma",.ZCost)+"z"; // Adds Zeny Cost message if ZCost is enabled .@job_option$ = " ~ ^0055FFRebirth^000000 - ("+callfunc("F_InsertComma",.ZCost)+"z)"; } else { mes "Do you want to change into ^0055FF"+jobname(.@class)+"^000000 class?"; .@job_option$ = " ~ Change into ^0055FF"+jobname(.@class)+"^000000 class"; } // if( .@class == Job_Novice_High) // .@job_option$ = " ~ ^0055FFRebirth^000000"; if (select(.@job_option$+": ~ ^777777" + ((.@back) ?"Go back" : "Cancel") + "^000000") == 1) { if(Zeny < .ZCost && .@class == Job_Novice_High) { clear; mes .NPCName$; mes "You are lacking "+callfunc("F_InsertComma",(.ZCost - Zeny))+" zeny."; close; } if(.@class == Job_Novice_High) Zeny = Zeny-.ZCost; Job_Change(.@class); } if (!.@back) close; // "Cancel" pressed return; } // Function which gives a job related item to the player // the items are the rewards from the original job change quests function Get_Job_Equip { // Note: The item is dropping, when the player can't hold it. // But that's better than not giving the item at all. .@eac = eaclass(); if( .@eac&EAJL_THIRD ) { // Third Class Items getitem 2795,1; // Green Apple Ring for every 3rd Class switch(BaseJob) { // BaseJob of Third Cls // For Normal Third, Baby Third and Transcended Third Cls case Job_Knight: getitem 5746,1; break; // Rune Circlet [1] case Job_Wizard: getitem 5753,1; break; // Magic Stone Hat [1] case Job_Hunter: getitem 5748,1; break; // Sniper Goggle [1] case Job_Priest: getitem 5747,1; break; // Mitra [1] case Job_Blacksmith: getitem 5749,1; break; // Driver Band [1] case Job_Assassin: getitem 5755,1; break; // Silent Executor [1] case Job_Crusader: getitem 5757,1; break; // Dip Schmidt Helm [1] case Job_Sage: getitem 5756,1; break; // Wind Whisper [1] case Job_Bard: getitem 5751,1; break; // Maestro Song's Hat [1] case Job_Dancer: getitem 5758,1; break; // Dying Swan [1] case Job_Monk: getitem 5754,1; break; // Blazing Soul [1] case Job_Alchemist: getitem 5752,1; break; // Midas Whisper[1] case Job_Rogue: getitem 5750,1; // Shadow Handicraft [1] getitem 6121,1; // Makeover Brush getitem 6122,1; break; // Paint Brush } } else if (.@eac&EAJL_2) { // Second Class (And not Third Class) switch(BaseJob) { // Second Class case Job_Knight: getitem 1163,1; break; // Claymore [0] case Job_Priest: getitem 1522,1; break; // Stunner [0] case Job_Wizard: getitem 1617,1; break; // Survivor's Rod [0] case Job_Blacksmith: getitem 1360,1; break; // Two-Handed-Axe [1] case Job_Hunter: getitem 1718,1; break; // Hunter Bow [0] case Job_Assassin: getitem 1254,1; break; // Jamadhar [0] case Job_Crusader: getitem 1410,1; break; // Lance [0] case Job_Monk: getitem 1807,1; break; // Fist [0] case Job_Sage: getitem 1550,1; break; // Book [3] case Job_Rogue: getitem 1222,1; break; // Damascus [1] case Job_Alchemist: getitem 1126,1; break; // Saber [2] case Job_Bard: getitem 1907,1; break; // Guitar [0] case Job_Dancer: getitem 1960,1; break; // Whip [1] case Job_Super_Novice: getitem 1208,1; break; // Main Gauche [4] case Job_Star_Gladiator: getitem 1550,1; break; // Book [3] case Job_Soul_Linker: getitem 1617,1; break; // Survivor's Rod [0] } } else { // Neither Second or Third Cls // => First Cls or not covered by the switch switch(BaseClass) { // First Class case Job_Swordman: getitem 1108,1; break; // Blade [4] case Job_Mage: getitem 1602,1; break; // Rod [4] case Job_Archer: getitem 1705,1; break; // Composite Bow [4] case Job_Acolyte: getitem 1505,1; break; // Mace [4] case Job_Merchant: getitem 1302,1; break; // Axe [4] case Job_Thief: getitem 1208,1; break; // Main Gauche [4] case Job_Gunslinger: getitem 13101,1; break; // Six Shooter [2] case Job_Ninja: getitem 13010,1; break; // Asura [2] } } return; } OnInit: // Initialisation, do not edit these .NPCName$ = "[Job Master]"; .ZCost = 25000; // Zeny cost per job change. Change to 0 to disable. // Settings .ThirdClass = false; // Enable third classes? .RebirthClass = true; // Enable rebirth classes? .SecondExpanded = false; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? .BabyNovice = false; // Enable Baby novice classes? Disable it if you like player must have parent to get job baby. .BabyClass = false; // Enable Baby classes? .BabyThird = false; // Enable Baby third classes? .BabyExpanded = false; // Enable Baby Expanded classes: Ex. Baby Ninja, Baby Taekwon, etc. .BabySummoner = false; // Enable Baby Summoner? .LastJob = true; // Enforce linear class changes? .SkillPointCheck = true; // Force player to use up all skill points? .Platinum = true; // Get platinum skills automatically? .GetJobEquip = false; // Get job equipment (mostly weapons) on job change? // Level Requirements setarray .Req_First[0],1,10; // Minimum base level, job level to turn into 1st class setarray .Req_Second[0],1,40; // Minimum base level, job level to turn into 2nd class setarray .Req_Rebirth[0],99,50; // Minimum base level, job level to rebirth setarray .Req_Third[0],99,50; // Minimum base level, job level to change to third class setarray .Req_Exp_NJ_GS[0],99,70; // Minimum base level, job level to turn into Expanded Ninja and Gunslinger setarray .Req_Exp_SNOVI[0],99,99; // Minimum base level, job level to turn into Expanded Super Novice .SNovice = 45; // Minimum base level to turn into Super Novice // Setting adjustments by PACKETVER if( PACKETVER < 20161207 ) { if( .BabyExpanded ) debugmes "jobmaster: BabyExpanded is disabled due to outdated PACKETVER."; if( .BabySummoner ) debugmes "jobmaster: BabySummoner is disabled due to outdated PACKETVER."; .BabyExpanded = false; .BabySummoner = false; } end; }1 point
-
data>luafiles514>transparentitem>transparentItem.lub add another line before { 0, 0, 0, 0} { YOURGARMENTID, 255, 255, 25500 }, EDIT: just a note, make sure that you followed the guide for custom garments because it's very different for headgears.1 point
-
Copy this and add to your lua files in your server grf questinfo_f.lub Make sure your client will read lub files not LUA Or if your server read lua copy all data inside questinfo_f.lub then paste it to your questinfo_f.lua . It should work now!1 point
-
You are using old lua files quest info . Always update your KRO then if the error is still there . Find a latest data that contain 2020 lua files or just simply extract rdata or data.grf and get the lua and copy it to your grf1 point
-
Version 1.20
386 downloads
In this File: - folder with Malaya monsters act files with sound effects. (finally). - folder with Other monsters fix, this contains fixed acts for 30 monsters, Did you know that doppelganger screams when dying? have you ever heard it? I think not. Well here you have it, did i said 30 monsters with corrected sound? Have you ever heard zealotus actions? - Fixed Osiris idle snapping frame act. Bonus: folder with female lord knight class act frame with sounds, weapon attack spear and two handed sword. Please read the readme file, do not reupload this fix in other sites beside this.Free1 point -
I went ahead and slightly modified buraquera's script map,x,y,pos script Prontera Warper::PrtWarper SPRITE_ID,{ if(getgmlevel()==99){ switch(select("Warp to Prontera","Change Password")){ case 1: mes "Enter Password"; input .@pass$; if (.@pass$ == $pass$){ warp "prontera",0,0; end; } mes "Wrong Password"; close; break; case 2: mes "Enter new Password"; input $pass$; mes "Password updated"; close; break; } } end; } Try this Of course remember to edit the map, coordinates and sprite in order for the NPC to appear Also note that this will warp into a random position because of 0,0 coordinates please let me know if it works1 point
-
1 point
-
changing langtype must also change lua files by default kRO uses ..\Lua Files\service_korea\ExternalSettings_kr viewing hexed unpack 2018 client to your native language: Lua Files\service_brazil\ExternalSettings_br_sak Lua Files\service_brazil\ExternalSettings_br in order to use it create folder name service_brazil inside it paste ExternalSettings_kr.lub and rename it as ExternalSettings_br_sak.lub if you are using sakray or ExternalSettings_br.lub if you are using primary. To be safe use sakray this must be on your sclientinfo.xml <servicetype>brazil</servicetype> <servertype>sakray</servertype> <langtype>12</langtype> if your not aware what i'm talking about see: https://github.com/Asheraf/Translation/tree/master/data/luafiles514/lua files/service_korea1 point
-
Hello rAthena! Today I release this little tool: It allows you to quickly populate new groups. Small Guide: 1. Download and unzip the tool. 2. Copy your item_randomopt_db.txt into the unzipped path. (Replace the File inside) 3. Run the Tool. 4. Insert your GROUP_ID to use in the First textbox. 5. Select any option in the first box 6. Add the minumum and maximum value. 7. Click Generate. 8. Now the bottom box will output the combination of all your options chosen and it will min/max the values. Example: I want that the Item option roll 1000 or 2000 HP and 100,200 or 300 SP. That is 2x(HPin 1000Steps) times 3x(SP in 100Steps)1 point
-
not working sir emistry. and with error [Error]: buildin_getitem: Nonexistant item 0 requested. [Debug]: Source (NPC): shower (invisible/not on a map) @Emistry Thank you ! Btw im one of your friends in facebook1 point