qabakrall Опубликовано 2 мая, 2020 Жалоба Поделиться Опубликовано 2 мая, 2020 Уже пару дней мучаюсь и никак не могу решить одну интересную задачу ) Суть в том что бы вставить Чант в доспех... Стандартный нпц предупреждает что при чанте спадёт точка и карта внутри... Мне же надо что бы точка и карта сохранилась после встраивания... Можете подсказать как это отладить? 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 .@i,0; .@i < getarraysize( .EquipID ); set .@i,.@i + 1 ) set .@EquipMenu$,.@EquipMenu$ + getitemname( .EquipID[.@i] )+( !getitemslots(.EquipID[.@i])?"":"["+getitemslots(.EquipID[.@i])+"]" )+":"; set .@Equip,select( .@EquipMenu$ ) - 1; if( !countitem( .EquipID[.@Equip] ) ){ mes "You haven't this armor."; close; } mes "Equip: ^FF0000"+getitemname( .EquipID[.@Equip] )+"^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 .@i,0; .@i < getarraysize( .RuneID ); set .@i,.@i + 1 ) set .@RuneMenu$,.@RuneMenu$ + getitemname( .RuneID[.@i] )+":"; set .@Rune,select( .@RuneMenu$ ) - 1; mes "Руна : ^FF0000"+getitemname( .RuneID[.@Rune] )+"^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[.@Rune] ) ){ mes "[Sage Horon]"; mes "Sorry, But you haven't "+getitemname( .RuneID[.@Rune] )+" 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[.@Equip],1; delitem .RuneID[.@Rune],1; delitem 12384,1; Zeny -= 15000000; getitem2 .EquipID[.@Equip],1,1,0,0,0,0,0,.RuneID[.@Rune]; specialeffect 8, SELF; mes "[Sage Horon]"; mes "Well Done!."; mes "^0000FF"+getitemname( .EquipID[.@Equip] )+"^000000"; mes "Enchanted ^FF0000"+getitemname( .RuneID[.@Rune] )+"^000000"; close; } OnInit: waitingroom "[Enchant Armor]",0; end; } Вот скрипт который я использую Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 3 мая, 2020 Жалоба Поделиться Опубликовано 3 мая, 2020 https://github.com/rathena/rathena/blob/master/npc/re/merchants/enchan_ko.txt#L535 Вот же в дефолтном скрипте есть запоминание того что вставлено, если там все 4 слота не будут занято, то в принципе можно оставлять и карты и энчанты В getitem2 надо передавать сохраненные айдишники карт и т.д. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
qabakrall Опубликовано 5 мая, 2020 Автор Жалоба Поделиться Опубликовано 5 мая, 2020 Спасибо за подсказку, надо попробовать, просто я использую Hercules и это есть целая проблема. Кстати что бы не открывать новые и новые темы спрошу прям тут, Есть у кого rAmod отлаженный, не такой что валяется 2013 года в открытом доступе (там дофига багов и ошибок) А уже подправленный, раньше был у меня такой, но потерял вместе с хард диском, можем договориться по цене если что... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения