-
Notifications
You must be signed in to change notification settings - Fork 0
APIs
Youtube-Lede edited this page Apr 14, 2021
·
26 revisions
- stat-player.sk 에서 다음 함수를 제공합니다.
- rpp_GetPlayerList() :: offlineplayers:
ㄴ 접속한 모든 플레이어 목록을 반환
- rpp_GetUUIDList() :: strings:
ㄴ 접속한 모든 플레이어의 UUID 목록을 반환
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /allPlayer:
trigger:
set {_players::*} to rpp_GetPlayerList()
set {_size} to size of {_players::*}
send "지금까지 서버에 %{_size}%명의 플레이어가 방문하였습니다."
- stat-player.sk 에서 다음 함수를 제공합니다.
- rpp_GetFirstJoin(p:offlineplayer) :: date:
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /firstjoin:
trigger:
set {_date} to rpp_GetFirstJoin(player) # 플레이어의 최초 접속일을 불러옵니다.
set {_readable} to rpp_TimeFormatted({_date}) # date 정보를 읽을 수 있도록 변환합니다.
send "당신의 최초 접속일은 %{_readable}% 입니다."
- stat-player.sk 에서 다음 함수를 제공합니다.
- rpp_GetLastJoin(p:offlineplayer) :: date:
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /getLastJoin:
trigger:
set {_date} to rpp_GetLastJoin(player) # 플레이어의 최근 접속일을 불러옵니다.
set {_readable} to rpp_TimeFormatted({_date}) # date 정보를 읽을 수 있도록 변환합니다.
send "당신의 최근 접속일은 %{_readable}% 입니다."
- stat-player.sk 에서 다음 함수를 제공합니다.
- rpp_GetQuit(p:offlineplayer) :: date:
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /quit [<offlineplayer>]:
trigger:
set {_date} to rpp_GetQuit(arg 1) # 플레이어가 퇴장한 시간을 불러옵니다.
set {_readable} to rpp_TimeFormatted({_date}) # date 정보를 읽을 수 있도록 변환합니다.
send "%arg 1%님이 퇴장한 시간은 %{_readable}% 입니다."
- stat-player.sk 에서 다음 함수를 제공합니다.
- rpp_GetPlayTime(p:offlineplayer) :: timespan:
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /playtime:
trigger:
set {_time} to rpp_GetPlayTime(player)
send "플레이타임 : %{_time}%" to player
- stat-player.sk 에서 다음 함수를 제공합니다.
- rpp_IsPlayed(p:offlineplayer) :: boolean:
ㄴ 접속 기록이 존재한다면 true, 아니라면 false를 반환합니다.
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
on join:
if rpp_IsPlayed(p:offlineplayer) is true:
send "최초 방문을 환영합니다!" to player
- stat-setting.sk 에서 다음 함수를 제공합니다.
- rpp_GetLevelUpPoint() :: number:
ㄴ 레벨업 시 지급할 스텟포인트 반환
- rpp_GetLevelUpExp() :: number:
ㄴ 최초 레벨업 시 필요한 경험치량을 반환
- rpp_GetLevelUpExpRate() :: number:
ㄴ 레벨업 필요 경험치의 증가량을 반환
- rpp_GetMaxLevel() :: number:
ㄴ 최대 레벨을 반환
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /point:
trigger:
set {_point} to rpp_GetLevelUpPoint()
send "레벨업 지급 포인트는 %{_point}%포인트 입니다."
- stat-exp.sk 에서 다음 함수를 제공합니다.
rpp_RunExp(p:offlineplayer, exp:number)
- 제공되는 함수를 이용하여 플레이어에게 경험치를 지급할 수 있습니다.
on break:
if event-block is stone:
rpp_RunExp(player, 100)
command /getExp:
trigger:
rpp_RunExp(player, 1)
- stat-exp.sk 에서 다음 함수를 제공합니다.
- rpp_GetVar_ExpSystem() :: numbers:
ㄴ 레벨업 경험치 변수 배열을 반환합니다.
- rpp_GetNextLevelRequiredExp(level:number) :: number:
ㄴ 다음 레벨까지 필요한 경험치를 반환합니다.
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /getNextLevelExp [<number>]:
trigger:
set {_nextExp} to rpp_GetNextLevelRequiredExp(arg 1)
send "%arg 1% -> %arg 1 + 1% 까지 필요한 경험치는 %{_nextExp}% 입니다."
- stat-exp.sk 에서 다음 함수를 제공합니다.
- rpp_InitExp(p:offlineplayer)
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
on first join:
rpp_InitExp(player)
send "%player%의 EXP 데이터를 생성하였습니다." to console
command /resetExp [<offlineplayer>]:
tirgger:
rpp_InitExp(arg 1)
send "%arg 1%의 EXP 데이터를 초기화 하였습니다." to player
- stat-setting.sk 에서 경험치 관련 옵션을 수정하고 다음 함수를 실행할 수 있습니다.
- stat-exp.sk 에서 다음 함수를 제공합니다.
- rpp_Reload_ExpSystem()
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /reloadExp:
trigger:
rpp_Reload_ExpSystem()
send "레벨업에 필요한 경험치량을 재설정 하였습니다."
- 다음 함수들을 이용하여 플레이어의 레벨과 경험치를 설정할 수 있습니다.
- stat-exp.sk 에서 다음 함수를 제공합니다.
- rpp_SetPlayerLevel(p:offlineplayer, level:number)
ㄴ 플레이어의 레벨을 설정합니다.
- rpp_SetPlayerExp(p:offlineplayer, exp:number)
ㄴ 플레이어의 경험치를 설정합니다.
- 다음 함수들을 이용하여 플레이어의 레벨과 경험치를 불러올 수 있습니다.
- stat-exp.sk 에서 다음 함수를 제공합니다.
- rpp_GetPlayerLevel(p:offlineplayer) :: number:
ㄴ 플레이어의 레벨을 불러올 수 있습니다.
- rpp_GetPlayerExp(p:offlineplayer) :: number:
ㄴ 플레이어의 경험치를 불러올 수 있습니다.
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /resetLevel:
trigger:
rpp_SetPlayerLevel(player, 0)
command /expInfo:
trigger:
set {_level} to rpp_GetPlayerLevel(player)
set {_exp} to rpp_GetPlayerExp(player)
send "플레이어의 현재 레벨은 %{_level}%, 경험치는 %{_exp}% 입니다"
- 주의사항
# 플레이어 경험치 설정 시 rpp_RunExp() 함수를 호출해야 레벨업 반영이 가능합니다.
# 따라서 rpp_SetPlayerLevel() 함수로 플레이어의 경험치를 설정 한 이후에 다음과 같이 rpp_RunExp() 함수의 호출이 권장됩니다.
command /setExp [<number>]:
trigger:
rpp_SetPlayerExp(player, arg 1) # 플레이어의 경험치를 설정합니다.
rpp_RunExp(player, 0) # 설정한 경험치를 확인하여 레벨업을 진행합니다.
- stat-exp.sk 에서 다음 함수를 제공합니다.
- rpp_ApplyExpSystem(p:offlineplayer)
- 제공되는 함수를 이용하여 다음과 같이 사용할 수 있습니다.
command /levelUp:
trigger:
set {_max} to rpp_GetMaxLevel() # 옵션에 설정한 최대 레벨을 불러옵니다.
set {_level} to rpp_GetPlayerLevel(player) # 플레이어의 현재 레벨을 불러옵니다.
set {_levelUp} to {_level} + 1
if {_levelUp} > {_max}:
set {_levelUp} to {_max}
rpp_SetPlayerLevel(player, {_levelUp}) # 플레이어의 레벨을 설정합니다.
rpp_ApplyExpSystem(player) # 설정한 레벨과 경험치를 경험치바에 반영합니다.
- stat-setting.sk 에서 다음 함수를 제공합니다.
- rpp_GetHealthScale() :: number:
ㄴ 기본 체력 스케일을 반환합니다.
- rpp_GetBasicHp() :: number:
ㄴ 기본 체력을 반환합니다.
- rpp_GetBasicHpR() :: number:
ㄴ 기본 체력 재생을 반환합니다.
- rpp_GetBasicAtk() :: number:
ㄴ 기본 공격력을 반환합니다.
- rpp_GetBasicDef() :: number:
ㄴ 기본 방어력을 반환합니다.
- rpp_GetBasicSpd() :: number:
ㄴ 기본 이동속도를 반환합니다.
- rpp_GetBasicCrC() :: number:
ㄴ 기본 치명타 확률을 반환합니다.
- rpp_GetBasicCrD() :: number:
ㄴ 기본 치명타 데미지를 반환합니다.
- rpp_GetBasicDeP() :: number:
ㄴ 기본 방어력 관통을 반환합니다.
- rpp_GetBasicCrCI() :: number:
ㄴ 기본 치명타 저항을 반환합니다.
- rpp_GetBasicDePI() :: number:
ㄴ 기본 방어력 관통 저항을 반환합니다.
- 제공되는 함수를 이용하여 다음과 같이 값을 불러올 수 있습니다.
command /basicAtk:
trigger:
set {_atk} to rpp_GetBasicAtk()
send "%{_atk}%" to player
- stat-setting.sk 에서 다음 함수를 제공합니다.
- rpp_GetMaxHp() :: number:
ㄴ 최대 체력 제한값을 반환합니다.
- rpp_GetMaxHpR() :: number:
ㄴ 최대 체력재생 제한값을 반환합니다.
- rpp_GetMaxAtk() :: number:
ㄴ 최대 공격력 제한값을 반환합니다.
- rpp_GetMaxDef() :: number:
ㄴ 최대 방어력 제한값을 반환합니다.
- rpp_GetMaxSpd() :: number:
ㄴ 최대 이동속도 제한값을 반환합니다.
- rpp_GetMaxCrC() :: number:
ㄴ 최대 치명타 확률 제한값을 반환합니다.
- rpp_GetMaxCrD() :: number:
ㄴ 최대 치명타 데미지 제한값을 반환합니다.
- rpp_GetMaxDeP() :: number:
ㄴ 최대 방어력 관통 제한값을 반환합니다.
- rpp_GetMaxCrCI() :: number:
ㄴ 최대 치명타 저항 제한값을 반환합니다.
- rpp_GetMaxDePI() :: number:
ㄴ 최대 방어력 관통 제한값을 반환합니다.
- 제공되는 함수를 이용하여 다음과 같이 값을 불러올 수 있습니다.
command /maxAtk:
trigger:
set {_atk} to rpp_GetMaxAtk()
send "%{_atk}%" to player
- stat-setting.sk 에서 다음 함수를 제공합니다.
- rpp_GetMaxUpgrade_Sft() :: number:
ㄴ 신속 스텟 제한값을 반환합니다.
- rpp_GetMaxUpgrade_Ftl() :: number:
ㄴ 치명 스텟 제한값을 반환합니다.
- rpp_GetMaxUpgrade_Ptn() :: number:
ㄴ 인내 스텟 제한값을 반환합니다.
- rpp_GetMaxUpgrade_Skl() :: number:
ㄴ 숙련 스텟 제한값을 반환합니다.
- rpp_GetMaxUpgrade_Spr() :: number:
ㄴ 제압 스텟 제한값을 반환합니다.
- 제공되는 함수를 이용하여 다음과 같이 값을 불러올 수 있습니다.
command /maxSft:
trigger:
set {_sft} to rpp_GetMaxUpgrade_Sft()
send "%{_sft}%" to player
- stat-setting.sk 에서 다음 함수를 제공합니다.
# 신속(Sft), 치명(Ftl), 인내(Ptn), 숙련(Skl), 제압(Spr)
- rpp_GetState_Sft_Hp() :: boolean:
ㄴ 신속 스텟의 체력 증가 활성화 상태 반환
- rpp_GetState_Sft_HpR() :: boolean:
ㄴ 신속 스텟의 체력 재생 증가 활성화 상태 반환
- rpp_GetState_Sft_Atk() :: boolean:
ㄴ 신속 스텟의 공격력 증가 활성화 상태 반환
- rpp_GetState_Sft_Def() :: boolean:
ㄴ 신속 스텟의 방어력 증가 활성화 상태 반환
- rpp_GetState_Sft_Spd() :: boolean:
ㄴ 신속 스텟의 이동속도 증가 활성화 상태 반환
- rpp_GetState_Sft_CrC() :: boolean:
ㄴ 신속 스텟의 치명타 확률 증가 활성화 상태 반환
- rpp_GetState_Sft_CrD() :: boolean:
ㄴ 신속 스텟의 치명타 데미지 증가 활성화 상태 반환
- rpp_GetState_Sft_DeP() :: boolean:
ㄴ 신속 스텟의 방어력 관통 증가 활성화 상태 반환
- rpp_GetState_Sft_CrCI() :: boolean:
ㄴ 신속 스텟의 치명타 저항 활성화 상태 반환
- rpp_GetState_Sft_DePI() :: boolean:
ㄴ 신속 스텟의 방어력 관통 저항 활성화 상태 반환
- 제공되는 함수를 이용하여 다음과 같이 값을 불러올 수 있습니다.
command /state:
trigger:
if rpp_GetState_Sft_Atk() is true:
send "신속 스텟의 공격력 세부스텟이 활성화 상태입니다."
- 다른 메인 스텟의 정보 반환은 다음과 같이 불러올 수 있습니다.
command /state:
trigger:
if rpp_GetState_Ftl_Atk() is true:
send "치명 스텟의 공격력 세부스텟이 활성화 상태입니다."
command /state:
trigger:
if rpp_GetState_Ptn_Atk() is true:
send "인내 스텟의 공격력 세부스텟이 활성화 상태입니다."
- stat-setting.sk 에서 다음 함수를 제공합니다.
- rpp_GetEff_Sft_Hp() :: number:
ㄴ 신속 스텟 체력 증가 비율 반환
- rpp_GetEff_Sft_HpR() :: number:
ㄴ 신속 스텟 체력 재생 증가 비율 반환
- rpp_GetEff_Sft_Atk() :: number:
ㄴ 신속 스텟 공격력 증가 비율 반환
- rpp_GetEff_Sft_Def() :: number:
ㄴ 신속 스텟 방어력 증가 비율 반환
- rpp_GetEff_Sft_Spd() :: number:
ㄴ 신속 스텟 이동속도 증가 비율 반환
- rpp_GetEff_Sft_CrC() :: number:
ㄴ 신속 스텟 치명타 증가 비율 반환
- rpp_GetEff_Sft_CrD() :: number:
ㄴ 신속 스텟 치명타 데미지 증가 비율 반환
- rpp_GetEff_Sft_DeP() :: number:
ㄴ 신속 스텟 방어력 관통 증가 비율 반환
- rpp_GetEff_Sft_CrCI() :: number:
ㄴ 신속 스텟 치명타 저항 증가 비율 반환
- rpp_GetEff_Sft_DePI() :: number:
ㄴ 신속 스텟 방어력 관통 저항 비율 반환
- 제공되는 함수를 이용하여 다음과 같이 값을 불러올 수 있습니다.
command /atk:
trigger:
set {_atk} to rpp_GetEff_Sft_Atk()
send "신속 스텟 공격력 증가 : %{_atk}%" to player
- 다른 메인 스텟의 정보 반환은 다음과 같이 불러올 수 있습니다.
command /atk:
trigger:
set {_atk} to rpp_GetEff_Ftl_Atk()
send "치명 스텟 공격력 증가 : %{_atk}%" to player
command /atk:
trigger:
set {_atk} to rpp_GetEff_Ptn_Atk()
send "인내 스텟 공격력 증가 : %{_atk}%" to player
- 먼저 스텟 아이콘을 반환하는 함수를 하나 선언합니다.
function createIcon_Sft() :: item: # 신속 스텟 아이콘 제작 함수 선언
- stat-setting.sk 에서 설정한 아이콘의 타입과 이름을 불러와 함수 내부에 추가합니다.
function createIcon_Sft() :: item:
set {_item} to rpp_GetStatGUI_Sft_Type() # 아이콘의 타입을 반환
set {_name} to rpp_GetStatGUI_Sft_Name() # 아이콘의 이름을 반환
- 다음으로 아이템의 로어가 필요하다면 로어를 작성합니다.
function createIcon_Sft() :: item:
set {_item} to rpp_GetStatGUI_Sft_Type() # 아이콘의 타입을 반환
set {_name} to rpp_GetStatGUI_Sft_Name() # 아이콘의 이름을 반환
add "&f로어 1" to {_lore::*} # 첫번째줄 로어 추가
add "&e로어 2" to {_lore::*} # 두번째줄 로어 추가
- 이제 아이콘을 생성해줍니다.
function createIcon_Sft() :: item:
set {_item} to rpp_GetStatGUI_Sft_Type() # 아이콘의 타입을 반환
set {_name} to rpp_GetStatGUI_Sft_Name() # 아이콘의 이름을 반환
add "&f로어 1" to {_lore::*} # 첫번째줄 로어 추가
add "&e로어 2" to {_lore::*} # 두번째줄 로어 추가
set {_icon} to {_item} named {_name} with lore {_lore::*}
- 생성한 아이콘을 반환하고 함수 제작을 마무리합니다.
function createIcon_Sft() :: item:
set {_item} to rpp_GetStatGUI_Sft_Type() # 아이콘의 타입을 반환
set {_name} to rpp_GetStatGUI_Sft_Name() # 아이콘의 이름을 반환
add "&f로어 1" to {_lore::*} # 첫번째줄 로어 추가
add "&e로어 2" to {_lore::*} # 두번째줄 로어 추가
set {_icon} to {_item} named {_name} with lore {_lore::*}
return {_icon}
- 같은 방법으로 필요한 만큼의 스텟 아이콘을 제작합니다.
- 신속(Sft), 치명(Ftl), 인내(Ptn), 숙련(Skl), 제압(Spr) 의 총 5개의 스텟까지 추가할 수 있습니다.
#신속 스텟 아이콘
function createIcon_Sft() :: item:
set {_item} to rpp_GetStatGUI_Sft_Type() # 아이콘의 타입을 반환
set {_name} to rpp_GetStatGUI_Sft_Name() # 아이콘의 이름을 반환
add "&f로어 1" to {_lore::*} # 첫번째줄 로어 추가
add "&e로어 2" to {_lore::*} # 두번째줄 로어 추가
set {_icon} to {_item} named {_name} with lore {_lore::*}
return {_icon}
#치명 스텟 아이콘
function createIcon_Ftl() :: item:
set {_item} to rpp_GetStatGUI_Ftl_Type() # 아이콘의 타입을 반환
set {_name} to rpp_GetStatGUI_Ftl_Name() # 아이콘의 이름을 반환
add "&f로어 1" to {_lore::*} # 첫번째줄 로어 추가
add "&e로어 2" to {_lore::*} # 두번째줄 로어 추가
set {_icon} to {_item} named {_name} with lore {_lore::*}
return {_icon}
- 다음으로 GUI를 생성하고 반환하는 함수를 선언합니다.
function statGUI() :: inventory:
- stat-setting.sk 에서 설정한 GUI의 이름을 불러옵니다.
function statGUI() :: inventory:
set {_title} to rpp_GetStatGUI_Title() # GUI 타이틀 로드
- 위에서 제작한 함수를 사용하여, GUI에서 사용할 스텟 아이콘을 불러옵니다.
function statGUI() :: inventory:
set {_title} to rpp_GetStatGUI_Title() # GUI 타이틀 로드
set {_icon.sft} to createIcon_Sft() # 제작한 신속 아이콘 로드
set {_icon.ftl} to createIcon_Ftl() # 제작한 치명 아이콘 로드
- GUI로 사용할 인벤토리를 생성해줍니다.
function statGUI() :: inventory:
set {_title} to rpp_GetStatGUI_Title() # GUI 타이틀 로드
set {_icon.sft} to createIcon_Sft() # 제작한 신속 아이콘 로드
set {_icon.ftl} to createIcon_Ftl() # 제작한 치명 아이콘 로드
set {_inv} to chest with 3 row named {_title} # {_title}을 이름으로 갖고 3줄인 창고 GUI를 생성
- 생성한 인벤토리에 아이콘을 배치해줍니다.
function statGUI() :: inventory:
set {_title} to rpp_GetStatGUI_Title() # GUI 타이틀 로드
set {_icon.sft} to createIcon_Sft() # 제작한 신속 아이콘 로드
set {_icon.ftl} to createIcon_Ftl() # 제작한 치명 아이콘 로드
set {_inv} to chest with 3 row named {_title} # {_title}을 이름으로 갖고 3줄인 창고 GUI를 생성
set slot 11 of {_inv} to {_icon.sft} # 11번째 슬롯에 신속 아이콘을 배치
set slot 15 of {_inv} to {_icon.ftl} # 15번째 슬롯에 치명 아이콘을 배치
- 생성한 GUI를 반환하고 GUI생성을 마무리합니다.
function statGUI() :: inventory:
set {_title} to rpp_GetStatGUI_Title() # GUI 타이틀 로드
set {_icon.sft} to createIcon_Sft() # 제작한 신속 아이콘 로드
set {_icon.ftl} to createIcon_Ftl() # 제작한 치명 아이콘 로드
set {_inv} to chest with 3 row named {_title} # {_title}을 이름으로 갖고 3줄인 창고 GUI를 생성
set slot 11 of {_inv} to {_icon.sft} # 11번째 슬롯에 신속 아이콘을 배치
set slot 15 of {_inv} to {_icon.ftl} # 15번째 슬롯에 치명 아이콘을 배치
return {_inv}
- 이제 다음과 같이 함수를 호출하여 GUI를 불러와 오픈할 수 있습니다.
command /statGUI:
trigger:
open statGUI() to player
- 마지막으로 스텟 업그레이드 시 새로고침 될 GUI를 변경해준다면 스텟 GUI의 제작이 완료됩니다.
- stat-events.sk 에 해당 이벤트가 존재합니다.
#스텟 업그레이드
on inventory click:
if name of event-inventory contains rpp_GetStatGUI_Title(): # 클릭한 인벤토리가 스킬창일 때
cancel event
set {_itemName} to name of clicked item # 클릭한 아이템 이름
set {_point} to rpp_GetLevelUpPoint() # 1레벨당 지급받는 포인트
if {_itemName} contains rpp_GetStatGUI_Sft_Name(): # 신속 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Sft(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Sft(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Ftl_Name(): # 치명 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Ftl(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Ftl(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Ptn_Name(): # 인내 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Ptn(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Ptn(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Skl_Name(): # 숙련 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Skl(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Skl(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Spr_Name(): # 제압 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Spr(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Spr(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
open rpp_GetStatGUI(player) to player # 스텟창 새로고침 << 여기를 수정합니다.
- 가장 마지막줄을 다음과 같이 위에서 제작한 함수로 변경합니다.
#스텟 업그레이드
on inventory click:
if name of event-inventory contains rpp_GetStatGUI_Title(): # 클릭한 인벤토리가 스킬창일 때
cancel event
set {_itemName} to name of clicked item # 클릭한 아이템 이름
set {_point} to rpp_GetLevelUpPoint() # 1레벨당 지급받는 포인트
if {_itemName} contains rpp_GetStatGUI_Sft_Name(): # 신속 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Sft(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Sft(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Ftl_Name(): # 치명 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Ftl(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Ftl(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Ptn_Name(): # 인내 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Ptn(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Ptn(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Skl_Name(): # 숙련 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Skl(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Skl(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
else if {_itemName} contains rpp_GetStatGUI_Spr_Name(): # 제압 스텟
if click type is left mouse button with shift: # 쉬프트 + 좌클릭
rpp_AddPlayerStat_Spr(player, 1) # 스텟 1 증가
else if click type is right mouse button with shift: # 쉬프트 + 우클릭
rpp_AddPlayerStat_Spr(player, {_point}) # 1렙당 지급받는 포인트만큼 증가
open statGUI() to player # 스텟창 새로고침 << 여기를 수정합니다.
- 이제 쉬프트+좌클릭으로 스텟 1업, 쉬프트+우클릭으로 레벨업시 지급받는 스텟만큼 스텟의 상승이 가능합니다.