Jump to content
  • 0
Sign in to follow this  
ThyroDree

Freebies but not NPC

Question

Can someone give me script of Item or Box Item Gives Freebies Like

 

 

If i Open "Freebies Box"

 

 

You'll get the ff. :

1 Valkyrie Armor 

1 Valkyrie Shoes  
1 Valkyrie Manteau  
1 Valkyrie Shield  

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

You can use the following... (you can also check doc/script_commands.txt)

 

getitem

*getitem <item id>,<amount>{,<account ID>};
*getitem "<item name>",<amount>{,<account ID>};

This command will give a specific amount of specified items to the target
character. If the character is not online, nothing will happen.
If <account ID> is not specified, items will be created in the invoking
character inventory instead.

In the first and most commonly used version of this command, items are
referred to by their database ID number found in 'db/(pre-)re/item_db.txt'.

 getitem 502,10 // The person will receive 10 apples
 getitem 617,1  // The person will receive 1 Old Violet Box

Giving an item ID of -1 will give a specified number of random items from
the list of those that fall out of Old Blue Box. Unlike in all other
cases, these will be unidentified, if they turn out to be equipment. This
is exactly what's written in the Old Blue Box's item script.

Other negative IDs also correspond to other random item generating item
tables:

Giving an item ID of -2 will produce the effects of Old Violet Box.
Giving an item ID of -3 will produce the effects of Old Card Album.
Giving an item ID of -4 will produce the effects of Gift Box.
Giving an item ID of -5 will produce the effects of Worn Out Scroll,
which, in current Git, drops only Jellopies anyway.

This transaction is logged if the log script generated transactions option
is enabled.

You may also create an item by it's name in the 'english name' field in
the item database:

  getitem "RED_POTION",10;

Which will do what you'd expect. If it can't find that name in the
database, apples will be created anyway. It is often a VERY GOOD IDEA to
use it like this.

This is used in pretty much all NPC scripts that have to do with items and
quite a few item scripts. For more examples check just about any official
script.



getitem2

*getitem2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};
*getitem2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>{,<account ID>};

This command will give an amount of specified items to the invoking
character. If an optional account ID is specified, and the target
character is currently online, items will be created in their inventory
instead. If they are not online, nothing will happen. It works essentially
the same as 'getitem' (it even works for negative ID numbers the same way)
but is a lot more flexible.

Those parameters that are different from 'getitem' are:

identify  - Whether you want the item to be identified (1) or not (0).
refine    - For how many pluses will it be refined. It will not let you
    refine an item higher than the max refine.
attribute  - Whether the item is broken (1) or not (0).
card1,2,3,4  - If you want a card compound to it, place the card ID number
    into the specific card slot.

Card1-card4 values are also used to store name information for named
items, as well as the elemental property of weapons and armor. You can
create a named item in this manner, however, if you just need a named
piece of standard equipment, it is much easier to the 'getnameditem'
function instead.

You will need to keep these values if you want to destroy and then
perfectly recreate a named item, for this see 'getinventorylist'.

If you still want to try creating a named item with this command because
'getnameditem' won't do it for you cause it's too limited, you can do it
like this. Careful, minor magic ahead.

 // First, let's get an ID of a character who's name will be on the
 // item. Only an existing character's name may be there.
 // Let's assume our character is 'Adam' and find his ID.

 set @charid,getcharid(0,"Adam");

 // Now we split the character ID number into two portions with a
 // binary shift operation. If you don't understand what this does,
 // just copy it.

 set @card3, @charid & 65535;
 set @card4, @charid >> 16;

 // If you're inscribing non-equipment, @card1 must be 254.
 // Arrows are also not equipment. :)
 set @card1,254;

 // For named equipment, card2 means the Star Crumbs and elemental
 // crystals used to make this equipment. For everything else, it's 0.

 set @card2,0;

 // Now, let's give the character who invoked the script some
 // Adam's Apples:

 getitem2 512,1,1,0,0,@card1,@card2,@card3,@card4;

This wasn't tested with all possible items, so I can't give any promises,
experiment first before relying on it.

To create equipment, continue this example it like this:

 // We've already have card3 and card4 loaded with correct
 // values so we'll just set up card1 and card2 with data
 // for an Ice Stiletto.

 // If you're inscribing equipment, @card1 must be 255.
 set @card1,255;

 // That's the number of star crumbs in a weapon.
 set @sc,2;

 // That's the number of elemental property of the weapon.
 set @ele,1;

 // And that's the wacky formula that makes them into
 // a single number.  
 set @card2,@ele+((@sc*5)<<8);

 // That will make us an Adam's +2 VVS Ice Stiletto:

 getitem2 1216,1,1,2,0,@card1,@card2,@card3,@card4;

Experiment with the number of star crumbs - I'm not certain just how much
will work most and what it depends on. The valid element numbers are:

 1 - Ice, 2 - Earth 3 - Fire 4 - Wind.

You can, apparently, even create duplicates of the same pet egg with this
command, creating a pet which is the same, but simultaneously exists in
two eggs, and may hatch from either, although, I'm not sure what kind of a
mess will this really cause.



getitembound

*getitembound <item id>,<amount>,<bound type>{,<account ID>};
*getitembound "<item name>",<amount>,<bound type>{,<account ID>};

This command behaves identically to 'getitem', but the items created will be
bound to the target character as specified by the bound type. All items created
in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in
some cases cannot be traded or stored.

Valid bound types are:
 1 - Account Bound
 2 - Guild Bound
 3 - Party Bound
 4 - Character Bound


 
getitembound2

*getitembound2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>;
*getitembound2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>;

This command behaves identically to 'getitem2', but the items created will be
bound to the target character as specified by the bound type. All items created
in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in
some cases cannot be traded or stored.

For a list of bound types see 'getitembound'.

 

Edited by Lelouch

Share this post


Link to post
Share on other sites
  • 0

Try : 

itemid,itemname,.........{ callfunc("Freebies",2357,2524,2115,2421); },{},{}

 

/* callfunc( "Freebies",itemid{,itemid} ); */function	script	Freebies	{	for ( .@i = 0; .@i < getargcount(); .@i++ )		 getitem getarg(.@i), 1;	return;}
Edited by Patskie

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

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