Neko:Lua

좀비서바이벌 1.11b 버전 Lua 스크립트

by 판져중위 posted Nov 30, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

zs_opions.lua 내부입니다.

 

 

 

-- Don't change this. If you change this then you're an IDIOT.
GM.Version  = "2.1"//(버전명)
-- Change this if you're not going to use the default install and/or settings. If you edit this file then it will automatically set it to Unofficial.
GM.SubVersion = "Lt.Panzer Version Official"//(공식버전인지 아닌지 적는 버전명)

function ToMinutesSeconds(TimeInSeconds)
 local iMinutes = math.floor(TimeInSeconds / 60.0)
 return string.format("%0d:%02d", iMinutes, math.floor(TimeInSeconds - iMinutes*60))
end

----------------------------------
--  STARTING LOADOUTS  --
----------------------------------

GM.STARTLOADOUTS = {
{"weapon_zs_battleaxe", "weapon_zs_swissarmyknife", "sword"},
{"weapon_zs_peashooter", "weapon_zs_swissarmyknife", "lightsaber"}//(기본무기 스탯1,  2 , 3)
}

-----------------------------------
--   KILL LEVEL REWARDS   --          // (킬수로 무기나 아템 얻는거다)
-----------------------------------

-- Rewards that start with _ will be called as a powerup. ( PowerupFunctions["_name"](ply) ) This is cAsE-SenSiTivE!
-- See powerups.lua for examples and stuff.
-- Changing these means you're most likely an idiot.

GM.Rewards = {} -- Leave this.
GM.Rewards[5] = {"1911_weapon", "weapon_zs_deagle", "weapon_zs_deagle", "weapon_zs_deagle", "weapon_duallaserpistols", "weapon_zs_glock3", "weapon_zs_magnum"}
GM.Rewards[10] = {"_Heal", "_Heal", "_Shell"}
GM.Rewards[15] = {"weapon_k98","weapon_zs_uzi", "weapon_zs_uzi", "weapon_zs_crossbow", "weapon_zs_smg","weapon_k98"}
GM.Rewards[28] = {"weapon_lasergun", "weapon_zs_sweepershotgun", "weapon_zs_slugrifle", "weapon_winchester_1887", "weapon_winchester_1887", "weapon_g36c", "weapon_m14"}
GM.Rewards[35] = {"weapon_hk21", "weapon_lr300", "weapon_zs_barricadekit"}
GM.Rewards[60] = {"_Regeneration", "_Heal"}
GM.Rewards[75] = {"weapon_slam"}
GM.Rewards[85] = {"weapon_icemagic"}

----------------------------------
--  AMMO REGENERATION  --        //(탄약 지원 받는거)
----------------------------------
-- This is how much ammo a player is given for whatever type it is on ammo regeneration.
-- Players are given double these amounts if 75% or above Infliction.
-- Changing these means you're an idiot.

GM.AmmoRegeneration = {} -- Leave it.
GM.AmmoRegeneration["ar2"] = 30
GM.AmmoRegeneration["alyxgun"] = 18
GM.AmmoRegeneration["pistol"] = 300
GM.AmmoRegeneration["smg1"] =150
GM.AmmoRegeneration["357"] = 30
GM.AmmoRegeneration["xbowbolt"] = 10
GM.AmmoRegeneration["buckshot"] = 12
GM.AmmoRegeneration["ar2altfire"] = 1
GM.AmmoRegeneration["slam"] = 2
GM.AmmoRegeneration["rpg_round"] = 1
GM.AmmoRegeneration["smg1_grenade"] = 1
GM.AmmoRegeneration["sniperround"] = 1
GM.AmmoRegeneration["sniperpenetratedround"] = 5
GM.AmmoRegeneration["grenade"] = 1
GM.AmmoRegeneration["thumper"] = 1
GM.AmmoRegeneration["gravity"] = 1
GM.AmmoRegeneration["battery"] = 1
GM.AmmoRegeneration["gaussenergy"] = 50
GM.AmmoRegeneration["combinecannon"] = 10
GM.AmmoRegeneration["airboatgun"] = 100
GM.AmmoRegeneration["striderminigun"] = 100
GM.AmmoRegeneration["helicoptergun"] = 100

