Jump to content

Angelix

Community
  • Content Count

    518
  • Joined

  • Last visited

  • Days Won

    68

Everything posted by Angelix

  1. Description: I've modified the lua scripts from @V3ct0r's Contract System Mod to be a bit more customizable. With this script you don't need to give player contracts directly via NPC since they can now be random map drops (given directly to their inventory). Download: GitHub It's hosted on GitHub to prevent loss of the script and potentially fix issues in the future if I feel like it. Installation: Just load the file in your server! If you have a mod/extension folder, you can go ahead and call it from there. Obviously you need V3ctor's Contract System Mod. This script can work on sources, but you will need to modify client source to show the item hints properly. Not hard to do, but I won't be providing anything related to that here! Like I said, just load the file, I won't help with that, sorry! The script is a stand-alone, no other functions are needed (hopefully). The only function neeeded is already hooked. Usage Details: As stated on V3ctor's original thread, create a new item within your ItemInfo. The item's ID must match what is defined in ContractSys.Conf.ItemID. ContractSys.Conf.ItemID = XXXXX The item's type must match ContractSys.Conf.ItemType. ContractSys.Conf.ItemType = 99 The item's function must be the following: ItemUse_ContractSys The system must be enabled by setting ContractSys.Conf.Enabled to true. ContractSys.Conf.Enabled = true If you want contract to be given randomly by killing monsters, then this variable ContractSys.Conf.World.Enabled must be set to true. ContractSys.Conf.World.Enabled = true In reality, this must be always set to true since there's no other option to get contracts from, they were not implemented! Adjust the maximum of active contracts a player can have at a single time. ContractSys.Conf.Limit Add your map to the allowed list, set it to true and adjust the probability to your needs. The probability is from 0 to 100. ContractSys.Conf.Maps['<MAP_NAME>'] = {Allow = true, Probability = 10} I have some examples in there for Forsaken City, Dark Swamp and Demonic World. You can follow those as guidance. Add some monsters that spawn in your map, along with their probability, minimum and maximum quantities. ContractSys.Monsters['<MAP_NAME>'] = { {Allow = true, ID = <MONSTER_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Rate = <MONSTER_RATE>}, } <MAP_NAME>: This is your map's name like "abandonedcity". <MONSTER_ID>: The monster's ID that spawns in that map. <MIN_QTY> / <MAX_QTY>: The minimum and maximum quantity that the player can be tasked to killed. <MONSTER_RATE>: The rate as a number that is used to add weight to the item. This number will be added with the other rates from the monsters in this map's monster list, the lower the number compared to others, the lower probability this monster will appear in a contract. I have some examples in there from Forsaken City, Dark Swamp and Demonic World. Add some rewards to be given when completing contracts obtained from your map. ContractSys.Rewards.Maps['<MAP_NAME>'] = { {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, } <MAP_NAME>: Your maps' name, such as "abandonedcity". <GOLD_AMOUNT>: The amount of gold to be given (if none, just set to zero). <ITEM_ID>: The item's ID to be given. <MIN_QTY> / <MAX_QTY>: The minimum and maximum quantity that can be given from the previous item. <ITEM_QUALITY>: The quality of the item (mostly used for gems). <REWARD_RATE>: The rate as a number that is used to add weight to the reward. This number will be added with the other rates from the items in this map's reward list, the lower the number compared to others, the lower probability this reward will appear in a contract. Now, if you want a monster to have specific reward, you can also add that. This will override other reward tables. ContractSys.Rewards.Specific[<MONSTER_ID>] = { {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, {Allow = true, Gold = <GOLD_AMOUNT>, ID = <ITEM_ID>, Min = <MIN_QTY>, Max = <MAX_QTY>, Quality = <ITEM_QUALITY>, Rate = <REWARD_RATE>}, } <MONSTER_ID>: The monster's ID that will have specific rewards. <GOLD_AMOUNT>: The amount of gold to be given (if none, just set to zero). <ITEM_ID>: The item's ID to be given. <MIN_QTY> / <MAX_QTY>: The minimum and maximum quantity that can be given from the previous item. <ITEM_QUALITY>: The quality of the item (mostly used for gems). <REWARD_RATE>: The rate as a number that is used to add weight to the reward. This number will be added with the other rates from the items in this map's reward list, the lower the number compared to others, the lower probability this reward will appear in a contract. Script Logic: Player defeats a monster. System will look if the map where the player is located is defined. If defined, then it will grab a monster from that list. If not defined, it will grab a monster from the generic list. It will set the monster to the contract and a random amount between the minimum and maximum quantity available. Player must defeat the quantity of the monster set within the contract. Upon completion, player must double click the contract to finish. System will look if the monster has a specific reward and choose one from there. If no specific reward is set for that monster, then it will iterate through all the maps defined to see if the monster is defined within there. If a defined monster is found, then it will grab a reward from that map's list. If no reward has been chosen, then it will grab a reward from the generic list. The gold (if any) and item (if any) will be given to player. The quantity will be random from the minimum and maximum set.
  2. You can always send a message here or discord. As for what keeps me here, probably nostalgia, playing with lua stuff and a few bucks here and there since I provide lua services. I'm also mentoring someone and helping them open up a server, so there's that.
  3. If you won't discourage them, I will. This person bought these sources from someone else and doesn't know how to do anything. And the person probably doesn't have a private client and needs a tool to unpack the client to add stuff, which again, doesn't know what tool. So as @champ said, you're free to do whatever you like, but I think they may be other people willing to post proof of the sources they claim to sell. At least not with random "they have new resolutions, mounts, offline stall, new game settings and vip shit. Original "Corsair Online" files had these things right off the bat and they're available for free and using the same VS versions. Also, you can probably look through their pkoDev content history and conclude that this person does not know a thing about sources/C++ and is selling something they don't know about. Just my two cents, I'm muting this thread.
  4. Ah that, was an old idea for a server I wanted to open. Never did and probably FB deleted page already. Removed link already, thanks for noticing.
  5. There's a file in server files also called ItemInfo, you edit that first and then copy to your client for compile. Server Files > Resource > ItemInfo.txt
  6. Did you edit the level on ItemInfo on server side? If yes, then copy that ItemInfo to client and compile. It seems you edited the files on client if it's showing correctly on client, but not letting you equip it at a level below 65. Always edit it the server side ItemInfo and then copy that file to client and compile. Also, you must restart server for it to take change.
  7. Angelix

    IGS

    You need LuaSQL if you’re using v138/v136. After that, you can find some scripts lying around in the forum already.
  8. Are you trying to add an effect when wearing a ring and a necklace? Even if either/both are fused?
  9. Lua: Server scripts. C++: Server/Client sources.
  10. The “rousing” ability does no damage, that should be a self buff skill for hunters that increases their attack speed if I remember correctly. As for your question, it really depends. I think for example the “Poison Dart” from Crusader does a set amount. They can be looked up on their respective skills and see which effect they apply.
  11. You cannot increase skill info or skill effect beyond those limits, they’re hard odes in several ways that have not been shared on public yet. I’m guessing you can go through source if you know C++
  12. For the “level 79” text, you’d have to edit the sources since that’s coded in there every time you relocate using GoTo (or any other move function?).
  13. @V3ct0r Yes, he can add a condition for each character, but if he wanted to create an NPC with 10 pages, then he can’t do that due to needing 40 pages in total and only having a limit of 32 I think? as for the transmittal function, that only check for npc ID.
  14. It’s not possible since you do not have the player’s role in the NPC function. If you’re using Corsairs file on the other hand, they created a system called “extNpc” which allows you to use the player’s role.
  15. If people don't answer your thread, it means they either don't want to help or they don't know how to help, so stop tagging people at random. It's annoying.
  16. No, the other person is saying to contact whoever you bought it from and tell you how to create that missing table. They're saying that it's likely that these exes are custom built and were added a new table for some new features, which is now prompting you to have that table or it will continue to happen.
  17. Main post updated! Server Files: I'm selling custom server files, they're based on v138. GitHub Description: Features - Server Owner GitHub Description: Features - Player Notes: They're based off of PKO 1.38. They make use of V3ctor's Mod System. Extra: They contain Contract System, however, the script was completed re-written and is now more customizable and allows the contracts to be random drops for general maps or specific maps and allow for rewards from general monsters, map specific monsters or bosses. They contain: Server Files. Client Files. Databases (+ SQL Queries). Executables (+ IGS). Also includes Anomaly Tower. Price (negotiable): One-Time Sale. Support. Will provide updates for any custom lua script only. Updates will be via GitHub so things can be transparent and you can see what the changes were. No support provided for exes (server or client). Contact Information: Discord: Angelix#2836 pkoDev: Private Message Mostly like to answer through Discord and more frequently.
  18. Anomaly Tower Description: The map "Anomaly" aims to be an instanced map with tower climb like features. The map is fixed, but the difficulty and monsters on each floor are gradually stronger from the previous floor. Every 5th floor will contain an extra monster that will be a mini-boss and every 10th floor will be a boss floor. Players can enter solo or get help as a team, but only the players that are at that floor level will get the floor completion. Those players at the current floor level will be treated as "main" players and have a set of rewards. Those players not at the current floor level will be treated as "support" players and have a different set of rewards. It can be customized how many players can enter the instance at once just in case. The monsters are chosen at random, they are set within a database so all players can expect the same monsters in that specific floor. The floors are refreshed every month. So if new monsters are added to the lists as future updates, they can appear in lower floors when a new months starts. Too lazy to write everything here, so just have some links directly from GitHub. Links: GitHub GitHub: Customization GitHub: Installation -> Client GitHub: Installation -> Server GitHub: Requirements GitHub: Notes GitHub: Release
  19. Because there's none in the forum if I remember, yet you haven't looked good yet. If I remember correctly, there's an NPC in every server files that changes honor (I think?) into random stuff. Look for the "Goddess" NPC. I think the option is not available by default for player usage, but if you look at the script, you can follow around there and eventually find the function that does the exchange.
  20. You can have same amount of monsters, just that the flags need to be different. you can’t have monster #1 be killed 20 times and monster #2 killed 10 times since their flags would be “29”. The rest is a problem you need to solve about changing monster ID
  21. Did you check out my quest guide? I can’t link it since I’m on mobile, but it shows you how to add monster flags. Each monster should have unique flags! The formula is this: “<FlagNum> + <MonsterCount> - 1” Examples: 1st Monster (x10) -> 10 + 10 - 1 = 19 The flag should be 19. 2nd Monster (x5) -> 20 + 5 - 1 = 24 the flag should be 24. Flags should never be identical!
  22. I’m using the v138 server from the example exes you provided and it does not contain the HandleChat or GetPlayerByName feature. As for the apparel thing, basically this thread (in Russian), but allow all ID to be apparel and us from lua side just adjust it to only recognize them if they have a durability of 25000.
  23. On a side note. A couple of mods. I’ve been using the binaries you provided for client and game server. Is there a way to add mods for functions like these? HandleChat GetPlayerByName Apparel GameServer and Client see apparels only being in between ID 5000 - 7000, so maybe change it so they can be at any ID and recognized by their durability (by setting it to 25K within ItemInfo?). Change Lua version from 5.0 to a newer version, I think latest stable version is 5.4.4 Edited.
  24. Great tips! Just an issue, that website is non-existent or down? Were you trying to say ".com"?
×
×
  • Create New...