글 작성에 앞서 기본적인 파일 경로는 알고 있을꺼라 가정하고 작성 합니다. 일일이 경로 전부 입력하려면 너무 피곤 합니다.
모드질이 일정 궤도에 오르니 현재 250개 정도 쓰고 있습니다. 이쯤 되면 게임 진행에 렉이 점점 생겨나실 겁니다. 저는 렉을 줄이고자 커마모드도 많이 줄인 상황 이고 몇몇 스킬들은 연산을 많이 잡아 먹기 때문에 제거해버렸습니다. 어떤 스킬들이 연산을 많이 잡아먹고 왜 연산을 많이 잡아먹는지 개인적인 의견도 적을꺼고 (틀리면 반박해주셨으면 합니다. 수박 겉할기로만 아는 수준이라서 짐작은 하는데 정말로 맞는지는 확신을 못합니다.) 마지막으로 스킬 제거법도 알려드리고자 합니다. 다만 마지막 스킬 제거법은 큰 의미가 없는게 연산을 많이 잡아먹을 것으로 추정되는 스킬은 기본적으로 모드 클레스 스킬들 뿐이고 그리 많지도 않습니다. 즉 ini 수정해서 자기가 원하는 클레스에 이런 스킬 저런 스킬들 추가하신분들이 겪게될 문제란거죠. 그래도 적어는 둡니다.
우선 특정 스킬이 왜 연산을 많이 잡아 먹는지에 관한 개인적인 의견부터 적습니다.
제가 생각한 렉 유발 스킬을 정의 하자면 패시브 이면서, 몇 타일 범위내의 적 또는 아군을 대상으로 지정하며, 스탯에 변화를 주는 스킬이거나 이동시 마다 연산을 추가해야하는 스킬들 입니다.
[LW2WotC_CloseCombatSpecialist X2AbilityTemplate]
LocFriendlyName="근접 전투 전문가"
LocFlyOverText="근접 전투 전문가"
LocLongDescription="적의 턴에 반경 4타일 내의 보이는 적이 움직이거나 발포하면 행동력 소모 없이 주요 무기로 대응 사격을 합니다."
LocHelpText="적의 턴에 반경 <Ability:CCS_RANGE/>타일 내의 보이는 적이 움직이거나 발포하면 행동력 소모 없이 대응 사격을 합니다."
LocPromotionPopupText="<Bullet/> 병사가 잠행 상태일 때는 발동되지 않습니다.<br/><Bullet/> 이 능력으로 매 턴마다 각각의 적을 한 번씩만 공격할 수 있습니다.<br/><Bullet/> <Ability:CCS_AMMO_PER_SHOT/> 탄약 포인트를 소모합니다.<br/>""
제가 생각했을때 렉을 유발하는 스킬 입니다. 이유는 패시브 이면서 타일 지정이 들어가고 적턴에 적이 움직일때 연산하는 과정을 추가하기 때문 입니다. 기본적으로 적턴일때 딜레이가 상당히 생기는 이유는 복잡한 연산을 하기 때문입니다. 적 증가모드를 쓰시게 되면 연산량이 엄청나게 늘어나므로 렉이 더 걸리며, 은신 정찰로 적을 미리 발견해버리면 발견해버린놈들도 연산해야해서 렉이 더 걸립니다. 렉 유발을 줄이는 방법중 1가지는 1번에 1분대만 발견 후 잡고 다음 분대 랑 싸우는식으로 하는게 렉 유발을 줄일수 있습니다. 발견 안한 적군은 전혀 안움직이며 연산을 잡아먹지를 않는걸로 추정합니다.
캐릭이 첫번째로 여기로 이동 -> 경계사격 유발 -> 경계 사격 피탄 유무 체크 -> 그다음 행동 이런 루틴이 있다고 쳣을때
위에 스킬이 들어가 있다면 이리 될수도 있습니다.
캐릭이 첫번째로 여기로 이동 -> 경계사격 유발 -> 경계 사격 피탄 유무 체크 -> 위 스킬 가진 대상의 스킬 범위를 침범는가? -> 침범하면 다시 경계사격 발동 -> 경계사격 피탄 유무 체크 ->그다음 행동 이런식으로 연산 과정이 늘어지기 때문에 저 모드를 쓰면 렉이 걸리는게 아닐까 생각합니다.
[WOTC_APA_ZoneDefense X2AbilityTemplate]
LocFriendlyName = "지역 방호"
LocFlyOverText = "지역 방호"
LocHelpText = "경계 시, 근접 전투 지배 범위<Ability:CQB_DOMINANCE_RADIUS/> 안의 적이 움직이거나 공격할 때 자동으로 대응 사격을 합니다."
LocLongDescription = "경계 시, 근접 전투 지배 범위 안의 적이 움직이거나 공격할 때 자동으로 대응 사격을 합니다."
LocPromotionPopupText = "경계 시, 근접 전투 지배 범위 안의 적이 움직이거나 공격할 때 자동으로 대응 사격을 합니다. <br/><br/><Bullet/> 지역 방호 사격은 영역 내의 적에게 한 턴에 한 번씩만 사격하지만, 일반 대응 사격과 중첩되어 단일 목표에게 총 두 번의 사격을 가할수도 있습니다. <br/><Bullet/> 대미지를 입어서 경계가 취소되더라도 지역 방호의 효과는 유지됩니다.<br/><Bullet/> 지역 방호 사격 횟수는 현재 탄약 숫자에 의해 제한받습니다."
이 스킬도 마찬가지로 패시브 이면서 타일이 지정이 들어가고 적턴에 연산을 추가하기 때문 입니다.
참고로 제가 위에 스킬들이 렉 유발을 일으키는 스킬이라고 생각하게된 계기는 특정 병사에게 위에 스킬 2개 지역방호와 근접 전투 전문가를 ini 조정으로 집어 넣고 써봣을떄 입니다. 이 2가지 스킬을 가진 다 가진 병사(ini조작 없이는 절대 안생겨요)를 데리고 미션을 시작하면 정말 끔찍한 수준의 렉이 걸립니다. 캐릭터를 선택해서 이동을 시키려고 하기만 해도 이동 범위가 뜨는데 30초 넘게 걸리는 수준으로 렉이 걸립니다. 아마 서로 충돌을 일으키는 거겟죠.
그래서 둘다 빼고 다시해보니까 상당히 렉이 줄었습니다. 그래서 렉 유발 스킬로 의심합니다.
몇가지 더 스킬을 적습니다.
[WOTC_APA_ZoneOfControl X2AbilityTemplate]
LocFriendlyName = "영역 통제"
LocHelpText = "<Ability:ClassName/>의 근접 전투 지배 범위<Ability:CQB_DOMINANCE_RADIUS/> 안에 들어온 모든 적은 <font color='#CA7200'><Ability:ZONE_CONTROL_AIM_PENALTY/></font> 조준과 <font color='#CA7200'><Ability:ZONE_CONTROL_MOBILITY_PENALTY/></font> 기동력 패널티를 얻습니다."
LocLongDescription = "<Ability:ClassName/>의 근접 전투 지배 범위 안 모든 적은 조준과 기동력에 패널티를 받습니다."
LocPromotionPopupText = "<Ability:ClassName/>의 근접 전투 지배 범위 <Ability:CQB_DOMINANCE_RADIUS/>안에 들어온 모든 적은 <font color='#CA7200'><Ability:ZONE_CONTROL_AIM_PENALTY/></font> 조준과 <font color='#CA7200'><Ability:ZONE_CONTROL_MOBILITY_PENALTY/></font> 기동력 패널티를 얻습니다."
[WOTC_APA_CQBDominance X2AbilityTemplate]
LocFriendlyName = "근접 전투 지배"
LocHelpText = "<Ability:ClassName/>은 경험을 통해 근접 거리 전투 기술을 향상시켰습니다."
LocLongDescription = "<Ability:ClassName/>은 경험을 통해 근접 거리 전투 기술을 향상시켰습니다."
LocPromotionPopupText = "<font color='#CA7200'>LEVEL I</font> (<Ability:RANKNAME1/>부터 획득: 계급 [1])<br/><Ability:ClassName/>의 근접 전투 지배 범위 안의 적들에 대해 방어, 치명타 방어 및 치명타율 보너스를 얻습니다:<br/><Bullet/> 전체 능력치에 <font color='#3ABD23'>+<Ability:CQB_DOMINANCE_I_STAT_BONUS/>%</font>의 보너스를 얻습니다.<br/><Bullet/> 근접 전투 지배의 범위는 반경 <font color='#3ABD23'><Ability:CQB_DOMINANCE_I_RADIUS/></font>타일입니다.<br/><br/><font color='#CA7200'>LEVEL II</font> (<Ability:RANKNAME3/>부터 획득: 계급 [3])<br/><Bullet/> 전체 능력치 보너스가 <font color='#3ABD23'>+<Ability:CQB_DOMINANCE_II_STAT_BONUS/>%</font>로 증가합니다.<br/><Bullet/> 근접 전투 지배 범위가 <font color='#3ABD23'><Ability:CQB_DOMINANCE_II_RADIUS/></font>타일로 늘어납니다.<br/><br/><font color='#CA7200'>LEVEL III</font> (<Ability:RANKNAME6/>부터 획득: 계급 [6])<br/><Bullet/> 전체 능력치 보너스가 <font color='#3ABD23'>+<Ability:CQB_DOMINANCE_III_STAT_BONUS/>%</font>로 증가합니다.<br/><Bullet/> 근접 전투 지배 범위가 <font color='#3ABD23'><Ability:CQB_DOMINANCE_III_RADIUS/></font>타일로 늘어납니다.<br/><br/>NOTES<br/><Bullet/> <Ability:ClassName/>의 능력 대부분에 근접 전투 지배가 적용되며, 근접 전투 지배의 레벨에 따라 효과가 증가합니다. 중거리 불펍 소총을 장비한 경우, <Ability:ClassName/>의 근접 전투 지배 반경이 추가로 <font color='#3ABD23'>+<Ability:CQB_DOMINANCE_BULLPUP_BONUS_RADIUS/></font>타일 늘어납니다."
[ShadowOps_Inspiration X2AbilityTemplate]
LocFriendlyName="영감"
LocLongDescription="<Ability:InspirationMaxTiles/>타일 이내에 있는 아군은, <Ability:+Dodge/>의 회피와<Ability:+Will/>의 의지를 받습니다."
LocHelpText="<Ability:InspirationMaxTiles/>타일 이내에 있는 아군은, <Ability:+Dodge/>의 회피와<Ability:+Will/>의 의지를 받습니다.."
LocFlyOverText="영감"
LocPromotionPopupText="<Bullet/> 팀에게 보너스 혜택을 줄 수 있습니다.<br/>"
이런 스킬들도 렉을 유발 할꺼라고 생각해서 다 지워버렸습니다. 3개다 공통점은 패시브,타일지정들어감,스탯에 변화를줌 입니다. 이런 스킬들이 많이 적용 되어 있으면 1캐릭 움직일 때마다 스탯 변경의 연산을 해야합니다. 그래서 이 스킬 가진 캐릭 말고 다른 캐릭이 움직이기만 해도 렉이 걸립니다.
이건 가정인데 회피 스탯 같은 경우는 이동하는 한 타일 한 타일마다 따로 연산 하게 될지도 모를일 입니다. 경계사격 발동 때문에 말이죠. 이동중에 경계사격 유발을 하고 경계사격에 맞을 때 이동한 캐릭터가 저런류의 타일범위지정 스탯 버프 스킬의 영향을 받을때 경계사격 맞앗는지 아닌지를 알기 위해서 말입니다.
그래서 저는 위에 스킬들 싹다 class.ini 열어서 지워버렸습니다.
지우는 법 쉬워요.
XComClassData.ini 줄여서 class.ini 이걸 엽니다. 그뒤에 지울 스킬 있는 줄로 이동 후 그냥 스킬 지우고 저장합니다.
; Squaddie (1)
+SoldierRanks=( AbilitySlots=( \
(AbilityType=(AbilityName="WOTC_APA_CQBDominance")), \
(AbilityType=(AbilityName="WOTC_APA_RunAndGun")), \
(AbilityType=(AbilityName="WOTC_APA_SwordSlice", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon)) \
), \
V
; Squaddie (1)
+SoldierRanks=( AbilitySlots=( \
(AbilityType=(AbilityName="WOTC_APA_RunAndGun")), \
(AbilityType=(AbilityName="WOTC_APA_SwordSlice", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon)) \
), \
+ 덤
아 제가 스킬 이름 안 적어 놧다고요?
https://gall.dcinside.com/mgallery/board/view/?id=xcom&no=40714&_rk=96k&exception_mode=recommend&page=1
제가 써둔 ini 수정에 관한 여러가지 팁 적어둔 글입니다. Localization 파일에서 template name 알아내는 부분을 읽어 보시고 저위에서 스킬 이름을 알아내시면 됩니다.
치트, 모드의 ini 수정 은 전부다 template name을 모르면 할수가 없습니다. 그리고 이 template name을 가장 확실하게 알수 있는 방법이 localization 폴더에서 int,kor을 열어서 찾는겁니다. 무기 스킨 수정([WOTC] Weapon Skin Replacer Configuration), 스킬 코스트, 쿨타임 변경([WOTC] Ability Editor) 이런 모드들 전부다 template name을 모르면 쓸수가 없고 template name만 알면 그냥 template name 붙여 넣기만 해도 끝 납니다. ini 열어서 특정 병과 스킬 추가하는 수정도 그냥 스킬template name을 집어 넣는 거예요.
무기 스킨 변경 모드인 [WOTC] Weapon Skin Replacer Configuration 경우 진짜로 템플릿 네임 붙여넣기 하고 true 인거 false로 바꾸기만 하면 적용 끝납니다.
모드 제작자가 적어둔 적용법 예제 입니다.
;+WEAPON_REPLACEMENT=(ACCEPTOR_TEMPLATE=TemplateName, DONOR_TEMPLATE=TemplateName, DONOR_GAME_ARCHETYPE="GameArchetype.Path", COPY_DONOR_ATTACHMENTS=True, HIDE_ACCEPTOR_ATTACHMENTS=True, HIDE_DONOR_TEMPLATE=True, HIDE_DONOR_SCHEMATIC=True)
이 예제에서 템플릿 네임만 알아내서 집어 넣으면 됩니다. 그럼 무기 스킨이 바껴요. 저는 새도헌터 권총을 아킴보에게 2개 들려주는걸 선호하는데 외형이 구려서 새도헌터 권총을 기본 권총으로 스킨을 바꺼 버렸습니다. 아래와 같이 적으면 바끼거든요.
+WEAPON_REPLACEMENT=(ACCEPTOR_TEMPLATE=AlienHunterPistol_CV_Primary, DONOR_TEMPLATE=Pistol_CV_Primary, COPY_DONOR_ATTACHMENTS=True, HIDE_ACCEPTOR_ATTACHMENTS=True, HIDE_DONOR_TEMPLATE=false, HIDE_DONOR_SCHEMATIC=false)
+WEAPON_REPLACEMENT=(ACCEPTOR_TEMPLATE=AlienHunterPistol_CV, DONOR_TEMPLATE=Pistol_CV, COPY_DONOR_ATTACHMENTS=True, HIDE_ACCEPTOR_ATTACHMENTS=True, HIDE_DONOR_TEMPLATE=false, HIDE_DONOR_SCHEMATIC=false)
true 와 false 넣은거의 차이는 그냥 번역기 돌려보세요. HIDE_DONOR_SCHEMATIC 이거 번역기 돌리면 숨기다_기증자_개략도 이런식으로 번역 되는데 이정도 정보만 있으면 이걸 왜 false 넣어야하고 true 넣으면 어떻게 될지 알꺼라고 믿습니다.
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.