다른 언어: Deutsch English 日本語 Русский 中文

Console/ko: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
m (added {{Languages}})
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Languages}}
== 개요 ==
== 개요 ==
'''콘솔'''은 팩토리오의 명령어 체계이다.
'''콘솔'''은 팩토리오의 명령어 체계이다.
Line 352: Line 353:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
/c game.player.cheat_mode=true
/c game.player.cheat_mode=true
</syntaxhighlight>
== 맵 관련 스크립트 ==
=== 플레이어 주변 밝히기 ===
플레이어의 시야를 넓힌다
<syntaxhighlight lang="lua">
/c local radius=150
game.player.force.chart(game.player.surface, {{game.player.position.x-radius, game.player.position.y-radius}, {game.player.position.x+radius, game.player.position.y+radius}})
</syntaxhighlight>
시작지점을 중심으로 지정 범위만큼 밝힌다
<syntaxhighlight lang="lua">
/c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}})
</syntaxhighlight>
밝혀진 맵이 넓어질수록 세이브 파일의 용량이 커진다.
=== 시간 변화 옵션 끄기 ===
낮으로 고정한다.
<syntaxhighlight lang="lua">
/c game.player.surface.always_day=true
</syntaxhighlight>
=== 게임 속도 조절 ===
1이 기본이며 최소 0.01 이다.
<syntaxhighlight lang="lua">
/c game.speed=X
</syntaxhighlight>
=== 마라톤 / 기본 게임 설정 ===
기본 게임에서 마라톤 모드로 바꾼다.
<syntaxhighlight lang="lua">
/c game.difficulty_settings.recipe_difficulty=1
game.difficulty_settings.technology_difficulty=1
game.difficulty_settings.technology_price_multiplier=4
</syntaxhighlight>
기본 게임으로 바꾼다.
<syntaxhighlight lang="lua">
/c game.difficulty_settings.recipe_difficulty=0
game.difficulty_settings.technology_difficulty=0
game.difficulty_settings.technology_price_multiplier=1
</syntaxhighlight>
=== 시간 고정 ===
낮시간으로 고정된다.
<syntaxhighlight lang="lua">
/c game.player.surface.freeze_daytime=true
</syntaxhighlight>
=== 공해 제거 ===
<syntaxhighlight lang="lua">
/c game.player.surface.clear_pollution()
</syntaxhighlight>
=== 공해 추가 ===
<syntaxhighlight lang="lua">
/c game.player.surface.pollute(game.player.position, 1000000)
</syntaxhighlight>
=== 내 건물에 내 공격 무효 ===
수류탄이나 미사일 등으로 공격할 때, 내 공격으로 인해 내 건물이 피해를 입지 않는다.
<syntaxhighlight lang="lua">
/c game.player.force.friendly_fire = false
</syntaxhighlight>
=== 새로운 자원타일 깔기 ===
물이 아닌 빈 지형 위에 11×11 사이즈의 새 자원을 만든다.
정사각형으로 생성되며, 중심에서 멀어질수록 자원 양이 적어진다.
아래 기본으로 주어진 커맨드로 생성 시 채집가능한 총 자원량은 2500-3000 이다.
넓게 많들고 싶으면 "local size = 5" 의 숫자를 높이면 된다.
바닐라 자원 크기도 제일 커봐야 30정도 이다.
자원량을 수정하고 싶으면"local density = 10" 의 숫자를 높이면 된다.
매우 풍부는 100 내외이다.
자원 종류는 맨 아랫줄(end 빼고) "stone" 을 철광석 "iron-ore", 구리광석"copper-ore", 석탄 "coal", 우라늄 "uranium-ore" 으로 바꾸면 된다.
<syntaxhighlight lang="lua">
/c local surface=game.player.surface
local ore=nil
local size=5
local density=10
for y=-size, size do
for x=-size, size do
a=(size+1-math.abs(x))*10
b=(size+1-math.abs(y))*10
if a<b then
ore=math.random(a*density-a*(density-8), a*density+a*(density-8))
end
if b<a then
ore=math.random(b*density-b*(density-8), b*density+b*(density-8))
end
if surface.get_tile(game.player.position.x+x, game.player.position.y+y).collides_with("ground-tile") then
surface.create_entity({name="stone", amount=ore, position={game.player.position.x+x, game.player.position.y+y}})
end
end
end
</syntaxhighlight>
=== 새로운 원유 타일 깔기 ===
3 x 3 사이즈로 9개의 원유타일이 생성된다.
매장량 변경은 amount=50000 부분의 숫자를 수정하면 된다.
<syntaxhighlight lang="lua">
/c for y=0,2 do
for x=0,2 do
game.player.surface.create_entity({name="crude-oil", amount=50000, position={game.player.position.x+x*7-7, game.player.position.y+y*7-7}})
end
end
</syntaxhighlight>
사각형이 아닌 무작위 위치로 깔고 싶다면:
<syntaxhighlight lang="lua">
/c local position=nil
for i=1,9 do
position=game.player.surface.find_non_colliding_position("crude-oil", game.player.position, 0, i/2+1.5)
if position then
game.player.surface.create_entity({name="crude-oil", amount=50000, position=position})
end
end
</syntaxhighlight>
=== 숫자 세기 ===
단어가 포함된 모든 아이템의 갯수를 세서 보여준다
예를 들어, belt 를 넣으면 일반 운송벨트 뿐만 아니라 빠른 운송벨트, 고속 운송벨트를 모두 센다.
Counts all entities whose name includes the string in local entity.
<syntaxhighlight lang="lua">
/c local entity="belt"
local surface=game.player.surface
local count=0
for key, ent in pairs(surface.find_entities_filtered({force=game.player.force})) do
if string.find(ent.name,entity) then
count=count+1
end
end
game.player.print(count)
</syntaxhighlight>
== 적/진화 스크립트  ==
=== 진화 수치 설정 ===
진화 수치를 0(새 게임)에서 1사이의 숫자를 넣어 설정한다.
<syntaxhighlight lang="lua">
/c game.forces["enemy"].evolution_factor=X
</syntaxhighlight>
=== 진화 수치 증감 ===
<syntaxhighlight lang="lua">
/c game.map_settings.enemy_evolution.time_factor=0
/c game.map_settings.enemy_evolution.pollution_factor=game.map_settings.enemy_evolution.pollution_factor*2
</syntaxhighlight>
첫번째 커맨드는 시간에 따른 진화수치 증가 옵션을 끈다.
두번째 커맨드에서 숫자 2는 공해요소를 2배로 만든다는 뜻이다. 수치를 조정하여 늘리거나 줄일 수 있다.
=== 모든 몬스터 죽이기 ===
맵에서 밝혀진 부분에 보이는 모든 몬스터를 죽인다. 밝혀지지 않은 부분은 죽이지 못한다.
<syntaxhighlight lang="lua">
/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
entity.destroy()
end
</syntaxhighlight>
=== 평화모드 켜고 끄기 ===
true 로 켜고 false 로 끈다.
<syntaxhighlight lang="lua">
/c game.player.surface.peaceful_mode = true
</syntaxhighlight>
=== 바이터 확장 켜고 끄기 ===
true 로 켜고 false 로 끈다.
<syntaxhighlight lang="lua">
/c game.map_settings.enemy_expansion.enabled = true
</syntaxhighlight>
== 플레이어 캐릭터 스크립트 ==
=== 플레이어 위치 보기 ===
현재 플레이어의 좌표를 출력한다.
<syntaxhighlight lang="lua">
/c game.player.print(game.player.position.x .. ", " .. game.player.position.y)
</syntaxhighlight>
=== 플레이어 텔레포트 ===
<syntaxhighlight lang="lua">
/c game.player.teleport({X, Y})
</syntaxhighlight>
0, 0을 넣으면 시작지점으로 이동한다.
=== 신 모드 활성화 ===
캐릭터를 조종하지 않고 자유로운 시점 이동이 가능하다
<syntaxhighlight lang="lua">
/c game.player.character=nil
</syntaxhighlight>
현재 시점에 조종 가능한 새로운 캐릭터를 생성한다.
<syntaxhighlight lang="lua">
/c game.player.create_character()
</syntaxhighlight>
== 연구 스크립트 ==
=== 빠른 연구 활성화 ===
<syntaxhighlight lang="lua">
/c game.player.force.laboratory_speed_modifier=1
</syntaxhighlight>
숫자에 따라 배로 늘어난다. (2=두 배, 3=세 배)
=== 모든 연구 끝내기 ===
<syntaxhighlight lang="lua">
/c for name,technology in pairs(game.player.force.technologies) do technology.researched=technology.enabled end
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 15:36, 1 July 2018

