Advertisement
Guest User

sds

a guest
Dec 19th, 2014
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.45 KB | None | 0 0
  1. - script auto_sell -1,{
  2. OnInit:
  3. .max_sale_list = 10;
  4. .npc_name$ = strnpcinfo(3);
  5. bindatcmd "venda",.npc_name$+"::OnList";
  6. bindatcmd "vender",.npc_name$+"::OnAtcommand";
  7. bindatcmd "configurar",.npc_name$+"::OnSetup";
  8. end;
  9.  
  10. OnList:
  11. mes "Selecione a opção.";
  12. switch( select( "Configurar","Vender") ){
  13. default: doevent .npc_name$+"::OnSetup"; break;
  14. case 2: doevent .npc_name$+"::OnAtcommand"; break;
  15. }
  16. close;
  17.  
  18.  
  19. OnSetup:
  20. .@cid = getcharid(0);
  21. .@name$ = strcharinfo(0);
  22. query_sql( "SELECT `venda` FROM `char` WHERE `char_id` = "+.@cid,.@item_list$ );
  23. if( .@item_list$ != "" ){
  24. explode( .@sell_list$,.@item_list$,"|" );
  25. .@size = getarraysize( .@sell_list$ );
  26. for( .@i = 0; .@i < .@size;.@i++ ){
  27. .@item = atoi( .@sell_list$[.@i] );
  28. if( .@item ){
  29. .@sale_list[.@sale_list_size] = .@item;
  30. .@sale_list_size++;
  31. }
  32. }
  33. }
  34. while( 1 ){
  35. mes "Lista de Venda:";
  36. .@menu$ = .@compare$ = "";
  37. for( .@i = 0; .@i < .@sale_list_size; .@i++ ){
  38. if( .@sale_list[.@i] ){
  39. .@item_name$ = getitemname( .@sale_list[.@i] );
  40. mes "^777777 > "+.@item_name$+"^000000";
  41. .@menu$ = .@menu$ + .@item_name$ +":";
  42. .@compare$ = .@compare$ + .@sale_list[.@i] +":";
  43. }
  44. }
  45. next;
  46. switch( prompt( ( .@sale_list_size >= .max_sale_list )?"":"Adicionar Item",( .@sale_list_size )?"Remover Item":"","^FF0000Salvar Lista de Itens^000000" ) ){
  47. case 1:
  48. mes "Digite o ID do Item";
  49. do{
  50. input .@itemid,0,32767;
  51. }while( .@itemid && getitemname( .@itemid ) == "null" );
  52. if( .@itemid ){
  53. if( !compare( ":"+.@compare$+":",":"+.@itemid+":" ) ){
  54. .@sale_list[.@sale_list_size] = .@itemid;
  55. .@sale_list_size++;
  56. }
  57. message .@name$,"Item Adicionado: "+getitemname( .@itemid );
  58. }
  59. next;
  60. break;
  61. case 2:
  62. .@i = select( .@menu$ ) - 1;
  63. if( .@i < .@sale_list_size ){
  64. message .@name$,"Item Removido: "+getitemname( .@sale_list[.@i] );
  65. deletearray .@sale_list[.@i],1;
  66. .@sale_list_size--;
  67. }
  68. break;
  69. default:
  70. case 255:
  71. for( .@i = 0; .@i < .@sale_list_size; .@i++ )
  72. .@save$ = .@save$ + .@sale_list[.@i] +"|";
  73. if( .@sale_list_size )
  74. .@save$ = "|" + .@save$;
  75. query_sql( "UPDATE `char` SET `venda` = '"+.@save$+"' WHERE `char_id` = "+getcharid(0)+" LIMIT 1" );
  76. message .@name$,"Lista de Venda Salva.";
  77. mes "Lista de Venda Atualizada.";
  78. close;
  79. }
  80. }
  81. close;
  82.  
  83. OnAtcommand:
  84. .@name$ = strcharinfo(0);
  85. query_sql( "SELECT `venda` FROM `char` WHERE `char_id` = "+getcharid(0),.@item_list$ );
  86. if( .@item_list$ == "" ){
  87. message .@name$,"Você não configurou a Lista de Venda.";
  88. }
  89. else{
  90. explode( .@sell_list$,.@item_list$,"|" );
  91. .@size = getarraysize( .@sell_list$ );
  92. if( !.@size ){
  93. message .@name$,"Você não tem nenhum item válido da sua Lista de Venda.";
  94. }
  95. else{
  96. .@overcharge_lv = getskilllv( "MC_OVERCHARGE" );
  97. if( .@overcharge_lv ){
  98. .@over_charge_rate = 105 + ( .@overcharge_lv * 2);
  99. if( .@overcharge_lv == 10 )
  100. .@over_charge_rate--;
  101. }
  102.  
  103. while( .@i < .@size ){
  104. .@item = atoi( .@sell_list$[.@i] );
  105. if( .@item ){
  106. .@count = countitem( .@item );
  107. if( .@count ){
  108. .@item_price = getiteminfo( .@item,1 );
  109. if( .@over_charge_rate )
  110. .@item_price = ( ( ( .@item_price * 100 ) * .@over_charge_rate ) / 10000 );
  111.  
  112. .@item_price_sub = ( .@item_price * .@count );
  113. .@total_price += .@item_price_sub;
  114.  
  115. .@item_sold_count++;
  116. if( .@item_sold_count == 1 )
  117. dispbottom "===== Lista de Venda =====";
  118. delitem .@item,.@count;
  119. Zeny += .@item_price_sub;
  120. }
  121. }
  122. .@i++;
  123. }
  124. if( .@item_sold_count )
  125. dispbottom "Total de Vendas :";
  126. else
  127. dispbottom "Nada foi vendido.";
  128. }
  129. }
  130. end;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement