Jump to content

Capuche

Developer
  • Content Count

    2,392
  • Avg. Content Per Day

    1
  • Joined

  • Last visited

  • Days Won

    45

Capuche last won the day on May 25 2019

Capuche had the most liked content!

Community Reputation

555 Excellent

About Capuche

  • Rank
    Mastering

Profile Information

  • Gender
    Male
  • Location
    France
  • Server
    None
  • Github: Atemo
  • Discord: Atemo

Recent Profile Visitors

12,929 profile views
  1. AG_CHATTING is not supported yet. See the pull request https://github.com/rathena/rathena/pull/4446 for an initial implementation.
  2. https://github.com/rathena/rathena/commit/d4d8130bcf0733d4d9edc4019db02184912c13c0
  3. Your old file have mistakes, your items should be type armor instead of weapon (4 instead of 5), or if they are supposed to be weapon type, the 'viewid' of the weapon must be defined source side.
  4. ^ The tool to convert txt to yml (csv2yaml) can convert your import/item_db.txt as well. Compile the tool, run it !
  5. The 'SubType' (or viewid) 1100 for weapon doesn't exist. Replace the item type 5 (weapon) by type 4 (armor). 30001,Akatsuki_Hat,Akatsuki_Hat,4,10000...
  6. The quest system already handle the timer. For example - Id: 9998 Title: "Memorial Dungeon: Champion" TimeLimit: 4h - Id: 9999 Title: "Memorial Dungeon: Champion" TimeLimit: +4h 9998 is reset at every 4:00, 9999 is reset 4h after the quest is given. The issue of the topic owner was because he made some mistakes in the NPC script, the conditions on the timers were always false so the player could always recreate the instance. Sample of correction switch( checkquest(9998,PLAYTIME) ) { case -1: break; case 0: case 1: mes "^ff0000Memorial Dungeon cannot be reentered within 8 hours after your last entrance.^000000"; mes "Reset Every 04:00 AM"; close; case 2: erasequest 9998;// Memorial Dungeon: Champion break; } switch( checkquest(9999,PLAYTIME) ) { case -1: break; case 0: case 1: mes "^ff0000Memorial Dungeon cannot be reentered within 8 hours after your last entrance.^000000"; mes "Reset Every 04:00 AM"; close; case 2: erasequest 9999; break; } Create INSTANCE
  7. https://github.com/rathena/rathena/blob/master/doc/item_db.txt#L186
  8. There is getunitdata to retrieve x y for monster. Sample untested : - script CustomDrop FAKE_NPC,{ function add_drop; OnNPCKillEvent: if (!playerattached()) end; [email protected]_id = killedrid; [email protected] = getd(".size_" + [email protected]_id); if ([email protected] < 1) end; getunitdata killedgid, [email protected]; [email protected] = [email protected][UMOB_X]; [email protected] = [email protected][UMOB_Y]; [email protected]$ = strcharinfo(3); for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { [email protected] = getd(".chance_" + [email protected]_id + "[" + [email protected] + "]"); if (rand(10000) < [email protected]) { [email protected] = getd(".item_id_" + [email protected]_id + "[" + [email protected] + "]"); [email protected] = getd(".item_amount_" + [email protected]_id + "[" + [email protected] + "]"); while ([email protected] > 0) { makeitem [email protected], 1, [email protected]$, [email protected], [email protected]; [email protected]; } } } end; OnInit: // <mob_id>, <item_id>, <item_amount>, <chance> // Chance ======================== // 10000 = 100% // 1000 = 10% // 100 = 1% // 99 = 0.99% // 50 = 0.50% // 1 = 0.01% // =============================== add_drop( 1002, 607, 2, 10000 ); // poring will drop 2 ygg berries on the floor with 100% chance add_drop( 1002, 608, 3, 10000 ); // poring will drop 3 ygg seeds on the floor with 100% chance end; function add_drop { [email protected]_count = getargcount(); if ([email protected]_count % 4) return; for ([email protected] = 0; [email protected] < [email protected]_count; [email protected] += 4) { [email protected]_id = getarg([email protected]); [email protected] = getd(".size_" + [email protected]_id); setd ".item_id_" + [email protected]_id + "[" + [email protected] + "]", getarg([email protected]+1); // <item_id> setd ".item_amount_" + [email protected]_id + "[" + [email protected] + "]", getarg([email protected]+2); // <item_amount> setd ".chance_" + [email protected]_id + "[" + [email protected] + "]", getarg([email protected]+3); // <chance> setd ".size_" + [email protected]_id, [email protected] + 1; } return; } }
  9. When did I say the opposite ? The item script is just probably outdated. Also note that RMS is not reliable, as we said it again and again on the forum.
  10. It's true that Muscle Fool item script has been changed several times. I don't follow all the kRO patch so I prefer to stick with our current data file which gives +1000 Def for now.
  11. Change skill_unconditional to true https://github.com/rathena/rathena/blob/0e42b738c59be3330395e8c79c51500d534fcf55/conf/groups.conf#L290
  12. A pull request is currently ongoing to fix the issue https://github.com/rathena/rathena/pull/4945
  13. Run the tool in tool/csv2yaml to convert your txt to yml
  14. Well there is no setting like Akkarin said, but this change in map.cpp should allow you to walk on cell where the npcs are hidden/disabled/invisible (untested) @@ -553,6 +553,11 @@ int map_count_oncell(int16 m, int16 x, int16 y, int type, int flag) if (type&~BL_MOB) for( bl = mapdata->block[bx+by*mapdata->bxs] ; bl != NULL ; bl = bl->next ) if(bl->x == x && bl->y == y && bl->type&type) { + if (bl->type == BL_NPC) { + struct npc_data *nd = (struct npc_data *)bl; + if (nd && (nd->sc.option&(OPTION_INVISIBLE|OPTION_HIDE) || nd->class_ == JT_FAKENPC || nd->class_ == JT_HIDDEN_WARP_NPC)) + continue; + } if(flag&1) { struct unit_data *ud = unit_bl2ud(bl); if(!ud || ud->walktimer == INVALID_TIMER)
  15. https://github.com/rathena/rathena/blob/bdd63022a9c479df833304add9537eca7f39b331/conf/battle/items.conf#L139 set to 0
×
×
  • Create New...

Important Information

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