Tópico: https://rathena.org/board/files/file/3426-usable-refinery-ores/
Apliquei o item_db como solicitado:
// Refinamento
984,Oridecon,Oridecon,11,1100,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc( "F_RefineSystem",984,3,0,10,20000 ); },{},{}
985,Elunium,Elunium,11,1100,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc( "F_RefineSystem",985,0,0,10,20000 ); },{},{}
1010,Phracon,Phracon,11,200,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc( "F_RefineSystem",1010,1,0,10,1000 ); },{},{}
1011,Emveretarcon,Emveretarcon,11,1000,,200,,,,,0xFFFFFFFF,63,2,,,,,,{ callfunc( "F_RefineSystem",1011,2,0,10,2500 ); },{},{}
O npc está rodando sem erros:
function script F_RefineSystem {
.@ore_itemid = getarg( 0,0 );
.@level = getarg( 1,0 );
.@min_refine = getarg( 2,0 );
.@max_refine = getarg( 3,( MAX_REFINE-1 ) );
.@zeny = getarg( 4,0 );
if ( .@ore_itemid && .@level < 5 ) {
for ( .@i = EQI_HEAD_TOP; .@i <= EQI_ACC_R; .@i++ ) {
.@fail = 0;
.@itemid = getequipid( .@i );
if ( .@itemid == -1 )
.@fail++;
.@refine = getequiprefinerycnt( .@i );
.@slot = getitemslots( .@itemid );
.@itemid_type = getiteminfo( .@itemid,2 );
if ( .@itemid_type == IT_ARMOR && .@level > 0 )
.@fail++;
if ( .@itemid_type == IT_WEAPON && ( .@level == 0 || getequipweaponlv( .@i ) < .@level ) )
.@fail++;
if ( !.@fail )
if ( .@refine >= .@min_refine && .@refine <= .@max_refine )
.@menu$ = .@menu$ + ( .@refine ? "+"+.@refine+" ":"" ) + getitemname( .@itemid )+" ["+.@slot+"]";
.@menu$ = .@menu$ + ":";
}
.@i = select( .@menu$ );
if ( Zeny >= .@zeny ) {
Zeny -= .@zeny;
delitem .@ore_itemid,1;
if ( rand( 100 ) < getequippercentrefinery( .@i ) ) {
successrefitem .@i;
specialeffect2 EF_REFINEOK;
}
else {
failedrefitem .@i;
specialeffect2 EF_REFINEFAIL;
}
}
close;
}
return;
}
Mas quando vou testar no jogo, simplesmente aparece um balão sem nenhuma informação:
Como resolver esse problema?
~
Caso alguém se disponha, estou com problema aqui também: https://rathena.org/board/topic/109815-função-parecida-getmapusers/