Jump to content

_Terra

Members
  • Posts

    170
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by _Terra

  1. HP over 21m is not visible but you still have 50m. Its only visual thing
  2. Impossible until gravity create 64bits client, i really don't know if they made XD
  3. It's client limitation because RO Exe are on 32bits so 32bits its max number value is 2,147,483,647
  4. Your server is pre-renewal or renewal? because that formula is renewal so you need to scroll a little bit lower to find: // Flee stat = status->flee; stat += level + status->agi; status->flee = cap_value(stat, 1, SHRT_MAX); and add / 10 in stat += level + status->agi; // Flee stat = status->flee; stat += level + status->agi/10; status->flee = cap_value(stat, 1, SHRT_MAX); Tested only on pre-renewal
  5. Can you test with a default config? - Id: 2208 AegisName: Ribbon Name: Ribbon Type: Armor Buy: 800 Weight: 100 Defense: 1 Locations: Head_Top: true ArmorLevel: 1 Refineable: true View: 17 Script: | bonus bMdef,3; - Id: 2209 AegisName: Ribbon_ Name: Ribbon Type: Armor Buy: 800 Weight: 100 Defense: 1 Slots: 1 Locations: Head_Top: true ArmorLevel: 1 Refineable: true View: 17 Script: | bonus bMdef,3;
  6. Tested on clean rathena and works fine, can you show your item_db?
  7. Which rathena version are you using? i tested and works fine (i'm using a 1 week ago rathena version).
  8. I searched for a possible solution and i got no luck. Its a client issue i recommend test with 2017 client. Source: https://github.com/rathena/rathena/issues/1873
  9. Uhmm for me looks normal, have you tried put only one line for test item display? Which client date are you using? Edit: https://github.com/rathena/rathena/issues/1236
  10. You could separate a little bit those lines, can you send your script? for me looks like this:
  11. - script Crafter_Command -1,{ OnInit: bindatcmd "craft","Crafter_Command::OnCraftCommand"; // What Item you want to Make ? set .GiveItem,7539; // Item Requirements + Amounts setarray .Item[0],607,1,608,1,512,1; end; OnCrafterMenu: OnCraftCommand: mes "^00c000Master Craft^000000"; mes "Please select which would you like to craft"; next; switch(select("- Weapon:- Armor:- Headgear:- Accessories:- Shield:- Garment:- Footgear:- Usable Item:- Exit")) { case 1: mes "^00c000Master Craft^000000"; mes "Please select which would you like to craft"; next; switch(select("- Dagger:- 1 Hand Swords:- 2 Hand Swords:- 1 Hand Spear:- 2 Hand Spear:- 1 Hand Axe:- 2 Hand Axe:- Mace:- 1 Hand Staff:- 2 Hand Staff:- Bow:- Knuckle:- Musical Weapons:- Whip:- Book:- Katar:- Revolver:- Rifle:- Gatling Gun:- Shot Gun:- Grenade Luncher:- Shuriken:- Exit")) { case 1: mes "^00c000Master Craft^000000"; mes "Just give me the required items and ill give you Coin of Ymir."; mes "Required Mats per ^FF0000"+getitemname(.GiveItem)+"^000000:"; for( set .@i,0; .@i < getarraysize( .Item ) - 1; set .@i,.@i + 2 ) mes "- ^FF0000"+.Item[.@i+1]+" "+getitemname(.Item[.@i]); next; if( select("Make ^FF0000"+getitemname( .GiveItem )+"^000000:Cancel") == 2 ) end; mes "[Ymir Coin Exchanger]"; mes "How many would you like to make?"; next; input .@amount,1,999; mes "[Ymir Coin Exchanger]"; mes .@amount+"x ^FF0000"+getitemname(.GiveItem)+"^000000, is this correct?"; next; if( select("Yes, Make ^FF0000"+.@amount+" "+getitemname( .GiveItem )+"^000000:Cancel") == 2 ) end; for( set .@i,0; .@i < getarraysize( .Item ) - 1; set .@i,.@i + 2 ) if( countitem( .Item[.@i] ) < .Item[.@i+1]*.@amount ){ mes "[Ymir Coin Exchanger]"; mes "Insufficient Materials"; for( set .@i,0; .@i < getarraysize( .Item ) - 1; set .@i,.@i + 2 ) mes "- Need ( "+countitem(.Item[.@i])+"/"+.Item[.@i + 1]*.@amount+" ) "+getitemname( .Item[.@i] ); end; } if(!checkweight(.GiveItem,.@amount)){ mes "Insufficient inventory space or weight."; end; } for( set .@i,0; .@i < getarraysize( .Item ) - 1; set .@i,.@i + 2 ) delitem .Item[ .@i ],.Item[ .@i + 1 ]*.@amount; getitem .GiveItem,.@amount; mes "[Ymir Coin Exchanger]"; mes "You have Made ^FF0000"+.@amount+"x "+getitemname( .GiveItem )+"^000000"; announce "["+strcharinfo(0)+"] has made "+.@amount+"x ["+getitemname( .GiveItem )+"]",0; close; case 2: mes "^00c000Master Craft^000000"; mes "1 Hand Swords"; end; case 3: mes "^00c000Master Craft^000000"; mes "2 Hand Swords"; end; case 4: mes "^00c000Master Craft^000000"; mes "1 Hand Spear"; end; case 5: mes "^00c000Master Craft^000000"; mes "2 Hand Spear"; end; case 6: mes "^00c000Master Craft^000000"; mes "1 Hand Axe"; end; case 7: mes "^00c000Master Craft^000000"; mes "2 Hand Axe"; end; case 8: mes "^00c000Master Craft^000000"; mes "Mace"; end; case 9: mes "^00c000Master Craft^000000"; mes "1 Hand Staff"; case 10: mes "^00c000Master Craft^000000"; mes "2 Hand Staff"; end; case 11: mes "^00c000Master Craft^000000"; mes "Bow"; end; case 12: mes "^00c000Master Craft^000000"; mes "Knuckle"; end; case 13: mes "^00c000Master Craft^000000"; mes "Musical Weapons"; end; case 14: mes "^00c000Master Craft^000000"; mes "Whip"; end; case 15: mes "^00c000Master Craft^000000"; mes "Book"; end; case 16: mes "^00c000Master Craft^000000"; mes "Katar"; end; case 17: mes "^00c000Master Craft^000000"; mes "Revolver"; end; case 18: mes "^00c000Master Craft^000000"; mes "Rifle"; end; case 19: mes "^00c000Master Craft^000000"; mes "Gatling Gun"; end; case 20: mes "^00c000Master Craft^000000"; mes "Shot Gun"; end; case 21: mes "^00c000Master Craft^000000"; mes "Grenade Luncher"; end; case 22: mes "^00c000Master Craft^000000"; mes "Shuriken"; end; case 23: mes "^00c000Master Craft^000000"; mes "Good Bye"; close; } case 2: warp "payon",165,59; // Change this warp coordinates end; case 3: warp "morocc",160,85; // Change this warp coordinates end; case 4: warp "geffen",119,67; // Change this warp coordinates end; case 5: warp "alberta",117,57; // Change this warp coordinates end; case 6: warp "aldebaran",141,114; // Change this warp coordinates end; case 7: warp "comodo",196,143; // Change this warp coordinates end; case 8: warp "izlude",127,107; // Change this warp coordinates end; case 9: mes "[Rohayu]"; mes "Well if you need warp just come look for me"; mes "Good Bye"; close; } } function script call_crafter { doevent "Crafter_Command::OnCrafterMenu"; end; } neko_isle,77,127,4 script Crafter 826,{ callfunc "call_crafter"; } I'm not expert at scripting but i made it work. Tested and works fine. When i type @craft When i talk to npc:
  12. You need create 'emblem' folder in your ragnarok folder
  13. También si quieres modificar el ángulo a tu gusto puedes editar viewpointtable.txt
  14. Go to src/map/battle.cpp and search if (def1 > 100) def1 = 100;
  15. You can add a quest variable when you kill 50 porings: new_1-3,100,35,4 script Newbie Guide 418,{ mes "==^741188Equipment Guide^000000=="; mes "Hello welcome to our server,"; mes "i am here to guide all new"; mes "player that have joined our server"; mes "to craft your starting gear"; next; switch(select("- Tell me more:- Craft Beginner Equipment:- Exit")) { case 1: mes "==^741188Equipment Guide^000000=="; mes "As you may or my not knowing"; mes "that equipment will not drop by"; mes "monster, but player can still"; mes "obtain offical equipment from"; mes "merchat class equipment crafting"; mes "or from offical quest"; next; mes "==^741188Equipment Guide^000000=="; mes "This server does not follow"; mes "offical equipment drop"; mes "but each server custom "; mes "equipment will have it's own"; mes "speciality"; end; case 2: mes "==^741188Equipment Guide^000000=="; mes "To craft your starting gear"; mes "which is Beginner Dagger"; mes "firstly i will need you to"; mes "hunt 50 poring, i will reward"; mes "you with 1 Common Blue Print"; mes "Common Blue Print are use to craft"; mes "Common equipment"; next; menu "Take this quest",Acc,"No Thanks",Den; Acc: if(dagger) { mes "You already have this hunting quest."; close; } mes "==^741188Equipment Guide^000000=="; mes "Now please help me hunt 50 poring"; set dagger, 1; end; Den: mes "==^741188Equipment Guide^000000=="; mes "Sure just come back to me when you change your mind"; end; case 3: mes "==^741188Equipment Guide^000000=="; mes "Very well, come to me if you need guide"; close; } end; OnNPCKillEvent: if(!dagger) end; if(killedrid == .mob_id) { poring_count++; dispbottom "You have killed "+poring_count+"/"+.kill_amount+"] "+getmonsterinfo(.mob_id, MOB_NAME)+"."; } if(poring_count >= .kill_amount) { poring_count = 0; for(.@i = 0; .@i < getarraysize(.reward); .@i += 2) { getitem .reward[.@i],.reward[.@i+1]; set dagger_quest2, 1; } } end; OnInit: setarray .reward,501,1,502,1; // add rewards here .mob_id = 1002; // monster id .kill_amount = 50; // amount of porings needed end; } //Second Quest new_1-3,100,37,4 script Newbie Guide 2 418,{ if ( dagger_quest2 == 0 ) { mes "==^741188Equipment Guide 2^000000=="; mes "You have to 'Kill 50 Porings' and then come back to me."; close; } mes "==^741188Equipment Guide 2^000000=="; mes "Hey you made it!"; close; }
  16. You can try quest sample in emulator/doc/sample/npc_test_quest
  17. ID Item no es lo mismo que view ID, te recomiendo subir el view id del exe hasta 32000 para que no lo cambies nunca más. Como te comentaron arriba cambia el ID de tu item de 4000 a 40000.
  18. You need implement the bonus in status.cpp go to src/map/status.cpp and find static unsigned short status_calc_matk(struct block_list *bl, struct status_change *sc, int matk) now put impositio bonus below: if (sc->data[SC_VOLCANO]) matk += sc->data[SC_VOLCANO]->val2; and add then: if (sc->data[SC_VOLCANO]) matk += sc->data[SC_VOLCANO]->val2; if (sc->data[SC_IMPOSITIO]) matk += sc->data[SC_IMPOSITIO]->val2;
  19. Go to db/pre-re/status.yml and search Impositio - Status: Impositio Icon: EFST_IMPOSITIO DurationLookup: PR_IMPOSITIO CalcFlags: Watk: true Flags: SuperNoviceAngel: true End: Impositio: true to - Status: Impositio Icon: EFST_IMPOSITIO DurationLookup: PR_IMPOSITIO CalcFlags: Watk: true Matk: true Flags: SuperNoviceAngel: true End: Impositio: true
  20. - Id: 4040 AegisName: Creamy_Card Name: Creamy Card Type: Card Buy: 20 Weight: 10 Locations: Both_Accessory: true Flags: BuyingStore: true Script: | .@eac = eaclass(); if ((.@eac&EAJ_BASEMASK) == EAJ_ACOLYTE) { skill "AL_TELEPORT",1; } else { skill "AL_TELEPORT",1; bonus2 bSkillUseSP,"AL_TELEPORT",-50; }
  21. Hello i wanna request a basic warp script that allows warp to any dungeon/field when you type "@warp pay_dun00" coordinates shouldn't work. Is not necessary put all maps, i can put the rest of the maps myself. Help is appreciated.
  22. Is working fine for me, you made other modifications to skill? return 2 is kaite behaviour and return 1 is like maya effect. What skills are you testing? i tested with storm gust.
  23. It's possible with source modification. My only idea right now is creating a new Weapon Level so you can modify any weapon as you want. So.... you need edit next: Search in src/common/mmo.hpp #define MAX_WEAPON_LEVEL 4 and replace with #define MAX_WEAPON_LEVEL 6 src/map/clif.cpp refine_item[3] = refine_item[4] = pc_search_inventory( sd, ITEMID_ORIDECON ); and add below refine_item[6] = pc_search_inventory( sd, ITEMID_ORIDECON ); src/map/pc.cpp if (sd->status.base_level > 96 && item->equip & EQP_ARMS && item->type == IT_WEAPON && item->weapon_level == 4) replace number 4 to 6 if (sd->status.base_level > 96 && item->equip & EQP_ARMS && item->type == IT_WEAPON && item->weapon_level == 6) db/pre-re/refine.yml put below Weapon Level 4 - Level: 6 RefineLevels: - Level: 1 Bonus: 1500 Chances: - Type: Normal Rate: 10000 Price: 20000 Material: Phracon - Type: Enriched Rate: 10000 Price: 2000 Material: Enriched_Oridecon It should look like this: So you can edit any item for example Knife (ID: 1201) which is Weapon Level 6. - Id: 1201 AegisName: Knife Name: Knife Type: Weapon SubType: Dagger Buy: 50 Weight: 400 Attack: 17 Range: 1 Slots: 3 Jobs: Alchemist: true Archer: true Assassin: true BardDancer: true Blacksmith: true Crusader: true Hunter: true Knight: true Mage: true Merchant: true Ninja: true Novice: true Rogue: true Sage: true SoulLinker: true SuperNovice: true Swordman: true Thief: true Wizard: true Locations: Right_Hand: true WeaponLevel: 6 EquipLevelMin: 1 Refineable: true You can put refine limit in refine.yml make sure you have your desired weapon is Weapon Level 6. 2022-04-10 20-48-54.mp4 Additional comments: - Refine Skill is not working for level 6 weapons. - If your refine item limit is 7 you can refine more if you use command.
  24. job_stats.yml There you go. Make sure put this file in db/import/
×
×
  • Create New...