Jump to content
Jhosef

+20 Refiner Using Bradium & Kalunium (based on Chilly and Jhared) Revised

Recommended Posts

i figured out this a couple of hour ago

i refered to chilly +20 Refiner using bradium and kalunium

in this link

http://www.eathena.w...3

this is the revised script for RATHENA SERVER (Try and Tested).

here is the guide

LOOK IN SCRIPT.C

BUILDIN_FUNC(failedrefitem)
{
int i=-1,num;
TBL_PC *sd;
num=script_getnum(st,2);
sd = script_rid2sd(st);
if( sd == NULL )
 return 0;
if (num > 0 && num <= ARRAYLENGTH(equip))
 i=pc_checkequip(sd,equip[num-1]);
if(i >= 0) {
 sd->status.inventory[i].refine = 0;
 pc_unequipitem(sd,i,3);
 // ¸˜Bޏ”sƒGƒtƒFƒNƒg‚̃pƒPƒbƒg
 clif_refine(sd->fd,1,i,sd->status.inventory[i].refine);
pc_delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT);
 // ‘¼‚Ìl‚É‚àŽ¸”s‚ð’Ê’m
 clif_misceffect(&sd->bl,2);
}
return 0;
}

then add/copy/paste this below

BUILDIN_FUNC(failedrefitemR) // by jhosef
{
int i=-1,num;
TBL_PC *sd;
num=script_getnum(st,2);
sd = script_rid2sd(st);
if( sd == NULL )
 return 0;
if (num > 0 && num <= ARRAYLENGTH(equip))
 i=pc_checkequip(sd,equip[num-1]);
if(i >= 0) {

 //Logs items, got from (N)PC scripts [Lupus]
 sd->status.inventory[i].refine = sd->status.inventory[i].refine - 3;
 pc_unequipitem(sd,i,2); // status calc will happen in pc_equipitem() below
 clif_refine(sd->fd,0,i,sd->status.inventory[i].refine);
 clif_delitem(sd,i,1,2);



 clif_additem(sd,i,1,0);
 clif_misceffect(&sd->bl,2);
}
return 0;
}

then look on this text

BUILDIN_DEF(failedrefitem,"i"),

then copy/past this text below

BUILDIN_DEF(failedrefitemR,"i"), //jhosef

then compile it

here is the Script

Renewal_Refine.txt

i hope it might help it to you

thanks to chilly and Jhared

Edited by Jhosef
Codebox
  • Upvote 1
Link to comment
Share on other sites

works fine for me... but Suhnbi is not supposed to be there because Suhnbi already exists in payon. Instead, the HD Ore refiner named "Mighty Hammer" should be there but is not there.

Link to comment
Share on other sites

Fixed! Thanks Jhosef!

I only a question.

Where can I see the refine rate? What's the refine rate for this +20 refine.. Thanks!

Edited by emong
Link to comment
Share on other sites

i figured out this a couple of hour ago

i refered to chilly +20 Refiner using bradium and kalunium

in this link

http://www.eathena.w...3

this is the revised script for RATHENA SERVER (Try and Tested).

here is the guide

LOOK IN SCRIPT.C

BUILDIN_FUNC(failedrefitem)
{
int i=-1,num;
TBL_PC *sd;
num=script_getnum(st,2);
sd = script_rid2sd(st);
if( sd == NULL )
 return 0;
if (num > 0 && num <= ARRAYLENGTH(equip))
 i=pc_checkequip(sd,equip[num-1]);
if(i >= 0) {
 sd->status.inventory[i].refine = 0;
 pc_unequipitem(sd,i,3);
 // ¸˜Bޏ”sƒGƒtƒFƒNƒg‚̃pƒPƒbƒg
 clif_refine(sd->fd,1,i,sd->status.inventory[i].refine);
pc_delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT);
 // ‘¼‚Ìl‚É‚àŽ¸”s‚ð’Ê’m
 clif_misceffect(&sd->bl,2);
}
return 0;
}

then add/copy/paste this below

BUILDIN_FUNC(failedrefitemR) // by jhosef
{
int i=-1,num;
TBL_PC *sd;
num=script_getnum(st,2);
sd = script_rid2sd(st);
if( sd == NULL )
 return 0;
if (num > 0 && num <= ARRAYLENGTH(equip))
 i=pc_checkequip(sd,equip[num-1]);
if(i >= 0) {

 //Logs items, got from (N)PC scripts [Lupus]
 sd->status.inventory[i].refine = sd->status.inventory[i].refine - 3;
 pc_unequipitem(sd,i,2); // status calc will happen in pc_equipitem() below
 clif_refine(sd->fd,0,i,sd->status.inventory[i].refine);
 clif_delitem(sd,i,1,2);



 clif_additem(sd,i,1,0);
 clif_misceffect(&sd->bl,2);
}
return 0;
}

then look on this text

BUILDIN_DEF(failedrefitem,"i"),

then copy/past this text below

BUILDIN_DEF(failedrefitemR,"i"), //jhosef

then compile it

here is the Script

Renewal_Refine.txt

i hope it might help it to you

thanks to chilly and Jhared

how can i make this only for using HD Bradiums and Carniums? and if possible they only receive -1 penalty and stops when the equipment reaches back to refine level 10

while on the Bradiums and Carniums only it just gives -3 refine and does not stop at refine level 10.

Link to comment
Share on other sites

just edit this

sd->status.inventory[i].refine = sd->status.inventory[i].refine - 3;

to

sd->status.inventory[i].refine = sd->status.inventory[i].refine - 1;

Link to comment
Share on other sites

just edit this

sd->status.inventory[i].refine = sd->status.inventory[i].refine - 3;

to

sd->status.inventory[i].refine = sd->status.inventory[i].refine - 1;

i did something and used your script and source to give no negative / minus refine.

but it leaves the weapon attack of the weapon unless you relog.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.