Jump to content
  • 0
Sign in to follow this  
fulldevilman

Help for item

Question

12 answers to this question

Recommended Posts

  • 0

make a box with type 18

then in the script field use

getitem2 Valkyrie_Armor, 1,1,7,0, 0,0,0,0;

Share this post


Link to post
Share on other sites
  • 0

[cbox]prontera,156,178,5 script Sample 757,{
for( .@i = 0; .@i < .item_id_size; .@i++ ){
mes .item_amount[.@i]+" x "+getitemname( .item_id[.@i] );
if( countitem( .item_id[.@i] ) < .item_amount[.@i] ) .@failed = 1;
}
if( !.@failed ){
mes "Please wait...";
progressbar "FFFFFF",10;
for( .@i = 0; .@i < .item_id_size; .@i++ )
delitem .item_id[.@i],.item_amount[.@i];
if( rand( 100 ) < .craft_rate ){
mes "Gained 1 items.";
getitem .craft_gain,1;
}else{
mes "Failed";
}
}
close;

OnInit:
// craft settings
.craft_rate = 50;
setarray .item_id,30005;
setarray .item_amount,10;
.item_id_size = getarraysize( .item_id );

// item gain
.craft_gain = 30004;
end;
}
[/cbox]

 

 
+7 Valkyrie armor put in the Box using crafting and delete the +7 Valkyrie armor.
when get the valkyrie armor box use it you get +7 valkyrie armor.
Edited by fulldevilman

Share this post


Link to post
Share on other sites
  • 0

how about +1 or +2 or +3 or +4 or +5 or +6 or +7 or +8 or +9 or +10 Valkyrie armor put in the BOX.

 

just change the number 7 to the desired number

Share this post


Link to post
Share on other sites
  • 0

if you crafting the +7 valkyrie armor fail the +7 valkyrie armor not lost and  the box empty is lost  

if success the crafting same loss +7 valkyrie armor and box empty and get box of valkyrie

 

[cbox]
prontera,142,177,5 script Sample1 757,{

for( .@i = 0; .@i < .item_id_size; .@i++ ){
mes .item_amount[.@i]+" x "+getitemname( .item_id[.@i] );
if( countitem( .item_id[.@i] ) < .item_amount[.@i] ) .@failed = 1;
}
if( !.@failed ){
mes "Please wait...";
progressbar "FFFFFF",10;
for( .@i = 0; .@i < .item_id_size; .@i++ )
delitem .item_id[.@i],.item_amount[.@i];
if( rand( 100 ) < .craft_rate ){
failedrefitem .@part;
mes "Gained 1 items.";
getitem .craft_gain,1;
}else{
mes "Failed";
}
}
close;

OnInit:
// craft settings
.craft_rate = 50;
setarray .item_id,box empty;
setarray .item_amount,10;
.item_id_size = getarraysize( .item_id );

// item gain
.craft_gain = box of valkyrie;
end;
}[/cbox]

Edited by fulldevilman

Share this post


Link to post
Share on other sites
  • 0

then you need to make 12 items

1 to catch the valkyrie in the inventory

11 for the box to open with different refine rates -> 0~10

/*replace into item_db2 ( id, name_english, name_japanese, type, price_buy, price_sell, weight, equip_upper, script ) values( 31000, 'Valkyrie_box_catch', 'Valkyrie_box_catch', 11, 1,1,10, 63, 'callfunc "catch_valkyrie_armor";' ),( 31001, 'Valkyrie_box_open_0', 'Valkyrie_box_open_0', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31001, 0;' ),( 31002, 'Valkyrie_box_open_1', 'Valkyrie_box_open_1', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31002, 1;' ),( 31003, 'Valkyrie_box_open_2', 'Valkyrie_box_open_2', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31003, 2;' ),( 31004, 'Valkyrie_box_open_3', 'Valkyrie_box_open_3', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31004, 3;' ),( 31005, 'Valkyrie_box_open_4', 'Valkyrie_box_open_4', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31005, 4;' ),( 31006, 'Valkyrie_box_open_5', 'Valkyrie_box_open_5', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31006, 5;' ),( 31007, 'Valkyrie_box_open_6', 'Valkyrie_box_open_6', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31007, 6;' ),( 31008, 'Valkyrie_box_open_7', 'Valkyrie_box_open_7', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31008, 7;' ),( 31009, 'Valkyrie_box_open_8', 'Valkyrie_box_open_8', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31009, 8;' ),( 31010, 'Valkyrie_box_open_9', 'Valkyrie_box_open_9', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31010, 9;' ),( 31011, 'Valkyrie_box_open_10', 'Valkyrie_box_open_10', 11, 1,1,10, 63, 'callfunc "get_valkyrie_armor", 31011, 10;' );*/function	script	catch_valkyrie_armor	{	getinventorylist;	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {		if ( @inventorylist_id[.@i] == Valkyrie_Armor ) {			delitem2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];			getitem2 31001 + @inventorylist_refine[.@i], 1, 1, 0, 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];			delitem Valkyrie_box_catch, 1;			end;		}	}	dispbottom "You don't have "+ getitemname(Valkyrie_Armor) +" in your inventory";	end;}function	script	get_valkyrie_armor	{	getinventorylist;	for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {		if ( @inventorylist_id[.@i] == getarg(0) ) {			delitem2 @inventorylist_id[.@i], 1, 1, 0, 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];			getitem2 Valkyrie_Armor, 1, 1, getarg(1), 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];			end;		}	}	dispbottom "shouldn't reach here ... if reach here, then its bug";	end;}
EDITED ... Edited by AnnieRuru

Share this post


Link to post
Share on other sites
  • 0

i think he means... he want to put the valkyrie armor into box... then when he open the box the valkyrie he get but the box will disappear... i think that is he want to do...

Share this post


Link to post
Share on other sites
  • 0

yeah ... I did that without having to talk to npc ...

just double click the item will do ...

Share this post


Link to post
Share on other sites
  • 0

function script catch_valkyrie_armor {
getinventorylist;
for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
if ( @inventorylist_id[.@i] == Valkyrie_Armor ) {
delitem2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];
getitem2 31001 + @inventorylist_refine[.@i], 1, 1, 0, 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];
delitem Valkyrie_box_catch, 1;
end;
}
}
dispbottom "You don't have "+ getitemname(Valkyrie_Armor) +" in your inventory";
end;
}

 

if you use the valkyrie_box_catch we need 10pcs valkyrie_box_catch if you dont have 10pcs =  dispbottom "You don't have "+ getitemname(valkyrie_box_catch 10pcs) +" in your inventory";

like dispbottom "You don't have "+ getitemname(Valkyrie_Armor) +" in your inventory";

if work the valkyrie_box_catch you delitem Valkyrie_box_catch 10pcs.

 

Share this post


Link to post
Share on other sites
  • 0

well, the reason that I used getinventorylist; is to retain the slotted cards while being store inside the box

so its kinda hard to have multiple valkyrie armor in a single box

 

and no .... just 1 piece of item id 31000 and 1 valkyrie_armor will do the trick ..

valkyrie_armor +0 will get id 31001

valkyrie_armor +7 will get id 31008

I've tested in my test server of course

Share this post


Link to post
Share on other sites
  • 0

how to add

 

if you use the valkyrie_box_catch we need 10pcs valkyrie_box_catch if you dont have 10pcs = dispbottom "You don't have "+ getitemname(valkyrie_box_catch 10pcs) +" in your inventory";

 

like dispbottom "You don't have "+ getitemname(Valkyrie_Armor) +" in your inventory";

 

if work the valkyrie_box_catch you delitem Valkyrie_box_catch 10pcs.

 

[cbox]function script catch_valkyrie_armor {
getinventorylist;
for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
if ( @inventorylist_id[.@i] == 2357 ) {
delitem2 @inventorylist_id[.@i], 1, @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];
getitem2 30101 + @inventorylist_refine[.@i], 1, 1, 0, 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];
delitem 30100, 10;
end;
}
}
dispbottom "You don't have "+ getitemname(2357) +" in your inventory";
end;
}

function script get_valkyrie_armor {

getitem2 2357, 1, 1, getarg(1), 0, @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i];
}
[/cbox]

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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