더북(TheBook)

03 GetPoints 스크립트에 아래의 코드를 입력합니다.

 

코드 | 파일명: GetPoints.lua

local pointPart = script.Parent              --apple 파트를 변수에 담기
local applePoints = 30                       --획득 점수 변수에 담기
local Players = game:GetService("Players")   --"Players" Service 변수에 담기

local function givePoints(player)            --점수를 획득하는 givePoints 함수 
    --Player의 "leaderstats" 폴더를 변수에 담기
    local playerStats = player:WaitForChild("leaderstats")  
    --leaderstats의 "Points"를 변수에 담기
    local playerPoints = playerStats:WaitForChild("Points")  
    playerPoints.Value = playerPoints.Value + applePoints   --점수 획득
    pointPart:Destroy()                        --점수 획득 후 아이템 사라지게 하기
    local playerCharacter = player.Character   --플레이어 캐릭터 변수에 담기
    --ParticleEmitter Effect 변수에 담기
    local particle = Instance.new("ParticleEmitter")       
    --ParticleEmitter Effect를 플레이어 캐릭터 머리에 적용
    particle.Parent = playerCharacter:WaitForChild("Head")  
    wait(1)              --1초 기다리기
    particle:Destroy()   --ParticleEmitter Effect 없애기
end
--partTouch 함수 : 사과와 플레이어의 Touch Event 함수
local function partTouched(otherPart)
    --플레이어 변수에 담기
    local player = game.Players:GetPlayerFromCharacter(otherPart.Parent)  
    if player then              --player에 값이 있으면 아래 코드 실행
        givePoints(player)      --givePoints 함수 실행
    end
end
 
--사과 아이템에 Touch Event가 있으면 partTouch 함수 실행
pointPart.Touched:Connect(partTouched)  

TIP GetPoints 스크립트는 앞에 나온 PlayerSetup 스크립트가 있어야 작동합니다.

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.