iTribal Posted June 30, 2012 Posted June 30, 2012 how to make an NPC Shop that if you PM the shop will show? Quote
0 Bolby91 Posted May 5, 2020 Posted May 5, 2020 how about by typing @shop the tool dealer shop will pop out Quote
Emistry Posted June 30, 2012 Posted June 30, 2012 like this ? - script Sample -1,{ OnWhisperGlobal: callshop "<SHOPNAME>",<OPTION>; end; } *callshop "<name>",<option>; These are a series of commands used to create dynamic shops. The callshop function calls a invisible shop (view -1) as if the player clicked on it. For the options on callShop: 0 = The normal window (buy, sell and cancel) 1 = The buy window 2 = The sell window Quote
iTribal Posted June 30, 2012 Author Posted June 30, 2012 emistry i can't understand it im a little noob can you make in an tool shop? so i can understand it very well tnx... Quote
Emistry Posted June 30, 2012 Posted June 30, 2012 create your own tool shop npc.. then put the shop npc name into the script i provide above then ingame pm the npc [npc:Sample] blablabla Quote
Hades03 Posted July 4, 2012 Posted July 4, 2012 Emistry and this one i want to pm how? i need to put this one or what - script Jam -1,{ prontera,134,188,5 script Coin Exchanger 807,{ setarray .CoinID, 671, 670; setarray .Zeny, 5000000, 10000000; while( 1 ){ mes "What service you want ?"; next; switch( select("Zeny to Coin:Coin to Zeny") ){ Case 1: mes "What Coin you want ?"; set .@CoinMenu$,""; for( set .@i,0; .@i < getarraysize( .CoinID ); set .@i,.@i + 1 ){ mes "^0000FF"+getitemname( .CoinID[.@i] )+" : ^FF0000"+.Zeny[.@i]+"^000000 Zeny"; set .@CoinMenu$,.@CoinMenu$ + getitemname( .CoinID[.@i] )+":"; } set .@Coin,select( .@CoinMenu$ ) - 1; next; mes "Selected : ^00FF00"+getitemname( .CoinID[.@Coin] )+"^000000"; if( Zeny < .Zeny[.@Coin] ){ mes "It seem like you didnt have Enough Zeny for this."; next; break; } mes "You can exchange to ^FF0000"+( Zeny / .Zeny[.@Coin] )+" ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 ."; mes "How many ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 do you want ?"; input @Amount,0,( Zeny / .Zeny[.@Coin] ); if( !@Amount ) close; mes "You gained "+@Amount+" ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000."; set Zeny,Zeny - ( @Amount * .Zeny[.@Coin] ); getitem .CoinID[.@Coin],@Amount; next; break; Case 2: mes "Which Coin ?"; set .@CoinMenu$,""; for( set .@i,0; .@i < getarraysize( .CoinID ); set .@i,.@i + 1 ){ mes "^0000FF"+getitemname( .CoinID[.@i] )+" : ^FF0000"+countitem( .CoinID[.@i] )+"^000000 Available"; set .@CoinMenu$,.@CoinMenu$ + getitemname( .CoinID[.@i] )+":"; } do{ set .@Coin,select( .@CoinMenu$ ) - 1; }while( !countitem( .CoinID[.@Coin] ) ); next; mes "Selected : ^00FF00"+getitemname( .CoinID[.@Coin] )+"^000000"; mes "You can exchange ^0000FF"+countitem( .CoinID[.@Coin] )+" "+getitemname( .CoinID[.@Coin] )+"^000000 to ^FF0000"+( countitem( .CoinID[.@Coin] ) * .Zeny[.@Coin] )+"^000000 Zeny."; mes "How many ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 do you want to change into Zeny ?"; input @Amount,0,( ( 1000000000 - Zeny ) / .Zeny[.@Coin] ); if( !@Amount ) close; mes "You gained "+( @Amount * .Zeny[.@Coin] )+" Zeny."; delitem .CoinID[.@Coin],@Amount; set Zeny,Zeny + ( @Amount * .Zeny[.@Coin] ); next; break; } } } Quote
Emistry Posted July 4, 2012 Posted July 4, 2012 you can add this below the header of the npc OnWhisperGlobal: Quote
Hades03 Posted July 4, 2012 Posted July 4, 2012 (edited) like this - script Jam -1,{ OnWhisperGlobal: setarray .CoinID, 671, 670; setarray .Zeny, 5000000, 10000000; while( 1 ){ mes "What service you want ?"; next; switch( select("Zeny to Coin:Coin to Zeny") ){ Case 1: mes "What Coin you want ?"; set .@CoinMenu$,""; for( set .@i,0; .@i < getarraysize( .CoinID ); set .@i,.@i + 1 ){ mes "^0000FF"+getitemname( .CoinID[.@i] )+" : ^FF0000"+.Zeny[.@i]+"^000000 Zeny"; set .@CoinMenu$,.@CoinMenu$ + getitemname( .CoinID[.@i] )+":"; } set .@Coin,select( .@CoinMenu$ ) - 1; next; mes "Selected : ^00FF00"+getitemname( .CoinID[.@Coin] )+"^000000"; if( Zeny < .Zeny[.@Coin] ){ mes "It seem like you didnt have Enough Zeny for this."; next; break; } mes "You can exchange to ^FF0000"+( Zeny / .Zeny[.@Coin] )+" ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 ."; mes "How many ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 do you want ?"; input @Amount,0,( Zeny / .Zeny[.@Coin] ); if( !@Amount ) close; mes "You gained "+@Amount+" ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000."; set Zeny,Zeny - ( @Amount * .Zeny[.@Coin] ); getitem .CoinID[.@Coin],@Amount; next; break; Case 2: mes "Which Coin ?"; set .@CoinMenu$,""; for( set .@i,0; .@i < getarraysize( .CoinID ); set .@i,.@i + 1 ){ mes "^0000FF"+getitemname( .CoinID[.@i] )+" : ^FF0000"+countitem( .CoinID[.@i] )+"^000000 Available"; set .@CoinMenu$,.@CoinMenu$ + getitemname( .CoinID[.@i] )+":"; } do{ set .@Coin,select( .@CoinMenu$ ) - 1; }while( !countitem( .CoinID[.@Coin] ) ); next; mes "Selected : ^00FF00"+getitemname( .CoinID[.@Coin] )+"^000000"; mes "You can exchange ^0000FF"+countitem( .CoinID[.@Coin] )+" "+getitemname( .CoinID[.@Coin] )+"^000000 to ^FF0000"+( countitem( .CoinID[.@Coin] ) * .Zeny[.@Coin] )+"^000000 Zeny."; mes "How many ^0000FF"+getitemname( .CoinID[.@Coin] )+"^000000 do you want to change into Zeny ?"; input @Amount,0,( ( 1000000000 - Zeny ) / .Zeny[.@Coin] ); if( !@Amount ) close; mes "You gained "+( @Amount * .Zeny[.@Coin] )+" Zeny."; delitem .CoinID[.@Coin],@Amount; set Zeny,Zeny + ( @Amount * .Zeny[.@Coin] ); next; break; } } } Edited July 4, 2012 by Jam Quote
Question
iTribal
how to make an NPC Shop that if you PM the shop will show?
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.