개요

콘솔은 팩토리오의 명령어 체계이다.

게임 내에서 콘솔은 다음과 같이 사용된다:

  • 다른 플레이어와 채팅을 할 때
  • 커맨드 / 스크립트 / 치트를 사용할 때
  • 수치 조정이 필요할 때

커맨드는 다음과 같이 세 종류가 있다:

  • 일반 - 현재 게임과 설정에 관한 정보를 보여준다.
  • 멀티플레이 - 메시지 필터링, 플레이어 밴 등.
  • 스크립트/치팅 - Lua 스크립트를 실행한다 (실행하면 해당 게임에서는 업적을 달성할 수 없게 된다)

콘솔 사용

콘솔은 / (slash) 나 ~ (tilde) 키를 누르면 활성화 된다.


옵션 → 조작 → Lua 입력창 표시 전환(우측하단)에서 키를 변경할 수 있다. 콘솔창에 메시지나 커맨드를 입력하고 엔터를 누르면 콘솔 창이 닫히며 메시지를 보낼 수 있다. 메시지나 커맨드에 대한 내용은 문서 아래에서 찾을 수 있다.

콘솔이 입력되며 창이 닫히면 가장 최근의 메시지/커맨드가 표시되고, 곧 화면에서 사라진다. 또한, 콘솔창을 열면 최근 메시지가 바로 표시된다. 기본적으로, 커맨드는 보든 유져에게 보인다. 옵션 → 인터페이스 → 채팅 메시지 지연에서 사라지는 시간을 조절할 수 있다.

