Jump to content
  • 0

Request to be a multiple shop with option


Chopper xD

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  8
  • Reputation:   0
  • Joined:  06/15/12
  • Last Seen:  

prontera,154,180,5 script Name1 911,{

set .@z, 100; // Zeny (Default: 1b)
setarray .@v, 23023,23024;  // <ItemID1>,<ItemID2>{...}
set .@n$, "[Valkyrie Helm Changer]"; // NPC Name

for ( set .@i, 0; .@i < getarraysize(.@v); set .@i, .@i + 1 )
{
set .@menu$, .@menu$ + getitemname(.@v[.@i]) + ":";
if ( countitem(.@v[.@i]) > 0 ) setarray .@tmp[getarraysize(.@tmp)], .@v[.@i];
}
mes .@n$;
mes "Which Valkyrie Helm would you like to have?";
set .@j, select ( .@menu$ ) - 1;
set .@k, 0;
if ( getarraysize(.@tmp) > 1 )
{
set .@menu$, "";
for ( set .@i, 0; .@i < getarraysize(.@tmp); set .@i, .@i + 1 )
set .@menu$, .@menu$ + getitemname(.@tmp[.@i]) + ":";
mes .@n$;
mes "There are more than one Valkyrie Helm in your inventory.";
mes "Please select one to be exchanged.";
set .@k, select ( .@menu$ ) - 1;
}
next;
mes .@n$;
if ( !.@tmp ) { mes "You need a Valkyrie Helm to use my services."; close; }
if ( Zeny < .@z ) { mes "You need " + .@z + "z to use my services."; close; }
mes "Thank you!";
close2;
delitem .@tmp[.@k], 1;
getitem .@v[.@j], 1;
set Zeny, Zeny - .@z;
end;

}

Edited by Euphy
Code tag.
Link to comment
Share on other sites

4 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  815
  • Reputation:   86
  • Joined:  10/26/12
  • Last Seen:  

try to use multiple currency shop by emistry or get quest shop in euphy

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

prontera,156,180,5    script    Name2    100,{
   mes "[Valkyrie Helm Changer]";
   getinventorylist;
   for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
       if ( compare( .itemidcompare$, ":"+ @inventorylist_id[.@i] +":" ) ) {
           .@menu$ = .@menu$ +( .@item_name$[.@c] = callfunc("getitemname2", @inventorylist_id[.@i], @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]) )+":";
           .@id[.@c] = @inventorylist_id[.@i];
           .@refine[.@c] = @inventorylist_refine[.@i];
           .@identify[.@c] = @inventorylist_identify[.@i];
           .@attribute[.@c] = @inventorylist_attribute[.@i];
           .@card1[.@c] = @inventorylist_card1[.@i];
           .@card2[.@c] = @inventorylist_card2[.@i];
           .@card3[.@c] = @inventorylist_card3[.@i];
           .@card4[.@c] = @inventorylist_card4[.@i];
           .@c++;
       }
   }
   if ( .@c == 0 ) {
       mes "You need a Valkyrie Helm to use my services.";
       close;
   }
   else if ( .@c > 1 ) {
       mes "There are more than one Valkyrie Helm in your inventory.";
       mes "Please select one to be exchanged.";
       next;
       .@s = select( .@menu$ ) -1;
       mes "[Valkyrie Helm Changer]";
   }
   setarray @head_exchanger, .@id[.@s], .@identify[.@s], .@refine[.@s], .@attribute[.@s], .@card1[.@s], .@card2[.@s], .@card3[.@s], .@card4[.@s];
   mes "Which Valkyrie Helm would you like to have?";
   close2;
   callshop "head_exchanger#hidden", 1;
   end;
OnBuyItem:
   mes "[Valkyrie Helm Changer]";
   if ( getarraysize( @bought_nameid ) > 1 )
       mes "Please only choose 1 headgear";
   else if ( !countitem2( @head_exchanger[0], @head_exchanger[1], @head_exchanger[2], @head_exchanger[3], @head_exchanger[4], @head_exchanger[5], @head_exchanger[6], @head_exchanger[7] ) )
       mes "You need a Valkyrie Helm to use my services.";
   else if ( zeny < .req_zeny )
       mes "You need " + .req_zeny + "z to use my services.";
   else {
       mes "Thank you!";
       zeny -= .req_zeny;
       delitem2 @head_exchanger[0], 1, @head_exchanger[1], @head_exchanger[2], @head_exchanger[3], @head_exchanger[4], @head_exchanger[5], @head_exchanger[6], @head_exchanger[7];
       getitem2 @bought_nameid, 1, @head_exchanger[1], @head_exchanger[2], @head_exchanger[3], @head_exchanger[4], @head_exchanger[5], @head_exchanger[6], @head_exchanger[7];
   }
   deletearray @head_exchanger;
   close;
