viewing paste Refine Transfer | Athena

Posted on the | Last edited on
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
/*
      ___           ___           ___                         ___           ___     
     /\  \         /\__\         /\  \         _____         /\__\         /\  \    
    _\:\  \       /:/ _/_        \:\  \       /::\  \       /:/ _/_        \:\  \   
   /\ \:\  \     /:/ /\__\        \:\  \     /:/\:\  \     /:/ /\__\        \:\  \  
  _\:\ \:\  \   /:/ /:/ _/_   _____\:\  \   /:/  \:\__\   /:/ /:/ _/_   _____\:\  \ 
 /\ \:\ \:\__\ /:/_/:/ /\__\ /::::::::\__\ /:/__/ \:|__| /:/_/:/ /\__\ /::::::::\__\
 \:\ \:\/:/  / \:\/:/ /:/  / \:\~~\~~\/__/ \:\  \ /:/  / \:\/:/ /:/  / \:\~~\~~\/__/
  \:\ \::/  /   \::/_/:/  /   \:\  \        \:\  /:/  /   \::/_/:/  /   \:\  \      
   \:\/:/  /     \:\/:/  /     \:\  \        \:\/:/  /     \:\/:/  /     \:\  \     
    \::/  /       \::/  /       \:\__\        \::/  /       \::/  /       \:\__\    
     \/__/         \/__/         \/__/         \/__/         \/__/         \/__/    
     
 
 
    Nome do NPC: Transferência de Refinamentos
    Autor: Wenden Carvalho
    Versão: 1.0
    
*/
 
 
prontera,147,163,5  script  Refiner Transfer    86,{
 
 
/*  ----------------------------------------    
                CONFIGURAÇÕES
    ---------------------------------------- */
        setarray .transfer$[0],
            "[^008000Transferências^000000]",      //  -   Nome que será mostrado a iniciar o diálogo.
                10,                                 //  -   Level necessário para usar o NPC. [0: todos poderão usar].
                1,                                  //  -   Cobrar pelo serviço. [0: desabilitado / 1: habilitado].
                3,                                  //  -   Tipo de moeda que será exigida pelo serviço. [se aopção acima estiver desabilitada não precisa mexer aqui / 1: zeny / 2: rops / 3: item].
                6226,                               //  -   Preço que será cobrado pelo serviço [se a opção acima estiver 3, coloque o id do item].
                10,                                 //  -   Quantidade do item que será exigido pelo serviço [somente se o tipo de moeda for 3, caso não seja não precisa mexer aqui].
                10;                                 //  -   Nível de refinamento máximo. [não deixar aqui 0].
/*  ----------------------------------------    
            INÍCIO DO SCRIPT
    ---------------------------------------- */
    while(1){
                    mes .transfer$[0];
                    mes "Olá ^FF0000"+strcharinfo(0)+"^000000, realizo transferência de refinamentos de um equipamento para outro.";
                    mes "Se interessa pelo meu serviço?";
                    next;
                        switch(select("Sim, quero fazer a transferência:Não, obrigado")){
                            
                            case 2: close;
                            case 1:
                                mes .transfer$[0];
                                if(getgroupid() < atoi(.transfer$[1])){
                                    mes "Desculpe, mas meus serviços não estão disponíveis para você.";
                                    close;
                                    }
                                mes "Selecione o equipamento que deseja transferir o refinamento.";
                                next;
                                    set .@menu$,"";
                                    for( set .@i,1; .@i <= 10; set .@i,.@i+1 ){
                                    if( getequipisequiped(.@i) )
                                    set .@menu$, .@menu$ + " [" + getequipname(.@i) + "]";
                                    set .@menu$, .@menu$ + ":";
                                    }
                                        set .@s,select(.@menu$);
                                        set .@r,getequiprefinerycnt(.@s);
                                        set .@id,getequipid(.@s);
                                        
                                        mes .transfer$[0];
                                        if(!getequipisequiped(.@s)){
                                            mes "Você não está usando nada aí.";
                                            next;
                                            break;
                                            }
                                            if(.@r == 0){
                                                mes "Este equipamento não está refinado.";
                                                next;
                                                break;
                                                }
                                                
                                                mes "O equipamento escolhido foi:";
                                                mes "^FF0000"+getitemname(.@id)+"^000000";
                                                mes "Refinamento: +^FF0000"+.@r+"^000000.";
                                                mes "Agora selecione o equipamento que você deseja passar o refinamento.";
                                                next;
                                                    set .@menu2$,"";
                                                    for( set .@a,1; .@a <= 10; set .@a,.@a+1 ){
                                                    if( getequipisequiped(.@a) )
                                                    set .@menu2$, .@menu2$ + " [" + getequipname(.@a) + "]";
                                                    set .@menu2$, .@menu2$ + ":";
                                                    }
                                                        set .@s2,select(.@menu2$);
                                                        set .@r2,getequiprefinerycnt(.@s2);
                                                        set .@id2,getequipid(.@s2);
                                                        
                                                        mes .transfer$[0];
                                                        if(!getequipisequiped(.@s2)){
                                                            mes "Você não está usando nada aí.";
                                                            next;
                                                            break;
                                                            }
                                                    if(.@id == .@id2){
                                                        mes "Não é possível transferir o refinamento de um equipamento para ele mesmo.";
                                                        next;
                                                        break;
                                                        }
                                                            if(.@r2 >= atoi(.transfer$[6])){
                                                                mes "Este equipamento já chegou ao nível de refinamento máximo.";
                                                                next;
                                                                break;
                                                                }
                                                                mes "O equipamento escolhido foi:";
                                                                mes "^FF0000"+getitemname(.@id2)+"^000000";
                                                                mes "Refinamento: +^FF0000"+.@r2+"^000000.";
                                                                next;
                                                                mes .transfer$[0];
                                                                if(atoi(.transfer$[2])){
                                                                mes "O preço para realizar a tranferência é:";
                                                                if(atoi(.transfer$[3]) == 1) mes "^FF0000"+atoi(.transfer$[4])+"^000000 Zenys.";
                                                                if(atoi(.transfer$[3]) == 2) mes "^FF0000"+atoi(.transfer$[4])+"^000000 ROPs.";
                                                                if(atoi(.transfer$[3]) == 3) mes " ^FF0000"+atoi(.transfer$[5])+"^000000x ^FF0000"+getitemname(atoi(.transfer$[4]))+"^000000.";
                                                                mes "Deseja prosseguir com a tranferência?";
                                                                next;
                                                                    if(select("Sim:Não") == 2) break;
                                                                        callfunc("Transfer",atoi(.transfer$[3]),atoi(.transfer$[4]),atoi(.transfer$[5]));
                                                                        
                                                                        if(.@erro == 1){
                                                                            mes .transfer$[0];
                                                                            mes "Você não tem os requisitos necessários.";
                                                                            next;
                                                                            break;
                                                                            }
                                                                        }
                                                            
                                                            mes .transfer$[0];
                                                            mes "Operação realizada com sucesso.";
                                                            close2;
                                                            emotion 51;
                                                            atcommand "@refine "+.@s+" -"+.@r;
                                                            atcommand "@refine "+.@s2+" +"+.@r;
                                                            end;
                                                                
                            }
                
    }
}
function    script  Transfer    {
 
    if(getarg(0) == 1){
        if(Zeny < getarg(1)){
            set .@erro,1;
            return .@erro;
            }
        set Zeny,Zeny-getarg(1);
        return;
        }
        
        if(getarg(0) == 2){
            if(#CASHPOINTS < getarg(1)){
                set .@erro,1;
                return .@erro;
                }
            set #CASHPOINTS,#CASHPOINTS-getarg(1);
            return;
            }
            
            if(getarg(0) == 3){
                if(countitem(getarg(1)) < getarg(2)){
                    set .@erro,1;
                    return .@erro;
                    }
                delitem getarg(1),getarg(2);
                return;
                }
}
Viewed 1035 times, submitted by Envolvents.