Перейти к содержанию

Зачарование


Рекомендуемые сообщения

//===== eAthena Script ======================================= 
//= Armor Enchanter
//===== By: ==================================================
//= L0ne_W0lf
//===== Current Version: =====================================
//= 2.0
//===== Compatible With: =====================================
//= eAhena SVN
//===== Description: =========================================
//= [Aegis Conversion]
//= Add a +1-10 of a random stat to specified armor.
//===== Additional Comments: =================================
//= 2.0 version change by KulbiT
//============================================================

prontera,164,196,3 script Мэрлин 73,{
mes "[Мэрлин]";
mes "Я долго изучал способы усиления брони, чтобы максимизировать ее способности.";
mes "Зачарование является удивительным навыком, который вселяет таинственную силу в скрытый слот брони.";
if (getequipid(2)<=600) {mes "Приходи, если понадобиться моя помошь."; close;}
next;
setarray @ItemEnch[0],getequipid(2),getequiprefinerycnt(2),getequipcardid(2,0),getequipcardid(2,1),getequipcardid(2,2),getequipcardid(2,3);
mes "[Мэрлин]";
mes "Итак ты хочешь зачаровать +"+@ItemEnch[1]+" "+getequipname(2)+" ?";
mes "Если нет, то сначала надень нужную броню, а потом приходи.";
next;
switch(select("Да:Нет")) {
case 1:
mes "[Мэрлин]";
mes "Какой скрытый слот хочешь зачаровать?";
mes "Всего слотов три:";
mes "1) стоимость зачарования первого слота - 3кк зени за попытку";
mes "2) стоимость зачарования второго слота - 9кк зени и Империумное сверло";
mes "3) стоимость зачарования третьего слота - 15кк зени и Золотое сверло";
set @ItemEnch[6],(select("1й:2й:3й")-1);
callsub S_EnchantArmor;
break;
case 2:
mes "[Мэрлин]";
mes "Приходи, когда будешь заинтересован в моих услугах.";
close;
break;
}


S_EnchantArmor:
if (Zeny < ((@ItemEnch[6]*2+1)*3000000 )) {
mes "[Мэрлин]";
mes "Извени, но у тебя не хватает зени.";
close;}


mes "[Мэрлин]";
mes "Ну что начнем?";
next;
switch(select("Хмм...Мне надо подумать.:ДА,ДА,ДА!!!!!")) {
case 1:
mes "[Мэрлин]";
mes "Хорошо, я не буду тебя заставлять. Безопасность прежде всего, Да?";
mes "Приятного дня.";
close;
case 2:
close2;
specialeffect2 EF_MAPPILLAR;
if (Zeny < ((@ItemEnch[6]*2+1)*3000000 )) {
mes "[Мэрлин]";
mes "Извени, но у тебя не хватает зени.";
close;
}
progressbar "ffff00",7;
set zeny,zeny-((@ItemEnch[6]*2+1)*3000000);
delitem @ItemEnch[0],1;
if (@ItemEnch[6]==0) {set @ItemEnch[5],rand(4700,4759);}
else if (@ItemEnch[6]==1) {set @ItemEnch[3],rand(4700,4759);}
else if (@ItemEnch[6]==2) {set @ItemEnch[4],rand(4700,4759);}
else {end;}
if (@ItemEnch[6]==1) {if (countitem(20211)>0) {delitem 20211,1;} else { mes "[Мэрлин]";mes "Извени, но у тебя не хватает Империумного сверла."; close;}}
if (@ItemEnch[6]==2) {if (countitem(20210)>0) {delitem 20210,1;} else { mes "[Мэрлин]";mes "Извени, но у тебя не хватает Золотого сверла."; close;}}
getitem2 @ItemEnch[0], 1, 1, @ItemEnch[1], 0, @ItemEnch[2], @ItemEnch[3], @ItemEnch[4], @ItemEnch[5];
end;
}
}

Фишка в том что, здесь возможен дюп: нпц удаляет броню не ту которую чарует, а которая в инвентаре лежит. В итоге остается та что надета и еще новая зачарованная появляется. Помогите поправить.

Изменено пользователем mrboob
Ссылка на комментарий
Поделиться на другие сайты

Ватсон это элементарно, сними броню с чара перед вызовом функции, я не помню команду, но она есть...

Воти она unequip <equipment slot>;

Loc: Equipment's placement. Values are:

2^8 256 = Upper Headgear

2^9 512 = Middle Headgear

2^0 001 = Lower Headgear

2^4 016 = Armor

2^1 002 = Weapon

2^5 032 = Shield

2^2 004 = Garment

2^6 064 = Footgear

2^3 008 = Accessory 1

2^7 128 = Accessory 2

Изменено пользователем Nezdeshniy
Ссылка на комментарий
Поделиться на другие сайты

Запоминаешь у выбранной брони свойства,снимаешь,удаляешь.

delitem2

Спасибо, но снимать броню вовсе не обязательно, достаточно было исправить delitem на delitem2

Изменено пользователем mrboob
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика