Jump to content

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


Recommended Posts

Posted (edited)

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
  • 5 weeks later...
Posted

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.

Posted (edited)

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
  • 2 weeks later...
Posted

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.

Posted

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;

Posted

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.

  • 1 month later...
  • 1 month later...

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...