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 610 times, submitted by Envolvents.