Item

์•„์ดํ…œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด์—์š”.

์ด๋ฒคํŠธ

UseEvent

์•„์ดํ…œ ์‚ฌ์šฉ ์‹œ ํ˜ธ์ถœ๋˜๋Š” ์ด๋ฒคํŠธ์—์š”. ์—ฐ๊ฒฐํ•จ์ˆ˜ ํ˜•์‹์€ function(usePlayer), usePlayer ๋Š” Player ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.

-- ์ƒ˜ํ”Œ --

local Item = Script.Parent

local function UseItem(player) --UseEvent์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” Player ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("Use Item")
end
Item.UseEvent:Connect(UseItem)  --์•„์ดํ…œ ์‚ฌ์šฉ์‹œ ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋ฅผ ์—ฐ๊ฒฐํ•ด์š”.

EquipEvent

์•„์ดํ…œ ์žฅ์ฐฉ ์‹œ ํ˜ธ์ถœ๋˜๋Š” ์ด๋ฒคํŠธ์—์š”. ์—ฐ๊ฒฐํ•จ์ˆ˜ ํ˜•์‹์€ function(equipPlayer), equipPlayer ๋Š” Player ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.

-- ์ƒ˜ํ”Œ --

local Item = Script.Parent

local function EquipItem(player) --EquipEvent์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.

end
Item.EquipEvent:Connect(EquipItem) --์•„์ดํ…œ์— ์žฅ์ฐฉ์‹œ ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋ฅผ ์—ฐ๊ฒฐํ•ด์š”.

UnEquipEvent

์•„์ดํ…œ ํƒˆ์ฐฉ ์‹œ ํ˜ธ์ถœ๋˜๋Š” ์ด๋ฒคํŠธ์—์š”. ์—ฐ๊ฒฐํ•จ์ˆ˜ ํ˜•์‹์€ function(unequipPlayer), unequipPlayer ๋Š” Player ๊ฐ์ฒด ์ž…๋‹ˆ๋‹ค.

-- ์ƒ˜ํ”Œ --

local item = Script.Parent

local function UnEquipItem(Player) --UnEquipEvent์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” Player ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.

end
item.UnEquipEvent:Connect(UnEquipItem) --์•„์ดํ…œ์— ์žฅ์ฐฉ ํ•ด์ œ์‹œ ํ˜ธ์ถœํ•  ํ•จ์ˆ˜๋ฅผ ์—ฐ๊ฒฐํ•ด์š”.

ํ•จ์ˆ˜

number GetItemCount()

์•„์ดํ…œ์˜ ๊ฐœ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

print(Item:GetItemCount())

bool IsEquiped()

ํ˜„์žฌ ์•„์ดํ…œ ์žฅ์ฐฉ์ƒํƒœ์ธ์ง€๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

print(Item:IsEquiped())

number GetActionCoolTime(string ActionName)

์•„์ดํ…œ์— ์„ค์ •ํ•œ ํ•ด๋‹น ์•ก์…˜์˜ ์ฟจํƒ€์ž„์„ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”. (์„ค์ •ํ•  ์•ก์…˜ ์ด๋ฆ„)

-- ์ƒ˜ํ”Œ --

print(Item:GetActionCoolTime("Fire")) -- AddAction์ด๋‚˜ AddToggleAction ํ•จ์ˆ˜๋กœ ๋จผ์ € ์•ก์…˜์„ ์ถ”๊ฐ€ํ•ด์ค€ ํ›„์— ์‚ฌ์šฉํ•ด์š”.

void SetActionCoolTime(string ActionName, number Time)

์•„์ดํ…œ์— ์„ค์ •ํ•œ ํ•ด๋‹น ์•ก์…˜์˜ ์ฟจํƒ€์ž„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”. (์„ค์ •ํ•  ์•ก์…˜ ์ด๋ฆ„, ์„ค์ •ํ•˜๊ณ  ์‹ถ์€ ์‹œ๊ฐ„)

-- ์ƒ˜ํ”Œ --

Item:SetActionCoolTime("Fire", 3) -- AddAction์ด๋‚˜ AddToggleAction ํ•จ์ˆ˜๋กœ ๋จผ์ € ์•ก์…˜์„ ์ถ”๊ฐ€ํ•ด์ค€ ํ›„์— ์‚ฌ์šฉํ•ด์š”.

string GetEquipSlot()

ํ•ด๋‹น ์•„์ดํ…œ์˜ ์žฅ์ฐฉ ์Šฌ๋กฏ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์–ด์š”.

-- ์ƒ˜ํ”Œ --

print(Item:GetEquipSlot()) -- Item ๊ฐ์ฒด์˜ 'EquipSlot' ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ ธ์™€์š”.

number GetIconImg()

-- ์ƒ˜ํ”Œ --

print(Item:GetIconImg()) -- Item ๊ฐ์ฒด์˜ 'IconTextureID' ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ ธ์™€์š”.

void AddAction(string ActionName, number ActionCoolTime, function TargetFunction)

์•„์ดํ…œ ์ฐฉ์šฉ ํ›„ ์•ก์…˜์„ ์ถ”๊ฐ€ํ•ด์š”. (์•ก์…˜ ์ด๋ฆ„, ํ•ด๋‹น ์•ก์…˜์˜ ์ฟจํƒ€์ž„, ์—ฐ๊ฒฐ ํ•จ์ˆ˜)

-- ์ƒ˜ํ”Œ --

--ํด๋ผ ์Šคํฌ๋ฆฝํŠธ์—์„œ-------------
Item = Script.Parent

local function StartClick(player, curCameraPos , curCameraForward) --AddAction์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player, curCameraPos, curCameraForward ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("์•ก์…˜ ์‹œ์ž‘ : ํด๋ผ")
end
Item:AddAction("Fire", 0.5, false, StartClick, Enum.Key.LeftMouseButton) -- * false : ํ‚ค ์ž…๋ ฅ ์œ ์ง€ ์‹œ ์•ก์…˜ ์ง€์† ์‚ฌ์šฉ ์—ฌ๋ถ€


--์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ์—์„œ-------------
Item = Script.Parent

local function StartClick(player, curCameraPos , curCameraForward) --AddAction์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player, curCameraPos, curCameraForward ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("์•ก์…˜ ์‹œ์ž‘ : ์„œ๋ฒ„")
end
Item:AddAction("Fire", 0.5, StartClick) -- ํด๋ผ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋“ฑ๋กํ•œ ํ‚ค๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์š”.

void AddToggleAction(string ActionName, number ActionCoolTime, function StartFunction, function EndFunction)

์•„์ดํ…œ ์ฐฉ์šฉ ํ›„ ํ† ๊ธ€ ์•ก์…˜์„ ์ถ”๊ฐ€ํ•ด์š”. (์•ก์…˜ ์ด๋ฆ„, ์•ก์…˜ ์ฟจํƒ€์ž„, ์•ก์…˜ ์‹œ์ž‘ ์‹œ ์—ฐ๊ฒฐ ํ•จ์ˆ˜, ์•ก์…˜ ์ข…๋ฃŒ ์‹œ ์—ฐ๊ฒฐ ํ•จ์ˆ˜)

-- ์ƒ˜ํ”Œ --

--ํด๋ผ ์Šคํฌ๋ฆฝํŠธ์—์„œ-------------
Item = Script.Parent

local function StartClick(player, curCameraPos , curCameraForward) --AddToggleAction์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player, curCameraPos, curCameraForward ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("์•ก์…˜ ์‹œ์ž‘ : ํด๋ผ")
end

local function EndClick(player, curCameraPos , curCameraForward) --AddToggleAction์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player, curCameraPos, curCameraForward ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("์•ก์…˜ ์ข…๋ฃŒ : ํด๋ผ")
end

Item:AddToggleAction("Fire", 0.5, StartClick, EndClick, Enum.Key.LeftMouseButton)


--์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ์—์„œ-------------
Item = Script.Parent

local function StartClick(player, curCameraPos , curCameraForward) --AddToggleAction์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player, curCameraPos, curCameraForward ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("์•ก์…˜ ์‹œ์ž‘ : ์„œ๋ฒ„")
end

local function EndClick(player, curCameraPos , curCameraForward) --AddToggleAction์— ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋Š” player, curCameraPos, curCameraForward ์ธ์ž๊ฐ€ ๊ณ ์ •์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์š”.
    print("์•ก์…˜ ์ข…๋ฃŒ : ์„œ๋ฒ„")
end

Item:AddToggleAction("Fire", 0.5, StartClick, EndClick) -- ํด๋ผ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋“ฑ๋กํ•œ ํ‚ค๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์—ฐ๊ฒฐ๋œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์š”.

Last updated