Jump to content

nitrous

Developer
  • Posts

    141
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by nitrous

  1. All my products can be found on my website: https://www.troglodytes.net/ I currently have two services. TrogBot (Discord Integration) A discord bot that can send messages from a discord channel to a channel in rAthena and back! Keep your in-game players in contact with your offline community! It can be leveraged for other features, like recording `@request`s to a discord channel so your GM team can stay on top of supporting your players! This is similar to roCORD, but technically this came first The performance of TrogBot is much better than all other implementations. TrogProxy TrogProxy is a proxy service that hides your server's IP while not hiding the original IP of the players. Typically, players connected to a proxy will have their IPs hidden to rAthena; if the server bans the IP of the player, the proxy is useless. However, TrogProxy solves this issue. It also supports Packet Header Inspection, verifying that the first packet a client sends is valid BEFORE sending it to the server. This will prevent simple DDoS attacks. Patches Map Drops support for @whodrops Map drops will now show up in @whodrops Mobs show skill names on cast Join the discord for more info: https://discord.com/invite/qqC7qbr
  2. There is some documentation here: https://github.com/rathena/rathena/blob/master/doc/map_server_generator.md for reputation, you need to pass /generate-reputation to the generator So the full command would be ./map-server-generator.exe /generate-reputation
  3. See https://github.com/rathena/rathena/pull/5141
  4. Try thinking of it this way: AM_CANNIBALIZE summons a plant monster. NPC_METAMORPHOSIS is a monster skill that spawns a monster from another monster (think Mi Gao). So, try using what AM_CANNIBALIZE does, summon a monster that has a skill like NPC_METAMORPHOSIS.
  5. nitrous

    Master login

    Flux doesn't support it out of the box, you'll need to develop it yourself. Ceres does support it, but it's pretty old and I'm not sure it'll work without some modifications. You're looking for a feature only a couple servers have, and those servers have developed it themselves.
  6. If you want to remove the 8000 cap, change it to case WS_CARTTERMINATION: i = 10 * (16 - skill_lv); if (i < 1) i = 1; if (sd && sd->cart_weight) skillratio += sd->cart_weight / i * 10 - 100; else if (!sd) skillratio += 80000 / i - 100; break;
  7. There's a scroll for holy armor, you might be able to use that. http://ratemyserver.net/item_db.php?item_id=14540&ird=0&small=1&back=1
  8. GrfCL.exe is still a little finicky, I can't run the scripts with user input: D:\RO\GRF Editor v1.8.2.7\GrfCL>.\"New empty GRF.bat" Name of your GRF : data #Log : Batch file detected an invalid encoding, changing command line arguments encoding to 1252 #Log : Breaking on general exceptions = True #Log : Created a new GRF with the name new.grf Progress : 0.0 % // // GRF Error Handler has thrown an exception : // Error level : Warning // Message : Couldn't save the container file. //______________________________________________________________________________________________________________________ #Finished #Log : Saved the GRF to data #BREAK -- Press any key to continue... If I replace the input with a hard-coded string (set GRFPath=new32.grf), I get: #Log : Batch file detected an invalid encoding, changing command line arguments encoding to 1252 #Log : Breaking on general exceptions = True #Log : Created a new GRF with the name new.grf #Finished #Log : Saved the GRF to new32.grf #BREAK -- Press any key to continue... I get the same results if i run it through cmd or ps. Any ideas? I realize I might be one of the few that use this tool, but it's so nice. PS: Any thoughts on how to generate thor patches?
  9. compare yours to this one: https://github.com/rathena/rathena/blob/master/db/re/attendance.yml Spacing is important in YAML files. You need to remove the spaces before the achievement key.
  10. what commit hash are you on right now? There was an unforeseen slowdown in accessing map data which was fixed in 48ae1a1e05db440263ac2a4fe0d887d1528151f3. Sorry, didn't see the last sentence. I've no idea.
  11. Interesting, the error makes it seem like you need a variable. Try doing something like .@cid = getcharid(2); if (countinarray(.grbbid[0],.@cid) == 1 && .grbbday[inarray(.grbbid,.@cid)] < 40){
  12. What version of g++ do you have? g++ --version
  13. struct map_session_data *sd = script_rid2sd(st); should be this struct map_session_data *sd; script_rid2sd(sd); Generally you can't just copy and paste code from other emulators, it won't work.
  14. Story Time: A lot of players run into problems. They disconnected in an instance, they bought the wrong item, someone is being a nuisance in battlegrounds. After cursing, they usually type `@request`. But alas, none of the GMs you hired are online! You need to dock their pay. The message is lost in the void. Until now. Discord has support for webhooks, which is a way to associate callbacks to HTTP requests. Their developer docs for webhooks can be found here. Basically, you can send a POST to your discord webhook url, and the contents will be printed to the associated channel. "So?" When someone uses `@request`, the message is sent from the map server to the character server, which then sends it back to all map servers, and the map servers send the message to all connected GMs. Because it sends it to the character server, we're able to send the POST request from the character server. This helps performance, since the map server is constantly doing things and the character server generally uses less resources. "That's great! But how do we send this POST request? Do I need a stamp?" If you're on Linux, there's a great command line tool called `curl`. It's mostly used to download files from a server, but it also has support for all other HTTP methods. "Command line? How do we put it in rathena?" Curl also comes with a library called libcurl that we can use in c/c++ programs! "I see, so we use libcurl to send the message to the discord webhook!" Exactly! How it looks: Installation: Two config options are added in this patch: gm_whisp_webhook and gm_whisp_webhook_url This makes a change to configure, and adds a new flag. You need to add --with-lcurl to your arguments. Example: ./configure --enable-prere --enable-vip --enable-packetver=20170614 --with-lcurl Disclaimers: This only works on linux. I don't run rAthena servers on windows, and neither should you. (personal opinion) You need to install libcurl-devel. On some OSes it could be called something else; on Ubuntu, it's libcurl4-openssl-dev. Don't ask me for a lot of help if you can't get it to work. This is supposed to be a showcase, but I'm giving the code out. I made this in a day, it's not the greatest code. Initializing curl and cleaning up on every call is not the greatest, but unless you are getting 100 requests a minute, it should be ok for now. Eventually, I want to add it to src/common or something. But that'll happen in a future weekend. Code: The code is here: https://pastebin.com/Z82M9ssf
  15. You can make a combo script with the two and negate the item y script.
  16. GrfCL seems broken, I can't run any of the example BAT scripts.
  17. https://github.com/rathena/rathena/blob/8893ef1ccf2c6fd392da9c71952b2a94a0b902f7/doc/script_commands.txt#L4459
  18. Rate: Probability to get the item. Not a percentage value! Examples: IG_MyItemGroup,Knife,5 IG_MyItemGroup,Dagger,1 IG_MyItemGroup,Jellopy,14 - Knife has chance 5/20 (25%) to be obtained - Dagger has chance 1/20 (5%) to be obtained - Jellopy has chance 14/20 (70%) to be obtained You add all of the numbers, and each item has a rate of number/sum. sum = 5 + 1 + 14 = 20 Knife = 5 / 20 = 25% Dagger = 1 / 20 = 5% Jellopy = 14 / 20 = 70%
  19. Don't use npc_script_event; instead look at some session-less events, like OnInit or OnHourXX.
  20. use python3 instead of python2
  21. Add it to the list of permanent effects in source, status.cpp:status_change_start::L9347. The tick has to be -1.
  22. Interesting, can you show having EFST_BLESSING And EFST_WEIGHTOVER50, and what they look like in stateiconinfo.lub What's the full path of stateiconinfo.lub What's your client date ------------------------- I'm sure you can get around this by sending the duration of the SI as -1 to the client.
×
×
  • Create New...