diff options
Diffstat (limited to 'npc/custom/eAAC_Scripts/kafraExpress/readme.txt')
-rw-r--r-- | npc/custom/eAAC_Scripts/kafraExpress/readme.txt | 1144 |
1 files changed, 0 insertions, 1144 deletions
diff --git a/npc/custom/eAAC_Scripts/kafraExpress/readme.txt b/npc/custom/eAAC_Scripts/kafraExpress/readme.txt deleted file mode 100644 index 5bce41399..000000000 --- a/npc/custom/eAAC_Scripts/kafraExpress/readme.txt +++ /dev/null @@ -1,1144 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Kafra Express Script Package Documentation % -% - by Skotlex % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -This file's purpose is to give an indepth explanation about setting up, and -configuring the Kafra Express Script Package (KESP). It is intended to be -viewed by a text editor using fixed-width font and 80-character long lines. - -Document Version v2.0 (27/September/2006) -//////////////////////////////////////////////////////////////////////////////// -Table of Contents -//////////////////////////////////////////////////////////////////////////////// -[00] Including the NPC files and menu editing -[01] Intro to module configuring and general options (config.txt) -[02] Module: Main Core (ke_main.txt) -[03] Module: Bank (ke_bank.txt) -[04] Module: Broadcast (ke_broadcast.txt) -[05] Module: Stylist (ke_dye.txt) -[06] Module: Job Changer (ke_jobchange.txt) -[07] Module: Job Swapper (ke_jobswap.txt) -[08] Module: Smithery (ke_refine.txt) -[09] Module: Renting (ke_refine.txt) -[10] Module: Kafra Shop (ke_shop.txt) -[11] Module: Stat/Skill Market (ke_statmarket.txt) -[12] Module: Stat/Skill Resets/Raising (ke_stats.txt) -[13] Module: Uncarding (ke_uncard.txt) -[14] Module: Town Warping (ke_warp_town.txt) -[15] Module: Dungeon Warping (ke_warp_dungeon.txt) -[16] Module: PvP Warping (ke_warp_pvp.txt) -[17] Module: WoE Warping (ke_warp_woe.txt) -[18] The kafras.txt file: About Kafra Definitions - -//////////////////////////////////////////////////////////////////////////////// -[00] Including the NPC files and menu editing -//////////////////////////////////////////////////////////////////////////////// - -Because of the script's complexity, placing everything in a single file -is out of the question, therefore the KESP comes bundled in different -files. Because of the dynamic nature of the script, there are two things -you need to do in order to enable/disable a particular service: - -1. Include the txt file with the corresponding module. -To include the txt files, you need to know two things: where are the script -files located, and which is the configuration file where you place the npc -includes. We'll assume on this guide that you unpacked the KESP in -npc/custom/kafraExpress. The configuration file for scripts is -conf/map_athena.conf for eA1.0rc5, and npcs/scripts_custom.txt for current eA -SVN versions. Add the files you want in the following manner: - - npc: npc/custom/kafraExpress/ke_main.txt - //npc: npc/custom/kafraExpress/ke_rent.txt - -The first line is including the file ke_main.,txt, while the following -excludes ke_rent from being used. Placing the "//" at the beginning of the -line is known as commenting, and it's a useful way of quickly toggling a -certain script on/off. The following is the list of all files that come -bundled in the package: - -npc: npc/custom/kafraExpress/kafras.txt -npc: npc/custom/kafraExpress/config.txt -npc: npc/custom/kafraExpress/ke_main.txt - -npc: npc/custom/kafraExpress/ke_bank.txt -npc: npc/custom/kafraExpress/ke_broadcast.txt -npc: npc/custom/kafraExpress/ke_dye.txt -npc: npc/custom/kafraExpress/ke_jobchange.txt -npc: npc/custom/kafraExpress/ke_jobswap.txt -npc: npc/custom/kafraExpress/ke_rent.txt -npc: npc/custom/kafraExpress/ke_shop.txt -npc: npc/custom/kafraExpress/ke_statmarket.txt -npc: npc/custom/kafraExpress/ke_stats.txt -npc: npc/custom/kafraExpress/ke_refine.txt -npc: npc/custom/kafraExpress/ke_uncard.txt -npc: npc/custom/kafraExpress/ke_warp_dungeon.txt -npc: npc/custom/kafraExpress/ke_warp_pvp.txt -npc: npc/custom/kafraExpress/ke_warp_town.txt -npc: npc/custom/kafraExpress/ke_warp_woe.txt - -What files can be commented, which files you want to include? On the minimum, -you need ke_main.txt, kafras.txt and config.txt to have the bare-bones functionality. -Refer to the table of context to see the relation between files and the -services they offer. - -2. Configure the Menus -The second part of the configuration is adding/removing the menu entries that -lead to the specific services. Failure to do this can either A. leave you with -menu entries that lead to "Function Not found!" errors on the map server, or -B. Services that were included, but you can't pick because they don't show up -in the menu. The main file where you should configure the menus is ke_main.txt. - -From the main module, ke_main.txt, you must pick which services are available. -The file contains eight menu sections, which is made up of two pairs of -identitical menus. The only difference is that the first menu is displayed on -Kafras placed on towns, while the second menu is for Kafras placed on fields and -dungeons. The menu roughly looks like this: - - menu - "- Leave",L_END, - "- Heal Service ("<some code here>"z/10SP)",L_HEAL, - "- Warp Service",L_WARP, -// "- Use Storage ("<some code here>"z)",L_STORAGE, -// "- Use Guild Storage ("<some code here>"z)",L_GUILD_STORAGE, - "- Job Services",M_JOB, - "- Other Services",M_OTHER, - "- Save Respawn point",L_SAVE; - -This is the main menu, as you can see the only service unavailable is to use -the storage. Like in the npc/config file, you can comment the lines of the -services you do not want. - -WARNING: If you need to comment the last option of a menu, remember to replace -the comma for a semi-colon on the next-to-last option or script parsing errors -will occur. - -The "Warp Service" leads to the second pair of menus you can configure: - - menu - "- Return",-, - "- Dungeons",L_DUNGEON, -// "- PvP Arena",L_PVP, -// "- Guild Wars",L_GUILD_DUNGEON, - "- Towns",L_TOWN; - goto M_INIT; - -As before, you can comment/uncomment the features you want or not. Likewise, -the third menu under "Job Services" contains features related to job changing, -stats/skills and renting. The fourth pair is the "Other Services" menu which -contains the rest of modules which are probably not going to be used -frequently. - -For your convenience, the following is the list of all the menu options and the file(s) required for it to work: - -//Main Menu (under labels M_INIT/MD_INIT) - - "- Heal Service" -> ke_main.txt - "- Warp Service" - "- Use Storage" -> ke_main.txt - "- Use Guild Storage" -> ke_main.txt - "- Job Services" - "- Other Services" - "- Save Respawn point" -> ke_main.txt - -//Warp Menu (under labels M_WARP/MD_WARP) - - "- Dungeons" -> ke_warp_dungeon.txt - "- PvP Arena" -> ke_warp_pvp.txt - "- Guild Wars" -> ke_warp_gvg.txt - "- Towns" -> ke_warp_town.txt - -//Job Services Menu (under labels M_JOB/MD_JOB) - - "- Change Job" -> ke_jobchange.txt - "- Swap Job" -> ke_jobswap.txt - "- Stat/Skill Services" -> ke_stats.txt - "- Stat/Skill Market" -> ke_statmarket.txt - "- Rental Service" -> ke_rent.txt - -//Other Services Menu (under labels M_OTHER/MD_OTHER) - - "- Bank Services" -> ke_bank.txt - "- Use Kafra Shop" -> ke_shop.txt - "- Broadcast a message" -> ke_broadcast.txt - "- Refine Services" -> ke_refine.txt - "- Uncard Services" -> ke_uncard.txt - "- Stylist Service" -> ke_dye.txt - "- Use a Kafra Pass" -> ke_main.txt - -//////////////////////////////////////////////////////////////////////////////// -[01] Intro to individual module configuration. -//////////////////////////////////////////////////////////////////////////////// - -For portability reasons, the configure options for every module is in the file -config.txt, which lets you upgrade to future versions without having to -readjust your settings every time. -The config file has the options separated per module to make it easier to -read. There may be bits of code in each section to avoid parsing configure -options for unneeded variables which should be left alone. In some rare -occassions variables from one module will be used in a different module (ie: -Broadcasting PvP messages uses the variables from the pvp module). all variables -follow the standard "ke<module initials>_variablename", so a variable called -"kewd_discount" refers to the discount variable in the deep warps module (wd). -For example, the renting module's configuration segment is: - - //------------------------------------------------------------------------------- - //Config for the Renting Module - //------------------------------------------------------------------------------- -OnLoadRent: - set $@kert_cartOnly, 0; //Set to 1 to enable only cart rental, 0 enables all add-ons. - set $@kert_cartCost, 2000; //Cost to rent a Cart. - set $@kert_falconCost, 2000; //Cost to rent a Falcon. - set $@kert_pecoCost, 2000; //Cost to rent a PecoPeco. - end; - -Variables are usually of two types: Exact value based or Percentage based. -Exact value variables are often price for different services, while the -percentage based are things like 30% discount when using Kafra Passes. -Percentage values are expressed per-hundredth (that is, 10 = 10%, 100 = 100%) -unless otherwise specified. - -Each variable has a small description next to it, hence the need of this -document. In this document the variable type is identified next to it by: (1) -when it's boolean, (%) when it's a percentage, ($) when it's a price, (#) for -numbers and (") for strings. - -//////////////////////////////////////////////////////////////////////////////// -[02] Module: Main Core (ke_main.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -This module offers the core functionality of the Kafra Express. Contains the -main menu and handles the Kafra Pass Reserve Points system. - -Variables -================================================================================ - -(1) ke_saveOnSpot ------------------ -When 1, a character's respawn point is saved exactly where they are standing. -otherwise, the respawn point is specified by the kafra definition (see Section -18). - -($) keh_hpCost -($) keh_spCost --------------- -The cost of healing sp per every 10 sp. For example, if the cost is 1, it -costs 100z to heal 1000. - -($) kes_cost -($) kegs_cost -------------- -The cost of using the storage, guild storage (respectively) - -(#) kekp_reset --------------- -For Kafra Passes. When set, the Pass expires after starting a chat with the -Kafra the amount of times specified. Otherwise the variable remains active a -pretty long time (probably all session). For example, if set to 2, after -activating the pass and opening the storage, the Pass will still be active -the next time you speak to a kafra, it will expire on the "third" time you -speak to her. - -($) kekp_reserveCost --------------------- -The cost in zeny of reserve points. When using a Kafra Pass many services will -be cheaper, the amount of zeny saved is "used" to grant the player reserve -points. For example, if the reserve cost is 100, for every 100z the player -saves, he'll earn 1 reserve points. Reserve points can be used in scripts, and -by default is used in the Al De Baran Kafra Headquarters to gain items. Use a -value of 0 to disable Reserve Point gaining. - -(#) kekp_minReserve -(#) kekp_maxReserve ---------------- -What is the minimum/maximum reserve points the player can gain when using a -Kafra Pass per transaction? This only applies when the player has saved at -least 1z. - -(") ked_users -------------- -Certain modules (in particular, the warping ones) have the ability to display -the number of players related to the function (ie: number of users in a -dungeon), in such cases this variable is used to display the 'unit' of said -count. For example, if ked_users is "kids" then the related modules might -display things like "- Glast Heim (6 kids)". - -//////////////////////////////////////////////////////////////////////////////// -[03] Module: Bank (ke_bank.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -This modules enables characters to "store" zeny on a virtual bank account -which is shared among characters of the same account. There can be deposits, -withdrawals, which can have transactions fees associated. - -It is also possible to establish a monthly maintenance fee that has to be -payed, when the player does not has enough money in the account to pay this -fee, they stop gaining interests until they deposit enough to pay it up. -Finally, all fees charged by the bank can be stored in a server-wide variable -which may be used by other custom scripts. - -Variables -================================================================================ - -(%) kebk_depositCost -(%) kebk_withdrawCost ---------------------- -The Fee in % charged whenever a player does a deposit/withdrawal. For example, -when a player deposits 100z and the fee is 3%, only 97z are deposited, and 3z -are charged. Likewise, if a player withdraws 100z when the fee is of 5%, -they'll withdraw 100z and an additional 5z will be removed from their accounts -as fee cost. - -($) kebk_minTransact -($) kebk_maxTransact --------------------- -The minimum/maximum values of a single transaction (deposit or withdrawal) - -($) kebk_capacity ------------------ -Indicates what is the bank account capacity for players. That is, what is the -maximum zeny their account can hold. You can't deposit anymore once the max -has been reached, and daily interests are lost while maxed. - -(%) kebk_dayInterest --------------------- -The daily interests that the account makes. The value is in 0.01% units, so a -value of 100 equals 1% daily interests. - -($) kebk_monMaintenance ------------------------ -Monthly flat fee charged for maintenance. - -(1) kebk_useGlobalBank ----------------------- -When 1, every fee charged from the player goes into a server variable -($ke_globalbank), which can then be used by other scripts. is 0 by default -because none of the Kafra Express modules uses it. - -//////////////////////////////////////////////////////////////////////////////// -[04] Module: Broadcast (ke_broadcast.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Provides broadcasting services for players. Broadcasts can be local (current -map only) or global (server announce), there are also four types of broadcast: -Requests for a party, PvP Challenge invitations, General Broadcasts (player -input the string they want to say) and General Anonymous Broadcasts (player -name is not displayed when doing the broadcast). - -Note that the variables from ke_warp_pvp.txt will be used for auto-configuring -the pvp broadcasts. - -Variables: -================================================================================ - -(1) kebc_showOnline -------------------- -When 1, the total count of players will be displayed in the menu (map users -next to the local broadcast entry, server users next to the global broadcast -entry). - -($) kebc_partyCost -($) kebc_pvpCost -($) kebc_cost -($) kebc_anonCost ------------------- -Respective base costs for doing Party-Requests/Pvp Challenge/General/Anonymous -broadcasts. - -(%) kebc_globalFactor ---------------------- -When the broadcast is global, the base cost is multipled by this factor. If -the factor is 500, then global broadcasts cost 5x times the cost of the map's -broadcast. - -(%) kebc_discount ------------------ -Discount on broadcast prices when the Kafra Pass is active. - -//////////////////////////////////////////////////////////////////////////////// -[05] Module: Stylist (ke_dye.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Offers cloth dye, hair dye and hair style changes, both by input and by wheel -browsing. Does not consumes dyestuffs because it is designed for custom dye -packages. - -Variables -================================================================================ - -(1) kedy_enableHairstyle ------------------------- -If one, the menu will include hair-style changing options, otherwise only -dye-changes are offered - -(#) kedy_styles ---------------- -Specifies the number of available hair styles - -(#) kedy_hair -------------- -Specificies the number of hair dyes - -(#) kedy_clothJN -(#) kedy_clothJ1ST -(#) kedy_clothJ2ND -(#) kedy_clothJSN ------------------- -Specifies the number of cloth dyes based on job-type: Novices, First Classes, -Second Classes, Super Novices. -Note that special classes like Xmas or Wedding tend to not have palettes, and -it should be handled server-side so that switching palettes with this module -will not cause you client crashes. - -//////////////////////////////////////////////////////////////////////////////// -[06] Module: Job Changer (ke_jobchange.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Offers job changing, including rebirth and baby classes. The rebirth system -can allow people free changing through a different path, or forcing the -correct path. Zeny can be charged/granted as well as weapons on job-change. -Remaining Skill Points can be wiped, ignored or prevent the change from -happening. Before changing players can review the consequences of doing so, -including weapons to gain. - -Finally, there's an option that makes it possible to skip the novice class -altogether and change directly to first jobs. - -Variables -================================================================================ - -(#) kejc_skillsPolicy ---------------------- -Determines what to do with remaining skill points upon change: - 0: No job changing until points are used. - 1: Extra Skill Points are wiped. - 2: Extra skill points are conserved. - -(#) kejc_upperPolicy --------------------- -What to do about the advanced classes? - 0: Free for all, players can pick any advanced job regardless of the previous. - 1: Force mode, classes are auto-selected from the previous path. In the - case the path could not be determined (players changed jobs previously - using other npcs), players will be able to select their next job. - -(#) kejc_disable ----------------- -Permits disabling some job trees from the changer (add as required): - 1: You can't change to a S. Novice - 2: You can't change to Taekwon (but if you are a Taekwon already, you can - still change to Soul Linker/Star Gladiator) - 4: Can't change to GunSlinger - 8: Can't change to Ninja - -(1) kejc_announce ------------------ -When 1, a global announce will be done upon change. - -(1) kejc_resetDye ------------------ -If one, the cloth dye is reset upon changing. - -(1) kejc_skipNovice -------------------- -If one, players can skip the novice class and directly into their first job. -Exploit proof, skills are wiped when changing to a 1st class this way, and -their basic skill level is set to 9. - -(#) kejc_baseSN ---------------- -Base Level required before changing into a Super Novice. - -(#) kejc_base2ND -(#) kejc_job2ND -(#) kejc_cost2ND ----------------- -Base level, Job level and zeny required to change into a second job. If the -cost is below zero, zeny will be given to the player instead of charged. - -(#) kejc_baseRebirth -(#) kejc_jobRebirth -(#) kejc_costRebirth --------------------- -Base level, Job level and zeny required before doing a rebirth (change to High -Novice). - -(1) kejc_rebirthReset ---------------------- -If 1, when changing into a HighNovice characters will have their level reset -to 1 (with the additional 100 stat points) - -(1) kejc_weaponPolicy ---------------------- -If 1, characters will get a weapon upon job change. For each first&second -class there are two weapons to specify, the standard weapon and the "premium" -one. - -(#) kejc_wBonusLv ------------------ -When characters reach this job level, they will receive the premium weapon instead of the normal one. If 0, premium weapons are disabled. - -(#) kejc_weapon1[] -(#) kejc_weapon_21[] -(#) kejc_weapon_22[] ------------------------ -These arrays contain the IDs of the normal weapons received upon job change -for first, 2-1 and 2-2 classes (if weapon policy is in effect). Refer to the -comments in the config file for identifying which position is for which job. - -(#) kejc_weapon2_21[] -(#) kejc_weapon2_22[] --------------------- -These arrays contain the ID of the premium weapons received upon job change -(if bonus weapon policy is in effect). Note that first classes can't get a -bonus weapon, and that Bard/Dancers both receive the same weapon. Refer to the -comments in the config file for identifying which position is for which job. - -//////////////////////////////////////////////////////////////////////////////// -[07] Module: Job Swapper (ke_jobswap.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Permits characters to change jobs among other jobs of their same "level". -This is, between first classes or between second classes. It is also possible -to store the last job used and revert to it at a later date. Dye, Job Level -and Skill Point count is saved, however the skill-tree is not saved and skills -need be reallocated. When reverting to the previous class, characters might be -able to return from an adv class to a normal one, but if they are baby -classes, they can't change back to a normal one. - -Variables -================================================================================ - -(#) kejs_disable ------------------ -You can disable some classes from swapping using this setting (add numbers as -appropiate): - 1: Super Novices may not swap/swap to. - 2: Disable swapping for Taekwon/Star Gladiator/Soul Linker classes. - 4: Disable swapping to/from GunSlinger. - 8: Disable swapping to/from Ninja. -For example, if you set it to 12 (8+4), the swap menu will not include -Gunslinger nor Ninja, and they will find that they can't swap to other classes -neither. - -(#) kejs_revertPolicy ---------------------- -Determines if Reverting classes is possible and when: - 0: Cannot go back to the previous job. - 1: Can only go back if the previous job belongs to the same type as the - first (is also a 1st/2nd job and is the same normal/adv/baby category). - 2: Can return to the previous job regardless (exception: when one of the - two jobs is a baby job and the other is not). - -(1) kejs_announce ------------------ -If 1 does a server announce when swapping jobs. - -($) kejs_revertCost -------------------- -Cost of changing to the previous job. - -(1) kejs_saveDye ----------------- -If one, the dye is saved when swapping and restored upon revert. - -(1) kejs_resetDye ------------------ -If 1 the clothe dye is reset upon swap. - -(%) kejs_swapDiscount -(%) kejs_revertDiscount ------------------------ -Discount % to apply when the kafra pass is active for swapping/reverting. - -(#) kejs_job1ST -(#) kejs_job2ND ---------------- -Minimum job level before being able to swap among 1st/2nd classes. - -($) kejs_cost1ST -($) kejs_cost2ND ----------------- -Base cost of swaping jobs. - -(%) kejs_discount1ST -(%) kejs_discount2ND --------------------- -Discount % to apply to the base cost for every job level above the minimum -required. For example, if the discount is 1% per level and you change when you -have +10 level more than the min necessary, you get a 10% discount. - -(%) kejs_preserve1ST -(%) kejs_preserve2ND --------------------- -Indicates how much of the previous job level to preserve when changing. For -example, if the preserve value is 50 (50%) and you change from a level 40 -Knight into Priest, you'll become a lv 20 Priest. Skill points are adjusted -accordingly so it's exploit-free. - -//////////////////////////////////////////////////////////////////////////////// -[08] Module: Smithery (ke_refine.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Offers the services usually found in the town smithery and then some more: -Item refining, Item Repairing, Ore Purification (rough oris -> pure ones). -Also sells Phracon and Emveretarcon. - -Item refining can follow all the rules of normal refining, but it can also -override them to refine everything, or safe refines up to max level. - -Ore Purification can be extended to include all the rough materials that -blacksmiths can purify (star dust -> star crumbs, for example). - -Variables -================================================================================ - -(#) kerf_maxLv --------------- -Maximum refinement level of equipment. - -(1) kerf_safe -------------- -If 1 success chances are ignoring and refining never fails. - -(1) kerf_showChance -------------------- -If 1 the chance of success/failure is actually shown before confirming. - -(1) kerf_refineAll ------------------- -If 1 then unrefinable items will be refined too (like accesories) - -(%) kerf_discount ------------------ -Discount rate to be applied during forging when the Kafra Pass is active. - -($) kerf_armorCost -($) kerf_weaponLv1Cost -($) kerf_weaponLv2Cost -($) kerf_weaponLv3Cost -($) kerf_weaponLv4Cost ----------------------- -Cost per level to refine armors, and level 1/2/3/4 weapons. - -(1) kerf_purifyAll ------------------- -If 1, the extended purify menu will be used, which shows how to purify steels, -star crumbs, etc; otherwise, just elus and oris are available. - -($) kerf_repairCost -------------------- -Cost of repairing a broken weapon. - -(%) kerf_repairDiscount ------------------------ -Repair Discount% when the kafra pass is active. - -(1) kerf_repairSteel --------------------- -If 1, a steel will be required to repair items. - -//////////////////////////////////////////////////////////////////////////////// -[09] Module: Renting (ke_refine.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Allows renting of Cart/Falcon/PecoPeco. Note that the only restriction applied -is whether the character has "PushCart", "Falcon Taming" or "PecoPeco Riding", -it does not checks for the character's class. - -It must also be noted that renting is free while the Kafra Pass is active. - -Variables -================================================================================ - -(1) kert_cartOnly ------------------ -If 1, this module only offers cart rentals. Otherwise you can rent any of the three. - -($) kert_cartCost -($) kert_falconCost -($) kert_pecoCost -------------------- -Cost for renting carts/falcons/pecos. - -//////////////////////////////////////////////////////////////////////////////// -[10] Module: Kafra Shop (ke_shop.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Allows invoking of a shop from the Kafra. Note that the shops must be of -invisible type (ke_shop.txt has an example of two such shops). The config -enables you to select whether the shop will allow buying, selling or -both, as well as the name of the shops to use in towns or dungeons (if you -want to use a custom shop defined elsewhere or want to use the same shop for -both). - -Variables -================================================================================ - -(#) $@kesh_towntype -(#) $@kesh_duntype -------------------- -Specifies the type of transaction allowed at the shop. Use 1 to enable only -buying of items, 2 for only selling, or any other value for both. - -(#) $@kesh_townshop$ -(#) $@kesh_dunshop$ --------------------- -Specifies the name of the shop to use for buying/selling of items. By default -the file includes two such shops which you can use, or you can disable them -and specify your own in the config changing these variables. - -//////////////////////////////////////////////////////////////////////////////// -[11] Module: Stat/Skill Market (ke_statmarket.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Not really a "market", this module lets players sell and buy stat/skill -points. Also allows for direct trading between stats/skills. - -NOTE: Selling stat points can lead to zeny exploits if your server uses the -stat_db.txt file, because players can then sell all their stat points, do a -reset and get them back! To prevent this, set the following battle config -option: - use_statpoint_table: no -Alternatively, you can set the selling point of statpoints to be 0z. - -Variables -================================================================================ - -($) kesm_stBuyPrice -($) kesm_stSellPrice --------------------- -Price for every stat point to be bought/sold. - -($) kesm_skBuyPrice -($) kesm_skSellPrice --------------------- -Price for every skill point to be bought/sold. - -(%) kesm_discount ------------------ -Discount price when kafra pass is active. Only applies to buying stats/skills. - -(#) kesm_skTradePrice -(#) kesm_stTradePrice ---------------------- -These two define how many stat points are traded per each skill point when -doing a direct conversion between stats/skills. The idea is that trading -directly one for the other should be cheaper than selling them and then buying -from the other. You can set both to the same value and the trading will have -no loss. -Notice that skTradePrice is the cost for converting stats to skills and -stTradePrice is the cost for converting skills to stats. So... NEVER set -stTradePrice higher than skTradePrice or you allow an easy exploit of infinite -stats/skills! - -//////////////////////////////////////////////////////////////////////////////// -[11] Module: Stat/Skill Resets/Raising (ke_stats.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Does stat/skills resets, and additionally helps characters raise their basic -stats faster. Optionally, skill resets will not touch the basic-skill level. -Price have two components: base fee and per level fee, so characters with -higher levels will have to pay more for a reset than low level ones. -For stat resetting, base level is taken into account. For skill resets, job -levels. For a dual reset, the addition of both is considered. Also, when taken -into consideration job level for second classes, the job-level at which one -changed jobs is also considered. So a Job level 1 Knight actually has job -level of 41~51. - -NOTE: Be careful with quest skills. If your server is configured to reset -quest skills and players can get their quest skills for free, you are letting -them exploit the system and get unlimited skill points! (even worse if they -can sell'em in the Stat/Skills market module). Be sure to either remove free -quest skills npcs or make quest skills not resetable. - -Variables: -================================================================================ - -($) kest_stResetCost --------------------- -Base cost of doing a stat reset. - -($) kest_skResetCost --------------------- -Base cost of doing a skill reset. - -($) kest_resetCost ------------------- -Base cost of a dual reset. - -($) kest_BaseLvCost -------------------- -Cost per Base level for doing a stat reset. - -($) kest_JobLvCost ------------------- -Cost per Job level for doing a skill reset. - -($) kest_BothLvCost -------------------- -Cost per Base+Job level for doing a dual reset. - -(%) kest_discount ------------------ -Discount % applied when Kafra Pass is active. - -(1) kest_resetBasic -------------------- -If 1, the skill "basic skill" is also reset. - -//////////////////////////////////////////////////////////////////////////////// -[12] Module: Uncarding (ke_uncard.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -This module allows people to remove cards from their equipped items. Prices -are modified by the item type, the amount of cards and the refine level of the -item. There's also a chance the removal will fail and: Nothing is lost, the -card or item is lost, both are lost. The procedure may also require up to two -different items (and each one with their own specified qty). - -Variables: -================================================================================ - -($) keuc_BaseCost ------------------ -Base cost of uncarding, modified by the following conditions: - -($) keuc_CardCost ------------------ -Each card to be removed increases the total by this value. - -($) keuc_UpgradeCostA -($) keuc_UpgradeCostW1 -($) keuc_UpgradeCostW2 -($) keuc_UpgradeCostW3 -($) keuc_UpgradeCostW4 ----------------------- -These indicate the price increase per refine level for armors and weapons -levels 1/2/3/4. A +10 armor gets a price increases of ten times -keuc_UpgradeCostA. - -(%) keuc_discount ------------------ -Discount % to apply when kafra pass is active. - -(#) keuc_Mat1 -(#) keuc_Qty1 -------------- -Id and Qty of the first material that is needed to uncard. If the qty is zero, -then it's disabled. - -(#) keuc_Mat2 -(#) keuc_Qty2 -------------- -id & Qty of the second material to use. Only valid if the first material was -also defined, use qty=0 to disable. - -(%) keuc_Fail0Chance --------------------- -This is the safe failure chance (0-1000, where 1000 = 100.0%). A Safe failure -means the original item remains intact, but you are still charged the money -and the materials. Use 0 to disable this type of failure. - -(%) keuc_Fail1Chance --------------------- -This is the partial failure chance (0-1000). Partial failures are when either -the cards or the item is lost. The player gets to choose which one is more -important before proceeding. Use 0 to disable. - -(%) keuc_Fail2Chance --------------------- -Total failure chance (0-1000). When this triggers, both item and cards are -lost. Use 0 to disable. - -//////////////////////////////////////////////////////////////////////////////// -[14] Module: Town Warping (ke_warp_town.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -This module enables warping to towns. Currently all towns have the same -warping cost, independent of how far away they are placed. The only exception -is Niflheim, which is more of a dungeon than a town. - -Variables -================================================================================ - -(1) kewt_showOnline -------------------- -If set to 1, the menus will display the online count of players in -towns. - -($) kewt_cost -------------- -Cost of warping to a town. - -($) kewt_niflCost ------------------ -Cost of warping to Niflheim. Different cost since Niflheim is more of a -dungeon than a city. Also, players can't warp to Niflheim until they do the -Niflheim Piano Key Quest. - -(#) kewt_travel ---------------- -Allows enabling the traveller system. The traveller system makes it so you can't -warp to a town until you have been there first by some other means (usually -walking) and saved with the Kafra Express in that town. -There are three valid values for this variable: 0, 1, 2. -0 - Disables this mode. -1 - Uses the mode on a per character basis; that is, each character needs to -travel to that town and save and that unlocks warping only for that -character. -2 - Uses the mode on a per account basis; that is, once a character has saved -on a town, all other (and future) characters from the same account have the -warp unlocked. - -(1) kewt_free -------------- -If 1, players will be able to warp to towns even if they run out of money. -Niflheim excepted. - -(%) kewt_discount ------------------ -Discount % to apply when warping while the Kafra Pass is active. - -//////////////////////////////////////////////////////////////////////////////// -[15] Module: Dungeon Warping (ke_warp_dungeon.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -Offers warps to all dungeons. Dungeon warping has two main operation modes: -Deep Dungeon Warping and Short Dungeon Warping. Deep Dungeon warping enables -players to warp to any level of any dungeon, while Short Dungeon Warping is -restricted to warping only to the entrance of the dungeon. Traveller's mode is -also available for dungeons. - -Variables -================================================================================ - -(1) kewd_showOnline -------------------- -If set to 1, the menus will display the online online count of characters in -the dungeons. - -(%) kewd_discount ------------------ -Discount % to apply when warping while the Kafra Pass is active. - -(#) kewd_travel ---------------- -Enables the traveller system. Just like the traveller's system for towns, -you can't warp to any dungeon to which you have not visited first on foot and -saved with the corresponding Kafra Express first. -If 1, traveller's mode is enabled on a per character basis (so once a -character saves, only that character has unlocked the warp). -If 2, traveller's mode is enabled on a per account basis (so once a character -saves, all charaters of the corresponding account have the warp unlocked). - -(1) kewd_deep -------------- -This variable decides whether deep or short warps will be used. As explained -on the description, enabling deep warps allows warping to any dungeon level. - -(%) kewd_levelCost ------------------- -This variable only applies to deep warps. It indicates in percentage the cost -increase per level. For example, if the dungeon costs 1000z to warp to, and -the levelCost increase is of 50 (50%) then warping to level 2 costs 1500, lv3 -costs 2000, and so on. - -(%) kewd_entryDiscount ----------------------- -The discount for using the Kafra in the dungeon entrance to warp within the -dungeon. For example, if you use the Kafra next to Payon dungeon to warp to -Payon Dungeon lv5, this discount is then applied. This variable only makes -sense on deep warp mode. - -(1) kewd_turtleCave -------------------- -Only used on short warps. If 1, then warping to Turtle Dungeon should lead -directly to the cave's entrance, otherwise it warps you to the Island's -entrance. - -($) kewd_<dungeon name> ---------------------- -There is a config variable for every dungeon, it specifies the base cost of -warping to that dungeon (which is, the entrance level cost). - -//////////////////////////////////////////////////////////////////////////////// -[16] Module: PvP Warping (ke_pvp.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -The PvP warping module leads to the pvp maps named pvp_n_*-*. It has two -modes: simple and advanced. On simple mode, every player of every level gets -thrown into the pvp_n_1-* maps to nuke it out, on advanced mode each of -the map groups gets their own range of permissible levels to enter. Since -there is no sure way how characters should escape from a pvp map, they are -currently given a butterfly wing when they warp. - -Variables -================================================================================ - -(1) kewp_showOnline -------------------- -If 1, the menu entries will display the online count of players of each entry. - -(1) kewp_advanced ------------------ -Use the advanced pvp system if 1 (see module description) - -($) kewp_cost -------------- -Cost of warping to the pvp rooms used in non-advanced rooms and "free for all" -in advanced mode. - -($) kewp_cost1 -($) kewp_cost2 -($) kewp_cost3 -($) kewp_cost4 -($) kewp_cost5 -($) kewp_cost6 -($) kewp_cost7 --------------- -The costs for each of the pvp room groups in advanced mode. - -(#) kewp_baseLv1 -(#) kewp_baseLv2 -(#) kewp_baseLv3 -(#) kewp_baseLv4 -(#) kewp_baseLv5 -(#) kewp_baseLv6 -(#) kewp_baseLv7 ----------------- -These indicate the nominal base level for each room (which base level should -characters be around to join it). Applicable only to advanced mode. - -(#) kewp_range --------------- -Specifies how far away the character's level can be from the nominal value to -still be allowed within the room. If the nominal level is 50 and the range is -3, only characters with levels 47-53 may join. - -//////////////////////////////////////////////////////////////////////////////// -[17] Module: WoE Warps (warp_woe.txt) -//////////////////////////////////////////////////////////////////////////////// - -Description -================================================================================ -This module allows characters to warp into the WoE grounds during (or out of) -War of Emperium times. Players may warp directly into the Guild Dungeons if -the proper lines are uncommented on the warp menu (See warp_woe.txt's header -for the location of the menu entries): - - menu "- Cancel",-, -// "- Guild Dungeons",M_DUNGEON, - "- Al De Baran Guild ("<some code>"z)",L_ALDEBARAN, - "- Geffen Guild ("<some code>"z)",L_GEFFEN, - "- Payon Guild ("<some code>"z)",L_PAYON, - "- Prontera Guild ("<some code>"z)",L_PRONTERA; - return; - -Variables -================================================================================ - -(1) kewg_check --------------- -Does a guild check. If 1, only characters who belong to a guild can use these -warps. - -(1) kewg_checkAgit ------------------- -Does the WoE times check. If 1, only during War of Emperium the warps will be -active. - -(1) kewg_showOnline -------------------- -Set to 1 to display in the menus the online count of players in each of the -guild areas. It also adds a menu entry that displays the summary of players -within each castle and guild grounds. - -(%) kewg_discount ------------------ -Discount % to be applied for warps while the Kafra Pass is active. - -($) kewg_baldur -($) kewg_luina -($) kewg_valkyrie -($) kewg_britoniah ------------------- -Costs to the respective guild dungeons when enabled. - -($) kewg_alDeBaran -($) kewg_geffen -($) kewg_payon -($) kewg_prontera ------------------- -Costs to each of the guild grounds. - -//////////////////////////////////////////////////////////////////////////////// -[18] The kafras.txt file: About Kafra Definitions -//////////////////////////////////////////////////////////////////////////////// - -The file kafras.txt contains the definition of the Kafras, which is the actual -sprite on-screen that characters speak with. An enabled kafra may look like -this: - -//Alberta -alberta,113,53,7 script Kafra Express 116,{ - callfunc "F_KafraExpress","Kafra Express","kafra_02",0,"alberta",116,57; -} - -And a disabled/commented Kafra would look like this: - -//Prontera Guild Grounds -//prt_gld,127,163,5 script Kafra Express 115,{ -// callfunc "F_KafraExpress","Kafra Express","kafra_03",1,"prt_gld",129,170; -//} - -For scripters, the way to define an NPC is not new, and beyond the scope of -this document, so I'll only document the function "F_KafraExpress": - -F_KafraExpress (String "Kafra's name", String "kafra image file", int location, String map, int x, int save y) - -The first parameter, the Kafra's name, is the name that will be displayed all -over the dialogue windows. The Kafra Image file is the image that is to be -displayed on the screen during the npc chat (without the extension). You can -use "" to disable the image. - -Location refers to the type of Kafra. Type=0 refers to Kafras in towns while -Type=1 refers to Kafras placed in the wild, ie: in dungeons. Type=2 is for -Kafras that should count as both town & dungeon. Under these situations, the -menus displayed are those of the town, the type is used for the traveller's -warping mode. Finally, Type=3 is a special type used only for the Niflheim -Kafra. - -The last three Parameters are used to define the save location when you save -your respawn. They are not needed if you use the "Save-on-spot" feature, but -it's recommended to pass them nevertheless. Note that the map name will still -be used when using traveller's mode. |