콘솔창을 즉시 닫고 싶으면 EscEnter 를 누르면 된다. 입력 없이 콘솔창이 닫히면 메시지/커맨드 또한 바로 사라지게 된다 /clear를 입력하면 콘솔창이 청소된다.


콘솔 기록

콘솔에 입력한 내용은 저장이 되는데, 한 번에 한 줄만 보여진다.

또는 키로 콘솔 기록을 스크롤 할 수 있다.

또는 키로 콘솔의 커서를 움직여 편집, 삭제 등을 할 수 있다.

Tab 키로 자동완성을 할 수 있다.


일반 커맨드

커맨드 사용 예시 설명 호스트 전용
/alerts <enable/disable/mute/unmute> <alert> /alerts disable turret_fire 퀵 바 오른쪽에 뜨는 경고메시지에 대한 음소거를 켜고 끈다. No
/clear /clear 콘솔창을 깨끗하게 한다. No
/color <color> /color 20 255 255 100 RGBA 수치에 따라 색을 변경한다. 또는 주어진 색으로 변경할 수 있다 : 기본, 적, 녹, 청, 오렌지, 황, 핑크, 보라, 백, 흑, 회, 갈, 청록, 에시드(녹색계열) No
/evolution /evolution 몬스터 진화 정보를 표시한다. No
/help [command] /help 유효한 커맨드 리스트를 출력한다. 뒤에 커맨드를 입력하면 커맨드에 대해 설명한다. No
/h [command] /h /help 와 같다. No
/mute-programmable-speaker <mute/unmute> <local/everyone> /mute-programmable-speaker mute local 모든 소리를 끄거나 켠다. 참가자는 본인만 가능하고, 호스트는 서버 내 전체를 설정할 수 있다. No
/permissions /permissions 사용권한 창을 연다. Yes
/seed /seed 맵 시드를 출력한다. No
/time /time 현재 게임의 플레이 타임을 출력한다. No
/toggle-rockets-sent-gui /toggle-rockets-sent-gui 좌측 상단에 로켓 발사에 대한 통계를 표시를 켜고 끈다. No
/version /version 현재 게임 버전을 출력한다. No


