Jump to content

Gacrux

Members
  • Posts

    5
  • Joined

  • Last visited

Profile Information

  • Gender
    Male

Recent Profile Visitors

926 profile views

Gacrux's Achievements

Poring

Poring (1/15)

0

Reputation

  1. So I was discussing the upcoming Rebellion class with a friend of mine, and the discussion eventually turned to how you almost never see any type of GS besides Shotgun users, and Pistol users. Of course, we went over how OP Desperado is, especially with Kiel to reduce the 1-second delay. At which point I mentioned that while after-cast delay can be reduced, cooldown can't. So I looked it up to see if Desperado had cooldown. It doesn't. But I noticed something else I had never seen on any Athena branch: Desperado is supposed to deal between 0 and 10 hits. This is significantly more balanced, and much more of a gamble than it is now. Wherein it just deals 10 hits automagically to everything in a 7x7 area. So, with my limited knowledge of VB (seeing as how it's the closest thing to C I know), I looked into the src, and noticed that the reason this happens on Athena branches, is because, as far as I know, there's no way to tell the server that the max number of hits is supposed to be randomized. It doesn't seem awfully difficult to just add another skill property, maybe to multihit itself, that determines if it randomizes the number of hits or not. A simple 1/0 flag could do it. Of course, I say it's "simple," but since I'm not overly familiar with C, or how the actual server handles skill calculations, it might also just be a massive headache. The src I'm looking at is also positively ancient, so for all I know, this might've even been fixed since my last repository checkout. If either of these is the case, just go ahead and shut this thread. Otherwise, I think it may be at least worth a look to see if it can be done. If not, perhaps something in the way of at least jury-rigging Desperado to act as intended. I'd be glad to try and at least give it a shot if someone could point me in the right direction, though! EDIT: I managed to stumble my way through the src and pinpointed that this should probably just be a skillcheck for Desperado in battle.c with a similar structure to the Ranger's check for Fearbreeze. I'll take a stab at it myself. I can hazard a guess at how these functions are working, but I'm not really sure due to the fact that I program primarily in Java. Again, if someone wants to prod me in the right direction, I would appreciate it. EDIT #2: So, uh, I took a crack at it. Most likely chock full of errors, but I hope it at least kinda maybe tangentally touches on the base of how this works... I added in some comments, if anyone wants to bother answering them, I'd appreciate it. else if(sc && sc->data[SC_DESPERADO] && sd->weapontype1==W_REVOLVER && (i = sd->equip_index[EQI_AMMO]) >= 0 && sd->inventory_data[i] && sd->status.inventory[i].amount >= 10) //I -think- I modifed this right... //It should be doing a skillcheck (sc?) for Desperado, using the Revolver weapon type. //Then it checks if there's ammo equipped. //Then it checks if there's ENOUGH ammo equipped (>=10). { int chance = rnd()%11; //Between 0 and 10? //Can't find any documentation on how rnd() works in C, so I'm roughly basing it off of the Fearbreeze check below wd.type = 0x08; wd.div_ = chance; //If I understand right, wd.div handles the number of hits. wd.div_ = min(wd.div_,sd->status.inventory[i].amount); //Guessing this removes the right amount of ammo. sc->data[SC_DESPERADO]->val4 = wd.div_-1; //Haven't the foggiest what this does... passes on the relevent info I guess? }
  2. Sorry for the delay in replying. I decided to switch OS to improve server security and while doing the whole setup for a second time, I came across the problem. In the end it turned out to be the combination of a bad subnet (thanks for that ccjosh!) and my router acting up (despite being forwarded to the host machine, some ports would reset the IP entered as the router itself). Thanks a ton for the help you two.
  3. Alright, thanks for the suggestion. I'm rather new to the whole LUA/LUB thing, and from previous experience with them in 2011 clients they didn't seem to affect connectivity. So I didn't consider that a set that didn't match the client could pose a connection issue. I'll go get the LUA/LUB files for the client I'm using and report back if they work.
  4. So I've got my server all setup; the SQL DB is working, everything compiled correctly and everything seems to connect and run smoothly. With the exception of the client. I'm using a no-ip redirect (derpro.servegame.com) to overcome the fact that my ISP doesn't issue users a static IP address. All the necessary ports are open, I've set everything up in my *_confs as follows: //-------------------------------------------------------------- //rAthena Map-Server Configuration File //-------------------------------------------------------------- // Note: "Comments" are all text on the right side of a double slash "//" // Whatever text is commented will not be parsed by the servers, and serves // only as information/reference. //-------------------------------------------------------------- // Configuration Info //-------------------------------------------------------------- // Interserver communication passwords, set in account.txt (or equiv.) userid: derpro passwd: // Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 192.168.1.7 // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. //bind_ip: 127.0.0.1 // Character Server Port char_port: 6121 // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: derpro.servegame.com // Map Server Port map_port: 5121 //Time-stamp format which will be printed before all messages. //Can at most be 20 characters long. //Common formats: // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format) // %H:%M:%S (hour:minute:second, 24 hour format) // %d/%b/%Y (day/Month/year) //For full format information, consult the strftime() manual. //timestamp_format: [%d/%b %H:%M] //If redirected output contains escape sequences (color codes) stdout_with_ansisequence: no //Makes server log selected message types to a file in the /log/ folder //1: Log Warning Messages //2: Log Error and SQL Error messages. //4: Log Debug Messages //Example: "console_msg_log: 7" logs all 3 kinds //Messages logged by this overrides console_silent setting console_msg_log: 0 //Makes server output more silent by ommitting certain types of messages: //1: Hide Information messages //2: Hide Status messages //4: Hide Notice Messages //8: Hide Warning Messages //16: Hide Error and SQL Error messages. //32: Hide Debug Messages //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4) console_silent: 0 //Where should all database data be read from? db_path: db // Enable the @guildspy and @partyspy at commands? // Note that enabling them decreases packet sending performance. enable_spy: no // Read map data from GATs and RSWs in GRF files or a data directory // as referenced by grf-files.txt rather than from the mapcache? use_grf: no // Console Commands // Allow for console commands to be used on/off // This prevents usage of >& log.file console: off // Database autosave time // All characters are saved on this time in seconds (example: // autosave of 60 secs with 60 characters online -> one char is saved every // second) autosave_time: 300 // Min database save intervals (in ms) // Prevent saving characters faster than at this rate (prevents char-server // save-load getting too high as character-count increases) minsave_time: 100 // Apart from the autosave_time, players will also get saved when involved // in the following (add as needed): // 1: after every successful trade // 2: after every vending transaction // 4: after closing storage/guild storage. // 8: After hatching/returning to egg a pet. // 16: After successfully sending a mail with attachment // 32: After successfully submitting an item for auction // 64: After successfully get/delete/complete a quest // NOTE: These settings decrease the chance of dupes/lost items when there's a // server crash at the expense of increasing the map/char server lag. If your // server rarely crashes, but experiences interserver lag, you may want to set // these off. save_settings: 127 // Message of the day file, when a character logs on, this message is displayed. motd_txt: conf/motd.txt // When @help or @h is typed when you are a gm, this is displayed for helping new gms understand gm commands. help_txt: conf/help.txt help2_txt: conf/help2.txt charhelp_txt: conf/charhelp.txt // Maps: import: conf/maps_athena.conf import: conf/import/map_conf.txt // Athena Character configuration file. // Note: "Comments" are all text on the right side of a double slash "//" // Whatever text is commented will not be parsed by the servers, and serves // only as information/reference. // Server Communication username and password. userid: derpro passwd: // Server name, use alternative character such as ASCII 160 for spaces. // NOTE: Do not use spaces or any of these characters which are not allowed in // Windows filenames \/:*?"<>| // ... or else guild emblems won't work client-side! server_name: DerpRO // Wisp name for server: used to send wisp from server to players (between 4 to 23 characters) wisp_server_name: DerpRO // Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 192.168.1.7 // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. //bind_ip: 127.0.0.1 // Login Server Port login_port: 6900 // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: derpro.servegame.com // Character Server Port char_port: 6121 //Time-stamp format which will be printed before all messages. //Can at most be 20 characters long. //Common formats: // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format) // %H:%M:%S (hour:minute:second, 24 hour format) // %d/%b/%Y (day/Month/year) //For full format information, consult the strftime() manual. //timestamp_format: [%d/%b %H:%M] //If redirected output contains escape sequences (color codes) stdout_with_ansisequence: no //Makes server output more silent by ommitting certain types of messages: //1: Hide Information messages //2: Hide Status messages //4: Hide Notice Messages //8: Hide Warning Messages //16: Hide Error and SQL Error messages. //32: Hide Debug Messages //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4) console_silent: 0 // Console Commands // Allow for console commands to be used on/off // This prevents usage of >& log.file console: off // Type of server. // No functional side effects at the moment. // Displayed next to the server name in the client. // 0=normal, 1=maintenance, 2=over 18, 3=paying, 4=P2P char_maintenance: 0 // Enable or disable creation of new characters. // Now it is actually supported [Kevin] char_new: 1 // Display (New) in the server list. char_new_display: 0 // Maximum users able to connect to the server. // Set to 0 to disable users to log-in. (-1 means unlimited) max_connect_user: -1 // Group ID that is allowed to bypass the server limit of users. // Default: -1 = nobody (there are no groups with ID < 0) // See: conf/groups.conf gm_allow_group: 99 // How often should the server save all files? (In seconds) // Note: Applies to all data files on TXT servers. // On SQL servers, it applies to guilds (character save interval is defined on the map config) autosave_time: 60 // Display information on the console whenever characters/guilds/parties/pets are loaded/saved? save_log: yes // Start point, Map name followed by coordinates (x,y) start_point: new_1-1,53,111 // Starting weapon for new characters start_weapon: 1201 // Starting armor for new characters start_armor: 2301 // Starting zeny for new characters start_zeny: 0 // Size for the fame-lists fame_list_alchemist: 10 fame_list_blacksmith: 10 fame_list_taekwon: 10 // Guild earned exp modifier. // Adjusts taxed exp before adding it to the guild's exp. For example, if set // to 200, the guild receives double the player's taxed exp. guild_exp_rate: 100 // Name used for unknown characters unknown_char_name: Unknown // To log the character server? log_char: 1 // Allow or not identical name for characters but with a different case (upper/lower): // example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed name_ignoring_case: no // Manage possible letters/symbol in the name of character. Control character (0x00-0x1f) are never accepted. Possible values are: // NOTE: Applies to character, party and guild names. // 0: no restriction (default) // 1: only letters/symbols in 'char_name_letters' option. // 2: Letters/symbols in 'char_name_letters' option are forbidden. All others are possibles. char_name_option: 1 // Set the letters/symbols that you want use with the 'char_name_option' option. // Note: Don't add spaces unless you mean to add 'space' to the list. char_name_letters: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 // How many Characters are allowed per Account ? (0 = disabled) // You can not exceed the limit of MAX_CHARS slots, defined in mmo.h // Doing that, chars_per_account will be default to MAX_CHARS. chars_per_account: 0 // Restrict character deletion by BaseLevel // 0: no restriction (players can delete characters of any level) // -X: you can't delete chars with BaseLevel <= X // Y: you can't delete chars with BaseLevel >= Y // e.g. char_del_level: 80 (players can't delete characters with 80+ BaseLevel) char_del_level: 0 // Amount of time in seconds by which the character deletion is delayed. // Default: 86400 (24 hours) // NOTE: Requires client 2010-08-03aragexeRE or newer. char_del_delay: 86400 // What folder the DB files are in (item_db.txt, etc.) db_path: db //=================================== // Pincode system //=================================== // NOTE: Requires client 2011-03-09aragexeRE or newer. // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse. // Default: yes pincode_enabled: yes // How often does a user have to change his pincode? // 0: never (default) // X: every X days pincode_changetime: 0 // How often can a user enter the wrong pincode? // Default: 3 (client maximum) pincode_maxtry: 3 // Are users forced to use a pincode when the system is enabled? // Default: yes pincode_force: yes //=================================== // Addon system //=================================== // Character moving // NOTE: Requires client 2011-09-28aragexeRE or newer. // Allows users to move their characters between slots. // Default: yes char_move_enabled: yes // Allow users to move a character to a used slot? // If enabled the characters are exchanged. // Default: yes char_movetoused: yes // Allow users to move characters as often as they like? char_moves_unlimited: no import: conf/import/char_conf.txt // Subnet support file // Format is: // subnet: net-submask:char_ip:map_ip // you can add more than one subnet subnet: 255.0.0.0:192.168.1.7:192.168.1.7 subnet: 255.0.0.0:derpro.servegame.com:derpro.servegame.com My clientinfo.xml looks like this: <?xml version="1.0" encoding="euc-kr" ?> <clientinfo> <servicetype>korea</servicetype> <servertype>sakray</servertype> <connection> <display>Derp RO</display> <balloon>Muffin!</balloon> <address>derpro.servegame.com</address> <port>6900</port> <version>20</version> <langtype>1</langtype> <registrationweb>derpro.servegame.com/controlpanel</registrationweb> </connection> </clientinfo> (And yes, the password fields are properly filled out, I just blanked them in this post.) I'm using the client from 2012-04-10 properly diffed (with DNS support enabled and WITHOUT "read data folder first" and "read lua before lub"). Furthermore I've got everything packed away in a grf and my data.ini looks like this: [Data] 0=DERPRO.grf 1=data.grf 2=rdata.grf 3=DERPROPAL.grf More specifically the client in question is the one posted here: http://rathena.org/board/topic/70962-recommended-client-setup/ as UNDIFFED + CHANGES. I know the client is reading the clientinfo.xml because it's displaying the <display /> and <balloon /> tags. But it just doesn't seem to find the server. Or maybe the server just seems to be ignoring the client entirely as I don't even get a hint of connection on the login server. The only thing I haven't checked this morning is if the packetver lines up... because I know it does from having checked it before compiling the server! I'm stuck. Any ideas? Thanks in advance for any and all help and suggestions. P.S.: I'll be gone for the next few days to a place without an internet connection, so sorry in advance if I don't reply for a while.
  5. I'm using RagRE2011-04-05a and as the topic title states; my first 8 hairstyles and a couple more after won't change colours. I've checked my palette pack several times over, and I know it's working because other hairstyles within the default range work just fine. I'm wondering if it's a client, or maybe a packet, issue at this point. I've deduced this based on the fact that the first two hairstyles appear to have been swapped when I switched from RagRE2011-11-22a, as well as the fact that in RagRE2011-04-05a, using @hstyle 0 would set the hair back to the default (red "novice" hair), whereas with RagRE2011-04-05a it doesn't appear to produce a sprite (there's literally no head), and @hstyle 1 changes the hairstyle to the blond "Swordsman" style. My server doesn't seem to be spitting back any packet mismatches either, and I switched to 2011-04-05a because it was the last client to support 127 hairstyles. Any suggestions? Edit: I've also tried reverting to a a client which uses packet version 25 and the problem persists. Hmmm, now I'm wondering if the same thing will happen if I change it back to RagRE2011-11-22a... Edit2: Nope, RagRE2011-11-22a works fine. Anyone either have a Hex code to enable 127 hairstyles in newer clients, or a solution to the messed up hairstyles in RagRE-2011-04-05a? Edit3: Solved. The order of the hairstyles was no longer hardcoded after a certain date, however, this hardcoding returned at some point. Using RagRE2011-11-22 I found out the the order the sprites are supposed to be in versus the order they're actually in inside the default grf.For anyone else with this problem; you must switch both the .sprs and the .acts, or else your heads will have incorrect positioning.
×
×
  • Create New...