Jump to content
  • Create New...
  • 0

Refine_proto c++



2 answers to this question

Recommended Posts

  • 0
  • Moderator

That's right, the default code is crap for this scenario with extended requirements.

If you add a value to vnum4 and count4, the refining will not work anymore for that ID, the required items will be ignored, you can upgrade the item without any requirements.



		for (int i = 0; i < REFINE_MATERIAL_MAX_NUM; i++)
			str_to_number(prt->materials[i].vnum, data[col++]);
			str_to_number(prt->materials[i].count, data[col++]);
			if (prt->materials[i].vnum == 0)
				prt->material_count = i;



Basically what they did is to set the material count just when the next column of 'vnum' is empty.

Let's take two examples:

  • 8e69bfc2bfec13c8291740c42fe083bb.png

The refine proto id 430, will have material_count = 1, because the next column 'vnum1' is empty and the condition was fulfilled.


  • 7d6ff47a0a963314511a74fc2619fc12.png

The refine proto id 510, will have material_count = 0, because there's no column 'vnum' which is equal to 0.

That means it doesn't satisfy that condition where it sets the material count.


The solution is:

Hidden Content

    Give reaction to this post to see the hidden content.


Edited by VegaS™
  • Metin2 Dev 20
  • Love 11
  • Love 3
  • Good 3
  • Confused 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

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.