이번 스크립트는 예전에 만들었던 경험치로 스킬 습득 스크립트를 고쳐서 만든
스킬포인트로 스킬을 습득하는 스크립트 입니다.
레벨업하면 스킬 포인트를 얻어서 액터마다 설정된 습득가능한 스킬 리스트에서 스킬포인트를 소모해서
스킬을 습득하는 겁니다.
사용법
이 스크립트는 따로 작용하는 스크립트가 아니라 메뉴에 등록되어 사용되는 스크립트이기 때문에
설정항목을 잘 설정하면 사용준비는 끝입니다.
... 뭐 매번 스크립트 사용법 쓸 때마다 말하기도 귀찮지만 설정항목을 잘 설정해주세요...
module IMIR_SkillPoint
SkillList = []
Conditions = []
ActorMax = 10
GetPointType = 1 # 0: 1씩, 1: 디폴트만큼, 2: 레벨/10만큼(정수부분)
DefaultPoint = 3
VocabPoint = "Sp"
VocabMenu = "스킬포인트"
for id in 1..ActorMax
SkillList[id] = []
Conditions[id] = {}
# [필요스킬포인트, 선행스킬배열, 직업, 레벨, 별명]
end
SkillList[1] = [76, 77, 51, 52, 55]
Conditions[1] = {
76 => [ 1, [], 0, 0, ""],
77 => [ 1, [], 0, 0, ""],
51 => [ 2, [76], 0, 3, ""],
52 => [ 3, [76, 51], 0, 5, ""],
55 => [ 2, [76, 77], 2, 4, "칭호3"],
}
SkillList[2] = [77, 55, 56]
Conditions[2] = {
77 => [ 1, [], 0, 0, ""],
55 => [ 2, [77], 0, 0, "칭호1"],
56 => [ 2, [77, 55], 0, 0, "칭호2"],
}
SkillList[3] = [78, 59, 60]
Conditions[3] = {
78 => [ 1, [], 0, 0, ""],
59 => [ 2, [78], 2, 0, ""],
60 => [ 2, [78, 59], 3, 0, ""],
}
end
GetPointType은 말 그대로 레벨업 했을 때 스킬포인트를 얼만큼 습득하는 가... 에 대한 타입 구분입니다.
0일 때는 기본적으로 레벨업 할때마다 1씩 습득합니다.
1은 설정된 디폴트 값만큼 (DefaultPoint = 3 <- 이게 기본값입니다. ) 습득하고
2는 다른 방식으로 어떻게 하면 좋을 까 하다가 잘 떠오르지 않아서 대충 레벨/10 으로 설정해봤습니다.
*Game_Actor 부분을 잘 수정하시면 다른 식으로 습득하게 구현할 수도 있습니다.
SkillList[id] = [] 부분은 실제로 액터가 습득할 수 있는 스킬들의 ID를 모아둔 배열입니다.
중요한 부분은 Conditions[id] = {} 부분입니다. 이게 스킬들마다 습득가능 조건을 설정하는 부분입니다.
정확히는 습득가능 스킬 리스트에 포함하는 조건입니다.
조건 배열은 기본적으로 주석에 있는 것처럼
[필요스킬포인트, 선행스킬배열, 직업, 레벨, 별명] 순입니다.
1번 액터의 스킬리스트를 가지고 살펴보겠습니다.
SkillList[1] = [76, 77, 51, 52, 55]
Conditions[1] = {
76 => [ 1, [], 0, 0, ""],
77 => [ 1, [], 0, 0, ""],
51 => [ 2, [76], 0, 3, ""],
52 => [ 3, [76, 51], 0, 5, ""],
55 => [ 2, [76, 77], 2, 4, "칭호3"],
}
예제에 따르면 1번 액터가 습득가능한 스킬은 76번, 77번, 51번 52번 55번 스킬입니다.
76번 스킬의 조건은 없네요... 필요스킬 포인트가 1이라는 것만 제외하고 나머지는
조건이 없을 때 모습입니다. 선행스킬배열 [], 직업id 0, 레벨 0, 별명 "" 이렇게 넣으면 조건이 없는 겁니다.
51번 스킬의 조건은 선행스킬 76번 스킬, 즉 76번 스킬을 습득하고 있어야 한다는 겁니다.
그리고 레벨이 3이상일때 이 스킬은 리스트에 출현합니다. 습득시 필요 스킬포인트는 2입니다.
52번 스킬의 조건은 선행스킬 76, 51번 스킬, 즉 76번 스킬과 51번 스킬을 습득하고 있어야 리스트에 출현합니다.
또한 레벨제한은 5, 즉 5레벨이상이어야 합니다. 습득시 필요스킬 포인트는 3이네요.
55번 스킬은 조건이 모두 채워져 있네요. 선행 스킬로서 76번 스킬과 77번 스킬을 미리 습득하고 있어야 하며
직업ID가 2번이어야 하고 4레벨이상이어야 하며 별명(칭호라고도 하던가요;;)이 칭호3이어야 합니다.
필요 스킬포인트는 2네요.
이런식으로 액터마다 리스트와 출현조건, 필요 스킬포인트를 잘 설정해 주시면 됩니다.
물론 스킬에 따른 필요조건이 없으면 에러가 나겠지요;;;