스카이림 콘솔을 좀 만져보다보면 만날 수밖에 없는게 바로 player.setav 라는 구절이다.


.(마침표) 앞에 오는건 플레이어의 값을 조정한다는 의미이고, 그 뒤의 setav는 . 앞에 오는 대상을 어떻게 변화시키는지 정하는 것이다.


예를 들어, player.setav smithing 90 을 입력하면 플레이어의 smithing(제련) 스킬 레벨이 90이 된다.


player.setav carryweight 1000 을 입력하면 플레이어의 소지품 무게제한이 1000 만큼 늘어난다.


그런데 setav 명령어의 문제점은... 스킬 레벨은 제외한 대부분의 값들에서, 세이브-불러오기를 하면 원래의 값으로 초기화 된다는 것이다.

ex) 무게제한 140에서 위의 명령어로 1140이 되었다한들 저장 후 불러오면 다시 140 됨.


그래서 불러올 때마다 입력해줘야하는 번거로움이 생기는데, 이를 보완하는 것이 modav이다.


setav는 잠시만 해당 값으로 만들어주는 느낌이라면, modav는 입력한 값을 기존값에 더해 이를 새로운 기존값으로 인식하게 만들어 버리는... 놈이랄까.


즉, 한 번 player.modav carryweight 1000을 해놓으면 당신의 무게제한은 영원히 1000의 추가값을 갖는 것이다.


이를 초기화하고 싶다고? 안타깝게도 초기화시키는 명령어는 없다. 그냥 player.modav carryweight -1000 하는 수밖에...


그리고 이 modav보다 더 편한게 forceav다.


forceav의 사용 방법과 결과는 setav와 동일하지만, 세이브/로드 해도 이 변경된 값이 원래대로 돌아가지 않는다.


getav는 값을 설정하는 명령어가 아니라, 값을 읽어내고 표시해주는 명령어다.


setav는 set, getav는 get 이라 이해하면 쉽다.


예를 들어, 플레이어의 이동속도를 나타내는 speedmult 값이 얼마인지 궁금하다면 player.getav speedmult 를 입력해보자. 그러면 현재값(그리고 아마 기본값)인 100이 뜰 것이다.


응용해보면... 평소 이동속도가 좀 느린 느낌이었다면 player.modav speedmult 20 을 입력.


그러면 내 이속은 120이 되므로 player.getav speedmult 를 입력해보면 120이 출력.



참고로 공격속도(무기 휘두르는 속도)는 weaponspeedmult 다.


weaponspeedmult는 수치가 조금 이상하게 작동한다. 기본값은 0이지만, 수치가 0일 때 1과 같이 작동한다.


무슨소리냐고?


weaponspeedmult값이 0.1일때는 공격속도 0.1배, 0.5일때는 0.5배, 1일때는 1배, 2.5일때는 2.5배지만 0일때는 1배로 적용된다.


기본값이 0이기 때문에 골치가 아픈데, 공속을 올려주는 퍽을 찍으면 상당히 꼬이게 된다.


예를 들어, 활 공속 20% 올려주는 퍽을 찍으면 활을 들었을때는 weaponspeedmult값이 1.2가 되고 다른 무기를 들었을 때는 0이 된다.


0.2를 올려주는게 아니라 1.2를 올려버리는 것이다.


그래서 만약 활을 들고 있을때, 공속을 더 올리고 싶어서 player.modav weaponspeedmult 0.3을 입력하면 활을 들었을 때는 1.5가 되어 공속 1.5배가 되지만, 다른 무기를 들면 기본값인 0에서 0.3이 증가해 weaponspeedmult값은 0.3이 되고 결국 공속은 0.3배가 되어버린다.



AND