Emistry icon

[RO] One-Click Refiner v1.2

Emistry | PRO | 01/10/16 01:16:30 PM UTC | 0 ⭐ | 578 👁️ | Never ⏰ | []
C++ |

1.7 KB

|

None

|

0 👍

/

0 👎

// http://www.emistry.net/board/index.php?threads/refine-one-click.552/
 
prontera,155,175,5  script  Refiner#one_click   4_F_KAFRA9,{
    function func_getitemname;
    
    .@zeny = 10000;
    .@max_refine = 20;
    
    for ( .@i = EQI_HEAD_TOP; .@i <= EQI_SHOES; .@i++ ) {
        .@itemid = getequipid( .@i );
        .@refine = getequiprefinerycnt( .@i );
        if ( .@itemid != -1 && .@refine < .@max_refine ) {
            .@menu$ += func_getitemname( .@refine,.@itemid );
            .@count++;
        }
        .@menu$ += ":";
    }
    
    if ( .@count ) {
        mes "Pick items to refine.";
        .@i = select( .@menu$ );
        .@itemid = getequipid( .@i );
        .@refine = getequiprefinerycnt( .@i );
        
        mes "Refine to ... ";
        input .@refine_count,0,.@max_refine;
        if ( .@refine_count ) {
            .@ore = (( getiteminfo( .@itemid,2 ) == IT_ARMOR ) ? 985:984 );
            if ( !countitem( .@ore ) ) {
                mes "You need "+getitemname( .@ore );
                close;
            }
            while ( countitem( .@ore ) && getequiprefinerycnt( .@i ) < .@refine_count ) {
                if ( Zeny < .@zeny ) {
                    mes "Not enough zeny.";
                    close;;
                }
                Zeny -= .@zeny;
                delitem .@ore,1;
                .@rate = rand( 100 );
                if ( .@rate < getequippercentrefinery( .@i ) ) {
                    successrefitem .@i;
                    .@refine = getequiprefinerycnt( .@i );
                    mes "Success. "+func_getitemname( .@refine,.@itemid );
                }
                else {
                    failedrefitem .@i;
                    mes "Refine Failed.";
                    break;
                }
                sleep2 100;
            }
        }
    }
    else {
        mes "No Equipments.";
    }
    close;
    
    function    func_getitemname    {
        .@refine = getarg( 0,0 );
        .@itemid = getarg( 1 );
        
        .@name$ = getitemname( .@itemid )+" ["+getitemslots( .@itemid )+"]";
        if ( .@refine )
            .@name$ = "+"+.@refine+" " + .@name$;
        return .@name$;
    }
}

Comments