qabakrall

Enchant System

3 сообщения в этой теме

Уже пару дней мучаюсь и никак не могу решить одну интересную задачу )
Суть в том что бы вставить Чант в доспех... Стандартный нпц предупреждает что при чанте спадёт точка и карта внутри...
Мне же надо что бы точка и карта сохранилась после встраивания...
Можете подсказать как это отладить?
 

new_Mall,85,88,6	script	Мастер Встраивания	4_M_ARDHA,{
mes "[Sage Horon]";
mes "I can chant your armor with Rune Sphere";
mes "But not every armor can be enchanted...";
next;
mes "[Sage Horon]";
mes "Chance ^FF0000of Chanting is ^000000 -> ^5555f1 100% ^000000 ";
next;
mes "[Sage Horon]";
mes "To insert a rune you need a special alloy stone ^5555f1Rainbow Stone^000000";
mes "You also need an item that I will enchant ^5555fRune^000000";
mes "and 150.000.000 Zeny";
next;
mes "[Sage Horon]";
mes "Do you want to see my list?";
next;
switch(select("See Armor List.:Maybe next time.")) {


case 2:
mes "[Sage Horon]";
mes "Ok, come back when you decide to enchant armor.";
close;
}

setarray .EquipID[0],32482,32486,32302,2371,2357,2345,2347,2349,2351,2375,2374,15042; // ID Armor
for( set [email protected],0; [email protected] < getarraysize( .EquipID ); set [email protected],[email protected] + 1 )
set [email protected]$,[email protected]$ + getitemname( .EquipID[[email protected]] )+( !getitemslots(.EquipID[[email protected]])?"":"["+getitemslots(.EquipID[[email protected]])+"]" )+":";
set [email protected],select( [email protected]$ ) - 1;
if( !countitem( .EquipID[[email protected]] ) ){
mes "You haven't this armor.";
close;
}
mes "Equip: ^FF0000"+getitemname( .EquipID[[email protected]] )+"^000000";
switch( select( "STR:INT:DEX:AGI:VIT:LUK" )){
case 1: setarray .RuneID[0],4709; break;
case 2: setarray .RuneID[0],4719; break;
case 3: setarray .RuneID[0],4729; break;
case 4: setarray .RuneID[0],4739; break;
case 5: setarray .RuneID[0],4749; break;
case 6: setarray .RuneID[0],4759; break;
}
for( set [email protected],0; [email protected] < getarraysize( .RuneID ); set [email protected],[email protected] + 1 )
set [email protected]$,[email protected]$ + getitemname( .RuneID[[email protected]] )+":";
set [email protected],select( [email protected]$ ) - 1;
mes "Руна : ^FF0000"+getitemname( .RuneID[[email protected]] )+"^000000";
next;
	mes "[Sage Horon]";
	mes "First and most importantly.";
	mes "^ff5555Existing Refine Level of the Armor";
	mes "and Cards will be GONE.^000000";
	mes "Do you still want to try an Enchant?";
	if( select("Yes:NO") == 1 ){
	if( !countitem( .RuneID[[email protected]] ) ){
	mes "[Sage Horon]";
	 mes "Sorry, But you haven't "+getitemname( .RuneID[[email protected]] )+" in your inventory.";
	 close;
}
if(Zeny < 150000000){
mes "[Sage Horon]";
mes "You Haven't 150.000.000 Zeny";
close;
}
if( countitem( 12384 ) < 1){
mes "[Sage Horon]";
mes "You Haven't ^5555f1Rainbow Stone^000000";
close;
}
mes "[Sage Horon]";
mes "Okey, Let's begin...";
progressbar "green",4;
	delitem .EquipID[[email protected]],1;
	delitem .RuneID[[email protected]],1;
	delitem 12384,1;
	Zeny -= 15000000;
	getitem2 .EquipID[[email protected]],1,1,0,0,0,0,0,.RuneID[[email protected]];
	specialeffect 8, SELF;
mes "[Sage Horon]";
	mes "Well Done!.";
	mes "^0000FF"+getitemname( .EquipID[[email protected]] )+"^000000";
	mes "Enchanted ^FF0000"+getitemname( .RuneID[[email protected]] )+"^000000";
close;
}
OnInit:
	waitingroom "[Enchant Armor]",0;
	end;
}

Вот скрипт который я использую

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https://github.com/rathena/rathena/blob/master/npc/re/merchants/enchan_ko.txt#L535

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

В getitem2 надо передавать сохраненные айдишники карт и т.д.

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за подсказку, надо попробовать, просто я использую Hercules и это есть целая проблема. Кстати что бы не открывать новые и новые темы спрошу прям тут, Есть у кого rAmod отлаженный, не такой что валяется 2013 года в открытом доступе (там дофига багов и ошибок)
А уже подправленный, раньше был у меня такой, но потерял вместе с хард диском, можем договориться по цене если что...

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас