Jump to content

Question

Posted

Hello,

 

I am using vang's pack and I want to create an NPC that can set the player level, for example level 10,15,66, etc.

Could anyone tell me the command in ai.obj that can do that? There is a bypass in html but only works to delevel not to level up.

4 answers to this question

Recommended Posts

  • 0
Posted (edited)

I'm not familiar with Vang's pack so don't know if there is a bypass or other command that does it.

 

You could use the native 

myself.IncrementParam(talker, @PARAM_EXP, 123456789);

This WILL show the level up animation to the player and everyone around them as it is the normal "give player some exp" command which quest NPC's use for rewards, etc.

 

If you are not able to find an EXP table (X Level = Y EXP) you can always log in with the appropriate rights and run "//setparam level X" on yourself.

Doing this obviously changes your characters level but also stores the new levels EXP value (completely readable) in the database immediately.

 

Notes:

1.

The param value takes a SIGNED INT32 so you can use negative numbers to subtract a params value.

 

2.

When you decompile the AI, you'll most likely see an int as the second argument.

@PARAM_ is a shortcut you can use while compiling. The compiler turns it into the native int.

 

Here is a list the params that can be incremented:

 

[PARAM_EXP]=0

[PARAM_SP]=1
[PARAM_INT]=2
[PARAM_STR]=3
[PARAM_CON]=4
[PARAM_MEN]=5
[PARAM_DEX]=6
[PARAM_WIT]=7
[PARAM_LEVEL]=8
[PARAM_PKCOUNT]=9
 