------------------------------
--  SERVER OPTIONS  --         // (서버 옵션입니다. 여기서부터 고치고 싶은건 하나씩 고칩니다.)
------------------------------

-- If you like NPC's. NPC's will only spawn in maps that actually were built to have them in the first place. This gamemode won't create it's own.
USE_NPCS = true     //NPC사용

-- Set this to true if you want people to get 'kills' from killing NPC's.
-- IT IS STRONGLY SUGGESTED THAT YOU EDIT THE REWARDS TABLE TO
-- MAKE THE REWARDS REQUIRE MORE KILLS AND/OR MAKE THE DIFFICULTY HIGHER IF YOU DO THIS!!!
-- Example, change Rewards[6] to Rewards[15]. The number represents the kills.
NPCS_COUNT_AS_KILLS = true   //NPC사살을 좀비킬로 인정한다

-- Good values are 1 to 3. 0.5 is about the same as the default HL2. 1 is about ZS difficulty. This is mainly for NPC healths and damages.
DIFFICULTY = 3   //NPC난이도

if SinglePlayer() then
 USE_NPCS = true // Npc사용을 한번더 확인
 NPCS_COUNT_AS_KILLS = true//npc 킬을 세는것을 한번더 확인
end

-- Use Zombie Survival's custom footstep sounds? I'm not sure how bad it might lag considering you're potentially sending a lot of data on heavily packed servers.
CUSTOM_FOOTSTEPS = true  //(발자국 소리)

-- In seconds, repeatatively, the gamemode gives all humans get a box of whatever ammo of the weapon they use.
-- if you set this number to something stupid like 0, you'll have some lag issues.
-- Changing this means you're an idiot.
AMMO_REGENERATE_RATE = 100  //(기본 총알)

-- In seconds, how long humans need to survive.
ROUNDTIME = 1200 -- 20 minutes //(살아남는 시간)

-- Time in seconds between end round and next map.
INTERMISSION_TIME = 35

-- New joining players will be put on the Undead team if the round is half over.
HUMAN_DEADLINE = true  //(총 접속자 비례해서 절반 커트라인 한뒤에 접속하는 사람들은 전부 사망처리-> 곧 좀비)

-- Set this to true to destroy all brush-based doors that aren't based on phys_hinge and func_physbox or whatever. For door campers.
DESTROY_DOORS = false //(문을 박살낼수있다 에서 참이다 거짓으로 스위치를 선택)

-- Set this to true to destroy all prop-based doors. Not recommended since some doors have boards on them and what-not. Only for true door camping whores.
DESTROY_PROP_DOORS = false //(물건들 박살낼수있다 에서 참이다 거짓으로 스위치를 선택)

-- Set this to true to force players to have mat_monitorgamma set to 2.2. This could cause problems with non-calibrated screens so, whatever.
-- It forces people to use flashlights instead of whoring the video settings to make it brighter.
FORCE_NORMAL_GAMMA = false //(말 그대로 화면 감마 조정)

-- Turn this to true if you don't want humans to be able to camp inside of vents and other hard to reach areas. They will die
-- if they are in a vent for 60 seconds or more.
-- Changing this means you're an idiot.
ANTI_VENT_CAMP = false //(개구멍에서 돛자리깔고 있으면 한자리에 계속머문시간에 비례해서 어느정도 시간되면 몸터지는 안티 캠프 정도.)

-- Set this to true to allow humans to shove other humans by pressing USE. Great for door blocking tards.
-- Changing this means you're an idiot.
ALLOW_SHOVE = true // (블로킹 별로 필요없지만 참으로 하는게 좋을듯하다.)

-- Set this to true if you want your admins to be able to use the 'noclip' concommand.
-- If they already have rcon then it's pointless to set this to false.
ALLOW_ADMIN_NOCLIP = false (서버어드민 노클립모드  선택하는거다 지금은 거짓으로 값을 맞쳐놓았다.)

-- Sound to play for last human.
LASTHUMANSOUND = "Last Soldier.mp3" //(사운드 세팅입니다. 차례대로 이음악은 마지막 생존자가 있을때 나오는 음악.)

-- In seconds, the length of the above file. It's important to have this correct or you may get delayed or overlapping music.
LASTHUMANSOUNDLENGTH = 105 // 음악 총 타이머 시간

-- Sound to play for ambient Un-Life music.
UNLIFESOUND = "The War of Genesis III PART I.mp3" //총인원에 비례해 75% 휴먼이 사망할때 나오는 음악입니다.
UNLIFESOUNDLENGTH = 96 // 음악 총 타이머 시간

-- Sound played to a person when they lose.
ALLLOSESOUND = "Danger.mp3" // 휴먼이 전부 사망하였을때 나오는 음악.

-- Sound played to a person when they win.
HUMANWINSOUND = "Only Life Cut.mp3" // 휴먼이 생존하였을때 나오는 음악

-- Sound played to a person when they die as a human.
DEATHSOUND = "dm_knife.mp3" // 휴먼이 죽을때 나오는 음악

-- Human kills needed for a zombie player to redeem (resurrect). Do not set this to 0. If you want to turn this
-- system off, set AUTOREDEEM to false.
REDEEM_KILLS = 4  //(좀비가 휴먼을 몇킬을 하면 부활인가 4로 맞췄습니다.)

-- Turn off/on the redeeming system.
REDEEM = true  //(부활가능 참.)

-- Players don't have a choice if they want to redeem or not. Setting to false makes them press F2.
AUTOREDEEM = true //(자동부활 가능)

WARMUP_THRESHOLD = 4
-- If a person dies when there are less than the above amount of people, don't set them on the undead team if this is true. This should generally be true on public / big servers.
WARMUP_MODE = true //(몸풀기모드 어느정도의 인원 오기까지 죽어도 자동부활이다)

if MaxPlayers() < 4 then //최대인원에서 최소 4명이 있어야 본 게임을 진행할수 있다는 부등식
 WARMUP_MODE = false //다시한번 몸풀기 모드를 적용할것인가에 대한 확인, 안쓸거니 거짓으로 하였다. 당연히 겜을 돌리면 바로 실전이다.
end

if CLIENT then
 util.PrecacheSound(LASTHUMANSOUND) //클라이언트에 사운드 프리케쉬
 util.PrecacheSound(UNLIFESOUND)
end

local shit = ""
if REDEEM then
 shit = [[You must hurry and redeem yourself before the round ends!@
To redeem yourself, kill ]]..REDEEM_KILLS..[[ humans and you will respawn as a human.]] //위에서 했던 휴먼이 부활할때 리스폰지역을 휴먼있는곳에 한다.
end

if CLIENT then
local weapon_table_text = ""
for i=1, table.maxn(GM.Rewards) do
 if GM.Rewards[i] then
  if #GM.Rewards[i] > 1 then
   local printnames = {}
   for _, wep in pairs(GM.Rewards[i]) do
    if string.sub(wep, 1, 1) ~= "_" then
     if weapons.GetStored(wep) then
      table.insert(printnames, weapons.GetStored(wep).PrintName)
     else
      table.insert(printnames, wep)
     end
    else
     table.insert(printnames, wep)
    end
   end
   weapon_table_text = weapon_table_text..[[^r          ]]..i..[[ kills: Chance of ]]..table.concat(printnames, " or ")..[[@]]
  elseif string.sub(GM.Rewards[i][1], 1, 1) ~= "_" then
   if weapons.GetStored(GM.Rewards[i][1]) then
    weapon_table_text = weapon_table_text..[[^r          ]]..i..[[ kills: ]]..(weapons.GetStored(GM.Rewards[i][1]).PrintName or GM.Rewards[i][1])..[[@]]
   else
    weapon_table_text = weapon_table_text..[[^r          ]]..i..[[ kills: ]]..GM.Rewards[i][1]..[[@]]
   end
  else
   weapon_table_text = weapon_table_text..[[^r          ]]..i..[[ kills: ]]..string.sub(GM.Rewards[i][1], 2)..[[@]]
  end
 end
end

-- This is what is displayed on the scoreboard, in the help menu. Seperate lines with "@" //밑에서 부터는 도움말 밑 주석들이다.
-- Don't put @'s right next to eachother.
-- Use ^r ^g ^b ^y  when the line starts to change color of the line

HELP_TEXT = [[^gWelcome to Zombie Survival, for GMod10.@ @^b          -- HUMANS --@^bSurvive for ]]..ToMinutesSeconds(ROUNDTIME)..[[ to win the match.@If you get killed by a zombie, you become one! ]]..shit..[[@ @Watch the infliction bar. The bigger it is, the more humans are dead!@The bar at the bottom of the screen represents your fear and how many zombies are in your immediate area.@^bA blue bar means only 1 - 3 are near you.@^yA yellow or red bar means anywhere from 5 - 9 are near you.@^rA full bar means that zombies are right near you, and in mass numbers!@ @If you lose enough health, your vision will start to blur to signify your upcoming death.@Killing zombies will grant you more weapons but your main objective is to survive!@If you stay together and defend your entrances then you are sure to win.@If you seperate or don't push back the zombies then you're sure to join them.@ @^rRewards for killing zombies:@ @]]..weapon_table_text..[[ @ @^g          -- ZOMBIES --@You can change your class as a zombie by pressing F3.@Classes in red mean that more humans need to be killed to get that class unlocked.@ @^rYou lose the match if all humans die or you're a zombie at the end of the round.@If redeeming is allowed then you can kill a certain amount of humans to ressurect yourself.@ @^yVisit www.noxiousnet.com or forums.facepunchstudios.com for updates to the game!]]

HELP_TEXT_SURVIVALMODE = [[^rWelcome to Zombie Survival, for GMod10.@ @^b          -- HUMANS --@^bSurvive for ]]..ToMinutesSeconds(ROUNDTIME)..[[ to win the match.@If you get killed by a zombie, you become one! ]]..shit..[[@ @Watch the infliction bar. The bigger it is, the more humans are dead!@The bar at the bottom of the screen represents your fear and how many zombies are in your immediate area.@^bA blue bar means only 1 - 3 are near you.@^yA yellow or red bar means anywhere from 5 - 9 are near you.@^rA full bar means that zombies are right near you, and in mass numbers!@ @If you lose enough health, your vision will start to blur to signify your upcoming death.@Killing zombies will grant you more weapons but your main objective is to survive!@If you stay together and defend your entrances then you are sure to win.@If you seperate or don't push back the zombies then you're sure to join them.@ @^rYou can scavenge for weapons and ammo by looking around the map for them.@ @^g          -- ZOMBIES --@You can change your class as a zombie by pressing F3.@Classes in red mean that more humans need to be killed to get that class unlocked.@ @^rYou lose the match if all humans die or you're a zombie at the end of the round.@If redeeming is allowed then you can kill a certain amount of humans to ressurect yourself.@ @^yVisit www.noxiousnet.com or forums.facepunchstudios.com for updates to the game!]]

HELP_TEXT = string.Explode("@", HELP_TEXT)
for _, text in pairs(HELP_TEXT) do
 text = string.gsub(text, "@", "")
end

HELP_TEXT_SURVIVALMODE = string.Explode("@", HELP_TEXT_SURVIVALMODE)
for _, text in pairs(HELP_TEXT_SURVIVALMODE) do
 text = string.gsub(text, "@", "")
end
end

----------------------------
-- ZOMBIE CLASSES -- //(좀비클래스)
-----------------------------
-- Changing these means you're an idiot.
ZombieClasses = {} -- Leave this.

util.PrecacheSound("npc/zombie/foot1.wav") //발소리 프리케쉬 사운드 인데 사용자지정으로 바꿀수있다.
util.PrecacheSound("npc/zombie/foot2.wav")
util.PrecacheSound("npc/zombie/foot3.wav")
util.PrecacheSound("npc/zombie/foot_slide1.wav")
util.PrecacheSound("npc/zombie/foot_slide2.wav")
util.PrecacheSound("npc/zombie/foot_slide3.wav")
ZombieClasses[1] =      -- The number should not be the same as any other class. You can't skip numbers.
{
 Name = "Zombie",     -- Display name. (이름)
 Revives = true,      -- Zombie will revive if not shot in the head. (헤드샷을 안당하게... 그런데 참으로 지정하였다.)
 Health = 900,      -- Obviously enough, health (체력)
 Threshold = 0.0,     -- Infliction <a number between 0.0 and 1.0, 0 being anytime and 1 being when there's 100% zombies> needed in order to change to this class. // 100% 감염이 최종치라 가정하에 0.0%부터 이 클래스를 사용할수 있게하는 언락정도라고 보면 될것이다.
 SWEP = "weapon_zs_zombie",   -- The SWEP to give them. //무기 스웹
 Model = Model("models/Zombie/Classic.mdl"), -- The world model to use. If you make your own class, you must set up it's own animations or use the default HL2MP ones. // 모델 스웹
 Speed = 150,      -- Speed moving on the ground. //이동속도
 Description="The slow, sulking bag of flesh. This is your basic zombie.@Unique abilities: Can claw at objects to send them flying.", -- Description to display at class selection. Seperate lines by the @ character.
 PainSounds = {
    Sound("npc/zombie/zombie_pain1.wav"),
    Sound("npc/zombie/zombie_pain2.wav"),
    Sound("npc/zombie/zombie_pain3.wav"),
    Sound("npc/zombie/zombie_pain4.wav"),
    Sound("npc/zombie/zombie_pain5.wav"),
    Sound("npc/zombie/zombie_pain6.wav")
    }, -- Played when the zombie is hurt by something (bullet ect). You must use the Sound() function so it precaches! // 맞으면 나오는 소리...
 DeathSounds = {
    Sound("npc/zombie/zombie_die1.wav"),
    Sound("npc/zombie/zombie_die2.wav"),
    Sound("npc/zombie/zombie_die3.wav")
    }, -- Played when the zombie is killed. //죽으면 나오는 소리...
 PlayerFootstep = true, -- Custom footstep callback. //발걸음 소리를 고칠수 있게 참으로 지정하였다.
 Unlocked = true -- Don't change this. This is only for 0.0 infliction classes. // 언락이다. 당연히 참으로.
}

ZombieClasses[2] =
{
 Name = "Fast Zombie",
 Health = 200,
 Threshold = 0.5,
 SWEP = "weapon_zs_fastzombie",
 Model = Model("models/Zombie/Fast.mdl"),
 Speed = 245,
 Description = "The faster, more decomposed, boney zombie. This is your fast attack zombie.@Unique abilities: Can climb walls and leap long distances.",
 PainSounds = {
    Sound("npc/fast_zombie/leap1.wav"),
    Sound("npc/fast_zombie/wake1.wav")
    },
 DeathSounds = {
    Sound("npc/fast_zombie/fz_alert_close1.wav")
    },
 PlayerFootstep = true
}

ZombieClasses[3] =
{
 Name = "Poison Zombie",
 Health = 1000,
 Threshold = 0.65,
 SWEP = "weapon_zs_poisonzombie",
 Model = Model("models/Zombie/Poison.mdl"),
 Speed = 135,
 Description="A giant mass of decaying flesh.@Unique abilities: Massive melee damage and can throw headcrabs.",
 PainSounds = {
    Sound("npc/zombie_poison/pz_pain1.wav"),
    Sound("npc/zombie_poison/pz_pain2.wav"),
    Sound("npc/zombie_poison/pz_pain3.wav")
    },
 DeathSounds = {
    Sound("npc/zombie_poison/pz_die1.wav"),
    Sound("npc/zombie_poison/pz_die2.wav")
    }
}

ZombieClasses[4] =
{
 Name = "Chem-Zombie",
 Health = 100,
 Threshold = 0.75,
 SWEP = "weapon_zs_chemzombie",
 Model = Model("models/Zombie/Poison.mdl"),
 Speed = 170,
 Description="Mutated zombie full of volatile chemicals.@Unique abilities: Explodes when killed.",
 PainSounds = {
    Sound("npc/metropolice/pain1.wav"),
    Sound("npc/metropolice/pain2.wav"),
    Sound("npc/metropolice/pain3.wav"),
    Sound("npc/metropolice/pain4.wav"),
    Sound("npc/metropolice/knockout2.wav")
    },
 DeathSounds = {
    Sound("ambient/fire/gascan_ignite1.wav")
    }
}

ZombieClasses[5] =
{
 Name = "Wraith",
 Health = 100,
 Threshold = 0.4,
 SWEP = "weapon_zs_wraith",
 Model = Model("models/stalker.mdl"),
 Speed = 205,
 Description="An apparition that does large amounts of damage.@Unique abilities: Heavy damage. Completely invisible while standing still.",
 PainSounds = {
    Sound("npc/barnacle/barnacle_pull1.wav"),
    Sound("npc/barnacle/barnacle_pull2.wav"),
    Sound("npc/barnacle/barnacle_pull3.wav"),
    Sound("npc/barnacle/barnacle_pull4.wav")
    },
 DeathSounds = {
    Sound("npc/stalker/go_alert2.wav")
    }
}

ZombieClasses[6] =
{
 Name = "Headcrab",
 Health = 35,
 Threshold = 0.26,
 SWEP = "weapon_zs_headcrab",
 Model = Model("models/headcrabclassic.mdl"),
 Speed = 175,
 Description="A headcrab.@Unique abilities: humps heads.",
 PainSounds = {
    Sound("npc/headcrab/pain1.wav"),
    Sound("npc/headcrab/pain2.wav"),
    Sound("npc/headcrab/pain3.wav")
    },
 DeathSounds = {
    Sound("npc/headcrab/die1.wav"),
    Sound("npc/headcrab/die2.wav")
    }
}

ZombieClasses[7] =
{
 Name = "Fast Headcrab",
 Health = 20,
 Threshold = 0.3333,
 SWEP = "weapon_zs_fastheadcrab",
 Model = Model("models/headcrab.mdl"),
 Speed = 245,
 Description="A faster headcrab.@Unique abilities: humps heads.",
 PainSounds = {
    Sound("npc/headcrab_fast/pain1.wav"),
    Sound("npc/headcrab_fast/pain2.wav"),
    Sound("npc/headcrab_fast/pain3.wav")
    },
 DeathSounds = {
    Sound("npc/headcrab_fast/die1.wav"),
    Sound("npc/headcrab_fast/die2.wav")
    }
}

ZombieClasses[8] =
{
 Name = "Poison Headcrab",
 Health = 60,
 Threshold = 0.6,
 SWEP = "weapon_zs_poisonheadcrab",
 Model = Model("models/headcrabblack.mdl"),
 Speed = 140,
 Description="A poison headcrab. The bane of all encampments.@Unique abilities: poisons players and poison spit!",
 PainSounds = {
    Sound("npc/headcrab_poison/ph_pain1.wav"),
    Sound("npc/headcrab_poison/ph_pain2.wav"),
    Sound("npc/headcrab_poison/ph_pain3.wav")
    },
 DeathSounds = {
    Sound("npc/headcrab_poison/ph_rattle1.wav"),
    Sound("npc/headcrab_poison/ph_rattle2.wav"),
    Sound("npc/headcrab_poison/ph_rattle3.wav")
    }
}

ZombieClasses[9] =
{
 Name = "Zombie Torso",
 Health = 30,
 Threshold = 0,
 SWEP = "weapon_zs_zombietorso",
 Model = Model("models/Zombie/Classic_torso.mdl"),
 Speed = 120,
 Description = "You shouldn't even be seeing this.",
 PainSounds = {
    Sound("npc/zombie/zombie_pain1.wav"),
    Sound("npc/zombie/zombie_pain2.wav"),
    Sound("npc/zombie/zombie_pain3.wav"),
    Sound("npc/zombie/zombie_pain4.wav"),
    Sound("npc/zombie/zombie_pain5.wav"),
    Sound("npc/zombie/zombie_pain6.wav")
    },
 DeathSounds = {
    Sound("npc/zombie/zombie_die1.wav"),
    Sound("npc/zombie/zombie_die2.wav"),
    Sound("npc/zombie/zombie_die3.wav")
    },
 Unlocked = true,
 Hidden = true -- The class won't show up in any menus and can't be switched to unless the script is told to switch to it.
}

-- Add models to this table to prevent human players from using them (Zombie skins and such).

GM.RestrictedModels = {}
GM.RestrictedModels["models/player/classic.mdl"] = true -- This is the only one that really looks like a zombie.
GM.RestrictedModels["models/player/zombine.mdl"] = true
GM.RestrictedModels["models/player/zombie_soldier.mdl"] = true
GM.RestrictedModels["models/player/zombiefast.mdl"] = true

 

//나머지는 위에꺼랑 같습니다.

//이건 루아언어를 쓰는 게리모드 좀비서바이벌 모드 Zs_Opions 오리지날 내용입니다.

//나중에 응용한 커스텀 스크립트를 올리겠습니다.

//이 스크립트를 돌릴려면 인티드 루아 파일및 기타 보조파일들이 필요합니다.

//저는 기존의 오리지날을 가지고 응용해서 게임모드를 만들어보았습니다.