Jump to content

Rytech

High Council
  • Content Count

    589
  • Joined

  • Last visited

  • Days Won

    89

Posts posted by Rytech


  1. =General
    *The mount command no longer mounts Ranger's on a warg.
    -This command was mat to be used for quickly mounting onto things
    -to make testing earier without needing rental NPC's and only be
    -used by GM's. But since some server's want to allow player's to
    -use it, I had to revisit the code and remove wargs to prevent
    -exploits. Plus its pointless to have wargs in there when Ranger's
    -can just use their skills to summon and mount onto a warg.
    -Its now safe for player use.

    *Fixed a issue where guild emblems didn't appear on guild flags.

    *Paralyze poison now properly reduces movement speed by 50%.

    *Fixed a issue where the Cursed Circle status would not end on
    -targets hit with the skill Push Palm Strike.

    *Fixed a issue where the cursed circle status was not removed from
    -target's that warp/teleport away.


  2. =General
    *mob_skill_db2.txt has been renamed to mob_skill_db_custom.txt.

    *Monster skill databases are now loaded in the following order....
    -mob_skill_db --> mob_skill_db_3ceam --> mob_skill_db_custom.

     


  3. If anyone has any problems after this update, please let me know. Be sure to read the patch notes carefully and backup your server and sql data before doing this update.

     

    =General
    *WARNING!!!!
    -A number of changes were done to the TXT and SQL databases for
    -items and monsters to clear up some confusion. Please read
    -carefully and adjust your files/tables as needed.
    -BACKUP YOUR SERVER AND SQL BEFORE UPDATING!!!!
    -
    -item_db2 had its named changed and is now item_db_custom.
    -mob_db2 had its named changed and is now mob_db_custom.
    -This is to make clear that this file is where to place customs.
    -This applies to both txt versions and the sql table versions.
    -
    -Added item_db_3ceam and mob_db_3ceam SQL tables.
    -Be sure to apply these.
    -
    -The order that item/mob databases are read is changed.
    -For items: item_db --> item_db_3ceam --> item_db_custom.
    -For mobs: mob_db --> mob_db_3ceam --> mob_db_custom.
    -This was done so things added to 3CeAM's database will not
    -override with any customs added.
    -
    -With these changes its strongly recommended SQL users rebuild
    -their item and mob tables. Remember there's now 3 for each one.
    -
    -Finally, this update will break custom entrys reading for flux
    -since it will be looking for item_db2 and mob_db2 which no
    -longer exist. Don't worry about this. ill be working on a
    -updated flux control pannel for 3CeAM soon. It will still
    -read item_db and mob_db.

    =SQL
    *Updated item_db.sql with all changes made in item_db.txt that
    -fixes bugs on supported jobs.

    *Fixed a issue where 3CeAM_svn762 and 3CeAM_svn769 had the wrong
    -file extension.

    *Added 3CeAM_svnr807.
    -This update renames your item_db2 table to item_db_custom and
    -mob_db2 table to mob_db_custom.


  4. You very welcome. Sorry its been a while since the last one. What im trying to do is get the SQL databases updated since flux relies on them for showing item and monster information. The next update will allow me to add the needed changes for 3rd jobs and others to the item_db and also make the new databases changes coming out for r807. Format is not changing, but item_db2 is being changed to item_db_custom and read orders also being changed so to get rid of the confusion.


  5. But every line for every item has 22 columns. The format never changed.

     

    // Items Database
    //
    // Structure of Database:
    // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
    //
    // Healing Items
    //=============================================================
    501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(45,65),0; },{},{}
    502,Orange_Potion,Orange Potion,0,200,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(105,145),0; },{},{}
    503,Yellow_Potion,Yellow Potion,0,550,,130,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(175,235),0; },{},{}
    504,White_Potion,White Potion,0,1200,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(325,405),0; },{},{}
    505,Blue_Potion,Blue Potion,0,5000,,150,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal 0,rand(40,60); },{},{}
    506,Green_Potion,Green Potion,0,40,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_end SC_Poison; sc_end SC_Silence; sc_end SC_Blind; sc_end SC_Confusion; },{},{}


  6. Ran it with the line you said and it did a thing but it didn't add the items. I tried with 2 different item databases files. This is what came out....

     

    #
    # Table structure for table `item_db`
    #
    
    DROP TABLE IF EXISTS `item_db`;
    CREATE TABLE `item_db` (
      `id` smallint(5) unsigned NOT NULL default '0',
      `name_english` varchar(50) NOT NULL default '',
      `name_japanese` varchar(50) NOT NULL default '',
      `type` tinyint(2) unsigned NOT NULL default '0',
      `price_buy` mediumint(10) unsigned default NULL,
      `price_sell` mediumint(10) unsigned default NULL,
      `weight` smallint(5) unsigned NOT NULL default '0',
      `attack` smallint(3) unsigned default NULL,
      `defence` tinyint(3) unsigned default NULL,
      `range` tinyint(2) unsigned default NULL,
      `slots` tinyint(2) unsigned default NULL,
      `equip_jobs` int(12) unsigned default NULL,
      `equip_upper` tinyint(8) unsigned default NULL,
      `equip_genders` tinyint(2) unsigned default NULL,
      `equip_locations` smallint(4) unsigned default NULL,
      `weapon_level` tinyint(2) unsigned default NULL,
      `equip_level` tinyint(3) unsigned default NULL,
      `refineable` tinyint(1) unsigned default NULL,
      `view` smallint(3) unsigned default NULL,
      `script` text,
      `equip_script` text,
      `unequip_script` text,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM;
    

  7. Does anyone know how to properly run the item_db.pl and mob_db.pl scripts that are in the tools folder? I installed and ran them through perl but its not generating the files. My first time doing this and there's no document or info on how to use the scripts. I placed the item_db.txt and mob_db.txt in the same folder the script is in.

     

    This is the script made by eAthena dev's. So it might be different from rAthena and Hercules if they changed it.

     

    #!/usr/bin/perl
    $db = "item_db";
    $nb_columns = 22;
    @str_col = (1,2,19,20,21);
    $line_format = "([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),([^\,]*),(\{.*\}),(\{.*\}),(\{.*\})";
    #$line_format = ;
    $create_table = "#
    # Table structure for table `item_db`
    #
    
    DROP TABLE IF EXISTS `item_db`;
    CREATE TABLE `item_db` (
      `id` smallint(5) unsigned NOT NULL default '0',
      `name_english` varchar(50) NOT NULL default '',
      `name_japanese` varchar(50) NOT NULL default '',
      `type` tinyint(2) unsigned NOT NULL default '0',
      `price_buy` mediumint(10) unsigned default NULL,
      `price_sell` mediumint(10) unsigned default NULL,
      `weight` smallint(5) unsigned NOT NULL default '0',
      `attack` smallint(3) unsigned default NULL,
      `defence` tinyint(3) unsigned default NULL,
      `range` tinyint(2) unsigned default NULL,
      `slots` tinyint(2) unsigned default NULL,
      `equip_jobs` int(12) unsigned default NULL,
      `equip_upper` tinyint(8) unsigned default NULL,
      `equip_genders` tinyint(2) unsigned default NULL,
      `equip_locations` smallint(4) unsigned default NULL,
      `weapon_level` tinyint(2) unsigned default NULL,
      `equip_level` tinyint(3) unsigned default NULL,
      `refineable` tinyint(1) unsigned default NULL,
      `view` smallint(3) unsigned default NULL,
      `script` text,
      `equip_script` text,
      `unequip_script` text,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM;
    ";
    printf("%s\n",$create_table);
    while ($ligne=<STDIN>)
    {
    	if ($ligne =~ /[^\r\n]+/)
    	{
    		$ligne = $&;
    		if ($ligne =~ /^\/\//)
    		{
    			printf("# ");
    			$ligne = substr($ligne, 2);
    		}
    		if ($ligne =~ $line_format) {
    			@champ = ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22);
    		} else {
    			@champ = ();
    		}
    		if ($#champ != $nb_columns - 1)
    		{
    			# Can't parse, it's a real comment
    			printf ("%s\n", $ligne);
    		} else {
    			printf("REPLACE INTO `%s` VALUES (", $db);
    			for ($i=0; $i<$#champ; $i++)
    			{
    				printField($champ[$i],",",$i);
    			}
    			printField($champ[$#champ],");\n",$#champ);
    		}
    	}
    }
    print("\n");
    
    
    sub printField {
    	my ($str, $suffix, $idCol) = @_;
    	# Remove first { and last }
    	if ($str =~ /{.*}/)
    	{
    		$str = substr($&,1,-1);
    	}
    	# If nothing, put NULL
    	if ($str eq "") {
    		printf("NULL%s", $suffix);
    	} else {
    		my $flag = 0;
    		# Search if it's a string column ?
    		foreach $col (@str_col)
    		{
    			if ($col == $idCol)
    			{
    				$flag = 1;
    				break;
    			}
    		}
    		if ($flag == 1)
    		{
    			# String column, so escape and add ''
    			printf("'%s'%s", escape($str), $suffix);
    		} else {
    			# Not a string column
    			printf("%s%s", $str,$suffix);
    		}
    	}
    }
    
    sub escape {
    	my ($str) = @_;
    	my @str_splitted = split("'", $str);
    	my $result = "";
    	for (my $i=0; $i<=$#str_splitted; $i++)
    	{
    		if ($i == 0) {
    			$result = @str_splitted[0];
    		} else {
    			$result = $result."\\'".@str_splitted[$i];
    		}
    	}
    	return $result
    }
    
    

     


  8. Here it is everyone. r805 is here and this time I focused heavily on skills related to affecting MaxHP and Healing. This adds support for a number of new skills and even fixes some long standing issues that been on my todo list. And to top it off the Arch Bishop's alternate outfit access is now enabled which is perfect since they are the masters of buffs and healing. Prepare to start seeing arch bishop players healing in huge amounts.

     

    With a legit build, needed skills and buffs, and a regular +10 recovery staff I could heal myself 33,375 HP. I can only imagine what more experienced players with well made character's can do. Send me screenshots of how much your server's best arch bishops can heal. :)

     

    =General
    *Updated the skill_add_heal_rate config to support Highness Heal.

    *ZC_USE_SKILL2
    *ZC_RECOVERY2
    -Added support for these packets.
    -These packets allow the displaying of higher values through
    -healing. Before the limit displayed was 32767. The new packets
    -can display somewhere over 2 billion, but due to digit display
    -limits in the client, the max displayed is 999999.

    *Access to the Arch Bishop's alternate outfit is now enabled.
    -Be sure to download V1.5 of the dress pack to view the outfit.

    *Fixed a possible issue where the whisper chat may fail to work
    -with clients older then the 2013-12-23.

    *Fixed a issue where the HealPower and HealPower2 item bonus didn't
    -work for Highness Heal.

    *Cleaned up and fixed some issues with the skill_calc_heal function.



    =Skills
    *RK_HUNDREDSPEAR
    *RK_PHANTOMTHRUST
    -Fixed a issue where the error message at the end of casting
    -would be incorrect.

    *AB_HIGHNESSHEAL
    -Fixed a issue where cards and equips that boosted healing power
    -didn't affect the healing of this skill.

    *NC_PILEBUNKER
    -Required pile bunker for skill use is now coded in the source.
    -This allows using the skill while having any of the 4 existing
    -pile bunkers in your inventory. No longer do you have to keep
    -the original one in your inventory to use.

    *NC_EMERGENCYCOOL
    -Required cooling device for skill use is now coded in the source.
    -This allows using the skill while having any of the 3 existing
    -cooling devices in your inventory. Its no longer restricted to
    -the original one.


    *WM_FRIGG_SONG
    *AB_OFFERTORIUM
    *SU_POWEROFSEA
    *SU_TUNABELLY
    -Added support for these skills.

    *SC_FRESHSHRIMP
    -Updated to April 2016 behavior.
    -This increases its healing percentage by 4x.


  9. Noting down what to do before I forget.

     

    *Add remaining sea branch summoner skills.

     

    *Update Fresh Shrimp skill to latest kRO behavior.

    -April 13, 2016 update increased how much it heals.

     

    *Clean up healing code and correct a small flaw in it.

    -Need to prepare for adding some new healing skills.

     

    *Add in support for Offertorium skill.

     

    *Fixed the item bonus that increases healing effectiveness to work with Highness Heal and future heal skills.

     

    *Fix mechanics Pile Bunker skill to work with all of the pile bunker weapons.

    -The requirement should check to see if the player has one of the 4 existing pile bunkers and not just the old one.

     


  10.  

     

    Awwww thank you. That makes me feel good and want to develop even more. I miss doing development for IntenseRO. Everything I did in 3CeAM I got to see in action from others players there and in return I got to have some fun and later collect bug reports to fix things in 3CeAM. Sadly the server is pretty much dead now. Need to find a new home to work in.

     

    I have a good understanding on why Herc still doesn't properly support the 2015 clients. The 2015-05-13 is supported but the 2015-10-29 came with a change in the chat packet where the zero byte that used to be at the end of each message was removed. So the function clif_process_message in clif.c thought of this as a forged packet and rejects it. I added some code to it to fix the issue a while back which took 3 or 4 updates.

     

    Dastgir and Jedzkie tried to merge the update in Hercules since clif_process_message is the same in Herc, but it refuses to compile when they do which is part of why the support is not yet added. None of us understood the compile error message. One of them said it might be best to just recode the entire chat system which could take a long time. But thats not the only thing delaying the support and best not to get into it.

     

    As for 2016 client support, I added support for the 2016-03-23bRagexe recently but its just for development purposes only since I don't plan on releasing the client due to differences being small and a number of Nemo's patches fail on it.

×
×
  • Create New...

Important Information

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