멀티플레이 커맨드

커맨드 사용 예시 설명 호스트 전용
<message> Hello team! / 로 시작하지 않는 모든 메시지를 서버 내 유져(혹은 팀)에게 보여준다. No
/admins /admins 호스트 아이디를 출력한다. No
/ban <player> <reason> /ban xTROLLx Throwing grenades in base 지정 유져를 추방한다. 아이디 뒤에 이유를 적으면 이유가 함께 표시된다. Yes
/banlist <add/remove/get/clear> <player> /banlist get 추방 목록에 유저를 더하거나 뺀다. /ban 이나 /unban 과 같다. No
/config <get/set> <option> <value> /config set password hunter2 다양한 멀티플레이용 세팅을 설정한다. 가능한 설정 커맨드: afk-auto-kick, allow-commands, allow-debug-settings, autosave-interval, autosave-only-on-server, ignore-player-limit-for-returning-players, max-players, max-upload-speed, only-admins-can-pause, password, require-user-verification, visibility-lan, visibility-public. Yes
/delete-blueprint-library <player> /delete-blueprint-library everybody confirm 보관중인 청사진을 삭제한다. everybody confirm”를 입력하면 모든 오프라인 사용자의 청사진을 삭제한다. Yes
/demote <player> /demote AzureDiamond 유저의 호스트 권한을 박탈한다. Yes
/ignore <player> /ignore Cthon98 지정 유저의 채팅을 금지시킨다. No
/ignores /ignores 채팅금지 목록을 표시한다. No
/kick <player> <reason> /kick xTROLLx Throwing grenades in base 특정 유저를 추방한다. Yes
/mute <player> /mute Cthon98 특정 유저의 채팅이 보이지 않는다. Yes
/mutes /mutes 공개 채팅을 끈다. No
/open <player> /open AzureDiamond 다른 유저의 인벤토르를 연다. Yes
/o <player> /o AzureDiamond /open 과 같다. Yes
/players [online/o/count/c] /players 게임 안의 유저 목록을 표시한다. No
/promote <player> /promote AzureDiamond 지정 유저에게 호스트 권한을 부여한다. Yes
/purge <player> /purge Cthon98 지정 유저가 채팅한 내용을 채팅 기록에서 삭제한다. Yes
/reply <message> /reply oh, really? 귓속말이 오면 대답한다. No
/r <message> /r oh, really? /reply 와 같다. No
/server-save /server-save 멀티플레이 게임을 서버에 저장한다. Yes
/shout <message> /shout Hello world! 모든 유저에게 메시지를 보낸다. No
/s <message> /s Hello world! /shout 와 같다. No
/swap-players <player> [player] /swap-players AzureDiamond 입력한 유저와 위치를 바꾼다. 두 유저를 입력하면 두 유저의 위치가 서로 바뀐다. Yes
/unignore <player> /unignore Cthon98 지정 유저의 채팅무시를 해제한다. No
/unmute <player> /unmute Cthon98 지정 유저의 채팅금지를 해제한다. Yes
/whisper <player> <message> /whisper AzureDiamond thats what I see 지정 유저에게 귓속말을 보낸다. No
/w <player> <message> /w AzureDiamond thats what I see /whisper 와 같다. No
/whitelist <add/remove/get/clear> [player] /whitelist get 귓속말 목록에 지정 유저를 더하거나 뺀다. No


스크립트 및 치트 커맨드

커맨드 설명
/c <command> 치트 실행.
/command <command> 치트 실행.
/measured-command <command> 치트를 실행하고, 실행에 걸리는 시간을 표시.
/silent-command <command> 콘솔에 메시지 없이 치트 실행.

치트를 사용하면 해당 게임에서는 업적을 달성할 수 없게 된다.


기본 스크립트

계산기

/c game.player.print(1234*5678)

빠른 채굴속도

/c game.player.force.manual_mining_speed_modifier=1000

빠른 제작속도

/c game.player.force.manual_crafting_speed_modifier=1000

모든 연구 활성화

/c game.player.force.research_all_technologies()

모든 연구 초기화

제작 가능한 아이템도 초기화 된다. (게임 시작 상태)

/c for _, tech in pairs(game.player.force.technologies) do 
	tech.researched=false
	game.player.force.set_saved_technology_progress(tech, 0)
end

수치 초기화

킬 수, 생산 및 제작 수 등, 모든 수치를 초기화 한다.

/c game.player.force.reset()

줌 거리 설정

줌 배율을 설정한다. 배율이 너무 낮으면 마우스가 안먹는다.

/c game.player.zoom=0.1


인벤토리 조작 스크립트

자원 채워넣기

기존에 자원이 있던 위치에 마우스를 위치하고 명령어를 입력하면 해당 수치만큼 자원바뀐다. 자원이 없는 곳에 생성은 안되며, 자원이 더해지는 것이 아닌 입력한 수치로 바뀐다.

/c game.player.selected.amount=7500

인벤토리에 아이템 추가

철판(iron-plate) 대신 원하는 다른 내부 이름 과 갯수를 입력하면 된다.

/c game.player.insert{name="iron-plate", count=100}

치트모드

모든 아이템을 무료로, 즉시 만들 수 있다.

/c game.player.cheat_mode=true


맵 관련 스크립트

플레이어 주변 밝히기

플레이어의 시야를 넓힌다

/c local radius=150
game.player.force.chart(game.player.surface, {{game.player.position.x-radius, game.player.position.y-radius}, {game.player.position.x+radius, game.player.position.y+radius}})

시작지점을 중심으로 지정 범위만큼 밝힌다

/c game.forces.player.chart(game.player.surface, {{x = -2000, y = -2000}, {x = 2000, y = 2000}})

밝혀진 맵이 넓어질수록 세이브 파일의 용량이 커진다.


시간 변화 옵션 끄기

낮으로 고정한다.

/c game.player.surface.always_day=true

게임 속도 조절

1이 기본이며 최소 0.01 이다.

/c game.speed=X

마라톤 / 기본 게임 설정

기본 게임에서 마라톤 모드로 바꾼다.

/c game.difficulty_settings.recipe_difficulty=1
game.difficulty_settings.technology_difficulty=1
game.difficulty_settings.technology_price_multiplier=4

기본 게임으로 바꾼다.

/c game.difficulty_settings.recipe_difficulty=0
game.difficulty_settings.technology_difficulty=0
game.difficulty_settings.technology_price_multiplier=1

시간 고정

낮시간으로 고정된다.

/c game.player.surface.freeze_daytime=true

공해 제거

/c game.player.surface.clear_pollution()

공해 추가

/c game.player.surface.pollute(game.player.position, 1000000)

내 건물에 내 공격 무효

수류탄이나 미사일 등으로 공격할 때, 내 공격으로 인해 내 건물이 피해를 입지 않는다.

/c game.player.force.friendly_fire = false

새로운 자원타일 깔기

물이 아닌 빈 지형 위에 11×11 사이즈의 새 자원을 만든다. 정사각형으로 생성되며, 중심에서 멀어질수록 자원 양이 적어진다. 아래 기본으로 주어진 커맨드로 생성 시 채집가능한 총 자원량은 2500-3000 이다.

넓게 많들고 싶으면 "local size = 5" 의 숫자를 높이면 된다. 바닐라 자원 크기도 제일 커봐야 30정도 이다.

자원량을 수정하고 싶으면"local density = 10" 의 숫자를 높이면 된다. 매우 풍부는 100 내외이다.

자원 종류는 맨 아랫줄(end 빼고) "stone" 을 철광석 "iron-ore", 구리광석"copper-ore", 석탄 "coal", 우라늄 "uranium-ore" 으로 바꾸면 된다.

/c local surface=game.player.surface
local ore=nil
local size=5
local density=10
for y=-size, size do
	for x=-size, size do
		a=(size+1-math.abs(x))*10
		b=(size+1-math.abs(y))*10
		if a<b then
			ore=math.random(a*density-a*(density-8), a*density+a*(density-8))
		end
		if b<a then
			ore=math.random(b*density-b*(density-8), b*density+b*(density-8))
		end
		if surface.get_tile(game.player.position.x+x, game.player.position.y+y).collides_with("ground-tile") then
			surface.create_entity({name="stone", amount=ore, position={game.player.position.x+x, game.player.position.y+y}})
		end
	end
end

새로운 원유 타일 깔기

3 x 3 사이즈로 9개의 원유타일이 생성된다. 매장량 변경은 amount=50000 부분의 숫자를 수정하면 된다.

/c for y=0,2 do
	for x=0,2 do
		game.player.surface.create_entity({name="crude-oil", amount=50000, position={game.player.position.x+x*7-7, game.player.position.y+y*7-7}})
	end
end

사각형이 아닌 무작위 위치로 깔고 싶다면:

/c local position=nil
for i=1,9 do
	position=game.player.surface.find_non_colliding_position("crude-oil", game.player.position, 0, i/2+1.5)
	if position then 
		game.player.surface.create_entity({name="crude-oil", amount=50000, position=position})
	end
end

숫자 세기

단어가 포함된 모든 아이템의 갯수를 세서 보여준다 예를 들어, belt 를 넣으면 일반 운송벨트 뿐만 아니라 빠른 운송벨트, 고속 운송벨트를 모두 센다. Counts all entities whose name includes the string in local entity.

/c local entity="belt"
local surface=game.player.surface
local count=0
for key, ent in pairs(surface.find_entities_filtered({force=game.player.force})) do
	if string.find(ent.name,entity) then
		count=count+1
	end
end
game.player.print(count)


적/진화 스크립트

진화 수치 설정

진화 수치를 0(새 게임)에서 1사이의 숫자를 넣어 설정한다.

/c game.forces["enemy"].evolution_factor=X

진화 수치 증감

/c game.map_settings.enemy_evolution.time_factor=0
/c game.map_settings.enemy_evolution.pollution_factor=game.map_settings.enemy_evolution.pollution_factor*2

첫번째 커맨드는 시간에 따른 진화수치 증가 옵션을 끈다. 두번째 커맨드에서 숫자 2는 공해요소를 2배로 만든다는 뜻이다. 수치를 조정하여 늘리거나 줄일 수 있다.


모든 몬스터 죽이기

맵에서 밝혀진 부분에 보이는 모든 몬스터를 죽인다. 밝혀지지 않은 부분은 죽이지 못한다.

/c local surface=game.player.surface
for key, entity in pairs(surface.find_entities_filtered({force="enemy"})) do
	entity.destroy()
end

평화모드 켜고 끄기

true 로 켜고 false 로 끈다.

/c game.player.surface.peaceful_mode = true

바이터 확장 켜고 끄기

true 로 켜고 false 로 끈다.

/c game.map_settings.enemy_expansion.enabled = true


플레이어 캐릭터 스크립트

플레이어 위치 보기

현재 플레이어의 좌표를 출력한다.

/c game.player.print(game.player.position.x .. ", " .. game.player.position.y)

플레이어 텔레포트

/c game.player.teleport({X, Y})

0, 0을 넣으면 시작지점으로 이동한다.

신 모드 활성화

캐릭터를 조종하지 않고 자유로운 시점 이동이 가능하다

/c game.player.character=nil

현재 시점에 조종 가능한 새로운 캐릭터를 생성한다.

/c game.player.create_character()


연구 스크립트

빠른 연구 활성화

/c game.player.force.laboratory_speed_modifier=1

숫자에 따라 배로 늘어난다. (2=두 배, 3=세 배)


모든 연구 끝내기

/c for name,technology in pairs(game.player.force.technologies) do technology.researched=technology.enabled end