https://forums.factorio.com/viewtopic.php?f=135&t=89059
만든 제작지원용 모드 2개 이렇게 공식포럼의 Development-Tools 코너에 간략하게 링크남겼더니 누가 써보고 더 나은 방법을 개인메세지로 보내주더라...
내가 만든 모드랑 소통하기 위한 원격코드를 업뎃마다 일일히 붙여넣어야하는걸 주도권을 내가 만든 모드한테만 주는 방법을 알려주는데
아는 방법이긴 한데 만들땐 생각못했지.
changelog.txt 쓰는법도 알려주네...
포럼에서 피엠 받는거 첨이네 에헤헤... 근데 피엠이라서 보여줄수가 없네. 그냥 댓글로 좀 써주지...
아무튼 그렇기에 그 사람이 알려준 짤막 코딩 한줄 팁.
다른 모드에서 만든 스크립트를 내 멋대로 불러올 수가 있다.
내가 어떤 모드나 시나리오를 만드는데,
다른모드이름이 other이고 그 안에 modules라는 폴더가 있고 그안에 code.lua가 있다고 쳐.
그러면
내 모드안에 require("__other__.modules.code") 라고 하면 그 코드내용을 불러와서 실행하는게 됨.
실행하는 주체는 내 모드라서 저 code.lua 안에 global을 부르는게 있으면 그 global은 내 모드의 global임.
해당 모드가 꺼졌을 때 오류와 크래시를 방지하기 위해서
local something
if script.active_mods["other"] then
something = require("__other__.modules.code")
end
식으로 모드의 활성화 여부를 확인하는 조건문으로 감싸주면 퍼펙트.
앞에다 대입구문을 붙여주면, 저 코드가 return하는 값이 있는 경우엔 그 값이 대입됨.
이 방법을 생각을 못해서
함수 내용 통째로 복붙하라고 시켰었네 내가 ㅋㅋㅋㅋ
아래 내용을 복붙하라고 시켰던게
https://raw.githubusercontent.com/x2605/gvv/v0.1.0/code_control_lua.txt
아래처럼 바뀐거임.
https://raw.githubusercontent.com/x2605/gvv/v0.1.1/put_in_your_code.txt
얼마나 무식하게 했었냐 나 ㅋㅋㅋ 저 긴걸 고냥 복붙하라고 시켰었어 더 나은방법이 있는데...
댓글 0