• 0
Lulupard

Lower level requirement for merchant carts

Question

Posted (edited)

Hello!

 

Is it possible to allow all merchant classes to use carts intended for mechanics and genetics?

 

Lowering the levels in clif.c does nothing:

 

#ifdef NEW_CARTS
		(type == 9 && sd->status.base_level > 130) ||
		(type == 8 && sd->status.base_level > 120) ||
		(type == 7 && sd->status.base_level > 110) ||
		(type == 6 && sd->status.base_level > 100) ||
#endif
		(type == 5 && sd->status.base_level >  90) ||
		(type == 4 && sd->status.base_level >  80) ||
		(type == 3 && sd->status.base_level >  65) ||
		(type == 2 && sd->status.base_level >  40) ||
		(type == 1))

 

Is this hardcoded in the client?

 

Thank you.

Edited by Lulupard

Share this post


Link to post
Share on other sites

13 answers to this question

  • 0

Extremely sorry, didn't see the function before, it seems the cart shown is restricted by client and we just validate it to make sure the packet wasn't modified.

Workaround: You could use setcart scriptcommand

Share this post


Link to post
Share on other sites
  • 0

New carts require client 20120201 or higher, it does not matter if you are running renewal or pre re, whereas for cart decoration feature, you need client >= 20150805

Share this post


Link to post
Share on other sites
  • 0

Posted (edited)

New carts require client 20120201 or higher, it does not matter if you are running renewal or pre re, whereas for cart decoration feature, you need client >= 20150805

 

I have client 2015-09-16. To clarify, cart decoration is working. I was talking about carts intended for mechanics and genetics on levels 100+.

 

My question should probably have been: How to lower level requirement for merchant carts?

Edited by Lulupard

Share this post


Link to post
Share on other sites
  • 0

Hello!

 

Is it possible to allow all merchant classes to use carts intended for mechanics and genetics?

 

Lowering the levels in clif.c does nothing:

 

#ifdef NEW_CARTS
		(type == 9 && sd->status.base_level > 130) ||
		(type == 8 && sd->status.base_level > 120) ||
		(type == 7 && sd->status.base_level > 110) ||
		(type == 6 && sd->status.base_level > 100) ||
#endif
		(type == 5 && sd->status.base_level >  90) ||
		(type == 4 && sd->status.base_level >  80) ||
		(type == 3 && sd->status.base_level >  65) ||
		(type == 2 && sd->status.base_level >  40) ||
		(type == 1))

 

Is this hardcoded in the client?

 

Thank you.

I want to implement this also, but i cant seem to make it work also. 

Share this post


Link to post
Share on other sites
  • 0

Didn't lowering those value work? Tried lowering that? If it doesn't work, please explain what exactly is not working..

Share this post


Link to post
Share on other sites
  • 0

Hello!

 

Is it possible to allow all merchant classes to use carts intended for mechanics and genetics?

 

Lowering the levels in clif.c does nothing:

 

#ifdef NEW_CARTS
		(type == 9 && sd->status.base_level > 130) ||
		(type == 8 && sd->status.base_level > 120) ||
		(type == 7 && sd->status.base_level > 110) ||
		(type == 6 && sd->status.base_level > 100) ||
#endif
		(type == 5 && sd->status.base_level >  90) ||
		(type == 4 && sd->status.base_level >  80) ||
		(type == 3 && sd->status.base_level >  65) ||
		(type == 2 && sd->status.base_level >  40) ||
		(type == 1))

 

Is this hardcoded in the client?

 

Thank you.

Try lowering that.

Share this post


Link to post
Share on other sites
  • 0

Posted (edited)

Didn't lowering those value work? Tried lowering that? If it doesn't work, please explain what exactly is not working..

 

 

 

Hello!

 

Is it possible to allow all merchant classes to use carts intended for mechanics and genetics?

 

Lowering the levels in clif.c does nothing:

 

#ifdef NEW_CARTS
		(type == 9 && sd->status.base_level > 130) ||
		(type == 8 && sd->status.base_level > 120) ||
		(type == 7 && sd->status.base_level > 110) ||
		(type == 6 && sd->status.base_level > 100) ||
#endif
		(type == 5 && sd->status.base_level >  90) ||
		(type == 4 && sd->status.base_level >  80) ||
		(type == 3 && sd->status.base_level >  65) ||
		(type == 2 && sd->status.base_level >  40) ||
		(type == 1))

 

Is this hardcoded in the client?

 

Thank you.

Try lowering that.

 

I did lower them and recompiled. When using the Change cart skill, the carts in the window that appears were still tied to old level requirements.

 

So, for example, after changing (type == 2 && sd->status.base_level > 40) to (type == 2 && sd->status.base_level > 20) and using the Change cart skill with a 30 level character, only 1 cart option appeared.

 

I am not even sure this code has anything to do with the carts that show up in the client and I probably got everyone confused. Really sorry if that is the case.

Edited by Lulupard

Share this post


Link to post
Share on other sites
  • 0

 

Didn't lowering those value work? Tried lowering that? If it doesn't work, please explain what exactly is not working..

 

 

Hello!

 

Is it possible to allow all merchant classes to use carts intended for mechanics and genetics?

 

Lowering the levels in clif.c does nothing:

 

#ifdef NEW_CARTS
		(type == 9 && sd->status.base_level > 130) ||
		(type == 8 && sd->status.base_level > 120) ||
		(type == 7 && sd->status.base_level > 110) ||
		(type == 6 && sd->status.base_level > 100) ||
#endif
		(type == 5 && sd->status.base_level >  90) ||
		(type == 4 && sd->status.base_level >  80) ||
		(type == 3 && sd->status.base_level >  65) ||
		(type == 2 && sd->status.base_level >  40) ||
		(type == 1))

 

Is this hardcoded in the client?

 

Thank you.

Try lowering that.

 

I did lower them and recompiled. When using the Change cart skill, the carts in the window that appears were still tied to old level requirements.

 

So, for example, after changing (type == 2 && sd->status.base_level > 40) to (type == 2 && sd->status.base_level > 20) and using the Change cart skill with a 30 level character, only 1 cart option appeared.

 

I am not even sure this code has anything to do with the carts that show up in the client and I probably got everyone confused. Really sorry if that is the case.

 

same goes with me. But when I change the level of the merchant to 100 and above, new carts are shown? any idea how we can enable it on merchants below 100?

Share this post


Link to post
Share on other sites
  • 0

Extremely sorry, didn't see the function before, it seems the cart shown is restricted by client and we just validate it to make sure the packet wasn't modified.

Workaround: You could use setcart scriptcommand

 

Got it, thank you! Will try that.

Share this post


Link to post
Share on other sites
  • 0

Does anyone have an answer to this? I've also tried lowering the values(130,120,110,100) to 98 but new carts do not show in the list. I am running a pre-renewal server btw and using 2014-10-22 as my client.

Share this post


Link to post
Share on other sites
  • 0

the LVL Caps of the cart are hardcoded into the exe you need to hex your exe and change the lvl 

Share this post


Link to post
Share on other sites
  • 0
On 7/5/2017 at 0:46 AM, ossi0110 said:

the LVL Caps of the cart are hardcoded into the exe you need to hex your exe and change the lvl 

Hi. Do you mean manually? If so, how do I do it? I haven't really tried hexing a client manually, I only use NEMO.

Share this post


Link to post
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