Jump to content

bWolfie

Members
  • Content Count

    840
  • Joined

  • Last visited

  • Days Won

    32

Everything posted by bWolfie

  1. See /doc/sample/npc_trader_sample.txt and NPC related script commands: https://github.com/HerculesWS/Hercules/blob/stable/doc/script_commands.txt#L10462
  2. How do you define CUSTOM_SKILL_RANGES? Can't work it out. No documentation available still. Whenever I make changes to skill_idx_ranges[] it causes everything from { GD_APPROVAL, GD_DEVELOPMENT }, to break. Edit: It seems that the skill id must be listed in order. I was using skill id below 10000, but listed after. This means all custom skill must be of more than GD_DEVELOPMENT, otherwise CUSTOM_SKILL_RANGES will cause issues.
  3. maybe some graphics editing and client hex.
  4. @meko Do you know how to create a function similar to sort/rsort, but it won't move a certain nth array? E.g. #1, I have this array setarray([email protected], 4000, 3, 4001, 7, 4002, 1, 4003, 10, 4004, 0, 4005, 2); Then I want to sort it so the left numbers (4000-4005) change position with the right no. E.g. #2, now going to sort in ascending order. 4004, 0, 4002, 1, 4005, 2, 4000, 3, 4001, 7, 4003, 10, As you can see, it only sorted every 2nd array, but it moved the preceding array with it. Idk how to explain this. I think "anchor" would be the correct term. Value n determines how many values are anchored to the first array index before we sort by a new anchor. Hope it makes sense and hoping you can help me out. Thanks.
  5. sorry i dont have time to update this
  6. So I have a NPC script which uses disablenpc() on a timer. Players are able to interact with the NPC while it is active. The NPC uses mes(). If a player is talking to the NPC while the disablenpc() is triggered, the will become stuck on the mes() screen, and will need to logout or warp away using @load or something similar to get out of it. My query: When disablenpc() is triggered, how can I send close() to everyone currently talking to that NPC? (sorry haven't updated my source for a bit, this may already exist in new versions)
  7. happy hour is when badge amount reward increases when won within that hour.
  8. Yes it's possible but takes some work to configure. I have them configured with Kubix's BG release from 2016. I'm not familiar with eBG so I can't help you. That's quite hard cause firstly you need a mapper who has played the mode before and secondly a scripter who knows the ins and outs of it too.
  9. Been around for some years now. I first saw it on one of those Russian servers. Never seen any piece of code or the like regarding it, so personally have no idea how it works. From my experience, they were all terrible. Logging in regularly and not using one of "proxy server"s as they are known always proved best for me. But it may have also had something to do with the fact I live in New Zealand and the destination server was in Russia. This was also 4-5 years ago, so technology probably improved in that time. IMO, until proven otherwise, they are vanity features and are only good as marketing tools. They may help a niche group though.
  10. FluxCP needs a page in both modules\page\index.php and themes\<theme name>\page\index.php You need to do it for every theme that can be used. You can also put it in the add-ons folder which bypasses this I believe.
  11. What's ROM? Best way to do this is very long and not simple. Change all MvP spawns into individual scripts. Then you can use getnpctimer() to get the time left. Example: moc_pryd04,0,0,0 script Osiris_Spawn FAKE_NPC,{ OnMyMobDead: .GID = 0; initnpctimer(); end; OnTimer3600000: // wait 60 mins sleep(rand(600000)); // add 0~10 mins OnInit: .GID = monster("moc_pryd04", 0, 0, "--en--", OSIRIS, 1, sprintf("%s::OnMyMobDead", strnpcinfo(NPC_NAME))); stopnpctimer(); end; } Then make another script with the atcommand to check getnpctimer(0, "Osiris_Spawn")
  12. Been working a lot with Hyvraine lately. From my experience, he has all the solutions when it comes to web design. Gets your work done at an affordable price. Unsure if he is available for work at the moment, however, my advise if you do work with him is to know exactly what you want. He will deliver you a 10/10 product within the guidelines. If you don't give him a lot to work with, he may take a lot longer coming up with designs and seeking your approval on all sorts of things.
  13. Requires source edit. Go to src/map/skill.c, find static int can_copy(). Anywhere after nullpo_ret(sd); you can put your conditions. if (skill_id == WZ_WATERBALL) return 0; If you want to carryover skill_lv, you need to edit 2 lines. Change 1, find line: can_copy(tsd,copy_skill,bl)) // Split all the check into their own function [Aru] Change to: can_copy(tsd, copy_skill, skill_lv, bl)) // Split all the check into their own function [Aru] Change 2, find line: static int can_copy(struct map_session_data *sd, uint16 skill_id, struct block_list *bl) Change to: static int can_copy(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv, struct block_list *bl)
  14. I don't know about server database editor. I prefer to edit file directly.
  15. In my opinion, best thing to do is to save all data as char_reg variables, e.g. WoE_Kill += 1; And then once WoE is finished, run a SQL query to copy data from char_reg_num_db and char_reg_str_db to your custom table. E.g. OnAgitEnd: query_sql("TRUNCATE TABLE `woe_rank`;"); // clear old data. this table is only used to hold temporary values for displaying elsewhere [email protected] = query_sql("SELECT `char_id`, `value` FROM `char_reg_num_db` WHERE `key` = 'WoE_Kill';", [email protected], [email protected]_Kill); for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { query_sql(sprintf("INSERT INTO `woe_rank`(`char_id`, `kills`) VALUES(%d, %d);", [email protected], [email protected]_Kill)); sleep(50); // don't perform too many queries at once (20 per second) } end; So then the query_sql() command is only being run under controlled circumstances, and only used once.
  16. We don't have RC_Human. Check https://github.com/HerculesWS/Hercules/blob/master/doc/item_bonus.md
  17. like Xross said, likely using older SQL database which is incompatible with the current Hercules revision. When you start the login server, it should say which files you need to add. In any case, you can usually fix this by doing the following. Backup current database using mysqldump (unsure how to dump other ways) mysqldump database > ~/database-backup.sql Drop database, then recreate. DROP DATABASE database; CREATE DATABASE database; Create new table structures using Hercules SQL. mysql .... < sql-files/main.sql Then add your backed up database on top of that... mysql .... < ~/database-backup.sql
  18. thanks Dastgir. I couldn't get item combo to work but scconfig did.
  19. can anyone help me on how to run python script? When I run ./scconfigconverter.py on my linux system nothing happens. Same for the item combo one. didn't have issue when converting mob_skill_db.txt back a while. [[email protected] tools]$ ./scconfigconverter.py : No such file or directory
  20. Question is hard to understand. I am unfamiliar with what you mean "cash points" in releation to flux-cp. edit: someone post just before i did
  21. There is a guide on the github wiki. It should be good enough to get a custom item in.
  22. bWolfie

    exp database

    here you go. i made another thread for it so others can see it
  23. https://pastebin.com/H9e2SG9t Based on the old exp.txt tables. This only works for base level 999. If you want to use a lower level, you need to comment out all entries above that level. E.g. if you want base level 500, you need to comment out entries 500-999. The formula for no. of entries you need is [Max Base Level - 1]. So if max level is 400, you need 399 entries; 250 needs 249, and so on. Let me know if there are any issues with it.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.