OnInit:
   .req_zeny = 10000; // zeny requirement
   setarray .itemid, 5001, 5002, 5003, 5004, 5005, 5006; // put all your headgear in this list

   npcshopdelitem "head_exchanger#hidden", 501;
   .@size = getarraysize( .itemid );
   for ( .@i = 0; .@i < .@size; .@i++ ) {
       npcshopadditem "head_exchanger#hidden", .itemid[.@i], 1;
       .itemidcompare$ = .itemidcompare$ +":"+ .itemid[.@i] +":";
   }
   npcshopattach "head_exchanger#hidden";
   end;
}
-    shop    head_exchanger#hidden    -1,501:1000

my getitemname2 function

LOL Mootie spoiled my fun XD

Edited by AnnieRuru
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  815
  • Reputation:   86
  • Joined:  10/26/12
  • Last Seen:  

prontera,156,180,5	script	Name2	100,{
mes "[Valkyrie Helm Changer]";
getinventorylist;
for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) {
	if ( compare( .itemidcompare$, ":"+ @inventorylist_id[.@i] +":" ) ) {
		.@menu$ = .@menu$ +( .@item_name$[.@c] = callfunc("getitemname2", @inventorylist_id[.@i], @inventorylist_identify[.@i], @inventorylist_refine[.@i], @inventorylist_attribute[.@i], @inventorylist_card1[.@i], @inventorylist_card2[.@i], @inventorylist_card3[.@i], @inventorylist_card4[.@i]) )+":";
		.@id[.@c] = @inventorylist_id[.@i];
		.@refine[.@c] = @inventorylist_refine[.@i];
		.@identify[.@c] = @inventorylist_identify[.@i];
		.@attribute[.@c] = @inventorylist_attribute[.@i];
		.@card1[.@c] = @inventorylist_card1[.@i];
		.@card2[.@c] = @inventorylist_card2[.@i];
		.@card3[.@c] = @inventorylist_card3[.@i];
		.@card4[.@c] = @inventorylist_card4[.@i];
		.@c++;
	}
}
if ( .@c == 0 ) {
	mes "You need a Valkyrie Helm to use my services.";
	close;
}
else if ( .@c > 1 ) {
	mes "There are more than one Valkyrie Helm in your inventory.";
	mes "Please select one to be exchanged.";
	next;
	.@s = select( .@menu$ ) -1;
	mes "[Valkyrie Helm Changer]";
}
setarray @head_exchanger, .@id[.@s], .@identify[.@s], .@refine[.@s], .@attribute[.@s], .@card1[.@s], .@card2[.@s], .@card3[.@s], .@card4[.@s];
mes "Which Valkyrie Helm would you like to have?";
close2;
callshop "head_exchanger#hidden", 1;
end;
OnBuyItem:
mes "[Valkyrie Helm Changer]";
if ( getarraysize( @bought_nameid ) > 1 )
	mes "Please only choose 1 headgear";
else if ( !countitem2( @head_exchanger[0], @head_exchanger[1], @head_exchanger[2], @head_exchanger[3], @head_exchanger[4], @head_exchanger[5], @head_exchanger[6], @head_exchanger[7] ) )
	mes "You need a Valkyrie Helm to use my services.";
else if ( zeny < .req_zeny )
	mes "You need " + .req_zeny + "z to use my services.";
else {
	mes "Thank you!";
	zeny -= .req_zeny;
	delitem2 @head_exchanger[0], 1, @head_exchanger[1], @head_exchanger[2], @head_exchanger[3], @head_exchanger[4], @head_exchanger[5], @head_exchanger[6], @head_exchanger[7];
	getitem2 @bought_nameid, 1, @head_exchanger[1], @head_exchanger[2], @head_exchanger[3], @head_exchanger[4], @head_exchanger[5], @head_exchanger[6], @head_exchanger[7];
}
deletearray @head_exchanger;
close;
OnInit:
.req_zeny = 10000; // zeny requirement
setarray .itemid, 5001, 5002, 5003, 5004, 5005, 5006; // put all your headgear in this list

npcshopdelitem "head_exchanger#hidden", 501;
.@size = getarraysize( .itemid );
for ( .@i = 0; .@i < .@size; .@i++ ) {
	npcshopadditem "head_exchanger#hidden", .itemid[.@i], 1;
	.itemidcompare$ = .itemidcompare$ +":"+ .itemid[.@i] +":";
}
npcshopattach "head_exchanger#hidden";
end;
}
-	shop	head_exchanger#hidden	-1,501:1000

my getitemname2 function

LOL Mootie spoiled my fun XD

oh sorry o.o my mentor :o

Link to comment
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.   Paste as plain text instead

  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.

×
×
  • Create New...