Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1.  
  2. - script restock_npc -1,{
  3. OnUsed:
  4. do{
  5. mes "Restock List :";
  6. set .@current_restock$,"|";
  7. for( set .@i,0; .@i < .restock_item_count; set .@i,.@i + 1 ){
  8. set .@item,getd( "restock_list_"+.@i );
  9. set .@qty,getd( "restock_qty_"+.@i );
  10. mes "^0055FF[No. "+( .@i + 1 )+"] ^000000"+( ( .@item )?"^FF0000"+getitemname( .@item )+" x "+.@qty:"^777777none" )+"^000000";
  11. set .@current_restock$, .@current_restock$ + .@item + "|";
  12. }
  13. next;
  14. switch( select( "Add Item to Restock","Reset All Restock" ) ){
  15. case 1:
  16. getinventorylist;
  17. set .@i,0;
  18. set .@size,0;
  19. set .@menu$,"";
  20. while( .@i < @inventorylist_count ){
  21. set .@item_info,getiteminfo( @inventorylist_id[.@i],2 );
  22. if( ( .@item_info == IT_USABLE || .@item_info == IT_HEALING ) && !compare( .@current_restock$,"|"+@inventorylist_id[.@i]+"|" ) ){
  23. set .@menu$,.@menu$ + getitemname( @inventorylist_id[.@i] ) + ":";
  24. set .@item_list[ .@size ],@inventorylist_id[.@i];
  25. // dispbottom "Slot "+.@size+" = "+getitemname( @inventorylist_id[.@i] );
  26. set .@size,.@size + 1;
  27. }
  28. set .@i,.@i + 1;
  29. }
  30.  
  31. if( !.@size ){
  32. mes "You didnt have any extra healing/usable items or you already added into the restock.";
  33. }else{
  34. mes "Pick an item";
  35. set .@select,select( .@menu$ ) - 1;
  36. mes "Selected ^0055FF"+getitemname( .@item_list[ .@select ] )+"^000000";
  37. mes "Restock how many each time ?";
  38. input .@amount,1,500;
  39. mes "Save in slot ?";
  40. set .restock_menu$,"";
  41. for( set .@restock,0; .@restock < .restock_item_count; set .@restock,.@restock + 1 ){
  42. set .@item,getd( "restock_list_"+.@restock );
  43. set .@qty,getd( "restock_qty_"+.@restock );
  44. set .restock_menu$,.restock_menu$ + "[No. "+( .@restock+1 )+"] ";
  45. if( .@item )
  46. set .restock_menu$,.restock_menu$ + "^0055FF"+getitemname( .@item )+" x "+.@qty+"^000000";
  47. else
  48. set .restock_menu$,.restock_menu$ + "^777777empty^000000";
  49. set .restock_menu$,.restock_menu$ +":";
  50. }
  51. set .@slot,select( .restock_menu$ ) - 1;
  52. set current_restock$,.@current_restock$ + .@item_list[ .@select ] + "|";
  53. setd( "restock_list_"+.@slot ),.@item_list[ .@select ];
  54. setd( "restock_qty_"+.@slot ),.@amount;
  55. mes "Stored ^0055FF"+getitemname( .@item_list[ .@select ] )+"^000000 in ^FF0000Slot "+( .@slot+1 )+"^000000";
  56. mes " ";
  57. mes "You cant restock if...";
  58. mes "^FF0000 ~ Weight Limit exceed^000000";
  59. mes "^FF0000 ~ Storage out of stock^000000";
  60. }
  61. break;
  62. case 2:
  63. set .@i,0;
  64. while( .@i < .restock_item_count ){
  65. setd( "restock_list_"+.@i ),0;
  66. setd( "restock_qty_"+.@i ),0;
  67. set .@i,.@i + 1;
  68. }
  69. set current_restock$,"";
  70. mes "DONE removed all restock items.";
  71. default: break;
  72. }
  73. next;
  74. }while( select( "Continue","Cancel" ) == 1 );
  75. close;
  76.  
  77. OnPCConsumeEvent:
  78. if( !countitem( @consumed_id ) && compare( current_restock$,"|"+@consumed_id+"|" ) )
  79. while( .@i < .restock_item_count ){
  80. set .@item,getd( "restock_list_"+.@i );
  81. set .@qty,getd( "restock_qty_"+.@i );
  82. if( .@item && .@qty && .@item == @consumed_id )
  83. if( !countitem( .@item ) && checkweight( .@item,.@qty ) ){
  84. restock( .@item,.@qty );
  85. break;
  86. }
  87. set .@i,.@i + 1;
  88. }
  89. end;
  90.  
  91. OnInit:
  92. // how many item can restock each char
  93. set .restock_item_count,3;
  94. bindatcmd( "restock",strnpcinfo(0)+"::OnUsed",0,10 );
  95. end;
  96. }
  97.  
  98.  
  99. prontera,155,181,5 script Restock Manager#restock 757,{
  100. doevent "restock_npc::OnUsed";
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement