Don't Starve Wiki
Advertisement
Don't Starve Wiki

Lệnh Console được mở mặc định. Nếu vì lý do gì mà nó không có, trước tiên bạn cần thực hiện vài điều chỉnh trong tệp settings.ini trong sao lưu của bạn. Cái này có thể tìm trong thư mục "DoNotStarveTogether", nằm trong đường dẫn sau:

 Windows, Mac: <Documents>\Klei\DoNotStarveTogether\client.ini

Linux:         ~/.klei/DoNotStarve/client.ini

Xác định settings.ini và mở nó bằng Notepad hay các công cụ văn bản khác. Tìm phần [MISC] , và chắc rằng có ENABLECONSOLE = true theo nó. Nếu nó hiện false, hãy thay đổi và lưu lại.

Rồi mở console khi đang trong game bằng phím "~" theo mặc định trong bàn phím tiếng Anh. Điều này có thể thay đổi bắt cứ lúc nào trong menu Điều Khiển.

Mình khuyến khích bạn dùng mod hơn. Bạn tham khảo 2 mod này: Admin Scoreboard+ (có godmode, dập lửa, hồi sinh, chế độ sáng tạo, drop đồ, giết người chơi), Too Many Items Plus (spawn đồ nhanh, có các lệnh cơ bản, ...)

Lưu ý:

  • Bạn phải nhập lại hầu hết mọi lệnh sau khi nạp một thế giới.
  • Lua hỗ trợ số lượng đối số cho hàm nhất định, nên nếu, chẳng hạn, bạn chỉ muốn sinh ra một tiền tố, bạn có thể bỏ qua "số lượng": "c_spawn('beefalo')".
  • Nếu bạn không phải là máy chủ (hoặc là một máy chủ chuyên dụng mà bạn quản trị), hầu hết lệnh cần phải chạy từ xa. Nhấn Ctrl cùng console đang mở chuyển sang chế độ lệnh từ xa. Một vài lệnh (như là tiết lộ bản đồ) vẫn thực hiện cục bộ.

Nhiều Lệnh Don't Starve vẫn còn trong DST, vậy nên bạn cũng có thể đọc nó.

Lệnh đơn giản

  • Sinh tiền tố
c_spawn("tiền tố", số lượng tiền tố)

Cải tiền từ DebugSpawn("tiền tố"), sinh một lượng "tiền tố" đã chọn dưới con trỏ chuột.(ko nhất thiết phải nhập số lượng)

  • Đưa vật dụng
c_give("tiền tố", số lượng)

Sinh một lượng "tiền tố" đã chọn trong túi đồ của bạn. Chỉ hoạt động với Ba LôVật Dụng mà có thể chứa trong túi đồ.

  • Go Adventuring
c_goadventuring()

Cung cấp một bộ các vật phẩm bắt đầu cho người chơi.

  • Kịch bản (chưa thử)
c_doscenario(scenario)

Áp dụng một nguyên bản kịch bản để lựa chọn và chạy nó.

c_sethea​lth(phần trăm)

Đặt máu của bạn đến phần trăm đã chọn. Lưu ý: Dùng phân số 0.90 = 90%.

c_setsanit​y(phần trăm)

Đặt tinh thần của bạn đến phần trăm đã chọn. Lưu ý: Dùng phân số 0.90 = 90%.

c_sethunger(phần trăm)

Đặt sức đói của bạn đến phần trăm đã chọn. Lưu ý: Dùng phân số 0.90 = 90%.

  • Độ Ẩm
c_setmoisture(phần trăm)

Đặt độ ẩm của bạn theo tỷ lệ phần trăm đã chọn. Lưu ý: Sử dụng số phân số 0,90 = 90%.

  • Nhiệt Độ
c_settemperature(độ)

Đặt nhiệt độ của bạn theo tỷ lệ phần trăm đã chọn. Lưu ý: Sử dụng số phân số 0,90 = 90%.

  • Chế Độ Bất Tử
c_godmode()

Nó sẽ không còn giảm Tinh Thần, Sức Đói hay Máu khi bị tấn công nữa. Bạn không thể thay đổi các chỉ số với các lệnh khi đang bất tử. Nếu bạn đã chết, hồi sinh lại. Để tắt Chế Độ Bất Tử, dùng lệnh lần nữa. Có thể dùng lệnh này để hồi sinh chính mình hoặc người chơi khác trong server. VD: c_godmode(2), 2 ở đây là số thứ tự của người chơi khi ấn phím Tab.

  • Chế Độ Siêu Bất Tử
c_supergodmode()

Giống như Chế Độ Bất Tử những cũng đặt đầy đủ toàn bộ chỉ số.

  • Duy trì sức khỏe của bạn
c_maintainhealth(ThePlayer)

Tương tự như supergodmode, nhưng liên tục phục hồi sức khỏe của bạn. Để hủy bỏ, c_cancelmaintaintasks(ThePlayer).

  • Duy trì sự tỉnh táo của bạn
c_maintainsanity(ThePlayer)

Tương tự như supergodmode, nhưng liên tục tái tạo sự tỉnh táo của bạn. Để hủy, nhập c_cancelmaintaintasks(ThePlayer).

  • Duy trì cơn đói của bạn
c_maintainhunger(ThePlayer)

Tương tự như supergodmode, nhưng liên tục tái tạo cơn đói của bạn. Để hủy, nhập c_cancelmaintaintasks(ThePlayer).

  • Duy trì nhiệt độ của bạn
c_maintaintemperature(ThePlayer)

Tương tự như supergodmode, nhưng liên tục tái tạo nhiệt độ của bạn. Để hủy bỏ, enter c_cancelmaintaintasks(ThePlayer).

  • Duy trì độ ẩm của bạn
c_maintainmoisture(ThePlayer)

Tương tự như supergodmode, nhưng liên tục tái tạo độ ẩm của bạn. Để hủy, nhập c_cancelmaintaintasks(ThePlayer).

  • Duy trì tất cả
c_maintainall(ThePlayer)

Tương tự như supergodmode, nhưng liên tục phục hồi tất cả các chỉ số. Để hủy, nhập c_cancelmaintaintasks(ThePlayer).

  • Mob tàng hình
c_makeinvisible()

Ngăn chặn mob từ mục tiêu người chơi trong chiến đấu. Không hoạt động trong mọi hoàn cảnh.

  • Cài tăng tốc độ di chuyển
c_speedmult(hệ số)

Tốc độ chạy chuẩn là 1. 2 khiến bạn nhanh gấp đôi và với 20 hoặc hơn bạn có thể dễ dàng đâm qua tường và đi "trên" biển.

Có nhiều lệnh khác, nhưng chúng khó dùng và không quá hữu ích.

Lệnh người chơi

Lưu ý: Hầu hết chúng không hoạt động nếu bạn là máy khách và không có quản trị gửi một điều khiển từ xa (chuyển sang chế độ từ xa bằng Ctrl) .

  • Dự đoán hành động
ThePlayer:EnableMovementPrediction(enable/false)

Mặc định là kích hoạt, đặt nó là "false" sẽ thay đổi rubberbanding for choppiness, nhưng thường hữu ích trong chiến đấu. Điều này chỉ thực hiện mọi thứ nếu thực thi bởi máy khách, máy chủ không có dự đoán.

  • Chế độ sáng tạo
GetPlayer().components.builder:GiveAllRecipes()

Bạn có thể chế tạo mọi thứ.

  • Máu tối đa
​ThePlayer.components.health:SetMaxHealth(giá trị)

Thay đổi Máu Tối Đa của Nhân Vật

  • Tinh Thần tối đa
ThePlayer.components.sanity:SetMax(giá trị)

Thay đổi Tinh Thần Tối Đa của Nhân Vật

  • Sức Đói tối đa
ThePlayer.components.hunger:SetMax(giá trị)

Thay đổi Sức Đói Tối Đa của Nhân Vật

  • Ngừng Sức Đói
ThePlayer.components.hunger:Pause(true)

Nhân Vật sẽ không còn chết đói nữa.

  • Thay đổi hệ số sát thương
ThePlayer.components.combat.damagemultiplier=(giá trị)

Thay đổi Hệ số sát thương của nhân vật.

  • Biến đổi người sói
c_setbeaverness(percentage)

Biến Woodie thành Ma Hải Ly. Đặt thành 1 để chuyển đổi thành Ma Hải Ly. Đặt thành 0 nếu bạn muốn chuyển đổi trở lại Woodie.

Lệnh Nhân Vật Khác

Lưu ý: Nhiều lệnh sau that mà thường áp dụng cho nhân vật, như là c_godmode() hay c_sethealth(1), có thể dùng cho khác nhân vật khác bằng cách dùng c_select(AllPlayers[số]) ở đầu. Vậy nên bạn sẽ cần một danh sách người chơi để lấy số người chơi:

  • Danh sách tất cả người chơi với tên truy cập và số.
c_listallplayers()
  • Chọn một người chơi nào đó
AllPlayers[số]

AllPlayers[1] sẽ chọn ThePlayer nếu bạn là mấy chủ. Những người chơi khác phải có số hiển thị trên bảng (Trong một số tình huống, số có thể sai. Bạn có thể chắc chắn hơn bằng cách dùng c_listallplayers() ở đầu để xem tên người dùng và nhân vật cho mỗi số người chơi. Hầu hết lệnh ThePlayer có thể dùng với AllPlayers[số] thay cho ThePlayer.

  • Dùng một lệnh đến tất cả người chơi
for k,v in pairs(AllPlayers) do command end

Thay lệnh bằng một lệnh khác, dùng "v" thay cho AllPlayers[số]. Ví dụ, "for k,v in pairs(AllPlayers) do c_move(v) end" sẽ di chuyển tất cả người chơi đến vị trí chuột.

  • Di chuyển đến người chơi khác
c_move(AllPlayers[số])

Chuyển người chơi đến vị trí con trỏ.

  • Giết một người chơi
AllPlayers[số]:PushEvent('death')
  • Hồi sinh một người chơi
AllPlayers[số]:PushEvent('respawnfromghost')
  • Cung cấp chế độ sáng tạo cho người chơi
AllPlayers[số].components.builder:GiveAllRecipes()

Cung cấp chế độ sáng tạo cho người chơi.

  • Dịch chuyển đến người chơi
c_goto(AllPlayers[số])

Viễn dịch bạn đến người chơi tương ứng với số người chơi từ c_listallplayers().

  • Drop mọi vật phẩm trong kho của người chơi
AllPlayers[số].components.inventory:DropEverything()

Bỏ mọi thứ từ kho của người chơi tương ứng với số người chơi từ c_listallplayers()

  • Sinh lại một nhân vật của người chơi (trở về màn hình chọn nhân vật để chọn lại)
c_despawn(AllPlayers[số])

Điều này sẽ xóa hết vật dụng trong túi đồ của họ, vậy bạn nên giết họ trước để làm rớt vật dụng ra.

Lệnh thế giới

c_gonext("tiền tố")

Sau khi nhấn Enter, nó viễn dịch bạn đến trường hợp tiền tố được đặt tên dạng số đầu tiên. Nếu lập lại nhiều tiền tố tồn tại, một danh sách số cá thể sẽ xuất hiện trong bảng ghi console, và mỗi thực thi của cùng lệnh tiếp theo sẽ đưa người chơi từ cá thể này đến cá thể khác theo thứ tự chúng được tao ra trong thế giới.

  • Xóa Vật Dụng Dưới Chuột
TheInput:GetWorldEntityUnderMouse():Remove()
c_select() c_sel():Remove()

Sau khi nhấn Enter, Nó sẽ xóa vật dụng dưới chuột. Dùng lệnh thứ hai trong máy chủ chuyên dụng, lệnh đầu tiên không hoạt động.

  • Xóa hết
for k,v in pairs(Ents) do if v.prefab == "tiền tố" then v:Remove() end end

Sau khi nhấn enter, nó sẽ xóa mọi phiên bản của bất kỳ mục tiền tố nào được nhập. Hữu ích cho các máy chủ chạy dài với nhiều lộn xộn.

  • Tiết Lộ Bản Đồ - Cho bản thân
minimap = TheSim:FindFirstEntityWithTag("mini­map")
TheWorld.minimap.MiniMap:ShowArea (0,0,0,10000)
for x=-1600,1600,35 do
	for y=-1600,1600,35 do
		ThePlayer.player_classified.MapExplorer:RevealArea(x,0,y)
	end
end

Đây là một lệnh dành cho máy chủ và sẽ không hoạt động nếu bạn là máy khách.

  • Tiết lộ bản đồ - Cho tất cả người chơi
for k,v in pairs(AllPlayers) do for x=-1600,1600,35 do for y=-1600,1600,35 do v.player_classified.MapExplorer:RevealArea(x,0,y) end end end

Đây là một lệnh dành cho máy chủ và sẽ không hoạt động nếu bạn là máy khách.

  • Nhảy ngày
​TheWorld:PushEvent("ms_nextcycle")
  • Nhảy thời gian
TheWorld.net.components.clock:OnUpdate(16*30*x)

Nhảy qua x ngày. Thay x để nhảy nhiều ngày hơn hay một phần ngày (vd 16*30*4.5 để nhảy 4.5 ngày) Cảnh Báo: Giá trị quá lớn có thể làm đơ game. (Tùy vào tốc độ máy tính)

  • Nhảy đơn vị thời gian và cập nhật
LongUpdate(X)

Nhảy X đơn vị thời gian và thực hiện hàm "LongUpdate" lên các đối tượng thế giới

Lưu ý: Có 30 đơn vị thời gian mỗi phân đoạn. Để nhảy nguyên một ngày ta có thể sử dụng hoặc LongUpdate(480) hoặc dùng giá trị tích như là LongUpdate(X*16*30) hay LongUpdate(X*TUNING.TOTAL_DAY_TIME), với X=ngày nhảy.

  • Nhảy pha
TheWorld:PushEvent("ms_nextphase")
  • Đặt phân đoạn
TheWorld:PushEvent("ms_setclocksegs", {day=x,dusk=y,night=z})

Đặt lượng phân đoạn. Lỗi nếu if x + y + z thêm vào quá 16. Lưu ý rằng điều này sẽ làm mới vào ngày kế tiếp.
Ví dụ:

TheWorld:PushEvent("ms_setclocksegs", {day=14,dusk=1,night=1})

Ngày rất dài, hoàng hôn và đêm rất ngắn (một phân đoạn cho hoàng hôn và một cho đêm)

  • Đặt phân đoạn mùa
​TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=sx,dusk=sy,night=sz}, winter={day=wx,dusk=wy,night=wz}})

Đặt lượng phân đoạn. Lỗi nếu x + y + z thêm vào quá 16. Không như setclocksegs, đây là cố định.
Ví dụ:

TheWorld:PushEvent("ms_setseasonclocksegs", {summer={day=14,dusk=1,night=1}, winter={day=13,dusk=1,night=2}})

Ngày rất dài, hoàng hôn và đêm rất ngắn (một phân đoạn cho hoàng hôn và một cho đêm), cùng với đêm dài hơn một chút vào Mùa Đông.

  • Đặt độ dài mùa
TheWorld:PushEvent("ms_setseasonlength", {season="summer", length=15})\
TheWorld:PushEvent("ms_setseason", "summer")
TheWorld:PushEvent("ms_setseason", "winter")
TheWorld:PushEvent("ms_setseason", "spring")​
TheWorld:PushEvent("ms_setseason", "autumn")​
TheWorld:PushEvent("ms_forceprecipitation")
  • Ngừng Mưa
TheWorld:PushEvent("ms_forceprecipitation", false)

Điều này gồm cả Mưa Ếch.

TheWorld:PushEvent("ms_sendlightningstrike", TheInput:GetWorldPosition())

Sét đánh lên vị trí chuột. Sẽ trúng Cột Thu Lôi thay vào đó nếu có một cái gần đó

c_spawn("shadowmeteor", 1)

Thiên Thạch rơi lên vị trí chuột. Sinh ra các loại đá ngẫu nhiên.

  • Đo khoảng cách
print(math.sqrt(ThePlayer:GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse())))

In khoảng cách giữa người chơi vời đối tượng dưới chuột vào bảng ghi console (hiển thị bằng Ctrl + L theo mặc định).

Lệnh Mạng/Máy Chủ

  • Sút/Cấm một người chơi
TheNet:Kick(userid)
TheNet:Ban(userid)

Lưu ý rằng điều này có thể thực hiện dễ dàng hơn thông qua bảng điểm. userid có thể kiếm trong bảng AllPlayers. Một khi bạn tìm thấy số của the người chơi bạn muốn sút (như trên trong phần Lệnh Người Chơi Khác), bạn có thể dùng AllPlayers[#].userid. Vậy, ví dụ, với người chơi 2, TheNet:Kick(AllPlayers[2].userid).

  • Tạm cấm một người chơi
TheNet:BanForTime(userid,time_in_seconds)

Người chơi có thể bị cấm trong một khoảng thời gian ngắn. userid là viết tắt cho KU id của người chơi bị cấm. Sau khi kiếm được có thể đặt nó ở dạng:

TheNet:BanForTime("KU_aabbccdd", 120).

Điều này sẽ cấm người chơi với KU id cụ thể trong 120 giây. Lệnh này cũng nên nhập vào cả hai máy chủ nếu máy chủ có tùy chọn đa cấp (Hang Động và overworld).

  • Kết nối đến một máy chủ
c_connect("địa chỉ IP", cổng, "mật khẩu")

Nếu kết nối thông thường không hoạt động, có thể kết nói trực tiếp đến một địa chỉ IP. Theo mặc định, cổng là 10999. Nếu không có mật khẩu, bạn có thể bỏ trống: c_connect("10.0.0.8", 10999)

  • Nạp lại thế giới
c_reset()

Nạp lại thế giới mà không lưu. Lệnh này có thể đổ vỡ game của bạn nếu bạn là một máu khách (trừ khi bạn gửi nó như lệnh từ xa).

  • Tái tạo thế giới
c_regenerateworld()

Xóa thế giới hiện tại và tạo một cái mới.

  • Lưu máy chủ
c_save()

Buộc máy chủ lưu ngay lập tức (máy chủ thường tự động lưu bất cứ khi nào kết thú đêm).

  • Tắt máy chủ
c_shutdown( true / false)

true sẽ lưu game, false sẽ thoát mà không lưu. c_shutdown() giống như c_shutdown(true).

  • Phục hồi máy chủ
c_rollback(count)

Phục hồi một máy chủ bằng số lượng sao lưu đã cho. c_rollback() sẽ lùi lại một, while c_rollback(3) sẽ lùi lại ba.

  • Cho phép/Vô hiệu người chơi mới tham gia
TheNet:SetAllowIncomingConnections( true / false )

Đặt nó là true là hành vi mặc định (mọi người có thể vào). Đặt là false ngăn người khác tham gia.

  • Tạo một thông báo máy chủ (với console máy chủ chuyên dụng)
c_announce("announcement")

Điều này cho phép bạn thông báo tắt/chạy lại máy chủ để người chơi không bị ngắt kết nối mà không có thông báo.

Lệnh Linh Tinh

ErasePersistentString("morgue")

Dọn nhà xác. Cần đóng rồi mở lại game để xem thay đổi.

  • Tính số lượng một thứ trong thế giới
c_countprefabs("tiền tố")

Trong máy chủ chuyên dụng the kết quả được in trên console máy chủ

  • Sinh Hố Giun
    1. Thật ra không có một dòng lệnh, làm theo như sau.
    2. Sinh Hồ Giun 1 : c_spawn("wormhole")
    3. Đánh dấu Hố Giun 1 (mouse over wormhole) : worm1 = c_select()
    4. Sinh Hồ Giun 2 : c_spawn("wormhole")
    5. Đánh dấu Hố Giun 2 (mouse over wormhole) : worm2 = c_select()
    6. Tạo kết nối đến: worm1.components.teleporter.targetTeleporter = worm2
    7. Và quay lại: worm2.components.teleporter.targetTeleporter = worm1
    8. XONG!
Advertisement