( Credits: FidoW )

 
/// EDIT: ///
Just noticed you should be able to increment the level directly according to the above list (though i haven't tried it myself).
 
So do something like:
// !!! Disclaimer !!!
// The below was written on a Mac in SublimeText and is completely
// not syntactically accurate or tested.
// :D

if (talker.level == desiredLevel)
{
	return;
}
else
{
	if (desiredLevel > talker.level)
	{
		myself.IncrementParam(talker, @PARAM_LEVEL, desiredLevel - talker.level);
	}
	else
	{
		myself.IncrementParam(talker, @PARAM_LEVEL, (talker.level - desiredLevel) * -1);
                                                             // * -1 to NEGATIVELY "increment" the
							     // players current level.
	}
}
Let me know if it works! :P
Edited by tk422
  • 0
Posted

 

I'm not familiar with Vang's pack so don't know if there is a bypass or other command that does it.

 

You could use the native 

myself.IncrementParam(talker, @PARAM_EXP, 123456789);

This WILL show the level up animation to the player and everyone around them as it is the normal "give player some exp" command which quest NPC's use for rewards, etc.

 

If you are not able to find an EXP table (X Level = Y EXP) you can always log in with the appropriate rights and run "//setparam level X" on yourself.

Doing this obviously changes your characters level but also stores the new levels EXP value (completely readable) in the database immediately.

 

Notes:

1.

The param value takes a SIGNED INT32 so you can use negative numbers to subtract a params value.

 

2.

When you decompile the AI, you'll most likely see an int as the second argument.

@PARAM_ is a shortcut you can use while compiling. The compiler turns it into the native int.

 

Here is a list the params that can be incremented:

 

[PARAM_EXP]=0

[PARAM_SP]=1
[PARAM_INT]=2
[PARAM_STR]=3
[PARAM_CON]=4
[PARAM_MEN]=5
[PARAM_DEX]=6
[PARAM_WIT]=7
[PARAM_LEVEL]=8
[PARAM_PKCOUNT]=9
 

( Credits: FidoW )

 
/// EDIT: ///
Just noticed you should be able to increment the level directly according to the above list (though i haven't tried it myself).
 
So do something like:
// !!! Disclaimer !!!
// The below was written on a Mac in SublimeText and is completely
// not syntactically accurate or tested.
// :D

if (talker.level == desiredLevel)
{
	return;
}
else
{
	if (desiredLevel > talker.level)
	{
		myself.IncrementParam(talker, @PARAM_LEVEL, desiredLevel - talker.level);
	}
	else
	{
		myself.IncrementParam(talker, @PARAM_LEVEL, (talker.level - desiredLevel) * -1);
                                                             // * -1 to NEGATIVELY "increment" the
							     // players current level.
	}
}
Let me know if it works! :P

 

works :)

  • 0
Posted (edited)
For AutolLearn, this is defined in your servers Scripts/SKillAquire.txt.

- Find the skill you want then set the auto_get param to true.

- If you just want to add the correct skills to your test character target them and type //setskillall.

- I don't think there is an official "Give character all of their skills" AI function or bypass.

 

Interesting about levels not sticking...

 

Idea: (Not tested!)

- Set the character to their desired level via IncrementParam and using some maths.

- Call IncrementParam and increase their exp by one point.

- Call IncrementParam and increase their exp by negative one point.

- See if it sticks.

 

If this doesn't work then the following absolutely will:

- Call IncrementParam with negative 2 bil 5 times.

- Call IncrementParam with the respective EXP amount for their desired level.

 

Notes:

- As far as i know you cannot get a characters current EXP value with AI. THANKS Obama...

- Since IncrementParam takes a SIGNED INT32 the largest number you can give it is 2.1bil however level 80 in Interlude is 4.2 bil.

   So removing 10 bil total EXP virtually guarantees all exp will be removed for any realistic character who ever uses your NPC.

- EXP is handled in the server and DB as A UINT64 and there is an overflow check so it can't wrap or go negative.

- If your goal is to set a character's level to a level that has more than 2.1bil exp you again have to do some simple maths.

Edited by tk422
Guest
This topic is now closed to further replies.


  • Posts

    • try this one instead. The one he shared affects every single NPC/player character in the game, the one I posted only affects player characters  https://drive.google.com/file/d/1UtccbD9e50x3WEnQBab2PTZnBHwpcGYM/view?usp=sharing or perhaps i misunderstood; if you could please post a full explanation of the problem you're having with the files, unfortunately i think whatever you're using to translate to english is a bit bad nevermind, i got what you mean, here's the fix   https://drive.google.com/file/d/1av7OHaGSdnVQtcBgb9MhtiIkxVXy3P2y/view?usp=sharing   CanIngnoreCollision=True CanBeIngnoredCollision=True  
    • <dailyReward days="28" autoOpen="true" minimumOnlineTimeSeconds="30" oneRewardPerIP="true" resetIfMissDay="true">   For now, I have these settings in the XML—this is the V1 version I created, though I plan to make further improvements over time. Of course, I’ll also add more protections—MAC, HWID, and perhaps others like account-based restrictions—to make it more secure. We can also implement non-tradable items to further enhance the system's security. I’ll keep posting updates and refining both the system and the interface. I might make a video tomorrow; if you look at the top, you'll see the "auto-open" feature can be toggled on or off, allowing users to rely solely on the `.daily` command. Cheers! Note: If I sell it in this state, I’ll provide support and roll out updates to users. I’m not forcing anyone to buy anything; I’d even provide the patch files so that anyone with the necessary skills can add features, modify it, or improve it further.
    • If the problem is that the target is lost, the action of aiming at another character, upon losing collision, does not allow aiming.   This one works as it should, allowing you to target characters
    • MICROTEXT AND WATERMARKS BREAK MOST RENDERINGS Microtext and watermarks aren’t just small decorative details. They are one of the most common reasons a document fails verification, even when it looks decent at first glance. The issue is that these elements are almost impossible to reproduce “by eye.” Microtext requires precise geometry and legibility at a very small size, while a watermark needs the correct density, transparency, and accurate placement relative to other security features. Any deviation becomes obvious during detailed inspection. ▪ What’s most often done wrong: - microtext is drawn too thick or blurry - the watermark is made either too visible or almost invisible - the positioning between microtext and watermark is ignored - the original printing technology isn’t taken into account when choosing density and shape - The stronger the document’s security features, the less room there is for approximation. What matters here isn’t visual similarity, but accurate reproduction of the original technical characteristics. If your document contains microtext and watermarks, this is always an area that requires extra attention. Write to us in DMs. We’ll review your case and point out exactly which details need the highest precision during rendering. › TG: @mustang_service_ms ( https:// t.me/ mustang_service_ms ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #drawing #microtext #photoshop #editing #watermarks
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and 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..