Jump to content

How To Synchronize skill_proto ( Server <> Client )


Recommended Posts

  • Moderator

M2 Download Center

Download Here ( Internal )

8ef68592c3f5627a244b93f55d67b440.png

 

As the title says, here's how you can synchronize your skill_table from client with skill_proto from server.

[1]. First of all we've to rewrite the enum part of tokens (which is used in CPythonSkill::RegisterSkillTable), that means we change the order of index-tab-line with a new order, because ymir didn't used all columns. In that way we keep the file much cleaner and just with necessary columns (9 columns instead of 27).

Spoiler



// Not used
TABLE_TOKEN_TYPE_NAME
TABLE_TOKEN_TYPE_TYPE
TABLE_TOKEN_TYPE_LEVEL_STEP
TABLE_TOKEN_TYPE_POINT_ON
TABLE_TOKEN_TYPE_MASTER_BONUS_POLY
TABLE_TOKEN_TYPE_ATTACK_GRADE_POLY
TABLE_TOKEN_TYPE_FLAG
TABLE_TOKEN_TYPE_AFFECT_FLAG
TABLE_TOKEN_TYPE_POINT_ON2
TABLE_TOKEN_TYPE_POINT_POLY2
TABLE_TOKEN_TYPE_DURATION_POLY2
TABLE_TOKEN_TYPE_AFFECT_FLAG2
TABLE_TOKEN_TYPE_PREREQUISITE_SKILL_VNUM
TABLE_TOKEN_TYPE_PREREQUISITE_SKILL_LEVEL
TABLE_TOKEN_TYPE_SKILL_TYPE
TABLE_TOKEN_TYPE_MAX_HIT
TABLE_TOKEN_TYPE_SPLASH_AROUND_DAMAGE_ADJUST_POLY
TABLE_TOKEN_TYPE_SPLASH_RANGE

 


Srcs/Client/UserInterface/PythonSkill.h

Search for the next enum:

Spoiler



		enum ESkillTableTokenType
		{
			[...]
		};

 

Replace it with:

Spoiler



#ifdef ENABLE_SKILL_TABLE_RENEW
		enum ESkillTableTokenType
		{
			TABLE_TOKEN_TYPE_VNUM,
			TABLE_TOKEN_TYPE_MAX_LEVEL,
			TABLE_TOKEN_TYPE_LEVEL_LIMIT,
			TABLE_TOKEN_TYPE_POINT_POLY,
			TABLE_TOKEN_TYPE_SP_COST_POLY,
			TABLE_TOKEN_TYPE_DURATION_POLY,
			TABLE_TOKEN_TYPE_DURATION_SP_COST_POLY,
			TABLE_TOKEN_TYPE_COOLDOWN_POLY,
			TABLE_TOKEN_TYPE_TARGET_RANGE,
			TABLE_TOKEN_TYPE_MAX_NUM,
		};
#else
		enum ESkillTableTokenType
		{
			TABLE_TOKEN_TYPE_VNUM,
			TABLE_TOKEN_TYPE_NAME,
			TABLE_TOKEN_TYPE_TYPE,
			TABLE_TOKEN_TYPE_LEVEL_STEP,
			TABLE_TOKEN_TYPE_MAX_LEVEL,
			TABLE_TOKEN_TYPE_LEVEL_LIMIT,
			TABLE_TOKEN_TYPE_POINT_ON,
			TABLE_TOKEN_TYPE_POINT_POLY,
			TABLE_TOKEN_TYPE_SP_COST_POLY,
			TABLE_TOKEN_TYPE_DURATION_POLY,
			TABLE_TOKEN_TYPE_DURATION_SP_COST_POLY,
			TABLE_TOKEN_TYPE_COOLDOWN_POLY,
			TABLE_TOKEN_TYPE_MASTER_BONUS_POLY,
			TABLE_TOKEN_TYPE_ATTACK_GRADE_POLY,
			TABLE_TOKEN_TYPE_FLAG,
			TABLE_TOKEN_TYPE_AFFECT_FLAG,
			TABLE_TOKEN_TYPE_POINT_ON2,
			TABLE_TOKEN_TYPE_POINT_POLY2,
			TABLE_TOKEN_TYPE_DURATION_POLY2,
			TABLE_TOKEN_TYPE_AFFECT_FLAG2,
			TABLE_TOKEN_TYPE_PREREQUISITE_SKILL_VNUM,
			TABLE_TOKEN_TYPE_PREREQUISITE_SKILL_LEVEL,
			TABLE_TOKEN_TYPE_SKILL_TYPE,
			TABLE_TOKEN_TYPE_MAX_HIT,
			TABLE_TOKEN_TYPE_SPLASH_AROUND_DAMAGE_ADJUST_POLY,
			TABLE_TOKEN_TYPE_TARGET_RANGE,
			TABLE_TOKEN_TYPE_SPLASH_RANGE,
			TABLE_TOKEN_TYPE_MAX_NUM,
		};
#endif

 

Srcs/Client/UserInterface/Locale_Inc.h

Spoiler



#define ENABLE_SKILL_TABLE_RENEW // Enable synchronization skill_proto -> skilltable

 

 

[2]. Compile the source client again.

[3]. Open Navicat (preferably the latest versions) and do the following things:

  • Open player table
  • Export Wizard -> Mark skill_proto -> Export to ../location/skilltable.txt
  • Export format -> *.txt
  • Unmark All fields then Unselect All
  • Select available fields: -> dwVnum bMaxLevel bLevelLimit szPointPoly szSPCostPoly szDurationPoly szDuration SPCostPoly szCooldownPoly dwTargetRange
  • Unmark: Include column titles
  • Text Qualifier: None
  • Copy the skilltable.txt from Desktop to ../locale/en/

 

HOW-TO - VIDEO

Hidden Content

    Give reaction to this post to see the hidden content.

 

 

Thanks to @Syreldar for the idea.

 

Edited by VegaS™
  • Metin2 Dev 1
  • Love 35
  • Good 2
  • Scream 1
Link to post
  • 3 weeks later...
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



Shoutbox

Shoutbox

Chatroom Rules

 

Join our Discord

A request for help = Shoutbox Ban

Be respectful & Respect the rules

 

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.