Jump to content

IndieRO

Members
  • Content Count

    286
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Like
    IndieRO reacted to AnnieRuru in @packetfilter   
    No more Work in Progress, Please report if there are any bug
     
    Download: 1.0a [Complete]
    plugin
     
     
    What is `@packetfilter` ?
    `@packetfilter` is a custom mod originate from eamod
    https://github.com/zephyrus-cr/eamod/blob/master/Servers/rAthena/conf/groups.conf#L418-L422
    it can actually reduce lag on your live server during woe depends on how many players activate it
    it totally depends on the player's side, community effort that every player should together turn on the `@packetfilter` to reduce massive lag during woe
     
    this modification is actually very famous and there are members willingly to pay for it
    https://rathena.org/board/topic/121200-packetfilter-battleinfo/
    https://rathena.org/board/topic/123203-battleinfo-packetfilter/
    https://rathena.org/board/topic/111797-packetfilter-zepyhrus-ramod/
    https://rathena.org/board/topic/79995-buy-noactnodelay-partybuff-src-as-it-was-on-pro-ro-or-packetfilter/
     
     
     
    this `@packetfilter` is unlike the one you are having, or that is circulating on rathena forum
     
    this one has been written entirely from scratch and added some other flags that the original don't
    for example,
    `@packetfilter COHM EOHM`
    allow block normal chat and emotion from non-related players, pets, homunculus and monsters
    but this doesn't block normal chat from party/guild members
     
    a full list of flags are
      C = ignore normal Chat, including Dancer's scream, Bard's frost joke, and pet's talk (pet start to talk when intimacy > 900)   E = ignore emotion, including monster and pet emotion (but NOT pet performance)   I = ignore Item use effect   A = ignore normal Attack animation (based on receiving side), your own attack animation are always shown   B = Buffing skill animations (based on receiving side), your own casting animation are always shown   S = Status effect   T = offensive single Target skill/spell animations (based on receiving side), your own casting animation are always shown   G = Ground based skills (eg:storm gust), your own casting animation are always shown   M = Music dance/songs from Bard/Dancer   D = Direction. Recommend filter on Party/Guild type and not enemies. Highly Recommend for supportive type Class. after the Main type, also support additional flags
      S = Self   P = Party   G = Guild   B = Battleground   C = Clan   O = Other players, none of the above   H = Homunculus/pets/elementals/mercenary and player's @summon   M = Monsters  
     
    Why This plugin doesn't block Kaite or Energy Coat ?
     
    2 reasons
     
    No.1 - currently there is a bug with plugin,
    struct packet_spawn_unit *p = (struct packet_spawn_unit*)RBUFP(buf, 0); this line will throw error on Linux
    so no choice, maybe I'll make a bug report
    this bug also has been reported on Dastgir's `@noview`
     
    No.2 - just set p->virtue = 0; isn't really blocking the packet
    this goes against the very principle of this plugin, which is NOT send certain packet to the client
    OPT3 (including OPT3_KAITE | OPT3_ENERGYCOAT | OPT3_SOULLINK) is part of the idle_unitType, unit_walkingType and spawn_unitType function
    and blocking those 3 packet entirely is stupid
     
    in case you don't understand, look under clif_set_unit_walking and clif_set_unit_idle function inside src\map\clif.c file
    p.GUID = g_id; p.GEmblemVer = status->get_emblem_id(bl); p.honor = (sd) ? sd->status.manner : 0; // p.virtue = (sc) ? sc->opt3 : 0; <-- change this line p.virtue = 0; p.isPKModeON = (sd && sd->status.karma) ? 1 : 0; p.sex = vd->sex;  
     
    Note: about [D]irection type packet
     
    try add a ShowDebug inside clif->send
    src/map/clif.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/map/clif.c b/src/map/clif.c index ab3c4422a..9e245f335 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -450,6 +450,7 @@ static bool clif_send(const void *buf, int len, struct block_list *bl, enum send return true; } +ShowDebug("source:%s buf:0x%x send_target:%d\n", (sd != NULL)? sd->status.name : "NULL", RBUFW(buf, 0), type); switch(type) { case ALL_CLIENT: //All player clients. iter = mapit_getallusers(); you will find 0x9c is being send repeatedly on every attack and every skill cast , getting attack etc
    this direction update packet isn't just send by Shift-click, but also including all the actions above
    this packet is very spam-able and I think can be safely block on party/guild/clan/bg flags
    for supportive class, I also think can block all of them since supportive class doesn't need information from enemies
     
     
     
  2. Upvote
    IndieRO got a reaction from kokastein in Disable Doram   
    try with disable case job_summoner on src/char/char.c
    switch (starting_class) { //case JOB_SUMMONER: << Give comment case JOB_NOVICE: break; default: return -2; // Char Creation Denied } never test it
  3. Like
    IndieRO reacted to meko in auto revive   
    OnPCDieEvent: if (!(isequipped(Helm_Of_Sun)) // no helm of sun || agitcheck() // WoE || getmapflag(strcharinfo(PC_MAP), mf_pvp) // map PvP || getunittype(killerrid) == UNITTYPE_PC) // killed by a player end; addtimer(1000, strnpcinfo(NPC_NAME) + "::OnAutoRevive"); end; OnAutoRevive: recovery(getcharid(CHAR_ID_ACCOUNT)); // revive the player end;  
  4. Like
    IndieRO reacted to Rytech in The End of A Era - Goodbye 3CeAM   
    Well this is it. This is the day I knew would one day come after spending some time thinking about the project and my priorities. After a number of not so good things happened to me during the first few months of this year (2020) I had to sit down and think about many things including this project. In the end I came to the difficult decision of ending this project. Many many years of work into something that I feel has to end. But not every reason for this is due to my current situation in life but also the changing world of Ragnarok Online. I won't get into the details of whats going on in my personal life but ill talk about the issues with the project itself.
     
    RO is changing. A lot. Its changing too much for me to keep up on jobs, skills, and important features on the project and my life future needs to take priority. For most of the time I worked on this project it has distracted me from my priorities in life. I kept up with it for a very long time and I tried to catch up on things for many years. With the complete recode of the elemental system on r900 I felt I finally got all caught up and only had a few bugs here and there related to skills that needed to be fixed and I just needed to finish up whats missing for the Summoner job. But I was so wrong. The thing is I felt the need to keep things up to keep the project alive and not have people wondering if the project is dead or not. Plus after doing so much work it felt like ending it would mean I wasted years of my life doing this for....what??? What exactly did I get out of this? Some fun, a hand full of thanks, and some credits and rep. Kinda felt like someone who played a MMO for many years and can't quit knowing it would make all that past time feel like it was all for nothing. A waste.
     
    So whats the issues with the project itself? Well....
     
    1. The Base Code Is Too Old
    3CeAM is running on eAthena r14767 which is around 9 or 10 years old. A base that dated has been found to have some issues with newer compilers like VS 2015 which I have resolved this year. But other issues appeared after running the program made with newer compilers which I fixed some. But I realized that not only is there a lot of hidden issues needing fixing but things like plugin's and other .dll files are dated and need updating along with the code that uses them. I have little knowledge of this stuff and can't do it by myself. Other projects like rAthena and Hercules are much more up-to-date for newer compilers and OS's. 3CeAM's base code is just too old to keep up with. Especially when im the only one working on it.
     
     
     
    2. Keeping Things Up-To-Date Is Impossible
    When it comes to development in this project there's a few key things I focus on most. Jobs, skills, any systems related to the jobs/skills that require them, and client support. I don't bother with things like the banking system or equip swap or other non important things. This pile of stuff I pushed off grew over the years and now while client support is good, many features in them don't work since I never coded them in. Im always busy working on job/skill related stuff most of the time. Its very time consuming. But after spending many years catching up on the official support for skills and these job/skill related systems I finally caught up in r900 with the exception of Summoners and a few skills that could use a quick recode.
     
    Looking at whats been going on in official kRO the dev's have been changing things with the 3rd job skills....A LOT!!!! They will increase the max level for some of them, change how some of the skills work, and do these massive skill updates. That would be kinda fine with me if it wasn't for the fact that they keep changing things. How many skill updates Rune Knights got? How many freaken times Sonic Wave got changed? How many times did they change a large number of 3rd job skills for each job? Each job must of gotten at least 3 or 4 massive skill change updates to their skill set. Its enough to drive me crazy trying to keep up with it all.
     
    Remember how long it took me to go through every 3rd job a few years back to comb through all of the code to get each of them up-to-date with the 2011 skill updates? Even after that I had to go back and revisit the parts I held off on knowing they would be very complex and time consuming to do. Now it feels like half or most of what ive done was now a time waster since I will have to do this exact procedure ALL OVER AGAIN combing through the code and kRO change logs to update each 3rd job skills 1 by 1 to get them up-to-date again. I did it once, im not doing it again.
     
     
    3. Newer Client Support.
    In mid 2018 official kRO increased the value that handles item ID's from short (16-bit 32k item limit or 64k however you look at it) to int (32-bit allowing over 2 billion ID's). But the way they did it made things difficult. Many existing packets relays on item ID's and so they decided to change this value in all already existing packets. To support newer clients over 50 or probely 70 or 80 or maybe more needs updating. But not only updating but many which only have 1 versions of itself requires additional code to keep backward support for older clients. Such a change is a huge workload and would require multiple updates to get it working. Me not having the time for this crap if I did it would just say FUCK IT and remove ALL of those packets and only readd the latest versions of each one to significantly reduce that workload. I would make a copy of the source files that handles the packets and put them to the side in the SVN for those who want 2018-06-20 or older support because that change will make it so only 2018-07-01 and newer clients will work. Won't be the most popular choice but im not up for trying to keep backward compatibility with years of clients. Just going to be a pain in the ass.
     
     
     
    4. The 4th Jobs Workload
    It took many years since the beginning to get the 3rd jobs caught up. Some of that time spent figuring out how to implement them in the system on their own layer and also inherit the features and permissions of the previous jobs. That was a big challenge since noone knew exactly how the job management system worked. Me and a few others made multiple prototype codes to find the best method until I found the right way to do it. Knowing this knowledge I can create a new layer for 4th jobs. But these jobs come with a lot more then just a hand full of skill sets.
     
    When 3rd jobs came, so did the introduction of a new game mechanic that split cast times into variable cast and fixed cast and it also introduced cooldowns. It was a nice and much needed change and it didn't take long to code this stuff in. 4th jobs however are adding new game mechanics much bigger then this. When you change to a 4th job, level 201 to 250 will give you a new kind of stat points called T.Stats and you use them on 6 new stats that are added to the 6 that existed since day 1 of RO, making the total number of stats in the game 12 now. This also comes with a hand full of new sub-stats which we can just call T.Sub-Stats. Coding all of this in will be a big work load since no new stats were added since the early days of RO server emulators. Also new to the table is something called AP which will be a new requirement for some if not all of the 4th job skills according to info I found in a updated skillinfo_f.lua file. So now we will soon have to mange HP, SP, and now AP.
     
    Info extracted from newer client exe's shows some of the new buff skills increases T.Stats and also increases T.Sub-Stats. Combining that with the new AP requirements and you now have over 100 new skills that will require all of this to be coded in and working to allow those skills to work properly. This is a workload much MUCH greater then what the 3rd jobs were and doing this alone will just stress me out. Especially when this is only a free time hobby that brings no income.
     
     
     
    5. A Project Managed By 1 Person
    Managing the project by myself has been somewhat stressful at times. It used to be developed by a small team but everyone moved on with their lives. And I got used to doing it all by myself. I knew the code inside and out because almost everything was being done by me and I knew what was done and what still needed to be coded in. Well this became a big part of the project's downfall. Doing it all by myself is a lot on me and it prevented things like a updated base code and .dll's, server/client features, and other things to fall behind. Sure 15peaces made patches you can apply to get those other features working but its not something officially in the project's code.
     
    I tried working with the team at rAthena before only to quickly find out that some of the dev's there don't do a good job at coding. Some would code something in and commit it to the GIT and those changes would cause problems. So dev's have to go back and fix the bug or the issue which sometimes causes crashes and commit again. And even with that the fix won't even fix the issue as if the dev didn't test it. WTF!!??!! The dev would commit multiple times on that code before its actually working. I can only imagine the number of issues in that project's code. When you code something in your supposed to TEST IT BEFORE RELEASING IT!!!! Test it thoroughly to make sure it works EXACTLY how its supposed to and test some scenario with it to make sure it doesn't cause problems or crashes in case there's any hidden bugs. And even if it works properly, find ways to shrink the code down to make it smaller and optimize it to use a few CPU cycles and little memory as possible.
     
    I follow a procedure when I do my own coding. Code it in, do simple tests, shrink and optimize the code if it passes the test, test again for the same expected results, do extra testing (thorough testing through stressing the code and running scenarios that might cause issues), and then release it if all passes. Its because of this 3CeAM has a history of being stable and extremely rarely has any crashes or bugs. If there's one thing dev's should take from this example, do it right the first time and give it your best at all times. If your often having to go back to your previous work or the same piece of code repeatedly to fix it then your doing something wrong. The lack of this procedure in rAthena made me quit in less then a month as I refused to fix/cleanup other people's messes. This is why I worked alone for so long. I was afraid to let or ask others join the team.
     
     
     
    Final Note
    3CeAM was fun to work on and I learned a lot from it. It was very popular before rAthena and Hercules existed since at the time people wanted 3rd jobs in their servers. But those golden years are gone and trying to keep this project alive will just be a waste. Its time to let go and move on to new hobbies. Im very interested in the 4th jobs but im not interested in trying to code them into a old very dated project. If I do such a thing it will be in rAthena (which is in a better standing then when I saw it years ago), or Hercules. Anything with 3CeAM will only happen if its a paid job and thats if I even choose to accept it.
     
    Thank you to the community for supporting the project and being with me all these years. It was a fun journey.
  5. Like
    IndieRO reacted to Kenpachi in jRO Exclusive Monsters   
    View File jRO Exclusive Monsters
    All jRO Exclusive, Event and Special Episode monsters.
    This file was originally posted by @fxfreitas at Midgard-Community.
     
    The archive contains the following monster sprites:
    abyss_arthur (corridor of abyss special instance boss) AMELIT (ghost carring a gemstone) ANGLERFISH (Mini-boss) CHAOS_DEVIL_DRAGON deviruchi_w (a white deviruchi, event) domovoi (custom pet, based on RO2 domovoi) ECHIDNA EMELIT (ghost carring a gemstone) giant_deviruchi (event monster) giant_deviruchi_w (event monster) headless_mule (remake of original brasilis monster, last kRO already implemented) HERA (Episode Monster) j_taini (tiny, event monster and pet) kraken_baby (marse edit) LILITH (Episode Monster) M_DARK_KNIGHT (Mercenary monster) M_FLAME_KNIGHT (Mercenary monster) M_ICE_KNIGHT (Mercenary monster) M_LIGHT_KNIGHT (Mercenary monster) M_STONE_KNIGHT (Mercenary monster) merman_se (merman edit) METAL_DRAGON (Pet and dungeon monster) MYTHLIT (ghost carring a gemstone) pad_fafnir (Can't Move, Can't Attack) pad_helheim (Can't Move, Can't Attack) pad_horai (Can't Move, Can't Attack) pad_ifrit (Can't Move, Can't Attack) pad_kinggold (Can't Move, Can't Attack) pad_kingmetal (Can't Move, Can't Attack) pad_leviathan (Can't Move, Can't Attack) pad_muspelheim (Can't Move, Can't Attack) pad_mythlit (Can't Move, Can't Attack) pad_niraikanai (Can't Move, Can't Attack) pad_shangrila (Can't Move, Can't Attack) pad_tamadora (Pet) pad_zaerog (Can't Move, Can't Attack) pad_zerog (Can't Move, Can't Attack) poseidon (strouf edit) RUBYLIT (ghost carring a gemstone) SAPPHLIT (ghost carring a gemstone) seiren (obeaune edit) SIREN (Episode Monster) tacnu (Mini-boss) TOPALIT (ghost carring a gemstone) Submitter Kenpachi Submitted 04/22/20 Category Sprites & Palettes  
  6. Like
    IndieRO reacted to cookie-rae in Botong-ui | FluxCP Theme   
    WoW this is good fluxCp tbh. great work as always keep the good developments Thank you also for this file.
  7. Like
    IndieRO reacted to Hyroshima in Barter shop doubt   
    try this way:
    - trader Shop1 FAKE_NPC,{ OnInit: tradertype(NST_BARTER); sellitem White_Herb, 100, Red_Potion, 2; sellitem Blue_Herb, 200, Orange_Potion, 3; end; } - trader Shop2 FAKE_NPC,{ OnInit: tradertype(NST_BARTER); sellitem Green_Herb, 100, Red_Potion, 4; sellitem White_Herb, 100, Orange_Potion, 1; end; } - trader Shop3 FAKE_NPC,{ OnInit: tradertype(NST_BARTER); sellitem Apple, -1, Orange_Potion, 1; sellitem Praetorian_Shield, 100, Berserk_Potion, 10; end; } prontera,159,284,4 trader Barter Shop 4_M_KID1,{ mes "Select the shop for open!"; switch(select("Shop 1:Shop 2:Shop 3")) { case 1: close2; openshop "Shop1"; break; case 2: close2; openshop "Shop2"; break; case 3: close2; openshop "Shop3"; break; } end; }  
  8. Like
    IndieRO reacted to 4144 in New hercules feature: Expanded barter shop   
    From last release in hercules was added new shop type: expanded barter shop.
    This shop allow buy item with different amount and pay with other items or with money. For removed items supported refine levels.
    Also this shop allow infinite or limited numbers in shop. Limited numbers saved into database.
     
    For use shop example script uncomment in file npc/scripts_custom.conf this line:
    //"npc/custom/expandedbartershop.txt",  
    This shop supported from clients:
    Ragexe: 2019-11-20 and newer
    RagexeRE: 2019-11-06 and newer
    Ragexe zero: 2019-11-27 and newer
     
    Same sample images:

     

     
  9. Like
    IndieRO reacted to Functor in Nemo patcher   
    @San @4144
    This is a typo in the script file.
    Open ../Patches/AllowSpamSkills.qs and change:
    "3B D8" + // cmp ebx, ebx to:
    "3B DB" + // cmp ebx, ebx  
  10. Like
    IndieRO reacted to Naruto in Simple Auras , reusable and clean   
    Hi working on getting auras to work simply.....
     
    So for this I use sg_warm_sun since its a damaging aura, but its going to be practically the same process for everything else
     
    first up make a new status in status.h and .c
    status->set_sc( WT_DRAGON , SC_DRAGON , SI_BLANK , SCB_NONE ); Dont need to do anything else here unless you want to
     
     
    next lets go to map.c
     
    add this 
    if (sc->data[SC_DRAGON]) skill->unit_move_unit_group(skill->id2group(sc->data[SC_DRAGON]->val4), bl->m, x1-x0, y1-y0); if (sc->data[SC_WARM]) skill->unit_move_unit_group(skill->id2group(sc->data[SC_WARM]->val4), bl->m, x1-x0, y1-y0);  
    back to skill.c to work on the new skill i made
    case WT_DRAGON: skill->clear_unitgroup(src); if ((sg = skill->unitsetting(src,skill_id,skill_lv,src->x,src->y,0))) sc_start4(src,src,type,100,skill_lv,0,0,sg->group_id,skill->get_time(skill_id,skill_lv)); break; case SG_SUN_WARM: case SG_MOON_WARM: case SG_STAR_WARM: case UNT_DUMMYSKILL: switch (sg->skill_id) { case WT_DRAGON: skill->attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); clif->specialeffect(bl,92,1); break; case SG_SUN_WARM: case SG_MOON_WARM: case SG_STAR_WARM: so a note on UNT_DUMMSKILL, it represents unt id 0x86, which is the cookie cutter unt used in things that arent placable... are their own unts like sanctuary and stuff 
     
    i make it bf_magic cause its easy to edit in battle.c wait till last step
    and ofc specialeffect 92 is id, check areas... but i think it might be ok on 1, or 0 or just AREA 
     
     
    next skill_db
     
    { Id: 1609 Name: "WT_DRAGON" Description: "Exploding Dragon" MaxLevel: 3 Range: 1 Hit: "BDT_SKILL" SkillType: { Self: true } AttackType: "Magic" Element: "Ele_Weapon" DamageType: { SplashArea: true } SplashRange: 1 InterruptCast: true KnockBackTiles: 2 AfterCastActDelay: 1000 SkillData1: { Lv1: 10000 Lv2: 20000 Lv3: 60000 Lv4: 60000 Lv5: 60000 Lv6: 60000 Lv7: 60000 Lv8: 60000 Lv9: 60000 Lv10: 60000 } CoolDown: 0 Requirements: { SPCost: 20 } Unit: { Id: 0x86 Range: 1 Interval: 100 Target: "Enemy" } }, skilldata1 is the time it survives , how do you know its skilldata 1 ? 
     
    here : 
    sc_start4(src,src,type,100,skill_lv,0,0,sg->group_id,skill->get_time(skill_id,skill_lv)); get_time 
    get_time2 would be data2 in skill db and so on 3 to 4 
    since aura is linked to Status, its only for us...
     
    now open battle.c
     
    break; case WZ_STORMGUST: skillratio += 40 * skill_lv; break; case WT_DRAGON: skillratio += 100 * skill_lv; break;  
     
     
    right so this post will only cover how to activate it with a timer
     
    its up to you to figure out how to do the rest but easy to disable / reanable with button by following pa_gospel and adding effects too.. Pa_gospel has it all really
     
     
     
    Something else you can do now is just change this number in the skill_db
        Unit: {         Id: 0x86         Range: 1         Interval: 100         Target: "Enemy"     } now we linked status to aura we can change the unit id here to be any unt in the game like violent gale and deluge auras, they copy their respective UNT_DELUGE entries
    anyways i did this for example : 
    Unit: { Id: 0x9c Range: 1 Interval: 100 Target: "Enemy" }
     
    my examples only lasted 3 seconds (3000 skilldata1) just so i can test time in my post
     
     
    Ahhh pretty sure this is everything, let me know if you encounter an issue
     
    Its weird, i remember a couple years back when i started playing with clif_specialeffect it didnt cast when you killed them with a skill directly... but it kills them and shows effect when you use them in unt's, i had a skill that was an aura back then that just slowed everyone around you it also had special effects attached but never bothered trying it on a dps aura.... interesting ... its a bit more work and a different way to write skills but at least youd have access to every effect in the client... pretty sure skilleffectinfo has a couple flaws 
  11. Like
    IndieRO reacted to 4144 in Some new hercules features   
    Display group (titlte) and icon for mobs, homunculus, npc, mercenaries
    For set icon in some way need get bl_id of npc, mob etc and call function:
     
    Set icon
    setunitdata(GID, UDT_GROUP, ID) Icon files stored in directory data/texture/유저인터페이스/group/group_ID.bmp
    Where GID is bl id of being, ID is icon id.
    Example for npc:
    setunitdata(getnpcid(), UDT_GROUP, 3); It will use this image:
    data/texture/유저인터페이스/group/group_3.bmp  
    Set group
    setunittitle(GID, group_name);
    Where group_name is any name what you want assign to group
    Example for npc:
    setunittitle(getnpcid(), "Hercules");  
    Sample images



     
    Works from versions:
    ragexe from 20180207,
    ragexeRE from 20171129,
    ragexe_zero from 20171130
  12. Like
    IndieRO reacted to KirieZ in Random Options on Monster Drops   
    As of Release v2019.05.05 you can now create groups of random options that may be assigned to items dropped by monsters.
    In order to use it you must first create an Option drop group in db/option_drop_groups.conf, one group will set how each option slot is filled, the chance of it getting filled, etc. Each group has the following structure:
    <Group Name Constant>: ( { // Option Slot 1 Rate: (int) chance of filling option slot 1 (100 = 1%) // Possible options for slot 1 // min/max value : int, defaults to 0 // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies OptionName: value // or OptionName: [min value, max value] // or OptionName: [min value, max value, chance] // ... (as many as you want) }, // ... (up to MAX_ITEM_OPTION) ), Details about this file may be found on Hercules' docs (doc/option_drop_group.md). This is an example group called MYGROUP:
    MYGROUP: ( { /* Option Slot 1 */ Rate: 10000 /* It has 100% of chance of being filled */ /* This slot may have one of the following options: */ WEAPON_ATTR_WIND: 5 /* WEAPON_ATTR_WIND Lv5 (33.33%) */ WEAPON_ATTR_GROUND: [2, 4] /* WEAPON_ATTR_GROUND Lv 2~4 (33.33%) */ WEAPON_ATTR_POISON: [1, 4, 8000] /* WEAPON_ATTR_POISON Lv 1~4 (80%) */ }, { /* Option Slot 2 */ Rate: 5000 /* It has 50% of chance of being filled */ /* If filled, may have one of the following options: */ WEAPON_ATTR_WATER: 4 /* WEAPON_ATTR_WATER Lv4 (100%) */ } ) Once a group is defined, you can them assign it to monster drops in mob database by using a new syntax that works for both Drops and MvpDrops:
    AegisName: (chance, "GROUP_NAME") This will set that the item AegisName has chance chance of drop (like we already know from the format already in use), and, when dropped it will get random options as specified by the group GROUP_NAME.
    For example:
    Knife: (5000, "MYGROUP") Will make "Knife" be dropped with a chance of 50%, and when dropped it will get options as defined by MYGROUP option group, in other words, the first slot will be filled with Wind, Ground or Poison option, and the second slot may or may not be filled with Water option.
    This feature should work on any client that supports item random options.
  13. Upvote
    IndieRO reacted to raPalooza~ in Town of Beginnings from SwordArtOnline   
    View File Town of Beginnings from SwordArtOnline
    Town of Beginnings from SAO

    I'm releasing this map that I made a while ago for a SAO-RAG project that has been put on hold, and i felt like it's too good of a map to put it on a shelf ;]

    Hope you guys enjoy the release. ;] Some files inside include the color changes on some texture files, so keep that in mind, and delete them if you want.


    Here is a video that I also posted in my showcase topic
     
    Submitter raPalooza~ Submitted 04/16/19 Category Maps & Textures  
  14. Upvote
    IndieRO reacted to 4144 in Nemo patcher   
    Correct, patch AllwaysCallSelectKoreaClientinfo works not for all clients see http://nemo.herc.ws/patches/KoreaServiceTypeXMLFix/
    For new clients dont need this patch anyway
  15. Upvote
    IndieRO reacted to 4144 in Nemo patcher   
    no, i dont think in near future i can work on this patch
  16. Upvote
    IndieRO reacted to Rytech in r878 - Changedress Command / Talkie Box And Graffiti Packet Fix / Silvervine Roottwist And Convenio Added   
    =General
    *changedress
    *nocosplay
    -Added support for these client commands.
    -These remove body costume outfits like xmas, summer, hanbok, oktoberfest, etc.
    *Removed some code thats no longer needed.
    -Gravity found a way to prevent client crashes when displaying body costume's
    -while the body style value is set to 1.
     
    =Skills
    *HT_TALKIEBOX
    *RG_GRAFFITI
    -Fixed a issue where the skill didn't work at all.
    -This issue was caused by a packet related issue that affected 2013-12-23 and
    -newer clients. Sad that this went unnoticed for 5 years.
    *LG_TRAMPLE
    -Added success chance.
    -Updated the list of traps it destroy's to official.
    *SO_EARTHGRAVE
    -Fixed a issue where it didn't hit hidden enemies.
    *SU_SV_ROOTTWIST
    *SU_SV_ROOTTWIST_ATK
    *AB_CONVENIO
    -Added support for these skills.
  17. Upvote
    IndieRO reacted to Rytech in r873 - Equip Effect Animations / Armor And Weapon Types Fix   
    =General
    *Added support for equips with effect animations.
    -These are animations displayed through SI_HEAD_EQUIPMENT_EFFECT which are
    -controlled through the HatEffectInfo.lua file. You can see this in action
    -with the added item Magic Circle (20515).
    *Corrected a issue where item types ARMOR and WEAPON were switched.
    -This fixes the incorrect tabs issue in the storage window.
    *Added a structure init for skill_spellbook_db.
     
    =Database
    *Added 2 new items.
  18. Upvote
    IndieRO reacted to Dastgir in [Release] ExtendedBG for Hercules (with eAmod BG modes)   
    https://github.com/dastgirp/eBG/commit/4cd3de090b9bf49660d083fdb0128f81d580ea67
    Fixed a bug with TeamDeathmatch. Uses constants for script commands  
  19. Upvote
    IndieRO reacted to Dastgir in [Release] ExtendedBG for Hercules (with eAmod BG modes)   
    Update: https://github.com/dastgirp/eBG/commit/95b06799dece8c6f107b43632f9ce0d1050405b1 (Fixes the console error on PvP Maps too)
     
    New Feature and bug fixes: Added BG Ranking: It contains several NPCs which changes the look to Top X as mentioned in the configuration. The Ranking changes in real time Added new scriptCommand getbgfame. BG Ranking says the name of player if clicked. Uncomment the Duplicate NPCs and change locations to enable the feature. @bgranked and @bgregular now shows 'No Players' if no players exist in ranking yet Fixed PvP Bound items which were conflicting with Ranking System Preview of BG Ranking:
     

  20. Upvote
    IndieRO reacted to Cretino in Build Manager - Create your builds and load them when you want! (For Stats and Skills!!)   
    Hello guys, I'm recently back and I think now my script is working fine...
    I've tested so many times and is working, tested with all classes.
    If have any bug, report to me for trying fix.
    New script and source modification in first post.
    @TOPIC
    Version: 1.1 ("Fixed" bugged skills (Need source modification))
     
  21. Upvote
    IndieRO reacted to raPalooza~ in High-Res DamageFont   
    View File High-Res DamageFont
    High-Res Damagefont
    Here is a new damage font i've cooked for you guys. Alot simpler than the other ones ive uploaded, wen't for a more minimalistic design.
    I've tried not to kill the pixelated vibe that we all love from the original one, but still improving its resolution. Was pretty happy with the result ;]

    Hope you all like it.
    CyA 
    Submitter raPalooza~ Submitted 11/19/18 Category Sprites & Palettes  
  22. Upvote
    IndieRO reacted to Dastgir in [Release] ExtendedBG for Hercules (with eAmod BG modes)   
    Many new updates/fixes were done this week: 
    https://github.com/dastgirp/eBG/commit/b333d65f0eaae88148bd10b21f2a84e98c43239e / https://github.com/dastgirp/eBG/commit/c4893a5bc21e7c37707a19bfe4366a653221b79d
    https://github.com/dastgirp/eBG/commit/8fcac60fb4e21f594cf39ccd138fbf32ea7e84e5
    Several changes and bug fixes Additions: * Added new configuration 'bg_items_pvp' to allow BG items in PvP. * Minimum level requirement to join bg. * Announcement when leader quits and new leader is chosen. * Configuration for checking gepard unique id for dual clients. * Players won't be able to join the BG if 2 minutes are left * Shop can be called by @bgshop Changed: * Changed the way 'bg_kick_idle' was handled, it now is in seconds. * When player joins BG, it now uses bg_announce instead of announce. * Moved telma to different file. * @bgshop can be called only on town. Fixes: * Error while setting variable. * bg_log_kill will now accept values from 0-7. * When leader quits, the leader was changing but not shown in client. * Fixes Guild window showing 0 members when leader quit. * 3rd argument in bg_announce is now optional Split main_bg.sql to * bg_guild.sql (to be executed if VIRT_GUILD is commented) * bg_main.sql (to be executed always) Updated script commands documentation. Added missing documentations. Structual changes to ebg_common.h (important settings are shown first).  
  23. Upvote
    IndieRO reacted to Rytech in 3CeAM SVN/GIT And Group   
    Awwww thank you. That really made my day.
  24. Upvote
    IndieRO reacted to evilpuncker in freebies npc   
    I didn't understood your request, but seems like you want it character based and not account based, if so:
    http://upaste.me/f63711874fe169632
  25. Upvote
    IndieRO reacted to Mystery in I miss Ind :'(   
    He left not just Hercules, but the entire RO scene. He left due to personal life reasons. 
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.