Extra npc checks (#3274)
* Extra checks - Added some extra check in npcs script to prevent wrong behaviour
This commit is contained in:
parent
84299027bc
commit
6e8599cd5b
@ -93,6 +93,7 @@ S_RefineValidate:
|
|||||||
.@item_req = getarg(1);
|
.@item_req = getarg(1);
|
||||||
.@price = getarg(2);
|
.@price = getarg(2);
|
||||||
.@part = getarg(3);
|
.@part = getarg(3);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
|
||||||
// If the VIP system is enabled, the prices for non-VIP players are considerably higher.
|
// If the VIP system is enabled, the prices for non-VIP players are considerably higher.
|
||||||
if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) {
|
if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) {
|
||||||
@ -158,7 +159,7 @@ S_RefineValidate:
|
|||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, getarg(4)) ||
|
if (callfunc("F_IsEquipIDHack", .@part, getarg(4)) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, getarg(5))) {
|
callfunc("F_IsEquipRefineHack", .@part, getarg(5)) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) {
|
||||||
mes "[Holink]";
|
mes "[Holink]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
mes "Wait a second...";
|
mes "Wait a second...";
|
||||||
|
@ -609,6 +609,7 @@ function script refinemain {
|
|||||||
}
|
}
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
|
||||||
|
|
||||||
@ -687,7 +688,7 @@ function script refinemain {
|
|||||||
delitem .@material,1;
|
delitem .@material,1;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
@ -745,7 +746,7 @@ function script refinemain {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// New Refining Functions ========================
|
// New Refining Functions ========================
|
||||||
if(getequiprefinerycnt(.@part) < .@safe) {
|
if (.@refinerycnt < .@safe) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
|
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
|
||||||
next;
|
next;
|
||||||
@ -754,7 +755,7 @@ function script refinemain {
|
|||||||
.@menu2 = 2;
|
.@menu2 = 2;
|
||||||
switch(.@menu2){
|
switch(.@menu2){
|
||||||
case 1:
|
case 1:
|
||||||
.@refinecnt = .@safe - getequiprefinerycnt(.@part);
|
.@refinecnt = .@safe - .@refinerycnt;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
next;
|
next;
|
||||||
@ -762,7 +763,7 @@ function script refinemain {
|
|||||||
mes "How many times would you like me to refine your item?";
|
mes "How many times would you like me to refine your item?";
|
||||||
next;
|
next;
|
||||||
input .@refinecnt;
|
input .@refinecnt;
|
||||||
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
|
.@refinecheck = .@refinecnt + .@refinerycnt;
|
||||||
if (.@refinecnt < 1 || .@refinecheck > 10) {
|
if (.@refinecnt < 1 || .@refinecheck > 10) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "I can't refine this item that many times.";
|
mes "I can't refine this item that many times.";
|
||||||
@ -808,7 +809,9 @@ function script refinemain {
|
|||||||
mes "Look here... you don't have any items on...";
|
mes "Look here... you don't have any items on...";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt) || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "Clang... No, but did you imagine I could be so stupid?!";
|
mes "Clang... No, but did you imagine I could be so stupid?!";
|
||||||
mes "You changed it...";
|
mes "You changed it...";
|
||||||
@ -832,6 +835,7 @@ function script refinemain {
|
|||||||
successrefitem .@part;
|
successrefitem .@part;
|
||||||
emotion ET_BEST;
|
emotion ET_BEST;
|
||||||
.@refinecnt = .@refinecnt - 1;
|
.@refinecnt = .@refinecnt - 1;
|
||||||
|
.@refinerycnt = getequiprefinerycnt(.@part);
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
//============================================================
|
//============================================================
|
||||||
|
|
||||||
prontera,115,90,0 script Putty 4_F_01,{
|
prontera,115,90,0 script Putty 4_F_01,{
|
||||||
|
disable_items;
|
||||||
setarray .@card1[0], 4001,4006,4009,4019,4075,4033,4012,4016,4026,4022,
|
setarray .@card1[0], 4001,4006,4009,4019,4075,4033,4012,4016,4026,4022,
|
||||||
4027,4028,4038,4025,4021,4050,4079,4081,4090,4094,
|
4027,4028,4038,4025,4021,4050,4079,4081,4090,4094,
|
||||||
4101,4104,4110,4114,4119,4108,4095,4231,4280,4008,
|
4101,4104,4110,4114,4119,4108,4095,4231,4280,4008,
|
||||||
|
@ -1964,7 +1964,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
|
|||||||
mes "me to do with this?";
|
mes "me to do with this?";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(.@part) >= 10) {
|
.@equip_id = getequipid(.@part);
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
if (.@equip_refine >= 10) {
|
||||||
mes "[Vestri]";
|
mes "[Vestri]";
|
||||||
mes "Oh, this is excellent! This piece here has been perfectly refined! But this isn't what I want. I can't do any work on this at all.";
|
mes "Oh, this is excellent! This piece here has been perfectly refined! But this isn't what I want. I can't do any work on this at all.";
|
||||||
close;
|
close;
|
||||||
@ -2037,6 +2040,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
|
|||||||
mes "Hurry up and get one.";
|
mes "Hurry up and get one.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
if (getequippercentrefinery(.@part) > rand(100)) {
|
if (getequippercentrefinery(.@part) > rand(100)) {
|
||||||
mes "^3355FF*Clang Clang!*^000000";
|
mes "^3355FF*Clang Clang!*^000000";
|
||||||
successrefitem .@part;
|
successrefitem .@part;
|
||||||
@ -2181,7 +2188,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
|
|||||||
mes "me to do with this?";
|
mes "me to do with this?";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(.@part) >= 10) {
|
.@equip_id = getequipid(.@part);
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
if (.@equip_refine >= 10) {
|
||||||
mes "[Vestri]";
|
mes "[Vestri]";
|
||||||
mes "Oh, this is excellent! This piece here has been perfectly refined! But this isn't what I want. I can't do any work on this at all.";
|
mes "Oh, this is excellent! This piece here has been perfectly refined! But this isn't what I want. I can't do any work on this at all.";
|
||||||
close;
|
close;
|
||||||
@ -2248,6 +2258,10 @@ mjolnir_01,35,136,7 script Dwarf Blacksmith#west 826,{
|
|||||||
mes "Hurry up and get one.";
|
mes "Hurry up and get one.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
if (getequippercentrefinery(.@part) > rand(100)) {
|
if (getequippercentrefinery(.@part) > rand(100)) {
|
||||||
mes "^3355FF*Clang Clang!*^000000";
|
mes "^3355FF*Clang Clang!*^000000";
|
||||||
successrefitem .@part;
|
successrefitem .@part;
|
||||||
|
@ -248,25 +248,25 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
mes "If you wish to enchant, you must equip Sarah's " + .@sarah_earring$ + " earring.";
|
mes "If you wish to enchant, you must equip Sarah's " + .@sarah_earring$ + " earring.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
setarray .@card[0], getequipcardid(.@part,3), getequipcardid(.@part,2);
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
if (.@card[1] > 0) {// 2 enchants
|
if (.@card[2] > 0) {// 2 enchants
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "A fully enchanted earring of Sarah cannot be enchanted any further.";
|
mes "A fully enchanted earring of Sarah cannot be enchanted any further.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (.@card[0] < 1) {// none enchant
|
if (.@card[3] > 0) {// 1 enchant
|
||||||
mes "[Chief Assistant]";
|
|
||||||
mes "Sarah's Earring is currently in a state without enchantment.";
|
|
||||||
.@slot = 0;
|
|
||||||
}
|
|
||||||
else {// 1 enchant
|
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Sarah's Earring is currently in a state of enchantment in slot 4.";
|
mes "Sarah's Earring is currently in a state of enchantment in slot 4.";
|
||||||
.@slot = 1;
|
.@slot = 3;
|
||||||
|
}
|
||||||
|
else {// none enchant
|
||||||
|
mes "[Chief Assistant]";
|
||||||
|
mes "Sarah's Earring is currently in a state without enchantment.";
|
||||||
|
.@slot = 4;
|
||||||
}
|
}
|
||||||
next;
|
next;
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Which ability do you want as an enchantment on slot " + (4-.@slot) + "?";
|
mes "Which ability do you want as an enchantment on slot " + .@slot + "?";
|
||||||
next;
|
next;
|
||||||
switch( select( "CRI or Critical", "Expert archer or Bleed", "Conservation or MATK", "Delay Attack or Delay Skill" ) ) {
|
switch( select( "CRI or Critical", "Expert archer or Bleed", "Conservation or MATK", "Delay Attack or Delay Skill" ) ) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -278,7 +278,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
4941, // Critical4
|
4941, // Critical4
|
||||||
4865; // Fatal3
|
4865; // Fatal3
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Selected for CRI or Critical Enchantment slot " + (4-.@slot) + ".";
|
mes "Selected for CRI or Critical Enchantment slot " + .@slot + ".";
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
setarray .@bonus[0],
|
setarray .@bonus[0],
|
||||||
@ -289,7 +289,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
4944, // Dodge3
|
4944, // Dodge3
|
||||||
4834; // Expert_Archer3
|
4834; // Expert_Archer3
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Selected for Expert Archer or Bleed Enchantment slot " + (4-.@slot) + ".";
|
mes "Selected for Expert Archer or Bleed Enchantment slot " + .@slot + ".";
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
setarray .@bonus[0],
|
setarray .@bonus[0],
|
||||||
@ -300,7 +300,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
4947, // Thrift3
|
4947, // Thrift3
|
||||||
4899; // Matk5p
|
4899; // Matk5p
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Selected for Conservation or MATK Enchantment slot " + (4-.@slot) + ".";
|
mes "Selected for Conservation or MATK Enchantment slot " + .@slot + ".";
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
setarray .@bonus[0],
|
setarray .@bonus[0],
|
||||||
@ -311,7 +311,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
4950, // Skill_Delay3
|
4950, // Skill_Delay3
|
||||||
4873; // Attack_Delay_3
|
4873; // Attack_Delay_3
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Selected for Delay Attack or Delay Skill Enchantment slot " + (4-.@slot) + ".";
|
mes "Selected for Delay Attack or Delay Skill Enchantment slot " + .@slot + ".";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
next;
|
next;
|
||||||
@ -344,6 +344,11 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
specialeffect2 EF_MAGICALATTHIT;
|
specialeffect2 EF_MAGICALATTHIT;
|
||||||
specialeffect2 EF_POTION2;
|
specialeffect2 EF_POTION2;
|
||||||
delitem 6803,4;// Shard of Gigantes
|
delitem 6803,4;// Shard of Gigantes
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
.@r = rand(100);
|
.@r = rand(100);
|
||||||
for ( .@i = 0; .@i < .@bonus_size && (.@bonus_chance * (.@i+1)) < .@r; .@i++ );
|
for ( .@i = 0; .@i < .@bonus_size && (.@bonus_chance * (.@i+1)) < .@r; .@i++ );
|
||||||
@ -357,9 +362,9 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
mes "enchantment is not an easy task..";
|
mes "enchantment is not an easy task..";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
.@card[.@slot] = .@bonus[.@i];
|
.@card[.@slot-1] = .@bonus[.@i];
|
||||||
specialeffect2 EF_ANGEL2;
|
specialeffect2 EF_ANGEL2;
|
||||||
getitem2 .@sarah_item_id,1,1,0,0,0,0,.@card[1],.@card[0];
|
getitem2 .@sarah_item_id,1,1,0,0,.@card[0],.@card[1],.@card[2],.@card[3];
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "Enchantment completed!";
|
mes "Enchantment completed!";
|
||||||
close;
|
close;
|
||||||
@ -403,6 +408,7 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
.@column$ = "right";
|
.@column$ = "right";
|
||||||
}
|
}
|
||||||
.@equip_id = getequipid(.@part);
|
.@equip_id = getequipid(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
if (.@equip_id == -1) {
|
if (.@equip_id == -1) {
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
mes "To initialize an enchantment, the relevant column must be equipped with gear.";
|
mes "To initialize an enchantment, the relevant column must be equipped with gear.";
|
||||||
@ -432,6 +438,11 @@ dali02,93,146,6 script Assistant Professor#a1 4_M_REPAIR,{
|
|||||||
specialeffect2 EF_POTION2;
|
specialeffect2 EF_POTION2;
|
||||||
specialeffect2 EF_ANGEL2;
|
specialeffect2 EF_ANGEL2;
|
||||||
delitem 6803,1;// Shard of Gigantes
|
delitem 6803,1;// Shard of Gigantes
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
getitem .@sarah_item_id,1;
|
getitem .@sarah_item_id,1;
|
||||||
mes "[Chief Assistant]";
|
mes "[Chief Assistant]";
|
||||||
|
@ -2091,6 +2091,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
|
|||||||
close;
|
close;
|
||||||
} else {
|
} else {
|
||||||
set .@equip_id, getequipid(.@part);
|
set .@equip_id, getequipid(.@part);
|
||||||
|
set .@equip_refine, getequiprefinerycnt(.@part);
|
||||||
if (.@equip_id == 13074 || .@equip_id == 13312) {
|
if (.@equip_id == 13074 || .@equip_id == 13312) {
|
||||||
mes "[Red Leopard Joe]";
|
mes "[Red Leopard Joe]";
|
||||||
mes "Is that weapon yours? Let me have a look.";
|
mes "Is that weapon yours? Let me have a look.";
|
||||||
@ -2106,7 +2107,6 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
|
|||||||
}
|
}
|
||||||
mes "Joe took a thorough look at the seal.";
|
mes "Joe took a thorough look at the seal.";
|
||||||
next;
|
next;
|
||||||
set .@equip_refine, getequiprefinerycnt(.@part);
|
|
||||||
if (.@equip_refine < 7) {
|
if (.@equip_refine < 7) {
|
||||||
mes "[Red Leopard Joe]";
|
mes "[Red Leopard Joe]";
|
||||||
mes "Are you that low?";
|
mes "Are you that low?";
|
||||||
@ -2150,6 +2150,11 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
|
|||||||
mes "I can feel it.";
|
mes "I can feel it.";
|
||||||
mes "I will take this weapon to give it some finishing touches.";
|
mes "I will take this weapon to give it some finishing touches.";
|
||||||
next;
|
next;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
erasequest 5145;
|
erasequest 5145;
|
||||||
completequest 5138;
|
completequest 5138;
|
||||||
@ -2158,9 +2163,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 730,{
|
|||||||
mes "[Red Leopard Joe]";
|
mes "[Red Leopard Joe]";
|
||||||
mes "'" + strcharinfo(0) + "'";
|
mes "'" + strcharinfo(0) + "'";
|
||||||
mes "Passed the weapon test!!";
|
mes "Passed the weapon test!!";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else if (.@ko_test_03_1 == 2 && .@ko_test_03_2 == 0 && (.@ko_test_03_3 == 2 || .@ko_test_03_4 == 2) && .@ko_test_03_5 == 0) {
|
} else if (.@ko_test_03_1 == 2 && .@ko_test_03_2 == 0 && (.@ko_test_03_3 == 2 || .@ko_test_03_4 == 2) && .@ko_test_03_5 == 0) {
|
||||||
mes "[Red Leopard Joe]";
|
mes "[Red Leopard Joe]";
|
||||||
mes "Oh, I almost forgot.";
|
mes "Oh, I almost forgot.";
|
||||||
@ -2429,6 +2432,8 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
|
|||||||
close;
|
close;
|
||||||
} else {
|
} else {
|
||||||
set .@equip_id, getequipid(.@part);
|
set .@equip_id, getequipid(.@part);
|
||||||
|
set .@equip_refine, getequiprefinerycnt(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
if (.@equip_id == 13074 || .@equip_id == 13312) {
|
if (.@equip_id == 13074 || .@equip_id == 13312) {
|
||||||
mes "Analyzing the weapon.";
|
mes "Analyzing the weapon.";
|
||||||
next;
|
next;
|
||||||
@ -2449,7 +2454,6 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
|
|||||||
mes "That weapon cannot be refined. Where did you get it?"; //custom translation
|
mes "That weapon cannot be refined. Where did you get it?"; //custom translation
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
set .@equip_refine, getequiprefinerycnt(.@part);
|
|
||||||
if (.@equip_refine >= 20) {
|
if (.@equip_refine >= 20) {
|
||||||
mes "Bzzzt";
|
mes "Bzzzt";
|
||||||
mes "A warning beep comes from the tool.";
|
mes "A warning beep comes from the tool.";
|
||||||
@ -2486,6 +2490,11 @@ job_ko,121,121,0 script Refinement Tools#ko_01 844,{
|
|||||||
} else { // 10>20 2%
|
} else { // 10>20 2%
|
||||||
if (.@rand < 3) set .@wlevel_up,1;
|
if (.@rand < 3) set .@wlevel_up,1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
if (.@wlevel_up) {
|
if (.@wlevel_up) {
|
||||||
successrefitem .@part;
|
successrefitem .@part;
|
||||||
mes "Succeeded in refining.";
|
mes "Succeeded in refining.";
|
||||||
|
@ -8227,9 +8227,8 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
|
|||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Yesssssss? I wass sssent by the academy.";
|
mes "Yesssssss? I wass sssent by the academy.";
|
||||||
close;
|
close;
|
||||||
} else if (nov_3_guns > 7) {
|
|
||||||
disable_items;
|
|
||||||
}
|
}
|
||||||
|
disable_items;
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "I am ^A2563ESharp Snake's Fang^000000 from the Gunslinger Guild. What do you need?";
|
mes "I am ^A2563ESharp Snake's Fang^000000 from the Gunslinger Guild. What do you need?";
|
||||||
next;
|
next;
|
||||||
@ -8239,9 +8238,7 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
|
|||||||
next;
|
next;
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "You don't need to worry, he said you're doing great!";
|
mes "You don't need to worry, he said you're doing great!";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Do you wish to exchange your guild issued weapon?";
|
mes "Do you wish to exchange your guild issued weapon?";
|
||||||
@ -8249,125 +8246,66 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
|
|||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Let's first check your gun's condition.";
|
mes "Let's first check your gun's condition.";
|
||||||
next;
|
next;
|
||||||
if (getequipname(EQI_HAND_R) == "") {
|
.@gun = getequipid(EQI_HAND_R);
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
if (.@gun == -1) {
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "If you want to proceed, you need to have your weapon equipped.";
|
mes "If you want to proceed, you need to have your weapon equipped.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
|
||||||
.@gun = getequipid(EQI_HAND_R);
|
|
||||||
}
|
}
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Let's see...";
|
mes "Let's see...";
|
||||||
next;
|
next;
|
||||||
|
mes "[Sharp Snake's Fang]";
|
||||||
if (.@gun == 13116) {// Novice_Revolver
|
if (.@gun == 13116) {// Novice_Revolver
|
||||||
.@gun_code$ = "RV";
|
.@gun_code$ = "RV";
|
||||||
.@now_gun$ = "Revolver";
|
.@now_gun$ = "Revolver";
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You want to exchange your Guild issued Revolver?";
|
mes "You want to exchange your Guild issued Revolver?";
|
||||||
next;
|
|
||||||
} else if (.@gun == 13180) {// Novice_Rifle
|
} else if (.@gun == 13180) {// Novice_Rifle
|
||||||
.@gun_code$ = "RF";
|
.@gun_code$ = "RF";
|
||||||
.@now_gun$ = "Rifle";
|
.@now_gun$ = "Rifle";
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You want to exchange your Guild issued Rifle?";
|
mes "You want to exchange your Guild issued Rifle?";
|
||||||
next;
|
|
||||||
} else if (.@gun == 13181) {// Novice_Shotgun
|
} else if (.@gun == 13181) {// Novice_Shotgun
|
||||||
.@gun_code$ = "SG";
|
.@gun_code$ = "SG";
|
||||||
.@now_gun$ = "Shotgun";
|
.@now_gun$ = "Shotgun";
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You want to exchange your Guild issued Shotgun?";
|
mes "You want to exchange your Guild issued Shotgun?";
|
||||||
next;
|
|
||||||
} else if (.@gun == 13182) {// Novice_Gatling
|
} else if (.@gun == 13182) {// Novice_Gatling
|
||||||
.@gun_code$ = "GT";
|
.@gun_code$ = "GT";
|
||||||
.@now_gun$ = "Gatling";
|
.@now_gun$ = "Gatling";
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You want to exchange your Guild issued Gatling Gun?";
|
mes "You want to exchange your Guild issued Gatling Gun?";
|
||||||
next;
|
|
||||||
} else if (.@gun == 13183) {// Novice_Grenade_Launcher
|
} else if (.@gun == 13183) {// Novice_Grenade_Launcher
|
||||||
.@gun_code$ = "GL";
|
.@gun_code$ = "GL";
|
||||||
.@now_gun$ = "Grenade Launcher";
|
.@now_gun$ = "Grenade Launcher";
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You want to exchange your Guild issued Grenade Launcher?";
|
mes "You want to exchange your Guild issued Grenade Launcher?";
|
||||||
next;
|
|
||||||
} else {
|
} else {
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "The gun you are using is was not provided by the guild.";
|
mes "The gun you are using is was not provided by the guild.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
next;
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "The gun looks to be in good condition.";
|
mes "The gun looks to be in good condition.";
|
||||||
next;
|
next;
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Please select the novice weapon you wish to exchange for your "+.@now_gun$+"!";
|
mes "Please select the novice weapon you wish to exchange for your "+.@now_gun$+"!";
|
||||||
next;
|
next;
|
||||||
switch(select("Exchange for Revolver", "Exchange for Rifle", "Exchange for Shotgun", "Exchange for Gatling Gun", "Exchange for Grenade Launcher", "Cancel")) {
|
setarray .@selection_item_id[0], 13116, 13180, 13181, 13182, 13183;
|
||||||
case 1:
|
.@s = select("Exchange for Revolver", "Exchange for Rifle", "Exchange for Shotgun", "Exchange for Gatling Gun", "Exchange for Grenade Launcher", "Cancel") - 1;
|
||||||
if (.@gun == 13116) {
|
if (.@s != 5) {
|
||||||
|
if (.@gun == .@selection_item_id[.@s]) {
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "You already have that gun, just use it!";
|
mes "You already have that gun, just use it!";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
|
||||||
delequip EQI_HAND_R;
|
|
||||||
getitem 13116,1;// Novice_Revolver
|
|
||||||
}
|
}
|
||||||
break;
|
// anti-hack
|
||||||
case 2:
|
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@gun) || callfunc("F_IsEquipCardHack", EQI_HAND_R, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine))
|
||||||
if (.@gun == 13180) {
|
close;
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You already have that gun, just use it!";
|
|
||||||
close2;
|
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
|
||||||
delequip EQI_HAND_R;
|
delequip EQI_HAND_R;
|
||||||
getitem 13180,1;// Novice_Rifle
|
getitem .@selection_item_id[.@s],1;
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (.@gun == 13181) {
|
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You already have that gun, just use it!";
|
|
||||||
close2;
|
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
|
||||||
delequip EQI_HAND_R;
|
|
||||||
getitem 13181,1;// Novice_Shotgun
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (.@gun == 13182) {
|
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You already have that gun, just use it!";
|
|
||||||
close2;
|
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
|
||||||
delequip EQI_HAND_R;
|
|
||||||
getitem 13182,1;// Novice_Gatling
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
if (.@gun == 13183) {
|
|
||||||
mes "[Sharp Snake's Fang]";
|
|
||||||
mes "You already have that gun, just use it!";
|
|
||||||
close2;
|
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
|
||||||
delequip EQI_HAND_R;
|
|
||||||
getitem 13183,1;// Novice_Grenade_Launcher
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Gun control management number ^FF0000"+.@gun_code$+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+""+rand(0,9)+"^000000.";
|
mes "Gun control management number ^FF0000"+.@gun_code$+""+rand(9)+""+rand(9)+""+rand(9)+""+rand(9)+""+rand(9)+""+rand(9)+"^000000.";
|
||||||
next;
|
next;
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Are there any issues?";
|
mes "Are there any issues?";
|
||||||
@ -8375,9 +8313,7 @@ iz_ac02,162,86,4 script Guild Staff#ac 4W_M_02,{
|
|||||||
select("No issues.");
|
select("No issues.");
|
||||||
mes "[Sharp Snake's Fang]";
|
mes "[Sharp Snake's Fang]";
|
||||||
mes "Cherish your gun!";
|
mes "Cherish your gun!";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iz_ac02_a,162,86,4 duplicate(Guild Staff#ac) Guild Staff#ac_a 4W_M_02
|
iz_ac02_a,162,86,4 duplicate(Guild Staff#ac) Guild Staff#ac_a 4W_M_02
|
||||||
@ -12887,9 +12823,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "^ff0000- Error number 000"+.@part+" -^000000";
|
mes "^ff0000- Error number 000"+.@part+" -^000000";
|
||||||
mes "Item is not equipped.";
|
mes "Item is not equipped.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Searching for the equipment information - completed.";
|
mes "Searching for the equipment information - completed.";
|
||||||
@ -12898,9 +12832,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "^FF0000- error number 4444 -^000000";
|
mes "^FF0000- error number 4444 -^000000";
|
||||||
mes "This item cannot be refined.";
|
mes "This item cannot be refined.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
// if (!getequipisidentify(.@part)) {// getequipisidentify command removed
|
// if (!getequipisidentify(.@part)) {// getequipisidentify command removed
|
||||||
// mes "[Refining Machine Wagjak]";
|
// mes "[Refining Machine Wagjak]";
|
||||||
@ -12910,13 +12842,15 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
// enable_items;
|
// enable_items;
|
||||||
// end;
|
// end;
|
||||||
// }
|
// }
|
||||||
if (getequiprefinerycnt(.@part) >= 10) {
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
|
||||||
|
if (.@refinerycnt >= 10) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "^FF0000- error number 1010 -^000000";
|
mes "^FF0000- error number 1010 -^000000";
|
||||||
mes "At the current version, you can do refining up to level 10.";
|
mes "At the current version, you can do refining up to level 10.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
if (isbegin_quest(5153) == 1) {
|
if (isbegin_quest(5153) == 1) {
|
||||||
if (getequipweaponlv(.@part) == 1) {
|
if (getequipweaponlv(.@part) == 1) {
|
||||||
@ -12928,9 +12862,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
if (select("Refine.", "Don't Refine.") == 2) {
|
if (select("Refine.", "Don't Refine.") == 2) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Cancel the refining.";
|
mes "Cancel the refining.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
if (getequippercentrefinery(.@part) < 100) {
|
if (getequippercentrefinery(.@part) < 100) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
@ -12941,19 +12873,18 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
if (select("Refine.", "Don't Refine.") == 2) {
|
if (select("Refine.", "Don't Refine.") == 2) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Refining has been cancelled as per the user's request.";
|
mes "Refining has been cancelled as per the user's request.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt))
|
||||||
|
close;
|
||||||
if (getequippercentrefinery(.@part) <= rand(100)) {
|
if (getequippercentrefinery(.@part) <= rand(100)) {
|
||||||
failedrefitem .@part;
|
failedrefitem .@part;
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Result : Fail";
|
mes "Result : Fail";
|
||||||
mes "refining failed. The equipment was destroyed.";
|
mes "refining failed. The equipment was destroyed.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else {
|
} else {
|
||||||
successrefitem .@part;
|
successrefitem .@part;
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
@ -12963,15 +12894,11 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
next;
|
next;
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Service usage coupon was used.";
|
mes "Service usage coupon was used.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_WAGJAK, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_WAGJAK, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_WAGJAK, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_WAGJAK, REFINE_MATERIAL_ID);
|
||||||
|
|
||||||
@ -12988,9 +12915,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
if (select("Refine.", "Don't Refine.") == 2) {
|
if (select("Refine.", "Don't Refine.") == 2) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Refining has been cancelled as per the user's request.";
|
mes "Refining has been cancelled as per the user's request.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
if (getequippercentrefinery(.@part) < 100) {
|
if (getequippercentrefinery(.@part) < 100) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
@ -13001,9 +12926,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
if (select("Refine.", "Don't Refine.") == 2) {
|
if (select("Refine.", "Don't Refine.") == 2) {
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "Refining has been cancelled as per the user's request.";
|
mes "Refining has been cancelled as per the user's request.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (countitem(.@material) > 0 && Zeny >= .@price) {
|
if (countitem(.@material) > 0 && Zeny >= .@price) {
|
||||||
@ -13011,8 +12934,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
Zeny -= .@price;
|
Zeny -= .@price;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
|
||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
mes "Wait a second...";
|
mes "Wait a second...";
|
||||||
@ -13024,9 +12946,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
mes "[Refining Machine Wagjak]";
|
mes "[Refining Machine Wagjak]";
|
||||||
mes "^FF0000- error number 8282 -^000000";
|
mes "^FF0000- error number 8282 -^000000";
|
||||||
mes "You are short of refining price.";
|
mes "You are short of refining price.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
if (getequippercentrefinery(.@part) <= rand(100)) {
|
if (getequippercentrefinery(.@part) <= rand(100)) {
|
||||||
failedrefitem .@part;
|
failedrefitem .@part;
|
||||||
@ -13039,9 +12959,7 @@ izlude_d,153,126,1 duplicate(Refinery Owner Han#iz) Refinery Owner Han#iz_d 4_M_
|
|||||||
mes "Result : Success";
|
mes "Result : Success";
|
||||||
mes "Congratulations!! You succeeded in refining.";
|
mes "Congratulations!! You succeeded in refining.";
|
||||||
}
|
}
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
izlude,153,121,3 duplicate(izludeWagjak) Refining Machine Wagjak::iz 2_MONEMUS
|
izlude,153,121,3 duplicate(izludeWagjak) Refining Machine Wagjak::iz 2_MONEMUS
|
||||||
@ -14043,9 +13961,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
next;
|
next;
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "If you have anything to do with the enchant association, please consult with Mounds inside.";
|
mes "If you have anything to do with the enchant association, please consult with Mounds inside.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else if (.@in_tutorial == 4) {
|
} else if (.@in_tutorial == 4) {
|
||||||
.@part = EQI_ARMOR;
|
.@part = EQI_ARMOR;
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
@ -14075,25 +13991,21 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
if (select("Hidden enchant start!!", "Wait for a while.") == 2) {
|
if (select("Hidden enchant start!!", "Wait for a while.") == 2) {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Heh? Eh? Hik?! Come here quick.";
|
mes "Heh? Eh? Hik?! Come here quick.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
if (!getequipisequiped(.@part)) {
|
if (!getequipisequiped(.@part)) {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Please come back after you have equipped the Cotton Shirt.";
|
mes "Please come back after you have equipped the Cotton Shirt.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
if (getequipid(EQI_ARMOR) == 2302) {
|
.@equip_id = getequipid(.@part);
|
||||||
.@refineCount = getequiprefinerycnt(EQI_ARMOR);
|
if (.@equip_id == 2302) {
|
||||||
|
.@refineCount = getequiprefinerycnt(.@part);
|
||||||
|
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
} else {
|
} else {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Hing, it is not a normal Cotton Shirt.";
|
mes "Hing, it is not a normal Cotton Shirt.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Now!! Start the first hidden enchant!! Start!!!!!";
|
mes "Now!! Start the first hidden enchant!! Start!!!!!";
|
||||||
@ -14101,8 +14013,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
specialeffect2 EF_REPAIRWEAPON;
|
specialeffect2 EF_REPAIRWEAPON;
|
||||||
progressbar "ffff00", 2;
|
progressbar "ffff00", 2;
|
||||||
completequest 5159;
|
completequest 5159;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refineCount))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1);
|
|
||||||
getitem2 2302,1,1,.@refineCount,0,.@equip_card[0],.@equip_card[1],4800,4795;// Cotton_Shirt_ ; SP50 ; HP100
|
getitem2 2302,1,1,.@refineCount,0,.@equip_card[0],.@equip_card[1],4800,4795;// Cotton_Shirt_ ; SP50 ; HP100
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Zzazanzn!! Completed!!";
|
mes "Zzazanzn!! Completed!!";
|
||||||
@ -14115,9 +14031,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
|
mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
|
||||||
next;
|
next;
|
||||||
mes "Gradually you are getting into your own world. You better go back to Mounds.";
|
mes "Gradually you are getting into your own world. You better go back to Mounds.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else if (.@in_tutorial == 5) {
|
} else if (.@in_tutorial == 5) {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?";
|
mes "How about it? Don't you think the hidden enchant is great? Any chance to do another hidden enchant?";
|
||||||
@ -14126,9 +14040,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
|
mes "It's fun. I want to do it again. Hey, another trial Ok? Aaaaa!!! I want to do the hidden enchant again.";
|
||||||
next;
|
next;
|
||||||
mes "Gradually you are getting into your own world. You better go back to Mounds.";
|
mes "Gradually you are getting into your own world. You better go back to Mounds.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
} else if (.@in_tutorial == 6) {
|
} else if (.@in_tutorial == 6) {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Heh heh... how are you? I am doing a ^142CEBservice of free hidden enchant for the beginner's weapon to advertise the enchant association.^000000.";
|
mes "Heh heh... how are you? I am doing a ^142CEBservice of free hidden enchant for the beginner's weapon to advertise the enchant association.^000000.";
|
||||||
@ -14136,9 +14048,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
} else {
|
} else {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Something strange must've happened. If this continues, please contact customer service.";
|
mes "Something strange must've happened. If this continues, please contact customer service.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "As you are still a beginner, you don't have a very, very, very functional jewelry, but soon you will have.";
|
mes "As you are still a beginner, you don't have a very, very, very functional jewelry, but soon you will have.";
|
||||||
@ -14159,16 +14069,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "^FD4F02For Novices-";
|
mes "^FD4F02For Novices-";
|
||||||
mes "Cutter, Mace, Rod, Axe, Etc.";
|
mes "Cutter, Mace, Rod, Axe, Etc.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
case 3:
|
case 3:
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Ye?!?!?!?!?!";
|
mes "Ye?!?!?!?!?!";
|
||||||
mes "Where are you going? You should do the hidden enchant before going.";
|
mes "Where are you going? You should do the hidden enchant before going.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.@part = EQI_HAND_R;
|
.@part = EQI_HAND_R;
|
||||||
@ -14176,13 +14082,11 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
if (!getequipisequiped(.@part)) {
|
if (!getequipisequiped(.@part)) {
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Hehehe... hidden enchant makes me excited. But you should come back with your weapon armed.";
|
mes "Hehehe... hidden enchant makes me excited. But you should come back with your weapon armed.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
.@equip = getequipid(.@part);
|
.@equip = getequipid(.@part);
|
||||||
.@equip_refine = getequiprefinerycnt(.@part);
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1);
|
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
switch(.@equip) {
|
switch(.@equip) {
|
||||||
@ -14191,9 +14095,7 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
next;
|
next;
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "But this weapon might be strange to add a hidden enchant? Sorry.";
|
mes "But this weapon might be strange to add a hidden enchant? Sorry.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
case 1381: // N_Battle_Axe
|
case 1381: // N_Battle_Axe
|
||||||
case 1545: // N_Mace
|
case 1545: // N_Mace
|
||||||
case 1639: // N_Rod
|
case 1639: // N_Rod
|
||||||
@ -14206,14 +14108,12 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
case 13182: // Novice_Gatling
|
case 13182: // Novice_Gatling
|
||||||
case 13183: // Novice_Grenade_Launcher
|
case 13183: // Novice_Grenade_Launcher
|
||||||
case 13415: // N_Falchion
|
case 13415: // N_Falchion
|
||||||
mes "It is!! The ^142ceb"+ getequipname(EQI_HAND_R) +"^000000.";
|
mes "It is!! The ^142ceb"+ getequipname(.@part) +"^000000.";
|
||||||
next;
|
next;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
mes "Ehee.. It is not a Novice Weapon. Leaving this expensive weapon to us and if broken... I'm not taking that chance.";
|
mes "Ehee.. It is not a Novice Weapon. Leaving this expensive weapon to us and if broken... I'm not taking that chance.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
setarray .@enchantments[1],4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4766,4764,4786,4791,4795,4800,4811,4832,4818,4815;
|
setarray .@enchantments[1],4700,4701,4702,4730,4731,4732,4740,4741,4742,4710,4711,4712,4720,4721,4722,4750,4751,4752,4760,4766,4764,4786,4791,4795,4800,4811,4832,4818,4815;
|
||||||
.@enchant1 = rand(1,35);
|
.@enchant1 = rand(1,35);
|
||||||
@ -14234,14 +14134,17 @@ izlude,108,139,7 script Enchanter Almond J#iz 4_CAT_SAILOR3,{
|
|||||||
next;
|
next;
|
||||||
specialeffect2 EF_REPAIRWEAPON;
|
specialeffect2 EF_REPAIRWEAPON;
|
||||||
progressbar "ffff00", 3;
|
progressbar "ffff00", 3;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
getitem2 .@equip,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@enchant1,.@enchant2;
|
getitem2 .@equip,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@enchant1,.@enchant2;
|
||||||
mes "[Almond J]";
|
mes "[Almond J]";
|
||||||
mes "Zzazanzn!! Completed!!";
|
mes "Zzazanzn!! Completed!!";
|
||||||
mes "As I'm too excited, I can't check the options. Please check it yourself.";
|
mes "As I'm too excited, I can't check the options. Please check it yourself.";
|
||||||
close2;
|
close;
|
||||||
enable_items;
|
|
||||||
end;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
izlude_a,108,139,7 duplicate(Enchanter Almond J#iz) Enchanter Almond J#iz_a 4_CAT_SAILOR3
|
izlude_a,108,139,7 duplicate(Enchanter Almond J#iz) Enchanter Almond J#iz_a 4_CAT_SAILOR3
|
||||||
|
@ -447,17 +447,22 @@ xmas,240,294,3 script Black Beard Joe#pa0829 4_M_05,{
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (.@card[3] == 0 && .@sc_type < 4)
|
if (.@card[3] == 0 && .@sc_type < 4)
|
||||||
.@card[3] = .@enchant;
|
.@index_slot = 3;
|
||||||
else if (.@card[2] == 0 && .@sc_type < 3)
|
else if (.@card[2] == 0 && .@sc_type < 3)
|
||||||
.@card[2] = .@enchant;
|
.@index_slot = 2;
|
||||||
else if (.@card[1] == 0 && .@sc_type < 2)
|
else if (.@card[1] == 0 && .@sc_type < 2)
|
||||||
.@card[1] = .@enchant;
|
.@index_slot = 1;
|
||||||
else {
|
else {
|
||||||
mes "I don't know what this is, but I think this isn't thing I could handle.";// custom
|
mes "I don't know what this is, but I think this isn't thing I could handle.";// custom
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (countitem(7642) > 14) {// Bloody_Coin
|
if (countitem(7642) > 14) {// Bloody_Coin
|
||||||
delitem 7642,15;// Bloody_Coin
|
delitem 7642,15;// Bloody_Coin
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@eq_num, .@item_id) || callfunc("F_IsEquipCardHack", .@eq_num, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@eq_num, .@refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@eq_num;
|
delequip .@eq_num;
|
||||||
if (.@enchant == 0) {
|
if (.@enchant == 0) {
|
||||||
mes "Ouch! Poor you, the enchantment has failed and your gear is broken, Geez!";
|
mes "Ouch! Poor you, the enchantment has failed and your gear is broken, Geez!";
|
||||||
@ -465,6 +470,7 @@ xmas,240,294,3 script Black Beard Joe#pa0829 4_M_05,{
|
|||||||
specialeffect2 EF_LORD;
|
specialeffect2 EF_LORD;
|
||||||
end;
|
end;
|
||||||
}
|
}
|
||||||
|
.@card[ .@index_slot ] = .@enchant;
|
||||||
getitem2 .@item_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
|
getitem2 .@item_id,1,1,.@refine,0,.@card[0],.@card[1],.@card[2],.@card[3];
|
||||||
mes "Hmm.. It was successful. Take a look at it.";
|
mes "Hmm.. It was successful. Take a look at it.";
|
||||||
specialeffect2 EF_REPAIRWEAPON;
|
specialeffect2 EF_REPAIRWEAPON;
|
||||||
|
@ -89,9 +89,11 @@ glast_01,210,273,5 script Hugin's butler#pa0829 1_F_04,{
|
|||||||
}
|
}
|
||||||
mes "[Hugin's Buttler]";
|
mes "[Hugin's Buttler]";
|
||||||
mes "The boots have been upgraded as you want.";
|
mes "The boots have been upgraded as you want.";
|
||||||
|
if (getequipid(EQI_SHOES) == 2499) {
|
||||||
delequip EQI_SHOES;
|
delequip EQI_SHOES;
|
||||||
delitem 6607,5;// Temporal_Crystal
|
delitem 6607,5;// Temporal_Crystal
|
||||||
getitem .@equip_type[.@s],1;
|
getitem .@equip_type[.@s],1;
|
||||||
|
}
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,16 +166,20 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
|
|||||||
case 22111: // Modified_DEX_Boots
|
case 22111: // Modified_DEX_Boots
|
||||||
case 22112: // Modified_LUK_Boots
|
case 22112: // Modified_LUK_Boots
|
||||||
.@equip_name$ = getequipname(EQI_SHOES);
|
.@equip_name$ = getequipname(EQI_SHOES);
|
||||||
.@card2 = getequipcardid(EQI_SHOES,2);
|
setarray .@card[0],
|
||||||
.@card3 = getequipcardid(EQI_SHOES,3);
|
getequipcardid(EQI_SHOES,0),
|
||||||
|
getequipcardid(EQI_SHOES,1),
|
||||||
|
getequipcardid(EQI_SHOES,2),
|
||||||
|
getequipcardid(EQI_SHOES,3);
|
||||||
|
copyarray .@equip_card[0], .@card[0], 4; // for final check
|
||||||
.@equip_refine = getequiprefinerycnt(EQI_SHOES);
|
.@equip_refine = getequiprefinerycnt(EQI_SHOES);
|
||||||
|
|
||||||
if (.@card2 > 0) {
|
if (.@card[2] > 0) {
|
||||||
mes "[Hugin's Magic master]";
|
mes "[Hugin's Magic master]";
|
||||||
mes "These boots have already passed the enchanting limit. We can't enchant them any more.";
|
mes "These boots have already passed the enchanting limit. We can't enchant them any more.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (.@card3 == 0) {// 4th slot 1st try enchanting
|
if (.@card[3] == 0) {// 4th slot 1st try enchanting
|
||||||
.@cost = .@enchant_cost[0];
|
.@cost = .@enchant_cost[0];
|
||||||
mes "[Hugin's Magic Master]";
|
mes "[Hugin's Magic Master]";
|
||||||
mes "Want to enchant ^0000FF" + .@equip_name$ + "^000000?";
|
mes "Want to enchant ^0000FF" + .@equip_name$ + "^000000?";
|
||||||
@ -185,12 +191,12 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
|
|||||||
mes "Ok, come back when you are ready.";
|
mes "Ok, come back when you are ready.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
.@card3 = .@enchant_1[.@s];
|
.@card[3] = .@enchant_1[.@s];
|
||||||
.@string$ = "enchant number ^6300001^000000.";
|
.@string$ = "enchant number ^6300001^000000.";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
for ( .@enchant_num = 1; .@enchant_num < 5; .@enchant_num++ ) {
|
for ( .@enchant_num = 1; .@enchant_num < 5; .@enchant_num++ ) {
|
||||||
for ( .@enchant_type = 0; .@enchant_type < 6 && .@card3 != getd( ".@enchant_" + .@enchant_num + "[" + .@enchant_type + "]" ); .@enchant_type++ )
|
for ( .@enchant_type = 0; .@enchant_type < 6 && .@card[3] != getd( ".@enchant_" + .@enchant_num + "[" + .@enchant_type + "]" ); .@enchant_type++ )
|
||||||
continue;
|
continue;
|
||||||
if (.@enchant_type < 6)
|
if (.@enchant_type < 6)
|
||||||
break;
|
break;
|
||||||
@ -204,13 +210,13 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
|
|||||||
|
|
||||||
mes "[Hugin's Magic Master]";
|
mes "[Hugin's Magic Master]";
|
||||||
if (.@enchant_num == 4) {
|
if (.@enchant_num == 4) {
|
||||||
.@card2 = callfunc("F_Rand",4875,4876,4877,4878,4879,4880);// Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day
|
.@card[2] = callfunc("F_Rand",4875,4876,4877,4878,4879,4880);// Bear's_Power, Runaway_Magic, Speed_Of_Light, Muscle_Fool, Hawkeye, Lucky_Day
|
||||||
.@string$ = "^990000Bonus effect ^000000 upgrade.";
|
.@string$ = "^990000Bonus effect ^000000 upgrade.";
|
||||||
mes "4th slot is already upgraded to the final option. Would you like a random bonus effect for the 3rd slot? You need ^0000ff" + .@cost + "^000000 Coagulated Spell items.";
|
mes "4th slot is already upgraded to the final option. Would you like a random bonus effect for the 3rd slot? You need ^0000ff" + .@cost + "^000000 Coagulated Spell items.";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
.@number = .@enchant_num + 1;
|
.@number = .@enchant_num + 1;
|
||||||
.@card3 = getd( ".@enchant_" + (.@enchant_num+1) + "[" + .@enchant_type + "]" );
|
.@card[3] = getd( ".@enchant_" + (.@enchant_num+1) + "[" + .@enchant_type + "]" );
|
||||||
.@string$ = "enchant number ^630000" + .@number + "^000000.";
|
.@string$ = "enchant number ^630000" + .@number + "^000000.";
|
||||||
mes "Enchanting ^0000FF" + .@equip_name$ + "^000000's 4th slot as ^0000FF" + .@number + "^000000 level effect. Requires ^0000FF" + .@cost + "^000000 Coagulated Spell items.";
|
mes "Enchanting ^0000FF" + .@equip_name$ + "^000000's 4th slot as ^0000FF" + .@number + "^000000 level effect. Requires ^0000FF" + .@cost + "^000000 Coagulated Spell items.";
|
||||||
}
|
}
|
||||||
@ -228,10 +234,15 @@ glast_01,212,273,4 script Hugin's magic master#pa0829 1_F_01,{
|
|||||||
}
|
}
|
||||||
specialeffect2 EF_REPAIRWEAPON;
|
specialeffect2 EF_REPAIRWEAPON;
|
||||||
delitem 6608,.@cost;// Coagulated_Spell
|
delitem 6608,.@cost;// Coagulated_Spell
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip EQI_SHOES;
|
delequip EQI_SHOES;
|
||||||
mes "[Hugin's Magic Master]";
|
mes "[Hugin's Magic Master]";
|
||||||
mes "Trying for " + .@string$;
|
mes "Trying for " + .@string$;
|
||||||
getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@card2,.@card3;
|
getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@card[2],.@card[3];
|
||||||
close;
|
close;
|
||||||
default:
|
default:
|
||||||
mes "[Hugin's Magic Master]";
|
mes "[Hugin's Magic Master]";
|
||||||
@ -288,6 +299,7 @@ glast_01,210,270,0 script Hugin's Craftsman#pa0829 4_F_JOB_BLACKSMITH,{
|
|||||||
}
|
}
|
||||||
|
|
||||||
S_Slot:
|
S_Slot:
|
||||||
|
.@equip_id = getequipid(EQI_SHOES);
|
||||||
mes "[Hugin's Craftsman]";
|
mes "[Hugin's Craftsman]";
|
||||||
mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000";
|
mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000";
|
||||||
mes "Still want to risk it?";
|
mes "Still want to risk it?";
|
||||||
@ -312,6 +324,7 @@ S_Slot:
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
delitem 6607,5;// Temporal_Crystal
|
delitem 6607,5;// Temporal_Crystal
|
||||||
|
if (getequipid(EQI_SHOES) == .@equip_id) {
|
||||||
delequip EQI_SHOES;
|
delequip EQI_SHOES;
|
||||||
if (rand(1,100) < 50) {
|
if (rand(1,100) < 50) {
|
||||||
mes "[Hugin's Craftsman]";
|
mes "[Hugin's Craftsman]";
|
||||||
@ -323,5 +336,6 @@ S_Slot:
|
|||||||
mes "Successful! Here you go.";
|
mes "Successful! Here you go.";
|
||||||
specialeffect2 EF_MAXPOWER;
|
specialeffect2 EF_MAXPOWER;
|
||||||
getitem getarg(0),1;
|
getitem getarg(0),1;
|
||||||
|
}
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
@ -72,6 +72,7 @@ malangdo,221,174,6 script Holink#mal_cash 559,{
|
|||||||
mes "[Holink]";
|
mes "[Holink]";
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_HOLINK, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_HOLINK, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_HOLINK, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_HOLINK, REFINE_MATERIAL_ID);
|
||||||
|
|
||||||
@ -148,7 +149,7 @@ malangdo,221,174,6 script Holink#mal_cash 559,{
|
|||||||
set Zeny, Zeny-.@price;
|
set Zeny, Zeny-.@price;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
mes "[Holink]";
|
mes "[Holink]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
|
@ -640,6 +640,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
|
|||||||
}
|
}
|
||||||
.@refine_count = getequiprefinerycnt(.@part);
|
.@refine_count = getequiprefinerycnt(.@part);
|
||||||
.@equip_item = getequipid(.@part);
|
.@equip_item = getequipid(.@part);
|
||||||
|
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@lhz_max_num = 4000;
|
.@lhz_max_num = 4000;
|
||||||
if (.@equip_item == 13069 || .@equip_item == 1291 || .@equip_item == 1392 ||
|
if (.@equip_item == 13069 || .@equip_item == 1291 || .@equip_item == 1392 ||
|
||||||
.@equip_item == 1393 || .@equip_item == 1435 || .@equip_item == 1490 ||
|
.@equip_item == 1393 || .@equip_item == 1435 || .@equip_item == 1490 ||
|
||||||
@ -701,7 +702,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
|
|||||||
mes "Not enough '^F2766EWill of Warrior^000000'. You need to bring 10 '^F2766EWill of Warrior^000000'";
|
mes "Not enough '^F2766EWill of Warrior^000000'. You need to bring 10 '^F2766EWill of Warrior^000000'";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
else if (getequipcardid(.@part, 3) > 0) {
|
else if (.@equip_card[3] > 0) {
|
||||||
mes "[Pudding]";
|
mes "[Pudding]";
|
||||||
mes "This equipment already has the power of '^F2766EWill of Warrior^000000'.";
|
mes "This equipment already has the power of '^F2766EWill of Warrior^000000'.";
|
||||||
close;
|
close;
|
||||||
@ -715,7 +716,7 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
|
|||||||
mes "Not enough '^952420Thirst for Blood^000000'. You need to bring 10 '^952420Thirst for Blood^000000'";
|
mes "Not enough '^952420Thirst for Blood^000000'. You need to bring 10 '^952420Thirst for Blood^000000'";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
else if (getequipcardid(.@part, 2) > 0) {
|
else if (.@equip_card[2] > 0) {
|
||||||
mes "[Pudding]";
|
mes "[Pudding]";
|
||||||
mes "This equipment already has the power of '^952420Thirst for Blood^000000'.";
|
mes "This equipment already has the power of '^952420Thirst for Blood^000000'.";
|
||||||
close;
|
close;
|
||||||
@ -731,13 +732,13 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
|
|||||||
.@4thzptsodyd = 1;
|
.@4thzptsodyd = 1;
|
||||||
.@3thzptsodyd = 1;
|
.@3thzptsodyd = 1;
|
||||||
} else {
|
} else {
|
||||||
if (getequipcardid(.@part, 3) > 0) {
|
if (.@equip_card[3] > 0) {
|
||||||
.@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
|
.@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'";
|
||||||
} else {
|
} else {
|
||||||
.@menu_clear$[1] = "^999999There's no power to remove^000000";
|
.@menu_clear$[1] = "^999999There's no power to remove^000000";
|
||||||
.@4thzptsodyd = 1;
|
.@4thzptsodyd = 1;
|
||||||
}
|
}
|
||||||
if (getequipcardid(.@part, 2) > 0) {
|
if (.@equip_card[2] > 0) {
|
||||||
.@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
|
.@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'";
|
||||||
} else {
|
} else {
|
||||||
.@menu_clear$[2] = "^999999There's no power to remove^000000";
|
.@menu_clear$[2] = "^999999There's no power to remove^000000";
|
||||||
@ -765,16 +766,19 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
|
|||||||
mes "This equipment didn't get any special power.";
|
mes "This equipment didn't get any special power.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
specialeffect EF_BEGINSPELL2;
|
||||||
|
progressbar "ffff00", 2;
|
||||||
|
specialeffect2 EF_FROSTWEAPON;
|
||||||
|
delitem 6471, 10; //Goast_Chill
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_item) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refine_count))
|
||||||
|
close;
|
||||||
|
|
||||||
if (.@menu == 2)
|
if (.@menu == 2)
|
||||||
.@equip_card[3] = 0;
|
.@equip_card[3] = 0;
|
||||||
else
|
else
|
||||||
.@equip_card[2] = 0;
|
.@equip_card[2] = 0;
|
||||||
.@equip_item = getequipid(.@part);
|
|
||||||
specialeffect EF_BEGINSPELL2, AREA, "Sorcerer#Bio4Reward";
|
|
||||||
progressbar "ffff00", 2;
|
|
||||||
specialeffect2 EF_FROSTWEAPON;
|
|
||||||
delitem 6471, 10; //Goast_Chill
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
|
getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3];
|
||||||
mes "[Pudding]";
|
mes "[Pudding]";
|
||||||
@ -956,15 +960,18 @@ lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{
|
|||||||
else .@enchant = 0;
|
else .@enchant = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
|
specialeffect EF_BEGINSPELL3;
|
||||||
.@equip_card[(.@socket_type-1)] = .@enchant;
|
|
||||||
.@equip_item = getequipid(.@part);
|
|
||||||
specialeffect EF_BEGINSPELL3, AREA, "Sorcerer#Bio4Reward";
|
|
||||||
progressbar "ffff00", 2;
|
progressbar "ffff00", 2;
|
||||||
if (.@socket_type == 3)
|
if (.@socket_type == 3)
|
||||||
delitem 6470, 10; //Blood_Thirst
|
delitem 6470, 10; //Blood_Thirst
|
||||||
else
|
else
|
||||||
delitem 6469, 10; //Will_Of_Warrior
|
delitem 6469, 10; //Will_Of_Warrior
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_item) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@refine_count))
|
||||||
|
close;
|
||||||
|
|
||||||
|
.@equip_card[(.@socket_type-1)] = .@enchant;
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
|
|
||||||
if (.@enchant == 0){
|
if (.@enchant == 0){
|
||||||
|
@ -68,7 +68,10 @@
|
|||||||
mes "This item cannot be refined.";
|
mes "This item cannot be refined.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
set .@equip_refine, getequiprefinerycnt(.@part);
|
.@equip_id = getequipid(.@part);
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
|
||||||
if (.@equip_refine < 6 || .@equip_refine > 12) {
|
if (.@equip_refine < 6 || .@equip_refine > 12) {
|
||||||
mes "[Blacksmith Dister]";
|
mes "[Blacksmith Dister]";
|
||||||
mes "This equipment has refined to "+.@equip_refine+". I only handle items with refine levels from +6 to +12!";
|
mes "This equipment has refined to "+.@equip_refine+". I only handle items with refine levels from +6 to +12!";
|
||||||
@ -134,6 +137,11 @@
|
|||||||
}
|
}
|
||||||
delitem .@material,1;
|
delitem .@material,1;
|
||||||
set Zeny, Zeny-.@price;
|
set Zeny, Zeny-.@price;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
mes "[Blacksmith Dister]";
|
mes "[Blacksmith Dister]";
|
||||||
mes "Tac! Tac! Tac!";
|
mes "Tac! Tac! Tac!";
|
||||||
if (getequippercentrefinery(.@part, true) > rand(100)) {
|
if (getequippercentrefinery(.@part, true) > rand(100)) {
|
||||||
|
@ -151,6 +151,9 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
set .@equip_refine, getequiprefinerycnt(.@part);
|
||||||
|
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
|
||||||
|
copyarray .@card[0], .@equip_card[0], 4;
|
||||||
set .@select,1;
|
set .@select,1;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
@ -209,6 +212,10 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
|
|||||||
set .@equip_id,15056; //Special_Ninja_Suit_
|
set .@equip_id,15056; //Special_Ninja_Suit_
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
set .@equip_refine, getequiprefinerycnt(.@part);
|
||||||
|
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
|
||||||
|
copyarray .@card[0], .@equip_card[0], 4;
|
||||||
|
|
||||||
mes "[Artisan Tene]";
|
mes "[Artisan Tene]";
|
||||||
mes "You want to reset ^44B7BC" + getitemname(.@equip_id) + "^000000?";
|
mes "You want to reset ^44B7BC" + getitemname(.@equip_id) + "^000000?";
|
||||||
next;
|
next;
|
||||||
@ -253,9 +260,6 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
|
||||||
set .@equip_refine, getequiprefinerycnt(.@part);
|
|
||||||
setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3);
|
|
||||||
|
|
||||||
// Initialization
|
// Initialization
|
||||||
if (.@select == 2) {
|
if (.@select == 2) {
|
||||||
if (.@sot03_ck) {// reset only 3rd slot
|
if (.@sot03_ck) {// reset only 3rd slot
|
||||||
@ -276,8 +280,12 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
|
|||||||
}
|
}
|
||||||
progressbar "ffff00",2;
|
progressbar "ffff00",2;
|
||||||
set Zeny, Zeny - 100000;
|
set Zeny, Zeny - 100000;
|
||||||
delequip .@part;
|
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
|
delequip .@part;
|
||||||
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
||||||
getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
|
getitem2 .@equip_id,1,1,.@equip_refine,0,.@equip_card[0],.@equip_card[1],.@equip_card[2],.@equip_card[3];
|
||||||
|
|
||||||
@ -516,6 +524,11 @@ que_ng,75,20,3 script Artisan Tene#ko 762,{
|
|||||||
set .@equip_card[2], .@enchant;
|
set .@equip_card[2], .@enchant;
|
||||||
progressbar "ffff00",2;
|
progressbar "ffff00",2;
|
||||||
set Zeny, Zeny - 100000;
|
set Zeny, Zeny - 100000;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
|
|
||||||
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
||||||
|
@ -319,6 +319,7 @@ malangdo,213,167,4 script Mayomayo#mal 555,{
|
|||||||
L_Socket:
|
L_Socket:
|
||||||
set .@select, @mal_enchant_select;
|
set .@select, @mal_enchant_select;
|
||||||
set .@equip_id, @mal_equip_id;
|
set .@equip_id, @mal_equip_id;
|
||||||
|
set .@equip_refine, getequiprefinerycnt(EQI_HAND_R);
|
||||||
set .@equip_name$, getitemname(.@equip_id)+((getitemslots(.@equip_id))?"["+getitemslots(.@equip_id)+"]":"");
|
set .@equip_name$, getitemname(.@equip_id)+((getitemslots(.@equip_id))?"["+getitemslots(.@equip_id)+"]":"");
|
||||||
setarray .@equip_card[0], getequipcardid(EQI_HAND_R,0),getequipcardid(EQI_HAND_R,1),getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
|
setarray .@equip_card[0], getequipcardid(EQI_HAND_R,0),getequipcardid(EQI_HAND_R,1),getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
|
||||||
set @mal_equip_id,0;
|
set @mal_equip_id,0;
|
||||||
@ -575,7 +576,7 @@ L_Socket:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) ||
|
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine) ||
|
||||||
callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
||||||
close;
|
close;
|
||||||
|
|
||||||
@ -604,7 +605,6 @@ L_Socket:
|
|||||||
mes "[Mayomayo]";
|
mes "[Mayomayo]";
|
||||||
mes "I have enchanted ^990000slot "+.@socket+"^000000 of this equipment.";
|
mes "I have enchanted ^990000slot "+.@socket+"^000000 of this equipment.";
|
||||||
delitem .@coin[.@coin_select],.@total[.@coin_select];
|
delitem .@coin[.@coin_select],.@total[.@coin_select];
|
||||||
set .@equip_refine, getequiprefinerycnt(EQI_HAND_R);
|
|
||||||
delequip EQI_HAND_R;
|
delequip EQI_HAND_R;
|
||||||
|
|
||||||
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
||||||
@ -641,11 +641,10 @@ L_Socket:
|
|||||||
delitem 6417,1; //Silvervine
|
delitem 6417,1; //Silvervine
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) ||
|
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine) ||
|
||||||
callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
||||||
close;
|
close;
|
||||||
|
|
||||||
set .@equip_refine, getequiprefinerycnt(EQI_HAND_R);
|
|
||||||
delequip EQI_HAND_R;
|
delequip EQI_HAND_R;
|
||||||
|
|
||||||
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
||||||
|
@ -1147,6 +1147,11 @@ L_Socket:
|
|||||||
mes "The ability to enhance remains.";
|
mes "The ability to enhance remains.";
|
||||||
delitem 6380,1; //Mora_Coin
|
delitem 6380,1; //Mora_Coin
|
||||||
set Zeny, Zeny-100000;
|
set Zeny, Zeny-100000;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
|
|
||||||
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] .@equip_card[3]
|
||||||
@ -1331,7 +1336,8 @@ mora,124,82,4 script Artifact Collector#blan 522,{
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
set .@equip_id, getequipid(EQI_HAND_R);
|
set .@equip_id, getequipid(EQI_HAND_R);
|
||||||
setarray .@equip_card[2], getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
|
.@equip_refine = getequiprefinerycnt(EQI_HAND_R);
|
||||||
|
setarray .@equip_card[0], getequipcardid(EQI_HAND_R,0), getequipcardid(EQI_HAND_R,1), getequipcardid(EQI_HAND_R,2),getequipcardid(EQI_HAND_R,3);
|
||||||
switch(.@equip_id) {
|
switch(.@equip_id) {
|
||||||
case 2007: //Golden_Rod_Staff
|
case 2007: //Golden_Rod_Staff
|
||||||
case 2008: //Aqua_Staff
|
case 2008: //Aqua_Staff
|
||||||
@ -1359,7 +1365,7 @@ mora,124,82,4 script Artifact Collector#blan 522,{
|
|||||||
mes "The weapon you have isn't one of the Artifacts I can work with.";
|
mes "The weapon you have isn't one of the Artifacts I can work with.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(EQI_HAND_R) < 7) {
|
if (.@equip_refine < 7) {
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
mes "[Artifact Collector]";
|
mes "[Artifact Collector]";
|
||||||
mes "I must insist that the refine level of the Artifact be at least +7!";
|
mes "I must insist that the refine level of the Artifact be at least +7!";
|
||||||
@ -1378,7 +1384,7 @@ mora,124,82,4 script Artifact Collector#blan 522,{
|
|||||||
next;
|
next;
|
||||||
emotion ET_OK;
|
emotion ET_OK;
|
||||||
mes "[Artifact Collector]";
|
mes "[Artifact Collector]";
|
||||||
mes "If you are ready I am about to show you what I can do with your +"+getequiprefinerycnt(EQI_HAND_R)+" Artifact!";
|
mes "If you are ready I am about to show you what I can do with your +" + .@equip_refine + " Artifact!";
|
||||||
next;
|
next;
|
||||||
mes "[Artifact Collector]";
|
mes "[Artifact Collector]";
|
||||||
mes "I'm going to take your ^FF0000"+getequipname(EQI_HAND_R)+"^000000 and exchange it, are you ready?";
|
mes "I'm going to take your ^FF0000"+getequipname(EQI_HAND_R)+"^000000 and exchange it, are you ready?";
|
||||||
@ -1405,6 +1411,11 @@ mora,124,82,4 script Artifact Collector#blan 522,{
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
emotion ET_SMILE;
|
emotion ET_SMILE;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", EQI_HAND_R, .@equip_id) || callfunc("F_IsEquipCardHack", EQI_HAND_R, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]) || callfunc("F_IsEquipRefineHack", EQI_HAND_R, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
delequip EQI_HAND_R;
|
delequip EQI_HAND_R;
|
||||||
getitem .@empowered,1;
|
getitem .@empowered,1;
|
||||||
mes "[Artifact Collector]";
|
mes "[Artifact Collector]";
|
||||||
@ -1487,6 +1498,8 @@ function script F_Mora_Enchant {
|
|||||||
specialeffect2 EF_REPAIRWEAPON;
|
specialeffect2 EF_REPAIRWEAPON;
|
||||||
progressbar "ffff00",3;
|
progressbar "ffff00",3;
|
||||||
delitem 6380,5; //Mora_Coin
|
delitem 6380,5; //Mora_Coin
|
||||||
|
if (countitem(getarg(0)) < 1)
|
||||||
|
return 0;
|
||||||
delitem getarg(0),1;
|
delitem getarg(0),1;
|
||||||
set .@i, rand(1,4568);
|
set .@i, rand(1,4568);
|
||||||
if (.@i <= 3168) {
|
if (.@i <= 3168) {
|
||||||
@ -1516,6 +1529,7 @@ function script F_Mora_Enchant {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
mora,105,176,4 script Master Tailor#pa0829 509,{
|
mora,105,176,4 script Master Tailor#pa0829 509,{
|
||||||
|
disable_items;
|
||||||
if (checkweight(1201,1) == 0) {
|
if (checkweight(1201,1) == 0) {
|
||||||
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
|
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
|
||||||
close;
|
close;
|
||||||
@ -1608,6 +1622,7 @@ mora,105,176,4 script Master Tailor#pa0829 509,{
|
|||||||
}
|
}
|
||||||
|
|
||||||
mora,123,177,6 script Pendant Crafter#pa0829 509,{
|
mora,123,177,6 script Pendant Crafter#pa0829 509,{
|
||||||
|
disable_items;
|
||||||
if (checkweight(1201,1) == 0) {
|
if (checkweight(1201,1) == 0) {
|
||||||
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
|
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
|
||||||
close;
|
close;
|
||||||
@ -1678,6 +1693,7 @@ mora,123,177,6 script Pendant Crafter#pa0829 509,{
|
|||||||
}
|
}
|
||||||
|
|
||||||
mora,134,166,4 script Bulberry Westhood#pa0829 509,{
|
mora,134,166,4 script Bulberry Westhood#pa0829 509,{
|
||||||
|
disable_items;
|
||||||
if (checkweight(1201,1) == 0) {
|
if (checkweight(1201,1) == 0) {
|
||||||
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
|
mes "You have too many kinds of things with you to do that. Throw out some of them and try again.";
|
||||||
close;
|
close;
|
||||||
|
@ -79,11 +79,12 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
if (!getequipisequiped(.@part)) {
|
// if (!getequipisequiped(.@part)) {
|
||||||
mes "It is dangerous to remove equipment during enchant process!";
|
// mes "It is dangerous to remove equipment during enchant process!";
|
||||||
close;
|
// close;
|
||||||
}
|
// }
|
||||||
set .@equip_id, getequipid(.@part);
|
set .@equip_id, getequipid(.@part);
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
set .@item$, "|1292|1394|1491|1585|2015|13071|13115|16019|18112|21000|";
|
set .@item$, "|1292|1394|1491|1585|2015|13071|13115|16019|18112|21000|";
|
||||||
if (!compare(.@item$,"|"+.@equip_id+"|")) {
|
if (!compare(.@item$,"|"+.@equip_id+"|")) {
|
||||||
mes "I don't want to touch your equipment now!";
|
mes "I don't want to touch your equipment now!";
|
||||||
@ -217,7 +218,6 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
|
|||||||
mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
|
mes "Are you listening to me? I will only do for you if you bring the Enchant Book!";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
set .@equip_refine, getequiprefinerycnt(.@part);
|
|
||||||
if (.@enchant == 0) {
|
if (.@enchant == 0) {
|
||||||
specialeffect EF_SHIELDCHARGE;
|
specialeffect EF_SHIELDCHARGE;
|
||||||
mes "Oh! Unbelievable!! It failed!! Please come again!";
|
mes "Oh! Unbelievable!! It failed!! Please come again!";
|
||||||
@ -230,7 +230,7 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
|
|||||||
delitem 6484,1; //Enchant_Book
|
delitem 6484,1; //Enchant_Book
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine) ||
|
||||||
callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
||||||
close;
|
close;
|
||||||
|
|
||||||
@ -263,11 +263,10 @@ prt_in,28,73,3 script Devil Enchant Master#prq 63,{
|
|||||||
set Zeny, Zeny - 100000;
|
set Zeny, Zeny - 100000;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine) ||
|
||||||
callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]))
|
||||||
close;
|
close;
|
||||||
|
|
||||||
set .@equip_refine, getequiprefinerycnt(.@part);
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
|
|
||||||
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] 0
|
// GetNonSlotItemSock2 .@equip_refine .@equip_id .@equip_card[0] .@equip_card[1] .@equip_card[2] 0
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
|
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_HD, REFINE_MATERIAL_ID);
|
||||||
|
|
||||||
@ -109,7 +110,7 @@
|
|||||||
set Zeny, Zeny-.@price;
|
set Zeny, Zeny-.@price;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
mes "[Blacksmith Mighty Hammer]";
|
mes "[Blacksmith Mighty Hammer]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
@ -216,6 +217,7 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 826
|
|||||||
}
|
}
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_OVER10_HD, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_OVER10_HD, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_OVER10_HD, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_OVER10_HD, REFINE_MATERIAL_ID);
|
||||||
switch(getequipweaponlv(.@part)) {
|
switch(getequipweaponlv(.@part)) {
|
||||||
@ -271,7 +273,7 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 826
|
|||||||
set Zeny, Zeny-.@price;
|
set Zeny, Zeny-.@price;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
mes "[Basta]";
|
mes "[Basta]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
|
@ -86,12 +86,13 @@ function script refinenew {
|
|||||||
mes "refine this item at all...";
|
mes "refine this item at all...";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(.@part) < 10) {
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
if (.@refinerycnt < 10) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "I said I don't work with items that are lower than Level 10.";
|
mes "I said I don't work with items that are lower than Level 10.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(.@part) >= 20) { //custom check
|
if (.@refinerycnt >= 20) { //custom check
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "I can't refine this";
|
mes "I can't refine this";
|
||||||
mes "any more. This is as";
|
mes "any more. This is as";
|
||||||
@ -99,12 +100,12 @@ function script refinenew {
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_OVER10, REFINE_MATERIAL_ID);
|
||||||
.@safe = 10;
|
.@safe = 10;
|
||||||
|
|
||||||
if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) {
|
if (getequipweaponlv(.@part) >= 1 && getequipweaponlv(.@part) <= 4) {
|
||||||
.@article$ = "a";
|
.@article$ = "a";
|
||||||
.@type$ = "weapon";
|
.@type$ = "weapon";
|
||||||
} else {
|
} else {
|
||||||
@ -155,7 +156,7 @@ function script refinenew {
|
|||||||
delitem .@material,1;
|
delitem .@material,1;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
@ -209,7 +210,7 @@ function script refinenew {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// New +11 and above Refining Functions ========================
|
// New +11 and above Refining Functions ========================
|
||||||
if (getequiprefinerycnt(.@part) < .@safe) {
|
if (.@refinerycnt < .@safe) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
|
mes "I can refine this to the safe limit or a desired number of times. It's your choice.";
|
||||||
next;
|
next;
|
||||||
@ -218,14 +219,14 @@ function script refinenew {
|
|||||||
.@menu2 = 2;
|
.@menu2 = 2;
|
||||||
switch(.@menu2){
|
switch(.@menu2){
|
||||||
case 1:
|
case 1:
|
||||||
.@refinecnt = .@safe - getequiprefinerycnt(.@part);
|
.@refinecnt = .@safe - .@refinerycnt;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "How many times would you like me to refine your item?";
|
mes "How many times would you like me to refine your item?";
|
||||||
next;
|
next;
|
||||||
input .@refinecnt;
|
input .@refinecnt;
|
||||||
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
|
.@refinecheck = .@refinecnt + .@refinerycnt;
|
||||||
if (.@refinecnt < 1 || .@refinecheck > 20) {
|
if (.@refinecnt < 1 || .@refinecheck > 20) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "I can't refine this item that many times.";
|
mes "I can't refine this item that many times.";
|
||||||
@ -271,6 +272,11 @@ function script refinenew {
|
|||||||
mes "Look here... you don't have any items on...";
|
mes "Look here... you don't have any items on...";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt))
|
||||||
|
close;
|
||||||
|
|
||||||
if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
|
if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
mes "Clang... No, but did you imagine I could be so stupid?!";
|
mes "Clang... No, but did you imagine I could be so stupid?!";
|
||||||
@ -316,6 +322,7 @@ function script refinenew {
|
|||||||
mes "I will do a better job next time! Don't worry!";
|
mes "I will do a better job next time! Don't worry!";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
.@refinerycnt = getequiprefinerycnt(.@part);
|
||||||
}
|
}
|
||||||
emotion ET_BEST;
|
emotion ET_BEST;
|
||||||
mes "["+ .@npc_name$ +"]";
|
mes "["+ .@npc_name$ +"]";
|
||||||
@ -433,14 +440,15 @@ malangdo,224,172,6 script Clink#mal_normal 544,{
|
|||||||
mes "This can't be refined!!";
|
mes "This can't be refined!!";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(.@part) >= 10) {
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
if (.@refinerycnt >= 10) {
|
||||||
mes "[Clink]";
|
mes "[Clink]";
|
||||||
mes "Perfect refining. Did I do this for you?";
|
mes "Perfect refining. Did I do this for you?";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
.@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST);
|
.@price = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_ZENY_COST);
|
||||||
.@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
|
.@material = getequiprefinecost(.@part, REFINE_COST_NORMAL, REFINE_MATERIAL_ID);
|
||||||
|
|
||||||
@ -506,7 +514,7 @@ malangdo,224,172,6 script Clink#mal_normal 544,{
|
|||||||
Zeny = Zeny-.@price;
|
Zeny = Zeny-.@price;
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
||||||
mes "[Clink]";
|
mes "[Clink]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
|
@ -43,8 +43,11 @@
|
|||||||
mes "There's nothing here!";
|
mes "There's nothing here!";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
|
.@equip_id = getequipid(.@part);
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
mes "[Shadow Blacksmith]";
|
mes "[Shadow Blacksmith]";
|
||||||
mes "I require " + callfunc("F_InsertComma", .@zeny_cost) + " zeny as a fee for EACH refine attempt.";
|
mes "I require " + callfunc("F_InsertComma", .@zeny_cost) + " zeny as a fee for EACH refine attempt.";
|
||||||
mes "Choose your Ore and start refining.";
|
mes "Choose your Ore and start refining.";
|
||||||
@ -63,7 +66,7 @@
|
|||||||
.@mate$[1] = getitemname(.@material[1]);
|
.@mate$[1] = getitemname(.@material[1]);
|
||||||
else
|
else
|
||||||
.@mate$[1] = "^8C8C8C"+ getitemname(.@material[1]) +"^000000";
|
.@mate$[1] = "^8C8C8C"+ getitemname(.@material[1]) +"^000000";
|
||||||
if (getequiprefinerycnt(.@part) > 6 && countitem(.@material[2]))
|
if (.@equip_refine > 6 && countitem(.@material[2]))
|
||||||
.@mate$[2] = getitemname(.@material[2]);
|
.@mate$[2] = getitemname(.@material[2]);
|
||||||
else
|
else
|
||||||
.@mate$[2] = "^8C8C8C"+ getitemname(.@material[2]) +"^000000";
|
.@mate$[2] = "^8C8C8C"+ getitemname(.@material[2]) +"^000000";
|
||||||
@ -100,7 +103,7 @@
|
|||||||
mes "You do not have enough zeny.";
|
mes "You do not have enough zeny.";
|
||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
if (getequiprefinerycnt(.@part) > 9) {
|
if (.@equip_refine > 9) {
|
||||||
mes "[Shadow Blacksmith]";
|
mes "[Shadow Blacksmith]";
|
||||||
mes "Shadow Equipment can be refined to the maximum of 10...";
|
mes "Shadow Equipment can be refined to the maximum of 10...";
|
||||||
close;
|
close;
|
||||||
@ -124,12 +127,16 @@
|
|||||||
close;
|
close;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mes "[Shadow Blacksmith]";
|
mes "[Shadow Blacksmith]";
|
||||||
mes "Well then.. here goes nothing!";
|
mes "Well then.. here goes nothing!";
|
||||||
next;
|
next;
|
||||||
delitem .@choose,1;
|
delitem .@choose,1;
|
||||||
Zeny -= .@zeny_cost;
|
Zeny -= .@zeny_cost;
|
||||||
|
|
||||||
|
// anti-hack
|
||||||
|
if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3]) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
|
close;
|
||||||
|
|
||||||
if (getequippercentrefinery(.@part, .@is_enriched) > rand(100)) {
|
if (getequippercentrefinery(.@part, .@is_enriched) > rand(100)) {
|
||||||
successrefitem .@part;
|
successrefitem .@part;
|
||||||
mes "[Shadow Blacksmith]";
|
mes "[Shadow Blacksmith]";
|
||||||
|
@ -78,6 +78,7 @@ prontera,184,177,6 script Refine Master 851,{
|
|||||||
}
|
}
|
||||||
.@refineitemid = getequipid(.@part); // save id of the item
|
.@refineitemid = getequipid(.@part); // save id of the item
|
||||||
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
.@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
|
||||||
|
setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
|
||||||
switch(getequipweaponlv(.@part)) {
|
switch(getequipweaponlv(.@part)) {
|
||||||
default:
|
default:
|
||||||
case 0:
|
case 0:
|
||||||
@ -150,7 +151,7 @@ prontera,184,177,6 script Refine Master 851,{
|
|||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
|
||||||
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) {
|
callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) {
|
||||||
mes "[Refine Master]";
|
mes "[Refine Master]";
|
||||||
emotion ET_FRET;
|
emotion ET_FRET;
|
||||||
mes "Wait a second...";
|
mes "Wait a second...";
|
||||||
|
@ -3604,6 +3604,7 @@ ma_fild01,238,198,4 script Tikbalang Expert#malaya 582,{
|
|||||||
// Upgrade Boss Equipment :: malaya_mvpitem
|
// Upgrade Boss Equipment :: malaya_mvpitem
|
||||||
//============================================================
|
//============================================================
|
||||||
ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
|
ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
|
||||||
|
disable_items;
|
||||||
mes "[Bayani]";
|
mes "[Bayani]";
|
||||||
mes "I will upgrade your armor if you bring one that holds enormous power.";
|
mes "I will upgrade your armor if you bring one that holds enormous power.";
|
||||||
next;
|
next;
|
||||||
@ -3782,7 +3783,9 @@ ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
|
|||||||
mes "[Bayani]";
|
mes "[Bayani]";
|
||||||
mes "What is this! You said you wanted to upgrade " + getitemname(.@item) + " but why are you giving me this? You should be wearing " + getitemname(.@item) + ".";
|
mes "What is this! You said you wanted to upgrade " + getitemname(.@item) + " but why are you giving me this? You should be wearing " + getitemname(.@item) + ".";
|
||||||
close;
|
close;
|
||||||
} else if (getequiprefinerycnt(.@part) < 9) {
|
}
|
||||||
|
.@equip_refine = getequiprefinerycnt(.@part);
|
||||||
|
if (.@equip_refine < 9) {
|
||||||
mes "[Bayani]";
|
mes "[Bayani]";
|
||||||
mes "No, the sturdiness of this item has not been tested yet. It'll have to be at least +9 refined for me to say, 'Oh this is pretty sturdy armor.";
|
mes "No, the sturdiness of this item has not been tested yet. It'll have to be at least +9 refined for me to say, 'Oh this is pretty sturdy armor.";
|
||||||
close;
|
close;
|
||||||
@ -3823,7 +3826,7 @@ ma_fild01,158,243,6 script Tribe Blacksmith#malaya 582,{
|
|||||||
delitem 6499,20; //Ancient_Grudge
|
delitem 6499,20; //Ancient_Grudge
|
||||||
|
|
||||||
// anti-hack
|
// anti-hack
|
||||||
if (callfunc("F_IsEquipIDHack", .@part, .@item))
|
if (callfunc("F_IsEquipIDHack", .@part, .@item) || callfunc("F_IsEquipRefineHack", .@part, .@equip_refine))
|
||||||
close;
|
close;
|
||||||
|
|
||||||
delequip .@part;
|
delequip .@part;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user