D2NT2.1기준 아이템이니 위치/특성,명칭/코드,작성법
분류
봇관련
조회 수
4,487
추천 수
34
Necro_virus
https://tradia.me/diablo2/diablo2_tips/217828
<<D2NT2.1 날아다녀님자료 / 흰여울님 이니제작>>자료의 아이템이니 기준 작성법입니다
흰여울님과 기타 이니 제작자 분들께 감사합니다
참고로 전 전문적인건 하나도 모릅니다. 여러분처럼 맨땅에서 시작해서 검색하고 물어보고 조금 관심을 가진 사람일 뿐입니다.
1. 아이템이니 자료의 위치와 특성
아이템이니의 일반적 위치는 item_configs 폴더에 위치합니다
자료실에서 받은 이니를 붙여넣기하실때는 item_configs 폴더에 붙여넣기하시면 됩니다
item_configs 폴더에는 각종류별의 설정 파일들이 존재합니다
charmsjewels - <매직/유닉참, 매직/레어/유닉주얼>
crafteds - <크랩 아이템>
gems - <보석>
keys - <열쇠,트리퀘 열쇠/재료>
magics - <매직 아이템> (링&아뮬 제외)
potions - <포션(물약)>
rares - <레어 아이템> (링&아뮬 제외)
ringsamulets - <매직/레어 링&아뮬> (유닉 링&아뮬 제외)
runes - <룬, 큐빙 공식>
runewords - <룬워드 아이템>
sets - <셋트 아이템>
uniques - <유닉 아이템, 유닉 링&아뮬>
whites - <재료 아이템>
각각의 파일에서 자신에게 필요한 부분을 찾아서 수정/설정 하시면 됩니다
//를 제거하시면 줍겠다는 것이고, //로 막아두면 줍지 않겠다는 뜻입니다
예) // =============== Small ===============
// === 알더의 어드벤스 ===
[Name] == Battle Boots && [Quality] == Set # [Defense] >= 47 && [FireResist] >= 50 // Aldur's Advance
[Name] == Hunter'sGuise && [Quality] == set # [Defense] >= 171 && [ColdResist] >= 50 // Aldur's Stony Gaze
[Name] == ShadowPlate && [Quality] == set # [Defense] >= 857 && [LightResist] >= 50 // Aldur's Deception
//[Name] == JaggedStar && [Quality] == set && [Flag] == ethereal # [Sockets] >= 3 // Aldur's Rhythm
2. 아이템이니 작성을 위한 명칭, 코드
대부분의 분들이 이니를 수정하고 싶어서 방법을 모르시거나 밥법은 조금 알겠는데
아이템코드, 옵션코드를 정확하게 몰라서 수정에 어려움을 격을것이라 생각합니다
일단은 참고하실 자료의 위치입니다 (날아다녀님의 2.1 버젼 기준)
D2NT\scripts\libs\common 폴더의 NTItemAlias 파일 - 모든 아이템의 명칭/코드, 모든 아이템옵션의 명칭/코드
D2NT\sdk 폴더의 stats 파일 - 모든 아이템옵션의 명칭/코드
예) _NTIPAliasClassID["oba"]=290; _NTIPAliasClassID["swirlingcrystal"]=290;
에서 아이템의 명칭 및 코드 (swirlingcrystal = oba = 290) 는 이니상에서 다 같은 뜻 적용됩니다
3. 아이템이니 배열순서, 제작
일단 아이템이니에서의 배열순서를 알아보겠습니다.
일반적으로 대부분의 이니는 아래와 같은 순서를 가집니다
예) A.아이템의 명칭/종류, B.퀼리티, C.에테/노에테, D.옵션 및 소켓의 유/무
이제부터 각각의 작성 방법및 활용 방법을 알아보겠습니다
A. 아이템의 명칭,종류 - [Name],[Type]
- 여러분이 만약 팔라딘의 재료방패를 줍고싶을때 [Name]으로 작성하면 종류가 sacredtarge, sacredrondache, kurastshield, zakarumshield, vortexshield 등으로 같은 옵션이라도 5번을 작성해야 합니다
하지만 [Type]으로 작성하게 되면 auricshields 한줄 작성으로 끝낼수가 있습니다
한마디로 [Type]은 포괄적인 의미 [Name]은 세부적인 의미 라고 생각하시는게 좋겠습니다
예) [Name] == sacredtarge
[Name] == sacredrondache
[Name] == kurastshield < [Type] == auricshields
[Name] == zakarumshield
[Name] == vortexshield
B. 퀼리티 - [Quality]
- 퀼리티는 한마디로 등급이라 보시면 됩니다
보통 퀼리티의 종류는 lowquality=1, normal=2, superior=3, magic=4, set=5, rare=6, Unique=7, crafted=8 로 분류 됩니다.
그리고 runeword는 Quality의 종류가 아닙니다
예) [Type] == ring && [Quality] == rare // 레어링 미확으로 다줍기
[Type] == ring && [Quality] == 6 // 레어링 미확으로 다줍기
[Type] == ring && [Quality] >= rare // 레어링,유닉링,크렙링 미확으로 다줍기
C. 에테,노에테 - [Flag]
- 같은 아이템이라도 에테와 노에테에 따라 차이가 많이나죠
아마존(자벨마)분들이 MatriarchalJavelin, CeremonialJavelin을 에테를 선호하는게 그예가 될듯합니다
에테(ethereal=eth),노에테는 [Flag] == ethereal, [Flag] != ethereal 로 작성합니다
그리고 [Flag]를 작성 안하는것은 에테,노에테 구분하지 않겠다는 의미 입니다
전 개인적으로 신오브를 에테로 줍고 싶어서 수정을 살짝 했습니다
예) [Name] == SwirlingCrystal && [Quality] == Unique && [Flag] == ethereal // 에테 신오브 (The Oculus)
[Name] == 290 && [Quality] == 7 && [Flag] == eth // 에테 신오브 (The Oculus)
[Name] == oba && [Quality] == 7 && [Flag] == eth // 에테 신오브 (The Oculus)
D. 옵션,소켓의 유/무 # ----- [Sockets] //
- 가장 중요한 설정 부분입니다
옵션은 옵션의 명칭,코드를 참고해서 자신이 원하는 것을 찾아서 작성하시면 됩니다
그리고 각 아이템별로 최대 몇까지 옵션이 붙을 수있는지도 아는것이 중요합니다
전 예로 중요한 옵션인 strength=0, dexterity=2, maxhp=7, maxmana=9, 올레지를 설명해 보겠습니다
예1) # (A옵션 || B옵션) // (A옵션이나 B옵션)중 1개만 맞을 경우
[Name] == ? && [Quality] == ? # ([Strength] >= 20 || [Dexterity] >= 15) //
예2) # A옵션 + B옵션 >= C // A옵션 + B옵션의 합이 C이상일 경우
[Name] == ? && [Quality] == ? # [Strength]+[Dexterity] >= 20 //
# A옵션 + B옵션 +C옵션 + D옵션 >= E // A옵션 + B옵션 + C옵션 + D옵션의 합이 E이상일 경우
[Name] == ? && [Quality] == ? # [ColdResist]+[LightResist]+[FireResist]+[PoisonResist] >= 40 // 올레지10일때 포함
예3) # A옵션 && B옵션 // A옵션과 B옵션이 2개다 맞을 경우
[Name] == ? && [Quality] == ? # [MaxHp] >= 40 && [MaxMana] >= 120 //
# A옵션 && B옵션 && C옵션 && D옵션 // A옵션, B옵션, C옵션, D옵션이 모두맞을 경우
[Name] == ? && [Quality] == ? # [ColdResist] == 10 && [LightResist] == 10 && [FireResist] == 10 && [PoisonResist] == 10 // 올레지10
- Sockets=194 은 옵션의 종류중 하나입니다
예4) # [Sockets] == 0 // 소켓이 없는 경우
# ([Sockets] == 0 || [Sockets] >= 3) // 소켓이 없거나 3개이상일 경우
예5) # ([Strength] >= 20 || [Dexterity] >= 15) && ([Sockets] == 0 || [Sockets] >= 3) // 예1)에 Sockets을 추가한 경우
# [Strength]+[Dexterity] >= 20 && ([Sockets] == 0 || [Sockets] >= 3) // 예2)에 Sockets을 추가한 경우
# [MaxHp] >= 40 && [MaxMana] >= 120 && ([Sockets] == 0 || [Sockets] >= 3) // 예3)에 Sockets을 추가한 경우