Jump to content

khyle650

Members
  • Posts

    42
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by khyle650

  1. 2 hours ago, alexander03 said:

    Thanks allot sir you save my life hahaha 🙂 1 more question sir,can i paste all you made into my grf and client side? Cause im using rathena emulator,.the name of iteminfo.lua and item_db is dfrrent aand the script also 🙂

    Ragnarok Online Pre-Renewal(Offline) and guide for easy update.

    - Data Folder + Server: Google Drive or MediaFire

    - Client RO: Google Drive or MediaFire

    Guide for start server and Play:

    0. Dowloand Client RO and Update.
    1. Download Data Folder + Server
    2. Copy all files C:/MyServer/Client (In folder Ragnarok Onmline).
    3. Run C:/MyServer/UwAmp/UwAmp.exe
    4. Start Server C:/MyServer/rathena/runserver.exe
    
    Enjoy!!!
    • Upvote 1
  2.  Update: My project all Auras. (09/27/2023)

    - Pack Auras: My Project All Auras

    Too my project Ragnarok Online Pre-Renewal(Offline) and guide for easy update.

    - Data Folder + Server: Google Drive or MediaFire

    - Client RO: Google Drive or MediaFire

    Guide for start server and Play:

    0. Dowloand Client RO and Update.
    1. Download Data Folder + Server
    2. Copy all files C:/MyServer/Client (In folder Ragnarok Onmline).
    3. Run C:/MyServer/UwAmp/UwAmp.exe
    4. Start Server C:/MyServer/rathena/runserver.exe
    
    Enjoy!!!
    • Upvote 1
    • MVP 1
  3. On 3/6/2023 at 10:59 AM, hendra814 said:

    what's is char ID. I don't know <char ID> means, could you help me

    Use this example: create npc script.

    -	script	Enchant Expert	-1,{
    //-------------------------------------------------------------------------------------
    // Enchant UI (RagExe 2021-11-03 or newer.)
    if ( countitem( 2375 ) || countitem( 2433 ) || countitem( 5808 ) || countitem( 2537 ) || countitem( 2729 ) || countitem( 2374 ) ) {
    	item_enchant 68;
    	end;
    }
    //-------------------------------------------------------------------------------------
    }
    // Duplicates
    //============================================================
    prt_in,28,73,4	duplicate(Enchant Expert)	Enchant Expert#prt	VH_H_HUNTER_EV

    Add enchant in DB: rathena\db\import\item_enchant.yml

    # This file is a part of rAthena.
    #   Copyright(C) 2022 rAthena Development Team
    #   https://rathena.org - https://github.com/rathena
    #
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    #
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    #
    # You should have received a copy of the GNU General Public License
    # along with this program. If not, see <http://www.gnu.org/licenses/>.
    #
    ###########################################################################
    # Item Enchant Database
    ###########################################################################
    #
    # Item Enchant Settings
    #
    ###########################################################################
    # - Id                         Client side LUA index.
    #   TargetItems:               List of possible target items.
    #     <item name>              Item name of possible target item.
    #   MinimumRefine              Minimum refine of the target item. (Default: 0)
    #   MinimumEnchantgrade        Minimum enchant grade of the target item. (Default: 0)
    #   AllowRandomOptions         Enable random options in the target item. (Default: true)
    #   Reset:                     Reset options. (Default: null)
    #     Chance                   Chance of successful reset. (Default: 0)
    #     Price                    Price for resetting enchants. (Default: 0)
    #     Materials:               Items required for resetting enchants. (Default: null)
    #       - Material             Item name of the required item.
    #         Amount               Amount of the required item. (Default: 1)
    #   Order:                     Order in which the slots can be enchanted.
    #                              Overwriting via import will clear the currently defined order.
    #     - Slot                   Number of the slot (0-3).
    #   Slots:                     Enchant options.
    #     - Slot                   Number of the slot (0-3).
    #       Price                  Price required for the normal enchant process. (Default: 0)
    #       Materials:             Items required for the normal enchant process. (Default: null)
    #         - Material           Item name of the required item.
    #           Amount             Amount of the required item. (Default: 1)
    #       Chance                 Base chance for the normal enchant process. (Default: 100000)
    #       EnchantgradeBonus:     Additional bonus chance increase per enchant grade. (Default: null)
    #         - Enchantgrade       Enchant grade required for the bonus.
    #           Chance             Additional chance that is added to the base chance.
    #       Enchants:              Available enchants for the normal enchant process per enchant grade. (Default: null)
    #         - Enchantgrade       Enchant grade of the item to be enchanted.
    #           Items:             Available enchants for the normal enchant process on the given enchant grade. (Default: null)
    #             - Item           Item name of the available enchant item.
    #               Chance         Chance to get this specific enchant item.
    #       PerfectEnchants:       Available perfect enchants (100% chance + selectable) for this slot. (Default: null)
    #         - Item               Item name of the available enchant item.
    #           Price              Price required for this perfect enchant. (Default: 0)
    #           Materials:         Items required for this perfect enchant. (Default: null)
    #             - Material       Item name of the required item.
    #               Amount         Amount of the required item. (Default: 1)
    #       Upgrades:              Available enchant upgrades for this slot. (Default: null)
    #         - Enchant            Item name of the enchant item available for upgrade.
    #           Upgrade            Item name of the enchant it can be upgrade to.
    #           Price              Price required for this enchant upgrade. (Default: 0)
    #           Materials:         Items required for this enchant upgrade (Default: null)
    #             - Material       Item name of the required item.
    #               Amount         Amount of the required item. (Default: 1)
    ###########################################################################
    
    Header:
      Type: ITEM_ENCHANT_DB
      Version: 1
    
    Body:
      - Id: 68
        TargetItems:
          Diabolus_Armor: true
          Diabolus_Boots: true
          Diabolus_Helmet: true
          Diabolus_Manteau: true
          Diabolus_Ring: true
          Diabolus_Robe: true
        Reset:
          Chance: 100000
          Price: 3000000
        Order:
          - Slot: 3
          - Slot: 2
          - Slot: 1
        Slots:
          - Slot: 3
            Price: 100000
            Enchants:
              - Enchantgrade: 0
                Items:
                  - Item: Strength1
                    Chance: 12460
                  - Item: Inteligence1
                    Chance: 12470
                  - Item: Agility1
                    Chance: 12470
                  - Item: Vitality1
                    Chance: 12470
                  - Item: Luck1
                    Chance: 12460
                  - Item: Dexterity1
                    Chance: 12470
                  - Item: Strength2
                    Chance: 3500
                  - Item: Inteligence2
                    Chance: 3500
                  - Item: Agility2
                    Chance: 3500
                  - Item: Vitality2
                    Chance: 3500
                  - Item: Luck2
                    Chance: 3500
                  - Item: Dexterity2
                    Chance: 3500
                  - Item: Strength3
                    Chance: 700
                  - Item: Inteligence3
                    Chance: 700
                  - Item: Agility3
                    Chance: 700
                  - Item: Vitality3
                    Chance: 700
                  - Item: Luck3
                    Chance: 700
                  - Item: Dexterity3
                    Chance: 700
            PerfectEnchants:
              - Item: Strength1
                Price: 500000
              - Item: Inteligence1
                Price: 500000
              - Item: Agility1
                Price: 500000
              - Item: Vitality1
                Price: 500000
              - Item: Luck1
                Price: 500000
              - Item: Dexterity1
                Price: 500000
              - Item: Strength2
                Price: 1000000
              - Item: Inteligence2
                Price: 1000000
              - Item: Agility2
                Price: 1000000
              - Item: Vitality2
                Price: 1000000
              - Item: Luck2
                Price: 1000000
              - Item: Dexterity2
                Price: 1000000
              - Item: Strength3
                Price: 3000000
              - Item: Inteligence3
                Price: 3000000
              - Item: Agility3
                Price: 3000000
              - Item: Vitality3
                Price: 3000000
              - Item: Luck3
                Price: 3000000
              - Item: Dexterity3
                Price: 3000000
            Upgrades:
              - Enchant: Strength1
                Upgrade: Strength2
                Price: 500000
              - Enchant: Strength2
                Upgrade: Strength3
                Price: 1000000
              - Enchant: Inteligence1
                Upgrade: Inteligence2
                Price: 500000
              - Enchant: Inteligence2
                Upgrade: Inteligence3
                Price: 1000000
              - Enchant: Agility1
                Upgrade: Agility2
                Price: 500000
              - Enchant: Agility2
                Upgrade: Agility3
                Price: 1000000
              - Enchant: Vitality1
                Upgrade: Vitality2
                Price: 500000
              - Enchant: Vitality2
                Upgrade: Vitality3
                Price: 1000000
              - Enchant: Luck1
                Upgrade: Luck2
                Price: 500000
              - Enchant: Luck2
                Upgrade: Luck3
                Price: 1000000
              - Enchant: Dexterity1
                Upgrade: Dexterity2
                Price: 500000
              - Enchant: Dexterity2
                Upgrade: Dexterity3
                Price: 1000000
          - Slot: 2
            Price: 200000
            Enchants:
              - Enchantgrade: 0
                Items:
                  - Item: Strength1
                    Chance: 12460
                  - Item: Inteligence1
                    Chance: 12470
                  - Item: Agility1
                    Chance: 12470
                  - Item: Vitality1
                    Chance: 12470
                  - Item: Luck1
                    Chance: 12460
                  - Item: Dexterity1
                    Chance: 12470
                  - Item: Strength2
                    Chance: 3500
                  - Item: Inteligence2
                    Chance: 3500
                  - Item: Agility2
                    Chance: 3500
                  - Item: Vitality2
                    Chance: 3500
                  - Item: Luck2
                    Chance: 3500
                  - Item: Dexterity2
                    Chance: 3500
                  - Item: Strength3
                    Chance: 700
                  - Item: Inteligence3
                    Chance: 700
                  - Item: Agility3
                    Chance: 700
                  - Item: Vitality3
                    Chance: 700
                  - Item: Luck3
                    Chance: 700
                  - Item: Dexterity3
                    Chance: 700
            PerfectEnchants:
              - Item: Strength1
                Price: 500000
              - Item: Inteligence1
                Price: 500000
              - Item: Agility1
                Price: 500000
              - Item: Vitality1
                Price: 500000
              - Item: Luck1
                Price: 500000
              - Item: Dexterity1
                Price: 500000
              - Item: Strength2
                Price: 1000000
              - Item: Inteligence2
                Price: 1000000
              - Item: Agility2
                Price: 1000000
              - Item: Vitality2
                Price: 1000000
              - Item: Luck2
                Price: 1000000
              - Item: Dexterity2
                Price: 1000000
              - Item: Strength3
                Price: 3000000
              - Item: Inteligence3
                Price: 3000000
              - Item: Agility3
                Price: 3000000
              - Item: Vitality3
                Price: 3000000
              - Item: Luck3
                Price: 3000000
              - Item: Dexterity3
                Price: 3000000
            Upgrades:
              - Enchant: Strength1
                Upgrade: Strength2
                Price: 500000
              - Enchant: Strength2
                Upgrade: Strength3
                Price: 1000000
              - Enchant: Inteligence1
                Upgrade: Inteligence2
                Price: 500000
              - Enchant: Inteligence2
                Upgrade: Inteligence3
                Price: 1000000
              - Enchant: Agility1
                Upgrade: Agility2
                Price: 500000
              - Enchant: Agility2
                Upgrade: Agility3
                Price: 1000000
              - Enchant: Vitality1
                Upgrade: Vitality2
                Price: 500000
              - Enchant: Vitality2
                Upgrade: Vitality3
                Price: 1000000
              - Enchant: Luck1
                Upgrade: Luck2
                Price: 500000
              - Enchant: Luck2
                Upgrade: Luck3
                Price: 1000000
              - Enchant: Dexterity1
                Upgrade: Dexterity2
                Price: 500000
              - Enchant: Dexterity2
                Upgrade: Dexterity3
                Price: 1000000
          - Slot: 1
            Price: 300000
            Enchants:
              - Enchantgrade: 0
                Items:
                  - Item: Strength1
                    Chance: 12460
                  - Item: Inteligence1
                    Chance: 12470
                  - Item: Agility1
                    Chance: 12470
                  - Item: Vitality1
                    Chance: 12470
                  - Item: Luck1
                    Chance: 12460
                  - Item: Dexterity1
                    Chance: 12470
                  - Item: Strength2
                    Chance: 3500
                  - Item: Inteligence2
                    Chance: 3500
                  - Item: Agility2
                    Chance: 3500
                  - Item: Vitality2
                    Chance: 3500
                  - Item: Luck2
                    Chance: 3500
                  - Item: Dexterity2
                    Chance: 3500
                  - Item: Strength3
                    Chance: 700
                  - Item: Inteligence3
                    Chance: 700
                  - Item: Agility3
                    Chance: 700
                  - Item: Vitality3
                    Chance: 700
                  - Item: Luck3
                    Chance: 700
                  - Item: Dexterity3
                    Chance: 700
            PerfectEnchants:
              - Item: Strength1
                Price: 500000
              - Item: Inteligence1
                Price: 500000
              - Item: Agility1
                Price: 500000
              - Item: Vitality1
                Price: 500000
              - Item: Luck1
                Price: 500000
              - Item: Dexterity1
                Price: 500000
              - Item: Strength2
                Price: 1000000
              - Item: Inteligence2
                Price: 1000000
              - Item: Agility2
                Price: 1000000
              - Item: Vitality2
                Price: 1000000
              - Item: Luck2
                Price: 1000000
              - Item: Dexterity2
                Price: 1000000
              - Item: Strength3
                Price: 3000000
              - Item: Inteligence3
                Price: 3000000
              - Item: Agility3
                Price: 3000000
              - Item: Vitality3
                Price: 3000000
              - Item: Luck3
                Price: 3000000
              - Item: Dexterity3
                Price: 3000000
            Upgrades:
              - Enchant: Strength1
                Upgrade: Strength2
                Price: 500000
              - Enchant: Strength2
                Upgrade: Strength3
                Price: 1000000
              - Enchant: Inteligence1
                Upgrade: Inteligence2
                Price: 500000
              - Enchant: Inteligence2
                Upgrade: Inteligence3
                Price: 1000000
              - Enchant: Agility1
                Upgrade: Agility2
                Price: 500000
              - Enchant: Agility2
                Upgrade: Agility3
                Price: 1000000
              - Enchant: Vitality1
                Upgrade: Vitality2
                Price: 500000
              - Enchant: Vitality2
                Upgrade: Vitality3
                Price: 1000000
              - Enchant: Luck1
                Upgrade: Luck2
                Price: 500000
              - Enchant: Luck2
                Upgrade: Luck3
                Price: 1000000
              - Enchant: Dexterity1
                Upgrade: Dexterity2
                Price: 500000
              - Enchant: Dexterity2
                Upgrade: Dexterity3
                Price: 1000000

    You need add item in Data\luafiles514\lua files\ItemDBNameTbl.lub and enchant in Data\luafiles514\lua files\Enchant\EnchantList.lub

    Example:

    ItemDBNameTbl.lub:

    	F_Ein_Weapon_Hammer = 102124,
    	Diabolus_Armor = 2375,
    	Diabolus_Boots = 2433,
    	Diabolus_Helmet = 5808,
    	Diabolus_Manteau = 2537,
    	Diabolus_Ring = 2729,
    	Diabolus_Robe = 2374

    EnchantList.lub:

    Table[68] = CreateEnchantInfo()
    Table[68]:SetSlotOrder(3, 2, 1)
    Table[68]:AddTargetItem("Diabolus_Armor")
    Table[68]:AddTargetItem("Diabolus_Boots")
    Table[68]:AddTargetItem("Diabolus_Helmet")
    Table[68]:AddTargetItem("Diabolus_Manteau")
    Table[68]:AddTargetItem("Diabolus_Ring")
    Table[68]:AddTargetItem("Diabolus_Robe")
    Table[68]:SetCondition(0, 0)
    Table[68]:ApproveRandomOption(true)
    Table[68]:SetReset(true, 100000, 3000000)
    Table[68]:SetCaution("Diabolus Set Enchantment\nSuccess Chance: 100%\nReset Chance: 100%, will not be destroyed on failure")
    Table[68].Slot[3]:SetRequire(100000)
    Table[68].Slot[3]:SetSuccessRate(100000)
    Table[68].Slot[3]:SetGradeBonus(1, 0)
    Table[68].Slot[3]:SetGradeBonus(2, 0)
    Table[68].Slot[3]:SetGradeBonus(3, 0)
    Table[68].Slot[3]:SetGradeBonus(4, 0)
    Table[68].Slot[3]:SetEnchant(0, "Èû1", 12460)
    Table[68].Slot[3]:SetEnchant(0, "ÀÎÆ®1", 12470)
    Table[68].Slot[3]:SetEnchant(0, "¾îÁú1", 12470)
    Table[68].Slot[3]:SetEnchant(0, "¹ÙÅ»1", 12470)
    Table[68].Slot[3]:SetEnchant(0, "·°1", 12460)
    Table[68].Slot[3]:SetEnchant(0, "µ¦1", 12470)
    Table[68].Slot[3]:SetEnchant(0, "Èû2", 3500)
    Table[68].Slot[3]:SetEnchant(0, "ÀÎÆ®2", 3500)
    Table[68].Slot[3]:SetEnchant(0, "¾îÁú2", 3500)
    Table[68].Slot[3]:SetEnchant(0, "¹ÙÅ»2", 3500)
    Table[68].Slot[3]:SetEnchant(0, "·°2", 3500)
    Table[68].Slot[3]:SetEnchant(0, "µ¦2", 3500)
    Table[68].Slot[3]:SetEnchant(0, "Èû3", 700)
    Table[68].Slot[3]:SetEnchant(0, "ÀÎÆ®3", 700)
    Table[68].Slot[3]:SetEnchant(0, "¾îÁú3", 700)
    Table[68].Slot[3]:SetEnchant(0, "¹ÙÅ»3", 700)
    Table[68].Slot[3]:SetEnchant(0, "·°3", 700)
    Table[68].Slot[3]:SetEnchant(0, "µ¦3", 700)
    Table[68].Slot[3]:AddPerfectEnchant("Èû1", 500000)
    Table[68].Slot[3]:AddPerfectEnchant("ÀÎÆ®1", 500000)
    Table[68].Slot[3]:AddPerfectEnchant("¾îÁú1", 500000)
    Table[68].Slot[3]:AddPerfectEnchant("¹ÙÅ»1", 500000)
    Table[68].Slot[3]:AddPerfectEnchant("·°1", 500000)
    Table[68].Slot[3]:AddPerfectEnchant("µ¦1", 500000)
    Table[68].Slot[3]:AddPerfectEnchant("Èû2", 1000000)
    Table[68].Slot[3]:AddPerfectEnchant("ÀÎÆ®2", 1000000)
    Table[68].Slot[3]:AddPerfectEnchant("¾îÁú2", 1000000)
    Table[68].Slot[3]:AddPerfectEnchant("¹ÙÅ»2", 1000000)
    Table[68].Slot[3]:AddPerfectEnchant("·°2", 1000000)
    Table[68].Slot[3]:AddPerfectEnchant("µ¦2", 1000000)
    Table[68].Slot[3]:AddPerfectEnchant("Èû3", 3000000)
    Table[68].Slot[3]:AddPerfectEnchant("ÀÎÆ®3", 3000000)
    Table[68].Slot[3]:AddPerfectEnchant("¾îÁú3", 3000000)
    Table[68].Slot[3]:AddPerfectEnchant("¹ÙÅ»3", 3000000)
    Table[68].Slot[3]:AddPerfectEnchant("·°3", 3000000)
    Table[68].Slot[3]:AddPerfectEnchant("µ¦3", 3000000)
    Table[68].Slot[3]:AddUpgradeEnchant("Èû1", "Èû2", 500000)
    Table[68].Slot[3]:AddUpgradeEnchant("Èû2", "Èû3", 1000000)
    Table[68].Slot[3]:AddUpgradeEnchant("ÀÎÆ®1", "ÀÎÆ®2", 500000)
    Table[68].Slot[3]:AddUpgradeEnchant("ÀÎÆ®2", "ÀÎÆ®3", 1000000)
    Table[68].Slot[3]:AddUpgradeEnchant("¾îÁú1", "¾îÁú2", 500000)
    Table[68].Slot[3]:AddUpgradeEnchant("¾îÁú2", "¾îÁú3", 1000000)
    Table[68].Slot[3]:AddUpgradeEnchant("¹ÙÅ»1", "¹ÙÅ»2", 500000)
    Table[68].Slot[3]:AddUpgradeEnchant("¹ÙÅ»2", "¹ÙÅ»3", 1000000)
    Table[68].Slot[3]:AddUpgradeEnchant("·°1", "·°2", 500000)
    Table[68].Slot[3]:AddUpgradeEnchant("·°2", "·°3", 1000000)
    Table[68].Slot[3]:AddUpgradeEnchant("µ¦1", "µ¦2", 500000)
    Table[68].Slot[3]:AddUpgradeEnchant("µ¦2", "µ¦3", 1000000)
    Table[68].Slot[2]:SetRequire(200000)
    Table[68].Slot[2]:SetSuccessRate(100000)
    Table[68].Slot[2]:SetGradeBonus(1, 0)
    Table[68].Slot[2]:SetGradeBonus(2, 0)
    Table[68].Slot[2]:SetGradeBonus(3, 0)
    Table[68].Slot[2]:SetGradeBonus(4, 0)
    Table[68].Slot[2]:SetEnchant(0, "Èû1", 12460)
    Table[68].Slot[2]:SetEnchant(0, "ÀÎÆ®1", 12470)
    Table[68].Slot[2]:SetEnchant(0, "¾îÁú1", 12470)
    Table[68].Slot[2]:SetEnchant(0, "¹ÙÅ»1", 12470)
    Table[68].Slot[2]:SetEnchant(0, "·°1", 12460)
    Table[68].Slot[2]:SetEnchant(0, "µ¦1", 12470)
    Table[68].Slot[2]:SetEnchant(0, "Èû2", 3500)
    Table[68].Slot[2]:SetEnchant(0, "ÀÎÆ®2", 3500)
    Table[68].Slot[2]:SetEnchant(0, "¾îÁú2", 3500)
    Table[68].Slot[2]:SetEnchant(0, "¹ÙÅ»2", 3500)
    Table[68].Slot[2]:SetEnchant(0, "·°2", 3500)
    Table[68].Slot[2]:SetEnchant(0, "µ¦2", 3500)
    Table[68].Slot[2]:SetEnchant(0, "Èû3", 700)
    Table[68].Slot[2]:SetEnchant(0, "ÀÎÆ®3", 700)
    Table[68].Slot[2]:SetEnchant(0, "¾îÁú3", 700)
    Table[68].Slot[2]:SetEnchant(0, "¹ÙÅ»3", 700)
    Table[68].Slot[2]:SetEnchant(0, "·°3", 700)
    Table[68].Slot[2]:SetEnchant(0, "µ¦3", 700)
    Table[68].Slot[2]:AddPerfectEnchant("Èû1", 500000)
    Table[68].Slot[2]:AddPerfectEnchant("ÀÎÆ®1", 500000)
    Table[68].Slot[2]:AddPerfectEnchant("¾îÁú1", 500000)
    Table[68].Slot[2]:AddPerfectEnchant("¹ÙÅ»1", 500000)
    Table[68].Slot[2]:AddPerfectEnchant("·°1", 500000)
    Table[68].Slot[2]:AddPerfectEnchant("µ¦1", 500000)
    Table[68].Slot[2]:AddPerfectEnchant("Èû2", 1000000)
    Table[68].Slot[2]:AddPerfectEnchant("ÀÎÆ®2", 1000000)
    Table[68].Slot[2]:AddPerfectEnchant("¾îÁú2", 1000000)
    Table[68].Slot[2]:AddPerfectEnchant("¹ÙÅ»2", 1000000)
    Table[68].Slot[2]:AddPerfectEnchant("·°2", 1000000)
    Table[68].Slot[2]:AddPerfectEnchant("µ¦2", 1000000)
    Table[68].Slot[2]:AddPerfectEnchant("Èû3", 3000000)
    Table[68].Slot[2]:AddPerfectEnchant("ÀÎÆ®3", 3000000)
    Table[68].Slot[2]:AddPerfectEnchant("¾îÁú3", 3000000)
    Table[68].Slot[2]:AddPerfectEnchant("¹ÙÅ»3", 3000000)
    Table[68].Slot[2]:AddPerfectEnchant("·°3", 3000000)
    Table[68].Slot[2]:AddPerfectEnchant("µ¦3", 3000000)
    Table[68].Slot[2]:AddUpgradeEnchant("Èû1", "Èû2", 500000)
    Table[68].Slot[2]:AddUpgradeEnchant("Èû2", "Èû3", 1000000)
    Table[68].Slot[2]:AddUpgradeEnchant("ÀÎÆ®1", "ÀÎÆ®2", 500000)
    Table[68].Slot[2]:AddUpgradeEnchant("ÀÎÆ®2", "ÀÎÆ®3", 1000000)
    Table[68].Slot[2]:AddUpgradeEnchant("¾îÁú1", "¾îÁú2", 500000)
    Table[68].Slot[2]:AddUpgradeEnchant("¾îÁú2", "¾îÁú3", 1000000)
    Table[68].Slot[2]:AddUpgradeEnchant("¹ÙÅ»1", "¹ÙÅ»2", 500000)
    Table[68].Slot[2]:AddUpgradeEnchant("¹ÙÅ»2", "¹ÙÅ»3", 1000000)
    Table[68].Slot[2]:AddUpgradeEnchant("·°1", "·°2", 500000)
    Table[68].Slot[2]:AddUpgradeEnchant("·°2", "·°3", 1000000)
    Table[68].Slot[2]:AddUpgradeEnchant("µ¦1", "µ¦2", 500000)
    Table[68].Slot[2]:AddUpgradeEnchant("µ¦2", "µ¦3", 1000000)
    Table[68].Slot[1]:SetRequire(300000)
    Table[68].Slot[1]:SetSuccessRate(100000)
    Table[68].Slot[1]:SetGradeBonus(1, 0)
    Table[68].Slot[1]:SetGradeBonus(2, 0)
    Table[68].Slot[1]:SetGradeBonus(3, 0)
    Table[68].Slot[1]:SetGradeBonus(4, 0)
    Table[68].Slot[1]:SetEnchant(0, "Èû1", 12460)
    Table[68].Slot[1]:SetEnchant(0, "ÀÎÆ®1", 12470)
    Table[68].Slot[1]:SetEnchant(0, "¾îÁú1", 12470)
    Table[68].Slot[1]:SetEnchant(0, "¹ÙÅ»1", 12470)
    Table[68].Slot[1]:SetEnchant(0, "·°1", 12460)
    Table[68].Slot[1]:SetEnchant(0, "µ¦1", 12470)
    Table[68].Slot[1]:SetEnchant(0, "Èû2", 3500)
    Table[68].Slot[1]:SetEnchant(0, "ÀÎÆ®2", 3500)
    Table[68].Slot[1]:SetEnchant(0, "¾îÁú2", 3500)
    Table[68].Slot[1]:SetEnchant(0, "¹ÙÅ»2", 3500)
    Table[68].Slot[1]:SetEnchant(0, "·°2", 3500)
    Table[68].Slot[1]:SetEnchant(0, "µ¦2", 3500)
    Table[68].Slot[1]:SetEnchant(0, "Èû3", 700)
    Table[68].Slot[1]:SetEnchant(0, "ÀÎÆ®3", 700)
    Table[68].Slot[1]:SetEnchant(0, "¾îÁú3", 700)
    Table[68].Slot[1]:SetEnchant(0, "¹ÙÅ»3", 700)
    Table[68].Slot[1]:SetEnchant(0, "·°3", 700)
    Table[68].Slot[1]:SetEnchant(0, "µ¦3", 700)
    Table[68].Slot[1]:AddPerfectEnchant("Èû1", 500000)
    Table[68].Slot[1]:AddPerfectEnchant("ÀÎÆ®1", 500000)
    Table[68].Slot[1]:AddPerfectEnchant("¾îÁú1", 500000)
    Table[68].Slot[1]:AddPerfectEnchant("¹ÙÅ»1", 500000)
    Table[68].Slot[1]:AddPerfectEnchant("·°1", 500000)
    Table[68].Slot[1]:AddPerfectEnchant("µ¦1", 500000)
    Table[68].Slot[1]:AddPerfectEnchant("Èû2", 1000000)
    Table[68].Slot[1]:AddPerfectEnchant("ÀÎÆ®2", 1000000)
    Table[68].Slot[1]:AddPerfectEnchant("¾îÁú2", 1000000)
    Table[68].Slot[1]:AddPerfectEnchant("¹ÙÅ»2", 1000000)
    Table[68].Slot[1]:AddPerfectEnchant("·°2", 1000000)
    Table[68].Slot[1]:AddPerfectEnchant("µ¦2", 1000000)
    Table[68].Slot[1]:AddPerfectEnchant("Èû3", 3000000)
    Table[68].Slot[1]:AddPerfectEnchant("ÀÎÆ®3", 3000000)
    Table[68].Slot[1]:AddPerfectEnchant("¾îÁú3", 3000000)
    Table[68].Slot[1]:AddPerfectEnchant("¹ÙÅ»3", 3000000)
    Table[68].Slot[1]:AddPerfectEnchant("·°3", 3000000)
    Table[68].Slot[1]:AddPerfectEnchant("µ¦3", 3000000)
    Table[68].Slot[1]:AddUpgradeEnchant("Èû1", "Èû2", 500000)
    Table[68].Slot[1]:AddUpgradeEnchant("Èû2", "Èû3", 1000000)
    Table[68].Slot[1]:AddUpgradeEnchant("ÀÎÆ®1", "ÀÎÆ®2", 500000)
    Table[68].Slot[1]:AddUpgradeEnchant("ÀÎÆ®2", "ÀÎÆ®3", 1000000)
    Table[68].Slot[1]:AddUpgradeEnchant("¾îÁú1", "¾îÁú2", 500000)
    Table[68].Slot[1]:AddUpgradeEnchant("¾îÁú2", "¾îÁú3", 1000000)
    Table[68].Slot[1]:AddUpgradeEnchant("¹ÙÅ»1", "¹ÙÅ»2", 500000)
    Table[68].Slot[1]:AddUpgradeEnchant("¹ÙÅ»2", "¹ÙÅ»3", 1000000)
    Table[68].Slot[1]:AddUpgradeEnchant("·°1", "·°2", 500000)
    Table[68].Slot[1]:AddUpgradeEnchant("·°2", "·°3", 1000000)
    Table[68].Slot[1]:AddUpgradeEnchant("µ¦1", "µ¦2", 500000)
    Table[68].Slot[1]:AddUpgradeEnchant("µ¦2", "µ¦3", 1000000)

    screenrAthena000.thumb.jpg.4f9ede7bd940e5b23fe027a513fce3f1.jpg

    • MVP 1
    • Like 1
  4.  

    1. rathena/src/map/script.hpp

    Search:

    	HAT_EF_MAX

    Replace:

    	/* Custom Hateffects */
    	HAT_EF_arcane_aura_A,
    	HAT_EF_arcane_aura_B,
    	HAT_EF_gluttony_aura_A,
    	HAT_EF_gluttony_aura_B,
    
    	HAT_EF_MAX = 9999

    2. rathena/src/map/script_constants.hpp

    Search:

    	export_constant(HAT_EF_EFST_C_20TH_ANNIVERSARY_HAT);

    Replace:

    	export_constant(HAT_EF_EFST_C_20TH_ANNIVERSARY_HAT);
    	/* Custom Hateffects */
    	export_constant(HAT_EF_arcane_aura_A);
    	export_constant(HAT_EF_arcane_aura_B);
    	export_constant(HAT_EF_gluttony_aura_A);
    	export_constant(HAT_EF_gluttony_aura_B);

    3. Compile you Server.

    4. Copy in you Data/texture/effect/(arcane_aura) and (gluttony_aura) Data(Example_Auras).zip

    5. Data/luafiles514/lua files/hateffectinfo/hateffectinfo.lub

    Search:

    	HAT_EF_efst_C_20th_Anniversary_Hat = 176
    }

    Replace:

    	HAT_EF_efst_C_20th_Anniversary_Hat = 176,
    	HAT_EF_arcane_aura_A = 177,
    	HAT_EF_arcane_aura_B = 178,
    	HAT_EF_gluttony_aura_A = 179,
    	HAT_EF_gluttony_aura_B = 180
    }

    resourceFileName: route effect(Data/effect/name you effect folder/name you str file.str)
    IsIgnoreRiding: if true when mounting a mount or asking for hateffect will not go up, it will ignore this action
    isRenderBeforeCharacter: If true when using hateffect it will be over the character.
    hatEffectPos: Position the Y anchor (up and down) of the hateffect
    hatEffectPosX: Positions hateffect X anchor (left right)
    isAdjustPositionWhenShrinkState: always true
    isAdjustSizeWhenShrinkState: always true

    Search:

    	[HatEFID.HAT_EF_efst_C_20th_Anniversary_Hat] = {
    		resourceFileName = "efst_C_20th_Anniversary_Hat\\20th_f.str",
    		hatEffectPos = -6,
    		hatEffectPosX = 0,
    		isIgnoreRiding = true,
    		isAdjustPositionWhenShrinkState = true,
    		isAdjustSizeWhenShrinkState = true
    	}
    }

    Replace:

    	[HatEFID.HAT_EF_efst_C_20th_Anniversary_Hat] = {
    		resourceFileName = "efst_C_20th_Anniversary_Hat\\20th_f.str",
    		hatEffectPos = -6,
    		hatEffectPosX = 0,
    		isIgnoreRiding = true,
    		isAdjustPositionWhenShrinkState = true,
    		isAdjustSizeWhenShrinkState = true
    	},
    	[HatEFID.HAT_EF_arcane_aura_A] = {
    		resourceFileName = "arcane_aura\\arcane_aura_particle.str",
    		hatEffectPos = -1,
    		hatEffectPosX = 0,
    		isRenderBeforeCharacter = false,
    		isIgnoreRiding = false,
    		isAdjustPositionWhenShrinkState = true,
    		isAdjustSizeWhenShrinkState = true
    	},
    	[HatEFID.HAT_EF_arcane_aura_B] = {
    		resourceFileName = "arcane_aura\\arcane_aura.str",
    		hatEffectPos = -2,
    		hatEffectPosX = 0.2,
    		isRenderBeforeCharacter = true,
    		isIgnoreRiding = true,
    		isAdjustPositionWhenShrinkState = true,
    		isAdjustSizeWhenShrinkState = true
    	},
    	[HatEFID.HAT_EF_gluttony_aura_A] = {
    		resourceFileName = "gluttony_aura\\gluttony_aura_particle.str",
    		hatEffectPos = -1,
    		hatEffectPosX = 0,
    		isRenderBeforeCharacter = false,
    		isIgnoreRiding = false,
    		isAdjustPositionWhenShrinkState = true,
    		isAdjustSizeWhenShrinkState = true
    	},
    	[HatEFID.HAT_EF_gluttony_aura_B] = {
    		resourceFileName = "gluttony_aura\\gluttony_aura.str",
    		hatEffectPos = -2,
    		hatEffectPosX = 0.2,
    		isRenderBeforeCharacter = true,
    		isIgnoreRiding = true,
    		isAdjustPositionWhenShrinkState = true,
    		isAdjustSizeWhenShrinkState = true
    	}
    }

     

    6. Add Script NPC: rathena\npc\custom\hateffect.txt (Use command @efc in game)

    -	script	HATEFFECT	-1,{
    
    OnHatEffect:
    	if(getgmlevel()>= 80){
    	input .@number;
    	if (.@number < 1) end;
    	if (.@number >= 301) end;
    	for(.@i = 1; .@i < 300; ++.@i)
    		hateffect .@i,false;
    	hateffect .@number,true;
    	end;
    	}
    
    	
    OnInit:
    	bindatcmd "efc",strnpcinfo(3)+"::OnHatEffect";
    	end;
    }

    7. Add npc in rathena\npc\scripts_custom.conf

    npc: npc/custom/hateffect.txt

    8. (OPTIONAL) Add Hateffect in item:
    Example:

      - Id: 2301
        AegisName: Cotton_Shirt
        Name: Cotton Shirt
        Type: Armor
        Buy: 10
        Weight: 100
        Defense: 1
        Locations:
          Armor: true
        ArmorLevel: 1
        Refineable: true
        Script: |
          hateffect HAT_EF_arcane_aura_A,true;
          hateffect HAT_EF_arcane_aura_B,true;
        UnEquipScript: |
          hateffect HAT_EF_arcane_aura_A,false;
          hateffect HAT_EF_arcane_aura_B,false;

    Update: My project all Auras. (09/27/2023)

    - Pack Auras: My Project All Auras

    Too my project Ragnarok Online Pre-Renewal(Offline) and guide for easy update.

    - Data Folder + Server: Google Drive or MediaFire

    - Client RO: Google Drive or MediaFire

    Guide for start server and Play:

    0. Dowloand Client RO and Update.
    1. Download Data Folder + Server
    2. Copy all files C:/MyServer/Client (In folder Ragnarok Onmline).
    3. Run C:/MyServer/UwAmp/UwAmp.exe
    4. Start Server C:/MyServer/rathena/runserver.exe
    
    Enjoy!!!

    Gluttony Aura:

    FiDaoY3.gif

    Arcane Aura:

    11JApSs.gif

    Spoiler

    Credits:
    LCDTheOG
    Fros

    • Upvote 2
    • Love 8
    • MVP 3
    • Like 1
  5. 32 minutes ago, Notorius said:

     

    Hello, what should I do so that for each refine level the holy light increases by 2%?

    bonus2 bSkillAtk,"AL_HOLYLIGHT",getrefine();}

    This bonus is for increase damage in skill. 2% by refine level.

    bonus2 bSkillAtk,"SKILL NAME",2+getrefine();

    For increase elemental damage try:

    bonus2 bMagicAtkEle,Ele_Holy,2+getrefine();

     

    • Upvote 1
  6. 1 minute ago, AinsLord said:

    im using this script

    //===== rAthena Script =======================================
    //= Euphy's Quest Shop
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.6c
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= A dynamic quest shop based on Lunar's, with easier config.
    //= Includes support for multiple shops & cashpoints.
    //= Item Preview script by ToastOfDoom.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.2 Added category support.
    //= 1.3 More options and fixes.
    //= 1.4 Added debug settings.
    //= 1.5 Replaced categories with shop IDs.
    //= 1.6 Added support for purchasing stackables.
    //= 1.6a Added support for previewing costumes and robes.
    //= 1.6b Added 'disable_items' command.
    //= 1.6c Replaced function 'A_An' with "F_InsertArticle".
    //============================================================
    
    // Shop NPCs -- supplying no argument displays entire menu.
    //	callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
    //  ADD YOUR NPC HERE
    //============================================================
    prontera,164,203,6	script	Quest Shop#1	998,{ callfunc "qshop"; }
    // prontera,165,203,6	script	Quest Shop#2	998,{ callfunc "qshop",1,2; }	// call the shop 1 and 2 defined below
    // etc.. Add your Shop NPCs 'Quest Shop#XXX' here
    //============================================================
    
    
    // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!!
    //============================================================
    -	script	quest_shop	-1,{
    function Add; function Chk; function Slot;
    OnInit:
    	freeloop(1);
    
    // -----------------------------------------------------------
    //  Basic shop settings.
    // -----------------------------------------------------------
    
    	set .Announce,1;	// Announce quest completion? (1: yes / 0: no)
    	set .ShowSlot,1;	// Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
    	set .ShowID,0;  	// Show item IDs? (1: yes / 0: no)
    	set .ShowZeny,0;	// Show Zeny cost, if any? (1: yes / 0: no)
    	set .MaxStack,100;	// Max number of quest items purchased at one time.
    
    // -----------------------------------------------------------
    //  Points variable -- optional quest requirement.
    //	setarray .Points$[0],"<variable name>","<display name>";
    // -----------------------------------------------------------
    
    	setarray .Points$[0],
    		"#CASHPOINTS", "Cash Points";
    
    
    //=====================================================================================
    // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE --------------
    //=====================================================================================
    
    // -----------------------------------------------------------
    //  Shop IDs -- to add shops, copy dummy data at bottom of file.
    //	setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};
    // -----------------------------------------------------------
    
    	setarray .Shops$[1],
    		"Headgears",	// Shop Named 1
    		"Weapons",		// Shop Named 2
    		"Other";		// Shop Named 3
    
    // -----------------------------------------------------------
    //  Quest items -- do NOT use a reward item more than once!
    //	Add(<shop ID>,<reward ID>,<reward amount>,
    //	    <Zeny cost>,<point cost>,
    //	    <required item ID>,<required item amount>{,...});
    // -----------------------------------------------------------
    
    // Shop 1
    	Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2);
    	Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600);
    	Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1);
    	Add(1,5045,1,0,0,2252,1,1054,450,943,1200);
    
    // Shop 2
    	Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10);
    	Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10);
    
    // Shop 3
    	Add(3,531,1,3,0,512,1,713,1);
    	Add(3,532,1,3,0,513,1,713,1);
    	Add(3,533,1,3,0,514,1,713,1);
    	Add(3,534,1,3,0,515,1,713,1);
    
    // -----------------------------------------------------------
    
    //=====================================================================================
    // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED ---------------------
    //=====================================================================================
    
    	freeloop(0);
    	set .menu$,"";
    	for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) {
    		set .menu$, .menu$+.Shops$[.@i]+":";
    		npcshopdelitem "qshop"+.@i,909;
    	}
    	end;
    
    OnMenu:
    	set .@size, getarraysize(@i);
    	if (!.@size) set @shop_index, select(.menu$);
    	else if (.@size == 1) set @shop_index, @i[0];
    	else {
    		for(set .@j,0; .@j<.@size; set .@j,.@j+1)
    			set .@menu$, .@menu$+.Shops$[@i[.@j]]+":";
    		set @shop_index, @i[select(.@menu$)-1];
    	}
    	deletearray @i[0],getarraysize(@i);
    	if (.Shops$[@shop_index] == "") {
    		message strcharinfo(0),"An error has occurred.";
    		end;
    	}
    	dispbottom "Select one item at a time.";
    	callshop "qshop"+@shop_index,1;
    	npcshopattach "qshop"+@shop_index;
    	end;
    
    OnBuyItem:
    	// .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... }
    	setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]);
    	copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0]));
    	set .@q[2],.@q[1]*.@q[3];
    	if (!.@q[2] || .@q[2] > 30000) {
    		message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+".";
    		end;
    	}
    	mes "[Quest Shop]";
    	mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000";
    	mes "Requirements:";
    	disable_items;
    	if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000";
    	if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000";
    	if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
    		mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
    	next;
    	setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOCATIONS), getiteminfo(.@q[0], ITEMINFO_VIEW);
    	if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT)))
    		set .@preview,1;
    	addtimer 1000, strnpcinfo(0)+"::OnEnd";
    	while(1) {
    		switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
    		case 1:
    			if (@qe[0]) {
    				mes "[Quest Shop]";
    				mes "You're missing one or more quest requirements.";
    				close;
    			}
    			if (!checkweight(.@q[0],.@q[2])) {
    				mes "[Quest Shop]";
    				mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0], ITEMINFO_WEIGHT))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
    				close;
    			}
    			if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]);
    			if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]);
    			if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
    				delitem .@q[.@i],.@q[.@i+1]*.@q[1];
    			getitem .@q[0],.@q[2];
    			if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0;
    			specialeffect2 EF_FLOWERLEAF;
    			close;
    		case 2:
    			setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
    			if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2];
    			else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2];
    			else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2];
    			else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2];
    			break;
    		case 3:
    			close;
    		}
    	}
    
    OnEnd:
    	if (@qe[7]) {
    		changelook LOOK_HEAD_BOTTOM, @qe[3];
    		changelook LOOK_HEAD_TOP, @qe[4];
    		changelook LOOK_HEAD_MID, @qe[5];
    		changelook LOOK_ROBE, @qe[6];
    	}
    	deletearray @qe[0],8;
    	end;
    
    function Add {
    	if (getitemname(getarg(1)) == "null") {
    		debugmes "Quest reward #"+getarg(1)+" invalid (skipped).";
    		return;
    	}
    	setarray .@j[0],getarg(2),getarg(3),getarg(4);
    	for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) {
    		if (getitemname(getarg(.@i)) == "null") {
    			debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped).";
    			return;
    		} else
    			setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1);
    	}
    	copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j);
    	npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
    	return;
    }
    
    function Chk {
    	if (getarg(0) < getarg(1)) {
    		set @qe[0],1;
    		return "^FF0000";
    	} else
    		return "^00FF00";
    }
    
    function Slot {
    	set .@s$,getitemname(getarg(0));
    	switch(.ShowSlot) {
    		case 1: if (!getitemslots(getarg(0))) return .@s$;
    		case 2: if (getiteminfo(getarg(0), ITEMINFO_TYPE) == 4 || getiteminfo(getarg(0), ITEMINFO_TYPE) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
    		default: return .@s$;
    	}
    }
    }
    
    function	script	qshop	{
    	deletearray @i[0],getarraysize(@i);
    	for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
    		set @i[.@i],getarg(.@i);
    	doevent "quest_shop::OnMenu";
    	end;
    }
    
    
    // Dummy shop data -- copy as needed.
    //============================================================
    -	shop	qshop1	-1,909:-1
    -	shop	qshop2	-1,909:-1
    -	shop	qshop3	-1,909:-1
    -	shop	qshop4	-1,909:-1
    -	shop	qshop5	-1,909:-1

    so in where in this script should i remove the "space"

    Yes i am @sapitosucio

    With Notepad++ 

    Search:

    mes " >

    Replace:

    mes ">

     

    • Love 1
  7. 33 minutes ago, AinsLord said:

    image.png.9936079fb6d21464166f93e438981a1c.png

    as you can see in the image the list of the quest

    is quite messy this is in 2021 client

    while

    image.png.1408251f4244cb187630f4191b1506b9.png

    this is one is using 2018 client

    is there any way to fix this

    i tried changing the fonts still no good

     

    thanks in advance

    In new client no use in script npc "space" at first. Exemple.

    No:

    mes " Hello my name is.";
    mes " Khyle.";

    Yes:

    mes "Hello my name is.";
    mmes"Khyle";

     

  8. 1 hour ago, hendra814 said:

    can you share to me how you do that

    Use this Guide for add new Hateffects and my example aura.

    In rathena/src/map/Script.hpp change:

    EF_MAX for EF_MAX = 9999

    HAT_EF_MAX for HAT_EF_MAX = 9999

    and compile you server.

  9. 53 minutes ago, estikeyear said:

    I just try to change about effects on cards when in all guide they talk ''change it in item db" but the only things that i have there is the custom item that i create. nosense, i can't find the database of the cards for change.. 

    help.png

    Cards in db/re(or pre-re)/item_db_etc.yml

    import/item_db.yml use for you add items custom(Equip/Etc/Usable).

  10. 1 hour ago, Kawacito said:

    I was able to achieve the Hat Effect, but the files I have to add are .tga and I think that for that reason it does not allow me to add it as a Hat Effect, look for guides and add my own Hat Effect but it does not work and I think it is because of the format already that in Hat Effect .str is used, any suggestions to be able to implement my 6 auras?

    Use STR Editor and add image in .bmp or .tga. This example is Aura Compilation

    screenr-Athena002.jpg

    Data(ExampleAura).7z

  11. 22 hours ago, Kawacito said:

    Hello good! I tell you that I have 6 auras (aura_float) that I would like to add to my server, the problem is that I don't know how to add the 6 auras together and then through an NPC that gives me the option to use any of these 6 previously added auras. Help.

    Create as HatEffect: (Exemple)

    7iVcyKm.jpg

     

  12. 1 hour ago, mawjustin said:

    Hi Team,

    I'm trying to make a custom Random Option using .yml file.

    I've checked everything, but I'm still getting this error:

    image.thumb.png.3899c8902a97ac68105e294b265c7861.png

    I have no idea why it says incorrect indentation when the line itself is just a replica of the previous lines used in pre-re and re .yml random option file.

    Attached is the data I'm trying to fix.

    Thank you.

    item_randomopt_group.yml 37.56 kB · 1 download

    Change:

    MaxRandom: 1
    Random:

    For:

        MaxRandom: 1
        Random:

    Repect space.

    item_randomopt_group.yml

    • Love 1
  13. 19 minutes ago, BabaVoss said:

    meaning one should wear an item with this script on item_db for the bonus effect to work? is it possible if even no item, just the stats alone?

    Try. Create Script:

    function    script    F_SpecialBonus {
    OnPCLoginEvent:
          if (readparam(bDex)>=99) {
            bonus bDelayRate,-100;
            bonus bVariableCastrate,-100;
          }
    end;
    }

    If no work fuction change:

    function script F_SpecialBonus {

    for

    - script Special_Bonus -1, {

    Too try in conf/battle/skill.conf for instant cast:

    // Does the delay time depend on the caster's DEX and/or AGI? (Note 1)
    // Note: On Official servers, neither Dex nor Agi affect delay time
    delay_dependon_dex: yes
    delay_dependon_agi: yes

     

  14. 18 minutes ago, BabaVoss said:

    i want it to be a callfunc, not on a db. hehe

     

    Create script:

    function    script    F_SpecialBonus {
          if (readparam(bDex)>=99) {
            bonus bDelayRate,-100;
            bonus bVariableCastrate,-100;
          }
    }

    Call in item_db.yml:

        Script: |
          callfunc "F_SpecialBonus";

     

  15. On 2/24/2023 at 11:29 AM, BabaVoss said:

    hello sir, can you help me with something like this  ( if(readparam(bAgi)>=100) { bonus bDelayRate,-45; )
    i need to be a function script, where in with or without an item. if a user has 100 agi, it will give this kind of bonus effect.

     

     

    Try. (Instant Cast)

        Script: |
          if (readparam(bDex)>=99) {
            bonus bDelayRate,-100;
            bonus bVariableCastrate,-100;
          }

     

  16. 4 hours ago, BabaVoss said:

    Hello guys, can anyone help me make this a function script?

    Script; |
          if (readparam(bAgi)>=150 {
             bonus bDelayRate,-100;

          }

    Try.

        Script: |
          if (readparam(bAgi)>=99) {
            bonus bAllStats,100;
          }

    Instant Cast:

        Script: |
          if (readparam(bAgi)>=99) {
            bonus bDelayRate,-100;
            bonus bVariableCastrate,-100;
          }

     

  17. Use Class == Job...

    Check for more bonus: here

    Spoiler
     
       
      /* jobs */
      export_constant(JOB_NOVICE);
      export_constant(JOB_SWORDMAN);
      export_constant(JOB_MAGE);
      export_constant(JOB_ARCHER);
      export_constant(JOB_ACOLYTE);
      export_constant(JOB_MERCHANT);
      export_constant(JOB_THIEF);
      export_constant(JOB_KNIGHT);
      export_constant(JOB_PRIEST);
      export_constant(JOB_WIZARD);
      export_constant(JOB_BLACKSMITH);
      export_constant(JOB_HUNTER);
      export_constant(JOB_ASSASSIN);
      export_constant(JOB_KNIGHT2);
      export_constant(JOB_CRUSADER);
      export_constant(JOB_MONK);
      export_constant(JOB_SAGE);
      export_constant(JOB_ROGUE);
      export_constant(JOB_ALCHEMIST);
      export_constant(JOB_BARD);
      export_constant(JOB_DANCER);
      export_constant(JOB_CRUSADER2);
      export_constant(JOB_WEDDING);
      export_constant(JOB_SUPER_NOVICE);
      // For backwards compatability
      export_constant2("Job_SuperNovice",JOB_SUPER_NOVICE); // TODO: Refactor NPCs to use the new constant
      export_constant(JOB_GUNSLINGER);
      export_constant(JOB_NINJA);
      export_constant(JOB_XMAS);
      export_constant(JOB_SUMMER);
      export_constant(JOB_HANBOK);
      export_constant(JOB_OKTOBERFEST);
      export_constant(JOB_SUMMER2);
       
      export_constant(JOB_NOVICE_HIGH);
      export_constant(JOB_SWORDMAN_HIGH);
      export_constant(JOB_MAGE_HIGH);
      export_constant(JOB_ARCHER_HIGH);
      export_constant(JOB_ACOLYTE_HIGH);
      export_constant(JOB_MERCHANT_HIGH);
      export_constant(JOB_THIEF_HIGH);
      export_constant(JOB_LORD_KNIGHT);
      export_constant(JOB_HIGH_PRIEST);
      export_constant(JOB_HIGH_WIZARD);
      export_constant(JOB_WHITESMITH);
      export_constant(JOB_SNIPER);
      export_constant(JOB_ASSASSIN_CROSS);
      export_constant(JOB_LORD_KNIGHT2);
      export_constant(JOB_PALADIN);
      export_constant(JOB_CHAMPION);
      export_constant(JOB_PROFESSOR);
      export_constant(JOB_STALKER);
      export_constant(JOB_CREATOR);
      export_constant(JOB_CLOWN);
      export_constant(JOB_GYPSY);
      export_constant(JOB_PALADIN2);
       
      export_constant(JOB_BABY);
      export_constant(JOB_BABY_SWORDMAN);
      export_constant(JOB_BABY_MAGE);
      export_constant(JOB_BABY_ARCHER);
      export_constant(JOB_BABY_ACOLYTE);
      export_constant(JOB_BABY_MERCHANT);
      export_constant(JOB_BABY_THIEF);
      export_constant(JOB_BABY_KNIGHT);
      export_constant(JOB_BABY_PRIEST);
      export_constant(JOB_BABY_WIZARD);
      export_constant(JOB_BABY_BLACKSMITH);
      export_constant(JOB_BABY_HUNTER);
      export_constant(JOB_BABY_ASSASSIN);
      export_constant(JOB_BABY_KNIGHT2);
      export_constant(JOB_BABY_CRUSADER);
      export_constant(JOB_BABY_MONK);
      export_constant(JOB_BABY_SAGE);
      export_constant(JOB_BABY_ROGUE);
      export_constant(JOB_BABY_ALCHEMIST);
      export_constant(JOB_BABY_BARD);
      export_constant(JOB_BABY_DANCER);
      export_constant(JOB_BABY_CRUSADER2);
      export_constant(JOB_SUPER_BABY);
       
      export_constant(JOB_TAEKWON);
      export_constant(JOB_STAR_GLADIATOR);
      export_constant(JOB_STAR_GLADIATOR2);
      export_constant(JOB_SOUL_LINKER);
       
      export_constant(JOB_GANGSI);
      export_constant(JOB_DEATH_KNIGHT);
      export_constant(JOB_DARK_COLLECTOR);
       
      export_constant(JOB_RUNE_KNIGHT);
      export_constant(JOB_WARLOCK);
      export_constant(JOB_RANGER);
      export_constant(JOB_ARCH_BISHOP);
      export_constant(JOB_MECHANIC);
      export_constant(JOB_GUILLOTINE_CROSS);
       
      export_constant(JOB_RUNE_KNIGHT_T);
      export_constant(JOB_WARLOCK_T);
      export_constant(JOB_RANGER_T);
      export_constant(JOB_ARCH_BISHOP_T);
      export_constant(JOB_MECHANIC_T);
      export_constant(JOB_GUILLOTINE_CROSS_T);
       
      export_constant(JOB_ROYAL_GUARD);
      export_constant(JOB_SORCERER);
      export_constant(JOB_MINSTREL);
      export_constant(JOB_WANDERER);
      export_constant(JOB_SURA);
      export_constant(JOB_GENETIC);
      export_constant(JOB_SHADOW_CHASER);
       
      export_constant(JOB_ROYAL_GUARD_T);
      export_constant(JOB_SORCERER_T);
      export_constant(JOB_MINSTREL_T);
      export_constant(JOB_WANDERER_T);
      export_constant(JOB_SURA_T);
      export_constant(JOB_GENETIC_T);
      export_constant(JOB_SHADOW_CHASER_T);
       
      export_constant(JOB_RUNE_KNIGHT2);
      export_constant(JOB_RUNE_KNIGHT_T2);
      export_constant(JOB_ROYAL_GUARD2);
      export_constant(JOB_ROYAL_GUARD_T2);
      export_constant(JOB_RANGER2);
      export_constant(JOB_RANGER_T2);
      export_constant(JOB_MECHANIC2);
      export_constant(JOB_MECHANIC_T2);
       
      export_deprecated_constant3("JOB_BABY_RUNE", JOB_BABY_RUNE_KNIGHT, "JOB_BABY_RUNE_KNIGHT");
      export_deprecated_constant3("JOB_BABY_BISHOP", JOB_BABY_ARCH_BISHOP, "JOB_BABY_ARCH_BISHOP");
      export_deprecated_constant3("JOB_BABY_CROSS", JOB_BABY_GUILLOTINE_CROSS, "JOB_BABY_GUILLOTINE_CROSS");
      export_deprecated_constant3("JOB_BABY_GUARD", JOB_BABY_ROYAL_GUARD, "JOB_BABY_ROYAL_GUARD");
      export_deprecated_constant3("JOB_BABY_CHASER", JOB_BABY_SHADOW_CHASER, "JOB_BABY_SHADOW_CHASER");
       
      export_deprecated_constant3("JOB_BABY_RUNE2", JOB_BABY_RUNE_KNIGHT2, "JOB_BABY_RUNE_KNIGHT2");
      export_deprecated_constant3("JOB_BABY_GUARD2", JOB_BABY_ROYAL_GUARD2, "JOB_BABY_ROYAL_GUARD2");
       
      export_constant(JOB_BABY_RUNE_KNIGHT);
      export_constant(JOB_BABY_WARLOCK);
      export_constant(JOB_BABY_RANGER);
      export_constant(JOB_BABY_ARCH_BISHOP);
      export_constant(JOB_BABY_MECHANIC);
      export_constant(JOB_BABY_GUILLOTINE_CROSS);
      export_constant(JOB_BABY_ROYAL_GUARD);
      export_constant(JOB_BABY_SORCERER);
      export_constant(JOB_BABY_MINSTREL);
      export_constant(JOB_BABY_WANDERER);
      export_constant(JOB_BABY_SURA);
      export_constant(JOB_BABY_GENETIC);
      export_constant(JOB_BABY_SHADOW_CHASER);
       
      export_constant(JOB_BABY_RUNE_KNIGHT2);
      export_constant(JOB_BABY_ROYAL_GUARD2);
      export_constant(JOB_BABY_RANGER2);
      export_constant(JOB_BABY_MECHANIC2);
       
      export_constant(JOB_SUPER_NOVICE_E);
      export_constant(JOB_SUPER_BABY_E);
       
      export_constant(JOB_KAGEROU);
      export_constant(JOB_OBORO);
       
      export_constant(JOB_REBELLION);
       
      export_constant(JOB_SUMMONER);
       
      export_constant(JOB_BABY_SUMMONER);
       
      export_constant(JOB_BABY_NINJA);
      export_constant(JOB_BABY_KAGEROU);
      export_constant(JOB_BABY_OBORO);
      export_constant(JOB_BABY_TAEKWON);
      export_constant(JOB_BABY_STAR_GLADIATOR);
      export_constant(JOB_BABY_SOUL_LINKER);
      export_constant(JOB_BABY_GUNSLINGER);
      export_constant(JOB_BABY_REBELLION);
       
      export_constant(JOB_BABY_STAR_GLADIATOR2);
       
      export_constant(JOB_STAR_EMPEROR);
      export_constant(JOB_SOUL_REAPER);
      export_constant(JOB_BABY_STAR_EMPEROR);
      export_constant(JOB_BABY_SOUL_REAPER);
      export_constant(JOB_STAR_EMPEROR2);
      export_constant(JOB_BABY_STAR_EMPEROR2);
       
      export_constant(JOB_DRAGON_KNIGHT);
      export_constant(JOB_MEISTER);
      export_constant(JOB_SHADOW_CROSS);
      export_constant(JOB_ARCH_MAGE);
      export_constant(JOB_CARDINAL);
      export_constant(JOB_WINDHAWK);
      export_constant(JOB_IMPERIAL_GUARD);
      export_constant(JOB_BIOLO);
      export_constant(JOB_ABYSS_CHASER);
      export_constant(JOB_ELEMENTAL_MASTER);
      export_constant(JOB_INQUISITOR);
      export_constant(JOB_TROUBADOUR);
      export_constant(JOB_TROUVERE);
       
      export_constant(JOB_WINDHAWK2);
      export_constant(JOB_MEISTER2);
      export_constant(JOB_DRAGON_KNIGHT2);
      export_constant(JOB_IMPERIAL_GUARD2);
       
      export_constant(JOB_SKY_EMPEROR);
      export_constant(JOB_SOUL_ASCETIC);
      export_constant(JOB_SHINKIRO);
      export_constant(JOB_SHIRANUI);
      export_constant(JOB_NIGHT_WATCH);
      export_constant(JOB_HYPER_NOVICE);
      export_constant(JOB_SPIRIT_HANDLER);
       
      export_constant(JOB_SKY_EMPEROR2);

     

    • Love 1
  18. @Bodystyle for all Class, change in src/map/atcommand.cpp

    Search:
    	if ( (sd->class_ & JOBL_FOURTH) || !(sd->class_ & JOBL_THIRD) || (sd->class_ & MAPID_THIRDMASK) == MAPID_SUPER_NOVICE_E || (sd->class_ & MAPID_THIRDMASK) == MAPID_STAR_EMPEROR || (sd->class_ & MAPID_THIRDMASK) == MAPID_SOUL_REAPER) {
    		clif_displaymessage(fd, msg_txt(sd,740));	// This job has no alternate body styles.
    		return -1;
    	}
    
    Replace:
    	/*if ( (sd->class_ & JOBL_FOURTH) || !(sd->class_ & JOBL_THIRD) || (sd->class_ & MAPID_THIRDMASK) == MAPID_SUPER_NOVICE_E || (sd->class_ & MAPID_THIRDMASK) == MAPID_STAR_EMPEROR || (sd->class_ & MAPID_THIRDMASK) == MAPID_SOUL_REAPER) {
    		clif_displaymessage(fd, msg_txt(sd,740));	// This job has no alternate body styles.
    		return -1;
    	}*/

     

    Pallete color for bodystyle 1 copy in Data/palette/¸ö/costume_1:

    Example Paladin: copy pallete Royal Guard and change name for sprite Paladin.

    Male: Basic + Mount Lion
    Æȶóµò_³²_0_1.pal
    Æȶóµò_³²_1_1.pal
    Æȶóµò_³²_2_1.pal
    Æȶóµò_³²_3_1.pal
    
    Female: Basic + Mount Lion
    Æȶóµò_¿©_0_1.pal
    Æȶóµò_¿©_1_1.pal
    Æȶóµò_¿©_2_1.pal
    Æȶóµò_¿©_3_1.pal
    
    
    Male: Peco Mount
    ÆäÄÚÆȶóµò_³²_0_1.pal
    ÆäÄÚÆȶóµò_³²_1_1.pal
    ÆäÄÚÆȶóµò_³²_2_1.pal
    ÆäÄÚÆȶóµò_³²_3_1.pal
    
    Female: Peco Mount
    ÆäÄÚÆȶóµò_¿©_0_1.pal
    ÆäÄÚÆȶóµò_¿©_1_1.pal
    ÆäÄÚÆȶóµò_¿©_2_1.pal
    ÆäÄÚÆȶóµò_¿©_3_1.pal

     

    Name Sprite Bible

    • Upvote 1
    • Love 2
  19. 18 hours ago, Notorius said:

    Hello, I have doubts about how to add effects for the classes in the items. I don't know how they work. This is a bonus. I don't know how to make an effect work for high priest, another for soul linker and another for high wizard.

        Script: |
          bonus bInt,3;
          bonus bMatkRate,15;
          if (class == Job_Soul_Linker)
             bonus2 bSkillAtk,"SL_SMA",25;
             bonus2 bSkillAtk,"SL_STUN",25;
          if (class == Job_Mage)
             bonus2 bSkillAtk," ",25;
             bonus2 bSkillAtk," ",25;
          if (class == Job_Acolyte)
             bonus2 bSkillAtk," ",25;

    is this the correct way?


     

        Script: |
          bonus bInt,3;
          bonus bMatkRate,15;
          if (class == Job_Soul_Linker){
             bonus2 bSkillAtk,"SL_SMA",25;
             bonus2 bSkillAtk,"SL_STUN",25;}
          if (class == Job_High_Wizard){
             bonus2 bSkillAtk," ",25;
             bonus2 bSkillAtk," ",25;}
          if (class == Job_High_Priest){
             bonus2 bSkillAtk," ",25;}

×
×
  • Create New...