Jump to content

Rivers

Members
  • Posts

    236
  • Joined

  • Last visited

  • Days Won

    7

Community Answers

  1. Rivers's post in Error Size was marked as the answer   
    Turn off the server firstly. ./athena-start stop
    Then check Packets.hpp and change the packetver=20180620
    in terminal do the following commands:
    make clean ./configure --enable-packetver=20180620 make clean make server in that exact order to get the clean version with your latest packetver. The packetversion needs to be exactly the same as your client's packet version in order to run. Error 155 is different from 144. I replicated this error on my phone and managed to resolve it by adjusting the packet version values and fully recompiling the server.
  2. Rivers's post in Question in Guild Skill was marked as the answer   
    This is possible, yes. There's an option to allow in the configs to enable the use of all items in the shortcut windows.


    I just have a hard time finding it right now. I'll reply again if I can remember, but the option explains something along the lines of "Allow any item or skill in the battle menu" of some sort.
    It was a NEMO patch. 

    This will allow it.
  3. Rivers's post in [Tutorial] Basics of Ragnarok Arting & Adding Custom Items was marked as the answer   
    Included in this guide are the following steps and features:
    i1.1.0 -Gathering Tools
    i1.2.0 -Custom Headgears
    a2.1.0 -Act Editor (Export)
    a2.2.0 -Ragnarok BMP
    a2.3.0 -Batch Image Manipulation (Bulk Editing)
  4. Rivers's post in [Tutorial] Setting up home-based server for FREE (Ubuntu) & After-Installation Steps was marked as the answer   
    Included in this guide :
    i1.1.0 -Ubuntu OS Setup
    i1.2.0 -Web Server
    i1.3.0 -phpmyadmin Setup
    i1.4.0 -Game Server
    i1.5.0 -sFTP Setup
    i1.6.0 -SSH Setup
    i1.7.0 -Making Windows 10 on Linux
    i1.8.0 -Emulating all RO tools
    i1.9.0 -Emulating RO
    i1.10.0 -Setting up rAthena
    i1.11.0 -Setting Up UFW (Firewall)
    i1.12.0 -Auto-Start Scripts
    i2.1.0 -FluxCP Setup
    i2.2.0 -Making an EXE
    i2.3.0 -Making a Patcher
    i2.4.0 -Making a Patch
    i2.5.0 -Send Patches
    i2.6.0 -Adding/Removing Map Cache Data
    o3.1.0 -Port Forwarding
    o3.2.0 -Automatic Backups
    Optional Recommended Resources : (terminal commands)
    sudo apt install flatpak -y
    sudo apt install wine -y
    sudo apt install winetricks -y
     
    Upcoming steps : (Coming Soon!)
    -Making an EXE
    -Making a Patcher
    -Making/Sending a Patch
    In Consideration : (Not quite there yet)
    -Proxy Navigation & Setup
  5. Rivers's post in Refiner NPC won't read Requirements was marked as the answer   
    Couldn't find what the issue in the above script was, so I replaced it with this one and it worked to the refine rate specified in the script.
    veil,111,199,0 script Vestri#cash 87,{ disable_items; mes "[Vestri]"; mes "I am the Armsmith"; mes "I can refine all kinds of weapons,"; mes "armor and equipment, so let me"; mes "know what you want to refine."; next; setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for(set .@i,1; .@i<=10; set .@i,.@i+1) { if (getequipisequiped(.@indices[.@i])) { set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + "-[" + getequipname(.@indices[.@i]) + "]"; set .@equipped,1; } set .@menu$, .@menu$ + ":"; } if (.@equipped == 0) { mes "[Vestri]"; mes "I don't think I can refine any items you have..."; close; } set .@part, .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) //custom check close; if (!getequipisenableref(.@part)) { mes "[Vestri]"; mes "Go find another Blacksmith. You can't refine this thing."; close; } if (getequiprefinerycnt(.@part) >= 13) { mes "[Vestri]"; mes "Hmm... someone perfected this already. I don't think I can work on it further."; close; } .@refineitemid = getequipid(.@part); // save id of the item .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count .@price = getequiprefinecost(.@part, REFINE_COST_ENRICHED, REFINE_ZENY_COST); .@material = getequiprefinecost(.@part, REFINE_COST_ENRICHED, REFINE_MATERIAL_ID); // Make sure you have the necessary items and Zeny to refine your items // Determines chance of failure and verifies that you want to continue. callsub S_RefineValidate,getequipweaponlv(.@part),.@material,.@price,.@part,.@refineitemid,.@refinerycnt; mes "[Vestri]"; mes "Clang! Clang! Clang!"; if (getequippercentrefinery(.@part, true) > rand(100)) { successrefitem .@part; next; emotion ET_BEST; mes "[Vestri]"; mes "There you go! It's done."; mes "It's been a while since I've made such a fine "+((getequipweaponlv(.@part))?"weapon":"armor")+". You must be happy because it has become stronger!"; close; } failedrefitem .@part; next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "[Vestri]"; mes "Uuuuuuuuuummmmmph!!!"; next; mes "[Vestri]"; mes "..."; mes "....."; mes ".......Huhuhuhuhu~"; mes "........It was your choice and my ability, no regret."; close; S_RefineValidate: .@weapon_lvl = getarg(0); .@item_req = getarg(1); .@price = getarg(2); .@part = getarg(3); setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3); // If the VIP system is enabled, the prices for non-VIP players are considerably higher. if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) { switch(.@weapon_lvl){ case 0: set .@price, .@price * 10; break; case 1: set .@price, .@price * 40; break; case 2: set .@price, .@price * 50; break; case 3: set .@price, .@price * 2; break; case 4: set .@price, .@price * 2; break; } } mes "[Vestri]"; if (.@weapon_lvl) mes "You want to refine a level "+ .@weapon_lvl +" weapon?"; mes "To refine that, you'll need to have one ^ff9999"+ getitemname(.@item_req) +"^000000 and "+ .@price +" zeny."; mes "Would you like to continue?"; next; if(select("Yes:No") == 1) { if (getequippercentrefinery(.@part) < 100) { if (.@weapon_lvl) { mes "[Vestri]"; mes "Wow!!"; mes "This weapon probably"; mes "looks like it's been refined..."; mes "many times..."; mes "It may break if"; mes "you refine it again."; next; mes "And if it breaks,"; mes "you can't use it anymore!"; mes "All the cards in it and the properties ^ff0000will be lost^000000!"; mes "^ff0000Besides, the equipment will break!^000000"; mes "Are you sure you still want to continue?"; next; if(select("Yes:No") == 2) { mes "[Vestri]"; mes "Good."; mes "Because if the weapon breaks from unreasonable refining, then I get a bad mood, too."; close; } } else { mes "[Vestri]"; mes "Giggle. Giggle. Oh, you have guts, daring to refine this."; mes "You know it's pretty risky, don't you?"; next; mes "If your defensive equipment is broken, you'll never be able to use it again."; mes "Even your cards and your modifications will ^ff0000completely disappear^000000."; //mes "Everything will disappear. As in... GONE!"; mes "Do you really wish to continue?"; next; if(select("Yes:No") == 2) { mes "[Vestri]"; mes "What nonsense. You waste my precious time."; mes "Get lost, punk."; close; } } } if (countitem(.@item_req) > 0 && Zeny > .@price) { delitem .@item_req,1; set Zeny, Zeny - .@price; // anti-hack if (callfunc("F_IsEquipIDHack", .@part, getarg(4)) || callfunc("F_IsEquipRefineHack", .@part, getarg(5)) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) { mes "[Holink]"; emotion ET_FRET; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; close; } return; } mes "[Vestri]"; mes "Are these all you have?"; mes "I'm very sorry, but I can't do anything without all the materials. Besides, I deserve some payments for my work, don't I?"; close; } mes "[Vestri]"; mes "I can't help it even if you're not happy about it..."; close; }  
  6. Rivers's post in Is there a way to make Trans Costume with itemDB? was marked as the answer   
    Couldn't find a simple resolution, so I took the long way.
     
    35251,2nd_Class_Costume,2nd Class Costume,4,20,,0,,0,,0,0xFFFFFFFF,63,2,8192,,0,0,,{ bonus bAllStats,1; },{ if(BaseJob==Job_Knight) { changebase 7; } if(BaseJob==Job_Wizard) { changebase 9; } if(BaseJob==Job_Hunter) { changebase 11; } if(BaseJob==Job_Priest) { changebase 8; } if(BaseJob==Job_Blacksmith) { changebase 10; } if(BaseJob==Job_Assassin) { changebase 12; } if(BaseJob==Job_Crusader) { changebase 14; } if(BaseJob==Job_Sage) { changebase 16; } if(BaseJob==Job_Bard) { changebase 19; } if(BaseJob==Job_Dancer) { changebase 20; } if(BaseJob==Job_Monk) { changebase 15; } if(BaseJob==Job_Alchemist) { changebase 18; } if(BaseJob==Job_Rogue) { changebase 17; } },{ changebase Class; }  
  7. Rivers's post in Change lottery rewards from zeny to items was marked as the answer   
    Thanks, I was able to resolve this with adding
        set Zeny, Zeny+$L_Prize_Money_Small;
        getitem 35011,25;    
    to the line you pointed out. Thank you.
  8. Rivers's post in Where can I modify Rankers Status? was marked as the answer   
    Found it in char_athena.conf, just in case anyone else is looking.
    conf/char_athena.conf
    Find & change values to however high you need:
    // Size for the fame-lists
    fame_list_alchemist: 10
    fame_list_blacksmith: 10
    fame_list_taekwon: 10
×
×
  • Create New...