Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - script auto_sell -1,{
- OnInit:
- .max_sale_list = 10;
- .npc_name$ = strnpcinfo(3);
- bindatcmd "venda",.npc_name$+"::OnList";
- bindatcmd "vender",.npc_name$+"::OnAtcommand";
- bindatcmd "configurar",.npc_name$+"::OnSetup";
- end;
- OnList:
- mes "Selecione a opção.";
- switch( select( "Configurar","Vender") ){
- default: doevent .npc_name$+"::OnSetup"; break;
- case 2: doevent .npc_name$+"::OnAtcommand"; break;
- }
- close;
- OnSetup:
- .@cid = getcharid(0);
- .@name$ = strcharinfo(0);
- query_sql( "SELECT `venda` FROM `char` WHERE `char_id` = "+.@cid,.@item_list$ );
- if( .@item_list$ != "" ){
- explode( .@sell_list$,.@item_list$,"|" );
- .@size = getarraysize( .@sell_list$ );
- for( .@i = 0; .@i < .@size;.@i++ ){
- .@item = atoi( .@sell_list$[.@i] );
- if( .@item ){
- .@sale_list[.@sale_list_size] = .@item;
- .@sale_list_size++;
- }
- }
- }
- while( 1 ){
- mes "Lista de Venda:";
- .@menu$ = .@compare$ = "";
- for( .@i = 0; .@i < .@sale_list_size; .@i++ ){
- if( .@sale_list[.@i] ){
- .@item_name$ = getitemname( .@sale_list[.@i] );
- mes "^777777 > "+.@item_name$+"^000000";
- .@menu$ = .@menu$ + .@item_name$ +":";
- .@compare$ = .@compare$ + .@sale_list[.@i] +":";
- }
- }
- next;
- switch( prompt( ( .@sale_list_size >= .max_sale_list )?"":"Adicionar Item",( .@sale_list_size )?"Remover Item":"","^FF0000Salvar Lista de Itens^000000" ) ){
- case 1:
- mes "Digite o ID do Item";
- do{
- input .@itemid,0,32767;
- }while( .@itemid && getitemname( .@itemid ) == "null" );
- if( .@itemid ){
- if( !compare( ":"+.@compare$+":",":"+.@itemid+":" ) ){
- .@sale_list[.@sale_list_size] = .@itemid;
- .@sale_list_size++;
- }
- message .@name$,"Item Adicionado: "+getitemname( .@itemid );
- }
- next;
- break;
- case 2:
- .@i = select( .@menu$ ) - 1;
- if( .@i < .@sale_list_size ){
- message .@name$,"Item Removido: "+getitemname( .@sale_list[.@i] );
- deletearray .@sale_list[.@i],1;
- .@sale_list_size--;
- }
- break;
- default:
- case 255:
- for( .@i = 0; .@i < .@sale_list_size; .@i++ )
- .@save$ = .@save$ + .@sale_list[.@i] +"|";
- if( .@sale_list_size )
- .@save$ = "|" + .@save$;
- query_sql( "UPDATE `char` SET `venda` = '"+.@save$+"' WHERE `char_id` = "+getcharid(0)+" LIMIT 1" );
- message .@name$,"Lista de Venda Salva.";
- mes "Lista de Venda Atualizada.";
- close;
- }
- }
- close;
- OnAtcommand:
- .@name$ = strcharinfo(0);
- query_sql( "SELECT `venda` FROM `char` WHERE `char_id` = "+getcharid(0),.@item_list$ );
- if( .@item_list$ == "" ){
- message .@name$,"Você não configurou a Lista de Venda.";
- }
- else{
- explode( .@sell_list$,.@item_list$,"|" );
- .@size = getarraysize( .@sell_list$ );
- if( !.@size ){
- message .@name$,"Você não tem nenhum item válido da sua Lista de Venda.";
- }
- else{
- .@overcharge_lv = getskilllv( "MC_OVERCHARGE" );
- if( .@overcharge_lv ){
- .@over_charge_rate = 105 + ( .@overcharge_lv * 2);
- if( .@overcharge_lv == 10 )
- .@over_charge_rate--;
- }
- while( .@i < .@size ){
- .@item = atoi( .@sell_list$[.@i] );
- if( .@item ){
- .@count = countitem( .@item );
- if( .@count ){
- .@item_price = getiteminfo( .@item,1 );
- if( .@over_charge_rate )
- .@item_price = ( ( ( .@item_price * 100 ) * .@over_charge_rate ) / 10000 );
- .@item_price_sub = ( .@item_price * .@count );
- .@total_price += .@item_price_sub;
- .@item_sold_count++;
- if( .@item_sold_count == 1 )
- dispbottom "===== Lista de Venda =====";
- delitem .@item,.@count;
- Zeny += .@item_price_sub;
- }
- }
- .@i++;
- }
- if( .@item_sold_count )
- dispbottom "Total de Vendas :";
- else
- dispbottom "Nada foi vendido.";
- }
- }
- end;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement