dpmModule
-
requirements
- Python >= 3.7
- argparse
-
Demo
-
download
pip install dpmModule
git clone https://github.com/oleneyl/maplestory_dpm_calc
About
dpmModule์ ๋ฉ์ดํ์คํ ๋ฆฌ์์ ๋ฐ๋ฏธ์ง์ ๊ด๋ จ๋ ๊ณ์ฐ(๊ธฐ๋๊ฐ, DPM, ์ต์ ์ ์ฌ ๋ฑ) ์ ์ฝ๊ฒ ๊ณ์ฐํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. ์ ์ฒด 41๊ฐ ์ง์ ๊ตฐ์ค ๋ฐ๋ฒค, ์ ๋ ผ, ์๋์ ์ ์ธํ 38๊ฐ ์ง์ ๊ตฐ์ ๋ฐ๋ฏธ์ง ์๋ฎฌ๋ ์ด์ ์ ์ง์ํฉ๋๋ค.
Example
-
CLI Usage
python3 test.py --job [์ง์ ๋ช ] --ulevel [์ ๋์จ ๋ ๋ฒจ] --level [์บ๋ฆญํฐ ๋ ๋ฒจ]
-
Basic Python Usage
import dpmModule from dpmModule.util.dpmgenerator import IndividualDPMGenerator import dpmModule.character.characterTemplateHigh as template gen = IndividualDPMGenerator('๋์ดํธ๋ก๋', template.getU6000CharacterTemplate) print(gen.get_dpm(ulevel = 6000)) >>> 406674153728.34534 #Can be different by version
-
Advanced Usage
-
์ ๋์จ 7์ฒ, 240๋ ๋ฒจ, ์ ๋์จ 8์ฒ๊ธ ์คํ, ๋ฌด๋ณด์ ๋ ์ 2์ค, 240์ด
import dpmModule from dpmModule.util.dpmgenerator import IndividualDPMGenerator import dpmModule.character.characterTemplateHigh as template gen = IndividualDPMGenerator('๋์ดํธ๋ก๋', template.getU8000CharacterTemplate) gen.set_runtime(240 * 1000) print(gen.get_dpm(ulevel = 7000, level = 240, weaponstat = [4,6]))
-
-
Parser Config
-
dpmModule.util.dpmgenerator.IndividualDPMGenerator
-
job
: ์ง์ ๊ตฐ์ ํ๊ธ๋ช ์นญ์ ๋๋ค.dpmModule.jobs.jobMap
์ ์ ์๋์ด ์์ต๋๋ค. ๋๋ถ๋ถ์ ํต์ํ๊ธ๋ช ์นญ์ ๋๋ค.- ์ง์๋๋ ์ง์
๋ช
:
์ํฌ๋ฉ์ด์ง๋ถ/๋
์ํฌ๋ฉ์ด์ง์ฌ/์ฝ
๋น์
ํ์ด๋ก
ํ๋ผ๋
์ ๊ถ
์๋๋ธ๋ ์ด์ปค
์์ธ๋ง์คํฐ
๋ฃจ๋ฏธ๋์ค
๋ฐฐํ๋ฉ์ด์ง
๋ฉ์นด๋
๋ฉ๋ฅด์ธ๋ฐ์ค
๋ฐ๋ชฌ์ฌ๋ ์ด์ด
๋คํฌ๋์ดํธ
์์ผ๋ํํฐ
ํ๋ ์์์๋
์๋์ด
์บ๋ ผ์ํฐ
๋ฏธํ์ผ
๋์ผ๋ธ๋ ์ด๋
์นด์ด์
์บกํด
์์ ค๋ฆญ๋ฒ์คํฐ
ํฌํ
๋์ดํธ๋ก๋
์์
๋ฐ์ดํผ
๋์ดํธ์์ปค
์คํธ๋ผ์ด์ปค
์๋ฐ
๋ณด์ฐ๋ง์คํฐ
์ ๋ก
ํค๋ค์์ค
์ผ๋ฆฌ์
ํจ์คํ์ธ๋
์นด๋ฐ๋
์ํฌ
๋ธ๋์คํฐ
- ์ง์๋๋ ์ง์
๋ช
:
-
template
: ์ฌ์ฉํ ์บ๋ฆญํฐ์ ์ํ๋ฅผ ์ ์ํฉ๋๋ค.dpmModule.jobs.characterTemplateHigh
๋ด์ template์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์คํ๊ตฌ๊ฐ๋ณ๋ก ์ ์ ํ template์ด ์ ์๋์ด ์์ต๋๋ค.
-
-
generator.getDpm
-
vEhc
: (Not supported yet) -
ulevel
: ์ ๋์จ ๋ ๋ฒจ์ ๋๋ค. ํฐ ๊ฐ์ด ์ฃผ์ด์ง์๋ก ์ ๋์จ์ผ๋ก๋ถํฐ ๋ ๋ง์ ์คํ ์ ์ป์ต๋๋ค. default=6000 -
weaponstat
: ๋ฌด๋ณด์ ์ ์ ์ฌ๋ฅ๋ ฅ์ ๋๋ค.[grade, amount]
๋ก ์ฃผ์ด์ง๋๋ค. ์๋ ์์๋ฅผ ์ฐธ๊ณ ํ์ธ์. default =[4,9]
-
[3,6]
: ์ ๋ํฌ(3) ๋ฌด๋ณด์ ํฉ์ณ์ ์ ํจ6์ค(6) -
[4,7]
: ๋ ์ ๋๋ฆฌ(4) ๋ฌด๋ณด์ ํฉ์ณ์ ์ ํจ7์ค(7)
-
-
level
: ์บ๋ฆญํฐ ๋ ๋ฒจ์ ๋๋ค. default=230 -
printFlag
: True์ด๋ฉด ์๋ฎฌ๋ ์ด์ ๋ก๊ทธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. default=False
-
-
-
Low API๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐํ๊ธฐ
import dpmModule.jobs.nightlord as nightlord import dpmModule.character.characterTemplateHigh as template character = template() generator = nightlord.JobGenerator() v_builder = core.NjbStyleVBuilder(skill_core_level=25, each_enhanced_amount=17) graph = gen.package(character, v_builder) sche = policy.AdvancedGraphScheduler(graph, policy.TypebaseFetchingPolicy(priority_list = [ core.BuffSkillWrapper, core.SummonSkillWrapper, core.DamageSkillWrapper ]), [rules.UniquenessRule()]) analytics = core.Analytics(printFlag=printFlag) control = core.Simulator(sche, target, analytics) control.start_simulation(180 * 1000) dpm = control.getDPM()
- ์์ธํ ์ฌ์ฉ ๋ฐฉ๋ฒ์ dpmModule์ readme๋ฅผ ์ฐธ์กฐํ์ญ์์ค.