RelaX Опубликовано 26 ноября, 2016 Жалоба Поделиться Опубликовано 26 ноября, 2016 (изменено) Ребят как сделать 100% шанс чанта где отвечающая за это строка? П.С в скрипте якобы 40% Шанс. Скрытый текст prontera,165,158,7 script Enchant(6-10) 430,{ mes "[^FF7E00 MasterSmith ^000000]"; mes "^008000Я могу попробовать улучшить Вашу вещь от +6 до +10 к стату.^000000"; mes "^C200DDДля улучшения Вам нужно:^000000"; mes "- ^FF00001x^000000 ^5555ffУлучшаемая вещь^000000"; mes "- ^FF000030x^000000 ^5555ffTCG Card^000000"; mes "- ^FF0000нельзя двигаться или процесс улучшения будет прекращён.^000000"; next; if (countitem(7227) > 29) { mes "[^FF7E00 MasterSmith ^000000]"; mes "^FF0000Внимание!!! Заточка Вашей вещи и карта в ней пропадут!!!^000000"; next; mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDЧтож приступим....^000000"; switch(select("^8080AAАрморы.^000000:^D3AA00Мантии.^000000:^008000Ботинки.^000000:^0000FFНет,спасибо.^000000")) { case 1: switch(select("^D3AA00Valkyrie's Armor^000000:^FF7E00Gold Valkyrie's Armor^000000:^008000Green Valkyrie's Armor^000000:^C200DDBrynhild^000000:^00C6DDDiabolus Armor^000000:^FF0000Odin Blessing^000000:^0000FFNovice Breastplate^000000:^C200DDВыйти^000000")) { case 1: callsub S_EnchantArmor,2357,180; case 2: callsub S_EnchantArmor,26071,180; case 3: callsub S_EnchantArmor,26070,180; case 4: callsub S_EnchantArmor,2383,180; case 5: callsub S_EnchantArmor,2375,180; case 6: callsub S_EnchantArmor,2353,180; case 7: callsub S_EnchantArmor,2340,180; case 8: mes "^C200DDУдачи...^000000"; close; } case 2: switch(select("^D3AA00Valkyrie's Manteau^000000:^FF7E00Asprika^000000:^008000Diabolus Manteau^000000:^C200DDMuffler^000000:^00C6DDNovice Manteau^000000:^FF0000Выйти^000000")) { case 1: callsub S_EnchantArmor,2524,180; case 2: callsub S_EnchantArmor,2541,180; case 3: callsub S_EnchantArmor,2537,180; case 4: callsub S_EnchantArmor,2504,180; case 5: callsub S_EnchantArmor,2512,180; case 6: mes "^C200DDУдачи...^000000"; close; } case 3: switch(select("^D3AA00Sleipnir^000000:^FF7E00Valkyrie's Shoes^000000:^008000Diabolus Boots^000000:^C200DDNovice Shoes^000000:^00C6DDShoes^000000:^FF0000Выйти^000000")) { case 1: callsub S_EnchantArmor,2410,180; case 2: callsub S_EnchantArmor,2421,180; case 3: callsub S_EnchantArmor,2433,180; case 4: callsub S_EnchantArmor,2416,180; case 5: callsub S_EnchantArmor,2404,180; case 6: mes "^C200DDУдачи...^000000"; close; } case 4: mes "^C200DDУдачи!^000000"; close; } } else { mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDУ вас должно быть:^000000"; mes "- ^FF000030x^000000 ^0000FFTCG card^000000"; close; } S_EnchantArmor: set .@itemid,getarg(0); set .@failrate,getarg(1); if ((countitem(.@itemid) > 0) && (countitem(.@itemid) < 2)) { mes "^FF0000Шанс поломки: ~40%^000000."; mes "^C200DDВы готовы?^000000"; switch(select("^FF0000Хмм... я передумал.^000000:^008000Начать.^000000")) { case 1: mes "^C200DDНу чтож приходите ещё.^000000"; close; case 2: close2; specialeffect2 EF_MAPPILLAR; if (countitem(7227) < 30) { mes "^C200DDУ вас нету TCG card.^000000"; close; } progressbar "ffff00",10; set .@enc_ran,rand(1,.@failrate); delitem 7227,30; delitem .@itemid,1; //+6 if ((.@enc_ran > 0) && (.@enc_ran < 8)) { set .@addpart,4705; } else if ((.@enc_ran > 10) && (.@enc_ran < 17)) { set .@addpart,4715; } else if ((.@enc_ran > 17) && (.@enc_ran < 24)) { set .@addpart,4725; } else if ((.@enc_ran > 24) && (.@enc_ran < 31)) { set .@addpart,4735; } else if ((.@enc_ran > 31) && (.@enc_ran < 38)) { set .@addpart,4745; } else if ((.@enc_ran > 38) && (.@enc_ran < 45)) { set .@addpart,4755; } //+7 else if ((.@enc_ran > 50) && (.@enc_ran < 55)) { set .@addpart,4706; } else if ((.@enc_ran > 55) && (.@enc_ran < 60)) { set .@addpart,4716; } else if ((.@enc_ran > 60) && (.@enc_ran < 65)) { set .@addpart,4726; } else if ((.@enc_ran > 65) && (.@enc_ran < 70)) { set .@addpart,4736; } else if ((.@enc_ran > 70) && (.@enc_ran < 75)) { set .@addpart,4746; } else if ((.@enc_ran > 75) && (.@enc_ran < 80)) { set .@addpart,4756; } //+8 else if ((.@enc_ran > 89) && (.@enc_ran < 94)) { set .@addpart,4707; } else if ((.@enc_ran > 93) && (.@enc_ran < 98)) { set .@addpart,4717; } else if ((.@enc_ran > 97) && (.@enc_ran < 102)) { set .@addpart,4727; } else if ((.@enc_ran > 101) && (.@enc_ran < 106)) { set .@addpart,4737; } else if ((.@enc_ran > 105) && (.@enc_ran < 110)) { set .@addpart,4747; } else if ((.@enc_ran > 109) && (.@enc_ran < 114)) { set .@addpart,4757; } //+9 else if ((.@enc_ran > 125) && (.@enc_ran < 128)) { set .@addpart,4708; } else if ((.@enc_ran > 128) && (.@enc_ran < 131)) { set .@addpart,4718; } else if ((.@enc_ran > 131) && (.@enc_ran < 134)) { set .@addpart,4728; } else if ((.@enc_ran > 134) && (.@enc_ran < 137)) { set .@addpart,4738; } else if ((.@enc_ran > 137) && (.@enc_ran < 140)) { set .@addpart,4748; } else if ((.@enc_ran > 140) && (.@enc_ran < 143)) { set .@addpart,4758; } //+10 else if ((.@enc_ran > 151) && (.@enc_ran < 153)) { set .@addpart,4709; } else if ((.@enc_ran > 156) && (.@enc_ran < 158)) { set .@addpart,4719; } else if ((.@enc_ran > 161) && (.@enc_ran < 163)) { set .@addpart,4729; } else if ((.@enc_ran > 166) && (.@enc_ran < 168)) { set .@addpart,4739; } else if ((.@enc_ran > 171) && (.@enc_ran < 173)) { set .@addpart,4749; } else if ((.@enc_ran > 176) && (.@enc_ran < 178)) { set .@addpart,4759; } else { specialeffect2 EF_PHARMACY_FAIL; mes "[^FF7E00 MasterSmith ^000000]"; mes "^FF0000Не повезло...^000000"; mes "^C200DDЧтож попытайте удачи в следующий раз.^000000"; close; } specialeffect2 381; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDПоздравляю, вот Ваша вещь.^000000"; close; } } else { mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDХмм?. У Вас должна быть ТОЛЬКО 1 вещь в инвентаре или одета для улучшения.^000000"; close; } OnInit: waitingroom "[ Enchant +6..+10 ]",0; end; } Изменено 26 ноября, 2016 пользователем RelaX Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 26 ноября, 2016 Жалоба Поделиться Опубликовано 26 ноября, 2016 Все, что я могу сказать - скрипт написал криворукий 3.14дор Теперь смотрим на скрипт set .@enc_ran,rand(1,.@failrate); фэйл рейт - 180. Те выбирается число от 1 до 180 затем в куче ифов выбирается уровень гема if ((.@enc_ran > 0) && (.@enc_ran < 8)) { set .@addpart,4705; } А в конце, если выпавшее число не попадает в области ифов - вещь ломается else { specialeffect2 EF_PHARMACY_FAIL; mes "[^FF7E00 MasterSmith ^000000]"; mes "^FF0000Не повезло...^000000"; mes "^C200DDЧтож попытайте удачи в следующий раз.^000000"; close; } Ты ОДНОЗНАЧНО можешь увеличить шанс поломки, повышая 180. Но ты НЕ можешь быстрой правкой УВЕЛИЧИТЬ шанс.(хотя можно написать цикл, но это такое себе решение) 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 26 ноября, 2016 Автор Жалоба Поделиться Опубликовано 26 ноября, 2016 1 час назад, botka4aet сказал: Все, что я могу сказать - скрипт написал криворукий 3.14дор Теперь смотрим на скрипт set .@enc_ran,rand(1,.@failrate); фэйл рейт - 180. Те выбирается число от 1 до 180 затем в куче ифов выбирается уровень гема if ((.@enc_ran > 0) && (.@enc_ran < 8)) { set .@addpart,4705; } А в конце, если выпавшее число не попадает в области ифов - вещь ломается else { specialeffect2 EF_PHARMACY_FAIL; mes "[^FF7E00 MasterSmith ^000000]"; mes "^FF0000Не повезло...^000000"; mes "^C200DDЧтож попытайте удачи в следующий раз.^000000"; close; } Ты ОДНОЗНАЧНО можешь увеличить шанс поломки, повышая 180. Но ты НЕ можешь быстрой правкой УВЕЛИЧИТЬ шанс.(хотя можно написать цикл, но это такое себе решение) Я понял что ты имеешь в виду. Спасибо буду побывать! Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 26 ноября, 2016 Автор Жалоба Поделиться Опубликовано 26 ноября, 2016 Крч потыкал я все что только приходило в голову не вышло приблизиться к 100%..... Есть у кого-то подобный скрипт хотя бы чанты +10. Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 26 ноября, 2016 Жалоба Поделиться Опубликовано 26 ноября, 2016 (изменено) Давно я таких динозавров не видел, по хорошему это всё нужно переписать. 1. шанс можно вбить в одну переменную 2. возможное улучшение в слоте так же, не переписывая каждый раз по новой. (как минимум потом будет проще вносить изменения) Я как-то так это реализовал. Изменено 26 ноября, 2016 пользователем Salfer Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 27 ноября, 2016 Автор Жалоба Поделиться Опубликовано 27 ноября, 2016 17 час назад, RelaX сказал: Крч потыкал я все что только приходило в голову не вышло приблизиться к 100%..... Есть у кого-то подобный скрипт хотя бы чанты +10. АП Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 27 ноября, 2016 Жалоба Поделиться Опубликовано 27 ноября, 2016 если тебе 100% +10, то в этом куске if ((.@enc_ran > 151) && (.@enc_ran < 153)) { set .@addpart,4709; } else if ((.@enc_ran > 156) && (.@enc_ran < 158)) { set .@addpart,4719; } else if ((.@enc_ran > 161) && (.@enc_ran < 163)) { set .@addpart,4729; } else if ((.@enc_ran > 166) && (.@enc_ran < 168)) { set .@addpart,4739; } else if ((.@enc_ran > 171) && (.@enc_ran < 173)) { set .@addpart,4749; } else if ((.@enc_ran > 176) && (.@enc_ran < 178)) { set .@addpart,4759; } меняешь все (.@enc_ran > 151) && (.@enc_ran < 153) на (.@enc_ran == n) где n меняется от 1 до 6 А set .@failrate,getarg(1); меняешь на set .@failrate,6; Это коряво, но работает 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 27 ноября, 2016 Автор Жалоба Поделиться Опубликовано 27 ноября, 2016 1 час назад, botka4aet сказал: если тебе 100% +10, то в этом куске if ((.@enc_ran > 151) && (.@enc_ran < 153)) { set .@addpart,4709; } else if ((.@enc_ran > 156) && (.@enc_ran < 158)) { set .@addpart,4719; } else if ((.@enc_ran > 161) && (.@enc_ran < 163)) { set .@addpart,4729; } else if ((.@enc_ran > 166) && (.@enc_ran < 168)) { set .@addpart,4739; } else if ((.@enc_ran > 171) && (.@enc_ran < 173)) { set .@addpart,4749; } else if ((.@enc_ran > 176) && (.@enc_ran < 178)) { set .@addpart,4759; } меняешь все (.@enc_ran > 151) && (.@enc_ran < 153) на (.@enc_ran == n) где n меняется от 1 до 6 А set .@failrate,getarg(1); меняешь на set .@failrate,6; Это коряво, но работает Попробую сделать. Спасибо! Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 27 ноября, 2016 Автор Жалоба Поделиться Опубликовано 27 ноября, 2016 6 часов назад, botka4aet сказал: если тебе 100% +10, то в этом куске if ((.@enc_ran > 151) && (.@enc_ran < 153)) { set .@addpart,4709; } else if ((.@enc_ran > 156) && (.@enc_ran < 158)) { set .@addpart,4719; } else if ((.@enc_ran > 161) && (.@enc_ran < 163)) { set .@addpart,4729; } else if ((.@enc_ran > 166) && (.@enc_ran < 168)) { set .@addpart,4739; } else if ((.@enc_ran > 171) && (.@enc_ran < 173)) { set .@addpart,4749; } else if ((.@enc_ran > 176) && (.@enc_ran < 178)) { set .@addpart,4759; } меняешь все (.@enc_ran > 151) && (.@enc_ran < 153) на (.@enc_ran == n) где n меняется от 1 до 6 А set .@failrate,getarg(1); меняешь на set .@failrate,6; Это коряво, но работает Вообщем получилось у меня сделать как ты написал дает все збс. Только одно НО пропадает заточка и карты в шмотке!!!!ААААААААААААААА Возможно как-то избежать этого ужаса??? Заранее СПАСИБО!!! П.С Кому нужен скрипт(Динозавр) Скрытый текст prontera,177,188,3 script Энчант +10 430,{ mes "[^FF7E00 MasterSmith ^000000]"; mes "^008000Я могу попробовать улучшить Вашу вещь +10 к стату.^000000"; mes "^C200DDДля улучшения Вам нужно:^000000"; mes "- ^FF00001x^000000 ^5555ffУлучшаемая вещь^000000"; mes "- ^FF000010x^000000 ^5555ffTCG Card^000000"; mes "- ^FF0000нельзя двигаться или процесс улучшения будет прекращён.^000000"; next; if (countitem(7227) > 9) { mes "[^FF7E00 MasterSmith ^000000]"; mes "^FF0000Внимание!!! Заточка Вашей вещи и карта в ней пропадут!!!^000000"; next; mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDЧтож приступим....^000000"; switch(select("^8080AAАрморы.^000000:^D3AA00Мантии.^000000:^008000Ботинки.^000000:^CDCD00Щит.^000000:^0000FFНет,спасибо.^000000")) { case 1: switch(select("^D3AA00Azur Armor^000000:^FF7E00Phoenix Armor^000000:^FF0000Выйти^000000")) { case 1: callsub S_EnchantArmor,22050,6; case 2: callsub S_EnchantArmor,22053,6; case 3: mes "^C200DDУдачи...^000000"; close; } case 2: switch(select("^D3AA00Azur Manteau^000000:^FF7E00Phoenix Manteau^000000:^FF0000Выйти^000000")) { case 1: callsub S_EnchantArmor,22051,6; case 2: callsub S_EnchantArmor,22054,6; case 3: mes "^C200DDУдачи...^000000"; close; } case 3: switch(select("^D3AA00Azur Shoes^000000:^FF7E00Phoenix Shoes^000000:^FF0000Выйти^000000")) { case 1: callsub S_EnchantArmor,22052,6; case 2: callsub S_EnchantArmor,22055,6; case 3: mes "^C200DDУдачи...^000000"; close; } case 4: switch(select("^D3AA00Red Valk Shield^000000:^FF0000Выйти^000000")) { case 1: callsub S_EnchantArmor,22058,6; case 2: mes "^C200DDУдачи...^000000"; close; } case 5: mes "^C200DDУдачи!^000000"; close; } } else { mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDУ вас должно быть:^000000"; mes "- ^FF000030x^000000 ^0000FFTCG card^000000"; close; } S_EnchantArmor: set .@itemid,getarg(0); set .@failrate,6; if ((countitem(.@itemid) > 0) && (countitem(.@itemid) < 2)) { mes "^FF0000Шанс поломки: ~100%^000000."; mes "^C200DDВы готовы?^000000"; switch(select("^FF0000Хмм... я передумал.^000000:^008000Начать.^000000")) { case 1: mes "^C200DDНу чтож приходите ещё.^000000"; close; case 2: close2; specialeffect2 EF_MAPPILLAR; if (countitem(7227) < 10) { mes "^C200DDУ вас нету TCG card.^000000"; close; } progressbar "ffff00",0; set .@enc_ran,rand(1,.@failrate); delitem 7227,10; delitem .@itemid,1; //+10 if (.@enc_ran == 1) { set .@addpart,4709; } else if (.@enc_ran == 2) { set .@addpart,4719; } else if (.@enc_ran == 3) { set .@addpart,4729; } else if (.@enc_ran == 4) { set .@addpart,4739; } else if (.@enc_ran == 5) { set .@addpart,4749; } else if (.@enc_ran == 6) { set .@addpart,4759; } else { specialeffect2 EF_PHARMACY_FAIL; mes "[^FF7E00 MasterSmith ^000000]"; mes "^FF0000Не повезло...^000000"; mes "^C200DDЧтож попытайте удачи в следующий раз.^000000"; close; } specialeffect2 381; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDПоздравляю, вот Ваша вещь.^000000"; close; } } else { mes "[^FF7E00 MasterSmith ^000000]"; mes "^C200DDХмм?. У Вас должна быть ТОЛЬКО 1 вещь в инвентаре или одета для улучшения.^000000"; close; } OnInit: waitingroom "[ Энчант +10 ]",0; end; } Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 28 ноября, 2016 Жалоба Поделиться Опубликовано 28 ноября, 2016 set .@equip_refine,getequiprefinerycnt( .@itemid ); for ( set .@c,0; .@c < 3; set .@c,.@c + 1 ) set .@card[.@c],getequipcardid(.@itemid,.@c); getitem2 .@itemid,1,1,.@equip_refine,0,.@card[0],.@card[1],.@card[2],.@addpart; Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 28 ноября, 2016 Автор Жалоба Поделиться Опубликовано 28 ноября, 2016 Заменил я вот этот кусок getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; На set .@equip_refine,getequiprefinerycnt( .@itemid ); for ( set .@c,0; .@c < 3; set .@c,.@c + 1 ) set .@card[.@c],getequipcardid(.@itemid,.@c); getitem2 .@itemid,1,1,.@equip_refine,0,.@card[0],.@card[1],.@card[2],.@addpart; Не помогло =( Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 28 ноября, 2016 Жалоба Поделиться Опубликовано 28 ноября, 2016 В общем set .@equip_refine,getequiprefinerycnt( .@itemid ); for ( set .@c,0; .@c < 3; set .@c,.@c + 1 ) set .@card[.@c],getequipcardid(.@itemid,.@c); надо воткнуть перед delitem Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 29 ноября, 2016 Автор Жалоба Поделиться Опубликовано 29 ноября, 2016 22 часа назад, botka4aet сказал: В общем set .@equip_refine,getequiprefinerycnt( .@itemid ); for ( set .@c,0; .@c < 3; set .@c,.@c + 1 ) set .@card[.@c],getequipcardid(.@itemid,.@c); надо воткнуть перед delitem не помогло... Куда только не тыкал не как... Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 29 ноября, 2016 Жалоба Поделиться Опубликовано 29 ноября, 2016 Хз, еще кто может проверить? Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 29 ноября, 2016 Автор Жалоба Поделиться Опубликовано 29 ноября, 2016 43 минуты назад, botka4aet сказал: Хз, еще кто может проверить? Я с кубиксом часа пол пытались сделать и так и не вышло=( Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 29 ноября, 2016 Жалоба Поделиться Опубликовано 29 ноября, 2016 Может ты просто не засэйвил скрипт, не ребутнул нпц, правишь не тот файл, который записан в афине? Ссылка на комментарий Поделиться на другие сайты Поделиться
RelaX Опубликовано 29 ноября, 2016 Автор Жалоба Поделиться Опубликовано 29 ноября, 2016 34 минуты назад, botka4aet сказал: Может ты просто не засэйвил скрипт, не ребутнул нпц, правишь не тот файл, который записан в афине? Да вроде нет) Хз отложу этот скрипт на лучшее времена... Слушай вопрос к тебе. Не мог бы ты помочь мне с вэндом за тцг в скайпе... я пытался у меня ругался косоль и рекомпил. Ссылка на комментарий Поделиться на другие сайты Поделиться
botka4aet Опубликовано 29 ноября, 2016 Жалоба Поделиться Опубликовано 29 ноября, 2016 5 часов назад, RelaX сказал: Да вроде нет) Хз отложу этот скрипт на лучшее времена... Слушай вопрос к тебе. Не мог бы ты помочь мне с вэндом за тцг в скайпе... я пытался у меня ругался косоль и рекомпил. у меня никогда с src хорошо не было, но вай нот Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения