Jump to content

Jarek

Members
  • Posts

    143
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Jarek

  1. You can define itemshop: -%TAB%itemshop%TAB%<NPC Name>%TAB%<sprite id>,<costitemid>{:<discount>},<itemid>:<price>{,<itemid>:<price>...} where costitemid = 6379 And then just callshop this itemshop in case 4 callshop "<name>",<option>; callshop "<name>",<option>;
  2. src/map/status.cpp status_base_atk : #ifdef RENEWAL str = (dstr * 10 + dex * 10 / 5 + status->luk * 10 / 3 + level * 10 / 4) / 10; #else str += dex / 5 + status->luk / 5; #endif
  3. You have a few hidden symbols at first strnpcinfo(2) before and after 'o' Just retype this part
  4. I think this could be done via script with 'OnPCBaseLvUpEvent' label, rough outline: OnPCBaseLvUpEvent: if (BaseLevel = 50) { script of choosing 1st job here } else if (BaseLevel = 100) { script of choosing 2nd job here } else if (BaseLevel = 200) { up to Trans script } end;
  5. callshop "premiumshop",1; shop premiumship
  6. if( countitem (.@items[.@i]) < 1 ) goto L_NotEnough;
  7. After OnInit: add variable for base chance .craft_rate = 50; Before getitem .@q[0],.@q[2]; add this if ( rand(100) > (.craft_rate + readparam(bLuk)/10 + readparam(bDex)/6) ) { mes "[Quest Shop]"; mes "Item creation was failed."; close; }
  8. There is still '//' instead of '/' in division operation
  9. Restart server or @reloadnpcfile <file name>
  10. There are error messages at map_server?
  11. skill_cast_db.txt //-- WZ_METEOR 83,9600,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,0,2000:3000:3000:4000:4000:5000:5000:6000:6000:7000,5000,0,2400 2000:3000:3000:4000:4000:5000:5000:6000:6000:7000 This is number of meteors at skill level
  12. src\map\skil.cpp int skill_counter_additional_effect ... if( (attack_type&(BF_WEAPON|BF_SHORT)) == (BF_WEAPON|BF_SHORT) ) { sp += sd->bonus.sp_gain_value; sp += sd->sp_gain_race[status_get_race(bl)] + sd->sp_gain_race[RC_ALL]; hp += sd->bonus.hp_gain_value; } If you change condition like this if( attack_type&BF_WEAPON ) It will work with physical melee and ranged attacks
  13. Why are you use // in countitem(42500)//10 etc
  14. npc\guild2\agit_main_se.txt line 1507 OnTimer300000 OnTimer300000:
  15. Double check this: if( countitem (.@items[.@i]) ) goto L_NotEnough; If I have this item then I go to L_NotEnough? Probably should be: if( !countitem (.@items[.@i]) ) goto L_NotEnough;
  16. 1 . if (!countitem(512)) { mes "You don't have an apple"; close; } 2 if ( (Class != Job_Blacksmith) || (BaseLevel < 70) || (readparam(bLuk) < 80) ) { mes "You don't meet requirements"; close; }
  17. That is strange https://github.com/rathena/rathena/blob/master/db/pre-re/item_trade.txt#L634 https://github.com/rathena/rathena/blob/master/db/re/item_trade.txt#L147 Do you get any messages? Like: This item cannot be stored.
  18. db\re(pre-re)\item_trade.txt Make sure your item doesn't have this flag
  19. db\import-tmpl\job_exp.txt
  20. 1. Bio Cannibalize You can change monsters id at: src/skill.cpp int skill_castend_pos2 ... case AM_CANNIBALIZE: { int summons[5] = { MOBID_G_MANDRAGORA, MOBID_G_HYDRA, MOBID_G_FLORA, MOBID_G_PARASITE, MOBID_G_GEOGRAPHER }; and at bool skill_check_condition_castend ... case AM_CANNIBALIZE: case AM_SPHEREMINE: { int c=0; int summons[5] = { MOBID_G_MANDRAGORA, MOBID_G_HYDRA, MOBID_G_FLORA, MOBID_G_PARASITE, MOBID_G_GEOGRAPHER }; int maxcount = (skill_id==AM_CANNIBALIZE)? 6-skill_lv : skill_get_maxcount(skill_id,skill_lv); maxcount is a variable for number of mobs 2. Acid Demonstration You can change element of this skill and number of hits at db/re(pre-re)/skill_db.txt // 05 element (0 - neutral, 1 - water, 2 - earth, 3 - fire, 4 - wind, 5 - poison, // 6 - holy, 7 - dark, 8 - ghost, 9 - undead, -1 - use weapon element // -2 - use endowed element, -3 - use random element.) // 09 Number of hits (when positive, damage is increased by hits, // negative values just show number of hits without increasing total damage) 4. https://github.com/rathena/rathena/wiki/Adding-New-Bonuses
  21. For example: 1101,Sword,Sword,5,100,,500,25,,1,3,0x000654E3,63,2,2,1,2,1,2,{},{ disguise 1002; },{ undisguise; }
  22. \src\map\status.cpp unsigned short status_base_atk ... str = (dstr*10 + dex*10/5 + status->luk*10/3 + ((TBL_PC*)bl)->status.base_level*10/4)/10;
  23. Replace GETTIME_DAYOFMONTH with DT_DAYOFMONTH, GETTIME_MONTH with DT_MONTH, GETTIME_YEAR with DT_YEAR, etc..
  24. It was so long ago ... Updated ru localization: https://pastebin.com/1NWrGaUf
  25. You should replace if (.chance == 3){ with if (.chance < 3){ and else if (.chance == 15){ with else if (.chance < 15){
×
×
  • Create New...