Jump to content
  • 0
Sign in to follow this  
fulldevilman

Help for item

Question

12 answers to this question

Recommended Posts

  • 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

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

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

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.