Jump to content

Akinari

Members
  • Posts

    247
  • Joined

  • Last visited

  • Days Won

    18

Everything posted by Akinari

  1. Here's an update on the progress of this. It's turning out to be more than originally planned, but I think it will be a well accepted addition. Base system implemented [Completed] Account bound item checks [Completed] Guild bound system [Completed] <- Early thanks for Lighta for the help on this Party bound system [Completed] Script command additions [Completed] Additional modifications (@ command mods, ???) [Completed] The base system serves the function of grabbing the item data information from the SQL table and the conditionals within each of the trade, drop, and store functions. Many thanks to Xantara for providing the first diff for me to get started. Bound items are considered unique and will behave like so within the server and client, this means that you can create stackable bound items without issues (hopefully). Cards obviously wouldn't be recommended as they no longer hold bound information after being added to slots. The base system includes the permissions override function for bound items. The account bound items are able to be stored in regular storage and cart. They cannot be sold, traded, put into guild storage, mailed, vended, or auctioned without proper permissions. Not much else is needed to be said about these as they're quite straightforward. Guild bound items are able to only be stored in guild storage and traded to other guild members of the same guild. These items are unique and with a fully implemented system will allow for a wide variety of uses to guilds, being able to create, or modify current items to be guild bound. What makes guild bound items so neat is the fact that they will never be lost to members of a guild that leave or are expelled. On secession of expulsion, these items leave the player inventory and are automatically placed into the guild storage for instant retrieval. On guild break, the items within the guild master's inventory are automatically reverted to normal items. Currently the only portion of this system that isn't done is the retrieval of items from offline characters that are expelled. Party bound items are meant to be for temporary use (ie: a powerful weapon for an instance or event). These items will be of much more use in scripting with the addition of party script commands. They can only be traded to other party members, with no method of storage or vending allowed. Party bound items are never automatically transferred. Instead, these items are deleted whenever a player leaves the party or the party is deleted. Script command additions will allow the creation of normal items without extra parameters, like getitem, and a more advanced used, like getitem2. There will also be an addition to getinventorylist to include bound item data so there will be at least 1 method to check for bound items within scripts. I think that about sums up what's going on with this. If you have any thoughts, don't hesitate to let me know what's on your mind. Thanks for taking the time to read. Edit: Updated progress. Should be able to release in a day or two.
  2. Lighta and I were discussing this and I've decided to take up this project. We are talking about expanding to include the guild bound items as well. I will keep you informed of progress. I am starting to work on this now.
  3. Replies can be posted here: http://rathena.org/board/topic/91431-re-script-commands-additionsupdates/ This topic serves the purpose of informing everyone of new and updated script commands. This topic will not include updates to the scripting system (commits posted here might contain some though). Command: addrid Bug Report or Suggestion - Topic #84892 Revision Added/Updated - 6572a9f Notes - Added addrid command for management of attaching more RIDs. Command: party* commands Bug Report or Suggestion - Topic #82922 Revision Added/Updated - r17414 & r17415 Notes - Added party related script commands for party management. Command: countbound Bug Report or Suggestion - Topic #70372 Revision Added/Updated - r17351 Notes - Counts number of bounded items on a character. Also builds a list using @bound_items. Command: getitembound and getitembound2 Bug Report or Suggestion - Topic #70372 Revision Added/Updated - r17351 Notes - Gives a character a bounded item. Command: getequipisidentify Bug Report or Suggestion - N/A Revision Added/Updated - r17341 Notes - Command removed because it was useless. Command: addmonsterdrop and delmonsterdrop Bug Report or Suggestion - N/A Revision Added/Updated - r17326 Notes - Temporarily add or delete drops from mobs. Will be overwritten on server restart or mob db reload. Check script_commands.txt documentation for usage. Command: sc_start# Bug Report or Suggestion - bugreport:7664 Revision Added/Updated - r17326 Notes - sc_start in scripting now offers much more versatility. Check script_commands.txt documentation for more information. Command: recovery Bug Report or Suggestion -Topic #82374 Revision Added/Updated - r17321 Notes - Recovery command now allows for a multitude of healing options. Check script_commands.txt documentation for more information. Command: unitwalk Bug Report or Suggestion - bugreport:7626 Revision Added/Updated - r17311 Notes - Command was updated from a non-working state. Undocumented changes can be looked up in GitHub commit history.
  4. There is a diff for this. Link: http://rathena.org/board/files/file/2669-client-2012-04-10/ As well as a source mod. Link: http://rathena.org/board/files/file/2548-fix-to-auto-close-on-wrong-passwordid-for-new-clients/
  5. This was discussed and fixed in bugreport:7509. Other bugs were also fixed. Marking as implemented.
  6. I've been pondering the usefulness of such commands and decided I'd throw my ideas out here and see what you guys have to say. My thoughts are that we should have party script commands such as, createparty, addpartymember, delpartymember, delparty, and maybe some later ones that can fully manage parties from a script. With a little creativity, I think these commands could become powerful additions to scripts for purposes such as: Events Instances (Allow adding members without party leader sending invite) Random party making NPCs for any purpose Those are some of the ideas I had for such commands. I was even thinking that if this was an accepted idea, it could be expanded later to merge parties, split parties, shuffle 2 parties, and really cool (how I feel about it) stuff like that. What are your thoughts?
  7. This should have been fixed in r17327. Link: http://sourceforge.net/p/rathena/svn/17327/
  8. Implemented in r17321. Should be easier to understand in this format.
  9. Added revive flag as per your suggestion. Looking into optional map string for guild and party now. Might have to move some stuff around. Edit: Going to make a bitwise flag for it. * <revive_flag> : (Add together flags to specify how you want to heal) * : 1 => Revive and Recover * : 2 => Only Full Heal * : 4 => Only Revive * : 8 => Party/Guild Map Only (must specify argument 5) *-------------------------------------------------------------------------*/ Here's the result in script_commands documentation. Let me know what you think. Edit: Changing some more stuff around. I was informed this was too confusing. Going with ID's for arguments rather than names.
  10. I've started working on this. I've made an outline on what else I'd like to add. /*========================================================================= * Fully Recover a Character's HP/SP * recovery <target>,<string>,<revive_flag>; [Capuche] * <target> : * 0 - Character * 1 - Character Party * 2 - Character Guild * 3 - Map (Character on map) * 4 - All Characters * <string> : * <target> : 0-2 => Character's name * <target> : 3 => Map's name (player attached map's name by default) * <revive_flag> : * : 0 => Don't revive dead players * : 1 => Revive dead players *-------------------------------------------------------------------------*/
  11. Linking to a bug report filed on this topic. http://rathena.org/board/tracker/issue-6206-getmapxy-mob-support/?catfilter=2
  12. You're missing this portion of your patch in pc.h. =================================================================== --- src/map/pc.h (revision 16365) +++ src/map/pc.h (working copy) @@ -144,6 +144,7 @@ unsigned int prevend : 1;//used to flag wheather you've spent 40sp to open the vending or not. unsigned int warping : 1;//states whether you're in the middle of a warp processing } state; + int cmdtick; //[Ind/ro-resources.net] rA Port by [LJA] Lord Jhedzkie - common tick for delay purposes. struct { unsigned char no_weapon_damage, no_magic_damage, no_misc_damage; unsigned int restart_full_recover : 1;
  13. I know this is script support, but I thought I'd put in a different fix for this issue. It's a source fix. pc.c in int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y, clr_type clrtype) FIND m = map_mapindex2mapid(mapindex); ADD AFTER if (map[m].flag.gvg && pc_get_group_level(sd) > 0) return 1; Replace "0" with any number where you want the GM level to restrict GVG access. For instance, if group level restricted 5 and above: pc_get_group_level(sd) > 4 Just suggesting another option.
  14. 275 downloads

    Features: Exchange all of a type (Zeny -> Coins) or (Coins -> Zeny) with one user action Provides fail-safe configuration Users see everything that has been exchanged and how much they've exchanged for without unnecessary click actions Requires no script modification if you choose to change the configs Configuration: OnInit: //bronze, silver, gold, mithril, platinum setarray .selections$[0],"Bronze","Silver","Gold","Mithril","Platinum"; setarray .prices[0],10000,100000,1000000,100000000,1000000000; setarray .items[0],673,675,671,674,677; .arraysize = getarraysize(.items); if(.arraysize != getarraysize(.prices)) { //These 2 arrays should be same size debugmes "Array size for coins: "+.arraysize+" does not match size of price: "+getarraysize(.prices); .arraysize = 0; } else if(.arraysize != getarraysize(.selections$)) { //These 2 arrays should be same size debugmes "Array size for coins: "+.arraysize+" does not match size of selections: "+getarraysize(.selections$); .arraysize = 0; } end;
    Free
  15. File Name: Single Action Coin Exchanger File Submitter: Akinari File Submitted: 13 Apr 2013 File Category: Utilities Content Author: Akinari Features: Exchange all of a type (Zeny -> Coins) or (Coins -> Zeny) with one user action Provides fail-safe configuration Users see everything that has been exchanged and how much they've exchanged for without unnecessary click actions Requires no script modification if you choose to change the configs Configuration: OnInit: //bronze, silver, gold, mithril, platinum setarray .selections$[0],"Bronze","Silver","Gold","Mithril","Platinum"; setarray .prices[0],10000,100000,1000000,100000000,1000000000; setarray .items[0],673,675,671,674,677; .arraysize = getarraysize(.items); if(.arraysize != getarraysize(.prices)) { //These 2 arrays should be same size debugmes "Array size for coins: "+.arraysize+" does not match size of price: "+getarraysize(.prices); .arraysize = 0; } else if(.arraysize != getarraysize(.selections$)) { //These 2 arrays should be same size debugmes "Array size for coins: "+.arraysize+" does not match size of selections: "+getarraysize(.selections$); .arraysize = 0; } end; Click here to download this file
  16. I have seen reports of this occurring with the new unique item id system. Is your MAX_STORAGE value set over 1000?
  17. I'm reviving this topic because this is still an issue. I know it's a server-side issue because no other client fixes the problem. Has anyone gotten farther on what this is? Anyone know of a way to disable skill cooldown saving on logout? Maybe that will fix it.
  18. I recently made an NPC that will take most of the hassle out of dealing with guild packages while providing your players with an option to choose their own guild packages through a points system. Features: 5 options available to make for easy configuration including logging (NPC logmes), special menus, and browsing guilds After initial setup, just follow the NPC's instructions to easily give or remove guild package points Browsing guilds option allows for easy viewing of all guilds and points with menu pages (Not recommended for large servers) Setup is as simple as (ItemID,Cost) array on NPC initialization Automatic SQL table alteration on first NPC initialization (must be done) Some credits go to Toasty for the menu pages function I modified for the guild browsing option. Comments/Questions/Suggestions welcome. You may modify or use any of this script as you please without any limitations. guildpack.txt
  19. Made a few fixes to Mora Enchants with the Empowered Staves. Did not work before. Removed the quests from first post as they are no longer needed with recent revisions. Also fixed Misty Forest's quests to not include an unnecessary quest which in new revisions causes an annoying error. @vpapa I haven't had any issues with the instance, but then again, I haven't spent much time after initial release really testing it out. I was hoping someone else would pick up the project and clean up much of these scripts along with making them more like official servers. @Euphy According to your Script Tasks post you have written "Confirm with all users if they're willing to have their scripts added to the SVN.". If this includes me, you're more than welcome to modify or release any part of these scripts.
  20. Well it's not about what I think will work necessarily. I don't fully understand what you're aiming to do with this addition. I posted that modification because your first post contained SQL queries which were getting information from character IDs. But you say you want it account based, so that modification really isn't valid. Like I said, making your script use account (#) variables and then pulling from global_reg_table using account ID would probably be easiest.
  21. If you're looking to do an account variable, I suggest using a normal #variable which will update it normally. If you want to add another account variable that's stored within the login table, it's a much more in-depth process from my experience as you would need to pull up the information and store it into the session data using RFIFO and calling it across the servers with WFIFO. That's why using a normal #variable for what you need will probably be your best method, then pulling that information up from the SQL in the global_reg_value table.
  22. It's not necessarily hard to add another char status variable in the source. This might help you with the updating part, and use less queries overall as this method will make your current, OnLogout script void. Untested but should work. You should take the time to make sure it functions as intended. Also, this pulls from char table, so if you do go this route, you'll need to transfer your current bank balance to the char table in the SQL in a new 'bankbalance' collumn.
×
×
  • Create New...