РО калькулятор
-
sivka, напиши программу, рассчитывающую статы для максимальных повреждений кузнеца - будет хоть что-то полезное.
-
mjaffk,
будет и не только для кузнеца, но и для всех остальных тоже.
правда до этого зделаю ещё arrows, items, monsters (и surveyor).
-
sivka, чё твоя ссылка здохла...
-
sivka, вах, ню-ню, дерзай. только что-то медленно пишешь, я, когда рассчитывал наилучший билд ханта, на паскале за два дня написал (в общей сложности часа 3-4).
-
sivka, а линк действительно не пашет, либо у мя руки не оттуда растут =(
-
@"ТаргаШ":
sivka, чё твоя ссылка здохла...тока что проверил, всё пашет.
проверь на первой странице, ты всё зделал как я описал?
-
@"mjaffk":
sivka, вах, ню-ню, дерзай. только что-то медленно пишешь, я, когда рассчитывал наилучший билд ханта, на паскале за два дня написал (в общей сложности часа 3-4).угу медленно, согласен... я переезжаю в данный момент. на новом
месте жительства ни компа ни интернета. новая версия калькулятора
будет через месяц через два... думаю к тому времени всё наладится.очень хотелось бы поглядеть на твой калькулятор, который ты за 3-4
часа написал -
sivka, кароч хз, походу руки у мя действительно не оттуда растут, загрузил я твой линк .... и что ты думаешь....а там пусто о_О
-
sivka, всё равно МёртваЯ скин мне на мыло лутше , если не трудно
-
sivka, это только для хантов ;):
[code:17hy64tm]program hunt;
var
myBaseStr, myBaseAgi, myBaseVit, myBAseInt, myBaseDex, myBaseLuk,
myStrPlus, myAgiPlus, myVitPlus, myIntPlus, myDexPlus, myLukPlus,
enStr, enAgi, enVit, enInt, enDex, enLuk : longint;myImpositioManus, myUpgradeBonus, myAtkCards, myEnvenomSkill,
myBaneSkill, myUpgrades, myElementalModifier,
myDamageBonusModifiers, enDamageReductionModifiers,
myNumberOfMultiHits, enKyrieEleisonEffect,
mySizeModifier, mySkillModifiers : longint;enDef, enVitDef : longint;
mySpeedMods, myWeaponDelay, myWeaponLevel : longint;
statpoints : longint;
neededstatpoints, releasedstatpoints : longint;falconDmg, steelCrowSL, ICSL,
swingDmg, falconDmgPm, swingDmgPm,
bowAtk, myArrowAtk: longint;swingsPm, falconPercentage, myCritical,
weaponAtkMax, weaponAtkMin, weaponAtkCrit,
swingMaxDmg, swingMinDmg, swingCritDmg, swingAvgDmg,
ICImprovementRate : real;alldmg, prevmaxdmg : longint;
function getAgi: longint;
begin
getAgi := trunc((myBaseAgi + myAgiPlus)*ICImprovementRate)
end;function getDex: longint;
begin
getDex := trunc((myBaseDex + myDexPlus)*ICImprovementRate)
end;function increase(var param: longint) : boolean;
begin
neededstatpoints := ((param - 1) div 10) + 2;if (statpoints >= neededstatpoints) and (param < 99) then begin inc(param); dec(statpoints, neededstatpoints); increase := true; end else begin increase := false; end;
end;
function increaseable(var param: longint) : boolean;
begin
neededstatpoints := ((param - 1) div 10) + 2;if (statpoints >= neededstatpoints) and (param < 99) then begin increaseable := true; end else begin increaseable := false; end;
end;
function decrease(var param: longint) : boolean;
begin
releasedstatpoints := ((param - 2) div 10) + 2;if param > 1 then begin dec(param); inc(statpoints, releasedstatpoints); decrease := true; end else begin decrease := false; end;
end;
function min(a, b : real) : real;
begin
if a > b then min := b else min := a;
end;function max(a, b : real) : real;
begin
if a > b then max := a else max := b;
end;function ceil(a:real):real;
begin;
if int(a) <> a then
ceil := int(a) + 1
else
ceil := int(a);
end;function figsk(a: real): real;
begin
figsk := int(max(0,a));
end;{####################################################}
function calcSwingDmg(weapAtk: real; crit: boolean) : real;
var
tempEnVit, tempEnDef : longint;
calcSwingDmgT: real;
begin
if crit then begin
tempEnVit := enVit; enVit := 0;
tempEnDef := enDef; enDef := 0;
end;calcSwingDmgT := int(
(
int(
(
figsk(
(
getDex + sqr(getDex div 10) +
((myBaseStr + myStrPlus) div 5) + ((myBaseLuk + myLukPlus) div 5) +
myUpgradeBonus + myImpositioManus + myATKCards +
(weapAtk * mySizeModifier)
) * mySkillModifiers * (1 - enDEF/100)
- enVitDEF + myBaneSkill + myUpgrades
) + myEnvenomSkill
) * myElementalModifier * myDamageBonusModifiers * enDamageReductionModifiers
) * myNumberOfMultiHits - enKyrieEleisonEffect
) / myNumberOfMultiHits
);if crit then begin
enVit := tempEnVit;
enDef := tempEnDef;
end;calcSwingDmg := calcSwingDmgT;
end;
{####################################################}
function calculateDmgPm: longint;
beginswingsPm := 3000/(mySpeedMods * (myWeaponDelay - (((myWeaponDelaygetAgi) div 25) +
((myWeaponDelaygetDex) div 100))/10));
write (' swpm ', swingsPm:5:2);
falconPercentage := 0.3*(myBaseLuk + myLukPlus);
write (' falconprctg ', falconpercentage:5:2);
myCritical := 1 + (myBaseLuk + myLukPlus)0.3;
write (' cri ', mycritical:5:2);
falconDmg := 5(6SteelCrowSL + (40 + (getDex div 10) + ((myBaseInt + myIntPlus) div 2))2);
write (' falcondmg ', falcondmg);
weaponAtkMin := ceil(bowATK/100min(bowATK, getDex(0.8+0.2*myWeaponLevel)));weaponAtkMax := int(max(bowATK, bowATK/100min(bowATK, getDex(0.8+0.2*myWeaponLevel))) + myArrowATK - 1);
weaponAtkCrit := bowAtk + myArrowAtk;
{!}
swingMinDmg := calcSwingDmg(weaponAtkMin , false); {nocrit}
swingMaxDmg := calcSwingDmg(weaponAtkMax , false); {nocrit}
swingCritDmg := calcSwingDmg(weaponAtkCrit, true); {crit}swingAvgDmg := 0.5*(swingMaxDmg + swingMinDmg);
{!}write (' swingdmgs [', swingMindmg:5:2, ' ', swingMaxDmg:5:2, ' ', swingCritdmg:5:2, '] ');
swingDmgPm := trunc(swingsPm*(1 - myCritical/100)swingAvgDmg) + trunc(swingsPm(myCritical/100) * swingCritDmg);
falconDmgPm := trunc(swingsPm*(falconPercentage/100)*falconDmg);alldmg := swingDmgPm + falconDmgPm;
write('dmgpm [', swingdmgpm, ' + ', falcondmgpm, ' = ', alldmg, '] ');
calculatedmgpm := alldmg;
end;{####################################################}
begin
prevmaxdmg := 0;
{initialising, statpoints = 1273}
{we are changing only AGI, DEX and LUK, considering Int as 9}statpoints := 1273;
myBaseStr := 1; myStrPlus := 4 + 0; {right number for clothes pluses}
myBaseAgi := 1; myAgiPlus := 6 + 0;
myBaseVit := 1; myVitPlus := 2 + 0;
myBaseInt := 1; myIntPlus := 4 + 0;
myBaseDex := 1; myDexPlus := 10 + 10;
myBaseLuk := 1; myLukPlus := 4 + 0;enStr := 0;
enAgi := 0;
enVit := 70;
enInt := 0;
enDex := 0;
enLuk := 0;myImpositioManus := 0;
myUpgradeBonus := 0;
myAtkCards := 0;
myEnvenomSkill := 0;
myBaneSkill := 0;
myUpgrades := 0;
myElementalModifier := 1;
myDamageBonusModifiers := 1;
enDamageReductionModifiers := 1;
myNumberOfMultiHits := 1;
enKyrieEleisonEffect := 0;
mySizeModifier := 1;
mySkillModifiers := 1; {3.8 for double strafe}enDef := 50;
enVitDef := enVIT + (sqr(enVIT div 20)-1) div 2; {he's monster}
steelCrowSL := 10;
ICSL := 10;{hb}
bowAtk := 125;
myArrowAtk := 25;
myWeaponDelay := 60;
myWeaponLevel := 3;mySpeedMods := 1;
{init complete}
if ICSL > 0 then ICImprovementRate := 1 + (ICSL+2)/100;
while myBaseInt <> 14 do increase(myBaseInt);
while true do begin
{agi-increasing cycle}
while true do begin
{dex-increasing cycle}
while true do begin
{luk-increasing cycle}
{###} if not increaseable(myBaseAgi) and not increaseable(myBaseDex)
{###} and not increaseable(myBaseLuk) then
{###} begin
{###} write('AGI ', myBaseAgi,'+', myAgiPlus,' [',getAgi,']',
{###} ' DEX ', myBaseDex,'+', myDexPlus,' [',getDex,']',
{###} ' LUK ', myBaseLuk,'+', myLukPlus, ' *');
{###} if calculateDmgPm > prevmaxdmg then
{###} begin
{###} writeln ('!!!');
{###} prevmaxdmg := alldmg;
{###} end else writeln;
{###} end;
if not increase(myBaseLuk) then break;
end;
while decrease(myBAseLuk) do begin end;
if not increase(myBaseDex) then break;
end;
while decrease(myBAseDex) do begin end;
while decrease(myBaseLuk) do begin end;
if not increase(myBaseAgi) then break;
end;end.[/code:17hy64tm]
делаешь
[code:17hy64tm]hunter.exe > hun.txt[/code:17hy64tm]
и в hun.txt ищешь последнюю строку с восклецательными знаками) это и будет супер-мега-билд))
для вит 70 деф 50 монстра результат такой:
[code:17hy64tm]AGI 79+6 [95] DEX 79+20 [110] LUK 76+4 * swpm 98.04 falconprctg 24.00 cri 25.00 falcondmg 900 swingdmgs [128.00 140.00 324.00] dmgpm [17793 + 21176 = 38969] !!![/code:17hy64tm]
упс, обнаружил ошибку: крит учитывает def... но исправлять лениво) UPDATE: исправил, криво, косо, но исправил))
-
ТаргаШ,
Отшельник,вы меня в сети найти не можете наверное, у мя в сутки раз IP
меняется, поэтому я не всегда на сервере который я указал выше.я все серваки у себя выкинул только один оставил, думаю терь
легче будет меня найти:
<!-- m --><a class="postlink" href="ed2k://|server|195.245.244.243|4661|/">ed2k://|server|195.245.244.243|4661|/</a><!-- m --> -
mjaffk,
посмотрим, буду писать свой статс-кальк может у тебя какой
алгоритм слябзюя просто хотел посмотреть на комфортность и проверить
юзабельность твоего калькулятора -
всем привет!
новый набор супер-пупер калькуляторов готов
<!-- m --><a class="postlink" href="ed2k://|file|sivkas_ragnarok_calculator_133.rar|260841|807FD84FF284AA5D12B6F4A03AE56C71|/">ed2k://|file|sivkas_ragnarok_calculator ... 3AE56C71|/</a><!-- m -->
<!-- m --><a class="postlink" href="ed2k://|file|bitmap_base_v10.rar|14099721|581034935EF901150C7A421E9DD2B110|/">ed2k://|file|bitmap_base_v10.rar|140997 ... 9DD2B110|/</a><!-- m -->
более подробная информацыя на первой странице!
sivka
PS: будут вопросы обращайтесь!
-
пару фоточек
-
Есть большое желание заценить данный труд - не мог бы кто-нибудь выложить файл в более доступное место?
Andy the Skrontz - ты вроде собирался - может сделаешь доброе дело? -
готово!
версию v1.33.00 можно тянуть с FTP сервера:
ftp://noname:noname@sivka.no-ip.info
доступ ограничен на 2 клинта, максимальный download 10k/s.
sivka
-
@sivka:
новый набор супер-пупер калькуляторов готов<!-- m --><a class="postlink" href="ed2k://|file|sivkas_ragnarok_calculator_133.rar|260841|807FD84FF284AA5D12B6F4A03AE56C71|/">ed2k://|file|sivkas_ragnarok_calculator ... 3AE56C71|/</a><!-- m -->
<!-- m --><a class="postlink" href="ed2k://|file|bitmap_base_v10.rar|14099721|581034935EF901150C7A421E9DD2B110|/">ed2k://|file|bitmap_base_v10.rar|140997 ... 9DD2B110|/</a><!-- m -->
более подробная информацыя на первой странице!
PS: будут вопросы обращайтесь!это осел?
-
с фтп че то картинки не грузятся, говорит логин/пасс икоррект, кальк слил
хех, терь начало качать
-
Кай Крапивник,
-
да осёл, найти меня можеш на <!-- m --><a class="postlink" href="ed2k://|server|195.245.244.243|4661|/">ed2k://|server|195.245.244.243|4661|/</a><!-- m -->
-
странно, только что потестил -> всё работает
FTP: sivka.no-ip.info
ACC: noname
PWD: noname
-
-
почти докачал терь все ок