
30.04.2010, 19:06
|
Новичок на форуме
|
|
Регистрация: 30.04.2010
Сообщений: 7
|
|
Нужна помощь по расчетам формулы в файлах .js
Здравствуйте,
вообщем если знаете есть такая игра Diablo, не давно нашел калькулятор скилов http://d2items.com/skills.php , но он на ангийском.
Решил русифицировать и под другую версию сделать. Во всем разобрался, кроме арифмитических действиях в файлах с расширением .js (как я понял это динамически исполняемые файлы для javascript).
Вот пример оттуда:
desc[11]=['Cold Arrow',
'magically enhances your arrows or bolts<br>by adding cold damage and a slowing effect<br>cold arrows only do half of their regular damage',
function(){return ''+'<span class="num">66: </span>'+'Converts '+(3+(lvl(11)-1)*2)+'% Physical Damage to Elemental Damage<br>'
+'<span class="num">8: </span>'+cc(['To Attack Rating: +',(10+(lvl(11)-1)*9),' percent<br>'])
+'<span class="num">10: </span>'+'Cold Damage: '+(dec(dec((ln(lvl(11),6,4,5,8,16,42)<<7)*(100+((b lvl(21))*12))/100,0)/256,0))+'-'+(dec(dec((ln(lvl(11),8,4,5,9,17,44)<<7)*(100+((b lvl(21))*12))/100,0)/256,0))+'<br>'
+'<span class="num">11: </span>'+cc(['Cold Length: ',dec(dec((100+(lvl(11)-1)*30),0)/25,1),' seconds<br>'])
+'<span class="num">1: </span>'+cc(['Mana Cost: ',dec(max((28+(lvl(11)-1))<<5,1<<8)/256,1),'<br>'])
},
function(){return ''},
function(){return ''+'<span class="green">'+'<span class="num">40: </span>'+'Cold Arrow Receives Bonuses From:<br>'
+'</span>'+'<span class="num">63: </span>'+'Ice Arrow: +12% Cold Damage per Level<br>'
},2,1]
Надеюсь скопировал полностью.
Тут идет подсчет дамага от уровня скилов, но каким образом он подсчитывается ни как не пойму.
Помогите, нужна хоть какая-нибудь информация, по вышеописанным вычислениям желательно на русском.
Заранее спасибо.
P.S. Серьезно не планирую заниматься скриптами, но именно этот меня чем-то "взял" 
|
|

30.04.2010, 19:08
|
Новичок на форуме
|
|
Регистрация: 30.04.2010
Сообщений: 7
|
|
Да, вот собственно описание скила первого уровня:
Cold Arrow
magically enhances your arrows or bolts
by adding cold damage and a slowing effect
cold arrows only do half of their regular damage
Current Skill Level: 1
66: Converts 3% Physical Damage to Elemental Damage
8: To Attack Rating: +10 percent
10: Cold Damage: 3-4
11: Cold Length: 4 seconds
1: Mana Cost: 3.5
40: Cold Arrow Receives Bonuses From:
63: Ice Arrow: +12% Cold Damage per Level
|
|

01.05.2010, 14:00
|
 |
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
nerey,
Амазонка чтоль? Никогда не нравилась
Вам не нужно менять ничего особо-то, только текст между кавычками.
Найдите простенький блокнот с подсветкой кода, и дальше проблем не возникнет.
Последний раз редактировалось subzey, 02.05.2010 в 20:26.
Причина: „не” с глаголами. Позорище :/
|
|

01.05.2010, 15:47
|
Новичок на форуме
|
|
Регистрация: 30.04.2010
Сообщений: 7
|
|
Да как менять текст я разобрался, я ни как не пойму как менять цифры урона от изменения лвл.
Вот например здесь: +'<span class="num">10: </span>'+'Cold Damage: '+(dec(dec((ln(lvl(11),6,4,5,8,16,42)<<7)*(100+((b lvl(21))*12))/100,0)/256,0))+'-'+(dec(dec((ln(lvl(11),8,4,5,9,17,44)<<7)*(100+((b lvl(21))*12))/100,0)/256,0))+'<br>'
здесь зависит урон от лвл, а как посчитать я не знаю, киньте пжл ссылку где написано как от чего зависит (т.е. как я понимаю это матем. исчисления в скрипте), заранее спс.
|
|

01.05.2010, 15:50
|
Новичок на форуме
|
|
Регистрация: 30.04.2010
Сообщений: 7
|
|
я даже решил зделать калькулятор скилов сам, нашел кнопочный скрипт на уменьшение/увеличение, но не нашел инфы как изменение цифр может влиять на изменение текста, причем так, чтобы не писать огромный скрипт.
|
|

05.05.2010, 17:13
|
 |
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
|
|

05.05.2010, 19:51
|
Новичок на форуме
|
|
Регистрация: 30.04.2010
Сообщений: 7
|
|
На сайте: http://d2items.com/skills.php при нажатии на скил (в поле справа), меняются цифры (в поле слева), при этом текст остается не изменным.
Так вот я не пойму откуда и как воспроизводятся цифры?
Т.е. в скрипте: +'<span class="num">10: </span>'+'Cold Damage: '+(dec(dec((ln(lvl(11),6,4,5,8,16,42)<<7)*(100+((b lvl(21))*12))/100,0)/256,0))+'-'+(dec(dec((ln(lvl(11),8,4,5,9,17,44)<<7)*(100+((b lvl(21))*12))/100,0)/256,0))+'<br>'
все цифры находятся в скобках, но как они выводятся на экран, я ни как не пойму.
На сайте при клике на скил "Cold Arrow" выводится, что Cold Damage составляет:
на 1 уровне:3-4
на 2 уровне:5-6
на 3 уровне:7-8
А откуда берется этот урон? Как считается в скрипте?
Мне это необходимо знать, так как выводимые цифры будут заменяться.
|
|

05.05.2010, 20:03
|
 |
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
nerey, внутренность открыта в iframe, скрипт здесь. Скрипты: common и class-specific
|
|

06.05.2010, 07:01
|
Новичок на форуме
|
|
Регистрация: 30.04.2010
Сообщений: 7
|
|
e1f, правильно ли я понял, что скрипт common.js является формулой расчета, а в class-specific только подставлены цифры под формулу?
|
|

06.05.2010, 19:12
|
 |
Профессор
|
|
Регистрация: 03.04.2009
Сообщений: 1,263
|
|
Не совсем, в common вспомогательные функции и функции для отображения, в class-specific -- переводы и сами скиллы, с формулами и данными. Поэтому задача русификации решается просто -- создаете свой "ama-rus.js", и подключаете его.
Задача "под другую версию сделать" -- ну, учитываю, что другая версия -- возможно, другие формулы, поэтому здесь уже Вам и карты в руки.
|
|
|
|