meko

Core Developers
  • Content count

    285
  • Joined

  • Last visited

  • Days Won

    34

Everything posted by meko

  1. I have made a script to automatically set up the sql connection on new Hercules installations. The script does the following: Installs Chocolatey (for easy installation and upgrading of MariaDB) Installs the latest MariaDB version from Chocolatey Resets the root password for MariaDB, and adds a Hercules user Creates a Hercules database and imports the main.sql file Updates the configuration files so that Hercules uses the new database You can download the script here: https://gist.github.com/Helianthella/a2fa9915a069d086fa67fb98d1678585 Save the file as mariadb.bat, at the root of your Hercules folder Right-click on the file and do "Run as administrator" Follow the on-screen prompts
  2. simply follow the on-screen instructions when running the MariaDB windows installer. it should ask you to set a root password, and then you can install HeidiSQL and use it to connect to your local MariaDB server. Choose 127.0.0.1 as server, root as username, and the password you chose during installation as password. Once you are connected you can make a database for herc and add a new user with access to said database (to avoid using root). You can then login with that new user and choose the database you created and then import the .sql files. Once the database setup is complete, update the sql_connection.conf file to tell Hercules what user and password it should use
  3. well, do you actually have an sql server running, and did you edit sql_connection.conf accordingly? you can get mariadb on https://downloads.mariadb.org/mariadb/
  4. Hacktoberfest

    until
  5. there's no reason you should be using an old version from last year. the newer versions have all of the features of older versions, better compatibility, less bugs and better stability You should always use the latest release, but please don't download a .zip of the release, use git clone git://github.com/HerculesWS/Hercules.git
  6. Contribute to open source and get a free limited-edition T-shirt What's Hacktoberfest? Hacktoberfest — brought to you by DigitalOcean in partnership with GitHub and Twilio — is a month-long celebration of open source software. Maintainers are invited to guide would-be contributors towards issues that will help move the project forward, and contributors get the opportunity to give back to both projects they like, and ones they've just discovered. No contribution is too small—bug fixes and documentation updates are valid ways of participating. From October 1 to October 31, contribute to any open source project (Hercules included) on GitHub to get a free T-shirt! 5 pull requests are required. (Pull requests do not have to be merged and accepted; as long as they've been opened between the very start of October 1 and the very end of October 31, they count towards a free T-shirt.) We will be marking easy-to-tackle issues with the Hacktoberfest tag so that first time contributors can more easily find them. >> Register on hacktoberfest.digitalocean.com Resources GitHub Learning Lab How to create a Pull Request on GitHub Understanding the GitHub Flow Open source 101 Hercules documentation Hercules wiki FAQ It is free to participate? Yes! Is shipping included? Yes. DigitalOcean offers free worldwide shipping. What shirt sizes are available for Hacktoberfest 2018? DigitalOcean have not yet made public the size chart for 2018, but we know they at least offer S to 4XL sizes, for both male and female. What's included in the package? A thank you letter. A T-Shirt. A bunch of cool stickers. Do I need to register for Hacktoberfest before starting to open Pull Requests? No. You may register at any time during the month of October and DigitalOcean will count your pull requests retroactively from October 1 onwards. Do all of my Pull Requests have to be sent to the same repository? No. You may send PRs to any number of repositories you like, and as long as they are public and have an OSI-approved license they will count towards the 5+ PRs objective. Do I have to wait for the start of October to open Pull Requests? You may contribute all year long, but only PRs that are opened during the month of October will be counted.
  7. Hello, it is not necessary to go for a service that specializes in RO server hosting: a general-purpose VPS will do just fine, and likely cost less too. Generally you can't go wrong with one of these: OVH good specs for the price fast connection built-in DDOS protection RamNode very good specs for the price their web interface is slightly more confusing if you don't know what you're doing built-in DDOS protection DigitalOcean resizeable containers: pay only for the resources you need, and scale accordingly pricier than regular VPS providers Amazon Lightsail 99.999% uptime great integration with other AWS products free trial available You might also want to consider Linode, BlueHost, DreamHost If you do not care about DDOS protection and reliability then there's also a plethora of very cheap VPS providers, and a good place to check is Low End Box
  8. the list of maps in atcommand_go is hardcoded in src/map/atcommand.c you'll want to use @warp instead
  9. in the second skill, lookup for nearby BL_SKILL units (with map->foreachinarea) and then you will get a struct block_list so cast it to a struct skill_unit (with BL_UCAST) and check that su->group->skill_id matches the id of the first skill and then you can get the location with su->bl.x and su->bl.y
  10. conf/messages.conf ...good luck
  11. in groups.conf in the commands{} section add command_name: [true, true] for the groups you want to allow you can also do this programmatically in the script engine by doing add_group_command("command_name", group_id, true, true);
  12. If you want more bandwidth try RamNode and choose NYC or ATL as location since you want it on the east coast. Both OVH and RamNode are very reliable.
  13. This function does not check whether or not map->list contains map m before using it which can cause out-of-bounds read; but something else is weird here: your y0 is overflowed and your x0 is very high. Could you please provide a full backtrace? just write "bt full" when you see the (gdb) prompt Also it would help to know your git revision commit hash or tag
  14. @luizragna in Hercules v2018.06.03 we added support for global lookups with getunits() so there is no need to supply a map. Just update your Hercules installation to v2018.06.03 or a newer version.
  15. [email protected] = getunits(BL_PC, [email protected], false); for ([email protected] = 0; [email protected] < [email protected]; [email protected]) { addtimer(0, "MyNPC::OnMyEvent", [email protected][[email protected]]); } end; OnMyEvent: command(); // <= here buf if you only want to revive everyone you can simply do this: recovery();
  16. those are reserved for future use, but feel free to use anything that is free between 400 and 1000, or between 10001 and 10248 currently the only free ID within this range is 10204 but you could manually change src/map/npc.h on line 147 (currently the max is 10248)
  17. this is because 126 is not in the valid range of NPC ids: it has to be between 45 and 125, or between 400 and 1000, or between 10001 and 10248 reference: https://github.com/HerculesWS/Hercules/blob/stable/src/map/npc.c#L108
  18. from the screenshot I see you are using reloadscript, but the const db doesn't get reloaded when using this command
  19. the list of NPC ids is in db/constants.conf around line 2630 (search for FAKE_NPC)
  20. if you absolutely must use your script, then: if ([email protected][[email protected]] <= 3) { announce(sprintf("Player %s obtained a %s (%02i%% chance)", strcharinfo(PC_NAME), getitemname([email protected][[email protected] - 1]), [email protected][[email protected]]), bc_all); }
  21. just run "make import" from the root of the repo and then edit the files in conf/import to suit your needs
  22. Duplicate npcs do share variables but this is legacy code that we can't change without breaking backward-compatibility. What we could do however is add a config flag so you can manually choose the desired behaviour. The problem is that in npc_duplicate_script_sub the function does npc->script = source->script, so it creates a pointer to the parent script_code struct instead of creating its own and variables are stored in this struct. The Evol plugin fixes this by creating its own struct but since I see other people want this change I will move it to Hercules directly instead.
  23. you could manually check the day from your script with gettime(GETTIME_DAYOFYEAR)
  24. If it can't find login- char- or map-server and manually doing ls {login,char,map}-server shows nothing then either the build failed or you forgot to build altogether. Make sure you have the required dependencies installed and then follow the build instructions
  25. I can't reproduce your bug locally and npc_event_do_clock() seems to be working just fine. Most likely you have made changes to the source code and that broke this function