Emistry

Support Leaders
  • Content count

    517
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Emistry

  1. Hi Habilis, this is my attempts.. https://pastebin.com/fksPdpFQ Feel free to comment -- EDIT Updated the campfire: - slowly decrease the effectiveness of healing rate and area range every 10 seconds. - may use item like wooden block, tree root, to prolong the campfire duration, or increase healing rate and area range too. v1.1
  2. I understand the need for it to trigger the OnNPCKillEvent for these event/quests. as many as we would need, and these efforts i believe it would be just the same if you compare with restructure the db to libconfig and others, just saying the effors true, but it could be still performance killing. If this statement are acceptable, the old mob controller and any other OnPCXXXEvent would have no problem getting it implemented into the emulator in the first place.
  3. -1 using mapflag like that are just a trick ... it's not a solution to solve the issues. i would have wish it was implemented with a different parameter in the *monster() for it to enable trigger the event or at least a custom mapflag or zone at least. i believe most of us sometime would write script the way we wouldn't want it to trigger server wide...and yet this changes make it trigger server wide...unless it was using the mapflag tricks.
  4. perhaps a new instance type for clan? we got type for char, party, guild, why not a new clan type? just attach the clan id, and everyone from the same clan will be able to join. if you mean who being the leader in the instance, i dont think its a mandatory to have one.
  5. callfunc( "F_CheckWeight", Knife, 1, 1000 ); function F_CheckWeight { [email protected] = getarg(0, Knife); [email protected] = getarg(1, 1); [email protected] = getarg(2, 1000); return (checkweight([email protected], [email protected]) && MaxWeight - Weight < [email protected]); } and callfunc( "F_CheckWeight2", [email protected]_nameid, [email protected]_amount, 1000 ); function F_CheckWeight2 { [email protected] = getarg(2, 1000); return (checkweight2(getarg(0), getarg(1)) && MaxWeight - Weight < [email protected]t); } something like these i guess...
  6. https://github.com/HerculesWS/Hercules/blob/master/conf/global/console.conf#L60-L66
  7. sometime, I just don't understand why must official server check for Knife or 1000 weight but not the target item/weight
  8. File Name: Usable Refinery Ores File Submitter: Emistry File Submitted: 18 Jan 2016 File Category: Utility Description Players are able to click on the Ores items to refine the selected equipment. They can refine their Equipment at anywhere anytime they want. Based on requirement of Weapon Level and Type, different ores might be needed as well as Zeny. Preview Click here to download this file
  9. I’ve been involved in Ragnarok Online for a quite a while. I’ve gained experience in the scripting and making various customizations script. [/size] I'm Semi-Available for Script Requests during Weekend ... Information : I am willing to offer my complete services to paying customers. I have no restrictions on the extent of services, however my services do fall under the following categories only: Any NPC Scripts NPC Quests / Exchanger Utilities NPC Custom Event Custom Battleground Custom Instance ( Hercules ) etc Different projects will require different specifications. When requesting a custom service, it’s recommended that those interested should provide a fully detailed explanation of the project. The length of time it will take to complete a service is dependant on the complexity of the project and the response time to queries. However, I can focus a lot of my time on working on the services so most the projects should be completed within a matter of days. Work Samples :[/size] Sample of my works can also found within this forum. Example : All Paid & Free Scripts && E-Script Collection && Youtube Channel Pricing : The prices of the projects requested depend entirely upon the size of the project and the complexity. For a basic outline of potential prices (used as a starting base) see the below list: Basic NPCs ( Free ~ $3.00+ ) SQL related NPC ( $3.00 ~ $8.00+ ) Custom Battleground ( $8.00 ~ $15.00+ ) Custom Instance ( $8.00 ~ $20.00+ ) etc, * You may as well offer me a price that you can afford with. As mentioned, the prices are completely variant as different projects will have different requirements. For the time being, I only accept PayPal payments and Local Bank Transfer. Primarily because my account has a premier business status which means I’m a trusted PayPal user, and my funds are protected. Extra: Support and help for the service I provided for as long as is deemed necessary. No payment requirement up-front (before work is started), however payment is required after transfer of the files/modifications. Both .diff/.patch files and full source/script files where applicable for merging GIT and for directly pasting edits. Agreement : By contacting me for a services, you’re agreeing to accept the following terms and conditions. I do not give refunds without valid reasons! But, I might offer free services as return. If any NPCs doesn’t work for any reason. I will provide full free support for that NPCs. The resale or sharing of my works are not permitted under any circumstance without my permission. Prices are negotiable unless stated otherwise. I may not work on any other request from you, if you haven't or failed to clear all the payment for previous works. All terms and conditions may be subject to change. I reserved all right for my works which include resell, republish and etc. Contact : Facebook : Emistry Haoyan / Emistry Helpdesk Email : [email protected] Forum : rAthena / Hercules / OkayRO Skype : emistry_haoyan If you would like a consultation about the above service, please PM me regarding that as well. Thank you in advance. ♥
  10. I believe these 2 commands is a must for Hercules in the near future, at least some similar script command need to be developed and added into the Hercules emulator. This is because I have seen official server to released some contents that might required the uses of these script command. For example: Faceworm Nest Memorial Dungeon Toy Factory Memorial Dungeon etc. There 2 quests I noticed that it required the script to be able to alter the data of the summoned monsters. for the Toy Factory, I not sure it can be category into the same script command or not, but it's also part of "alter monster data" i guess. previously, the setmodata / getmobdata is implemented through the MobController script, but the MobController script so these setmobdata/getmobdaat was never officially added into the script. I think it's time for Hercules to add these script commands. * I know rAmod/eAmod have a script command for monster that work quite similar for setmobdata() but they dont have getmobdata() I believe. So, but I think setmobdata / getmobdata would be better than having a custom monster script command to spawn a monster that have altered information. Extra : http://ea.dj-yhn.com/index.php?c=setmobdata http://ea.dj-yhn.com/index.php?c=getmobdata
  11. @Eternity official script, but custom. @Will Su link are available in the description below the video.
  12. [RO] Central Lab Laboratory Available soon ...
  13. similar / related issue. https://github.com/HerculesWS/Hercules/issues/1221
  14. Hey, Rokimoki. It's been awhile since I last saw you in forum (probably back in eA forum) Some tips for you to improve it, if you want. 1. query_sql("SELECT `char_id` FROM `custom_pvprank` WHERE `char_id` = " + getcharid(0) + ";", [email protected][0]); if ([email protected][0]) { // create kill_count query_sql("INSERT INTO `custom_pvprank` (char_id, kill_count) VALUES ('" + getcharid(0) + "','" + kill_count + "');"); } else { // update kill_count query_sql("UPDATE `custom_pvprank` SET `kill_count` = " + kill_count + ";"); } this part can actually be simplified into 1 query.. which is INSERT INTO..... ON DUPLICATE KEY UPDATE ..... but, you have to set the `char_id` as primary key for the table. Since the ladder only store 1 row per characters, so you won't need to worry on duplicate `char_id`. Anyway you already made it as primary key... 2. cleararray [email protected]$[0], "", 10; // defining 10 positions cleararray [email protected]_count[0], 0, 10; if (strcmp([email protected]$[[email protected]], "") == 0) break; // if some is empty, stop printing these are not really necessary .... those npc scope variable will be auto cleared once the conversation with the NPC ended. char name shall never be empty unless somewhere in your query gone wrong... but yet you can skip this by adding another checking in the query which is better if you really need it. another reason for that would be, IF it happen one of the player having empty name, the ranking display will be a mess. 3. getmapxy([email protected]$,[email protected],[email protected],0); since the [email protected] and [email protected] variable are not used, you can actually replace the getmapxy() into strcharinfo(3) which work the same, return the current map name. 4. if (rid2name(killedrid) == strcharinfo(0)) { // prevent suicide for gaining points can be replace by this ... if ( killedrid == getcharid(0) ) 5. sleep 50; haha, you dont really need to update the waitingroom display that frequent, it keep resources. 1 seconds are better
  15. [RO] Pirate Ship Rescue Instance A pirate ship was assaulted by a groups of fearsome Sea King Monsters during the sail. The ship wrecked nearby the North area of Izlude. The captain manage to get to the Izlude town and seek for rescue. According to the Captain, the ship are heavily damaged. Players may get hurt caused by the swinging ship. Several Safety Wall will be casted from time to time to protect the players. Player have to stay within the Safety Wall, or he probably will die from serious injuries. The Sea King monsters will surround the ship and try to destroy it. So there are a time limit each round when the monsters appeared. Players have to defeat all the monsters within the time limit or the ship will be damaged and end up the quest failed.
  16. { name: "Zone Name" disabled_skills: { RG_INTIMIDATE: "PLAYER" AL_TELEPORT: "PLAYER" SC_FATALMENACE: "PLAYER" SC_DIMENSIONDOOR: "PLAYER" } disabled_items: { Wing_Of_Fly: true } // Expansion of Classes limitation... (perhap based on BaseLevel would be good too?) disabled_classes: { Job_Knight: True Job_Blacksmith: True Job_Novie: True Job_Clown: True } // Expansion of Battle Conf settings ... battle_conf: { multi_level_up: yes base_exp_rate: 100000 job_exp_rate: 100000 mvp_exp_rate: 100000 quest_exp_rate: 100000 death_penalty_base: 100000 death_penalty_job: 100000 rare_drop_announce: 100 } }, I would like to suggest for map zone supporting these battle_conf and disabled_classes I think it's good to further customize settings and entry of a map. Example : Map A cant multi level up higher exp rate disabled novice enter etc Example : Map B can multi level up low exp rate only novice enter etc And yeah, some of these settings can be done by using mapflags, but some are not or it would be end up harder way to do it using npc script.
  17. Reason to support implementation: as we can see here ... https://github.com/rathena/rathena/commit/d84d6ba I guess it's gonna be good to see it implement the job restriction within the map_zone that herc have? seem like required in WOE:TE ... or we could say that it come in handy to implement the WOE:TE?
  18. i got something similar that I made few years ago... it's based on Guild Rank/Position. http://upaste.me/27b6e4 leader can setup which position/rank can access the storage. no password are required.
  19. @GM Fenrir just a rough guess, probably the issue is caused by these line donpcevent "LMS_NPC::OnCheck";
  20. [RO] Auction NPC An Auction NPC that create an auction-based event. The NPC will randomly pick an item from the list that setup by GM and use it as the auction item. Player are required to place their highest possible Zeny bet to get the item. Each bidding have time limit, so player will have to bid it before time run out. When the Auction ended, the system will auto calculate who are the latest bid with highest bid amount, and the item will be assigned to the player. Player will be able to retrieve the item from the NPC once he pay the full amount of Zeny he bet previously. Idea from : Daifuku @ www.fb.com/daifukuservices/
  21. I found out that the shadow doesn't look good in certain maps. Example: dali Anyway, it's still a good work. I like it, except the part where shadow look bad in certain map as shown above. Hopefully you can come with some workaround for this in the future.
  22. [RO] Damage Test Dummy A test dummy script that allow players to adjust the dummy monster's properties to fit their damage testing environment. The NPC also store the last hit damage and total damage dealt on the dummy monster. By the way, the dummy monster you saw was a custom sprite done my myself here https://rathena.org/board/topic/105431-showcase-maplestory-straw-dummy-target/ just an old idea anyway.