Skip to content
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

GUI

GUIλŠ” μ–΄λ–»κ²Œ μ œμž‘ν•˜λ‚˜μš”?

  • λ¨Όμ € μŠ€ν…Ÿ μ•„μ΄μ½˜μ„ λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜λ₯Ό ν•˜λ‚˜ μ„ μ–Έν•©λ‹ˆλ‹€.
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μ—…, μ‰¬ν”„νŠΈ+우클릭으둜 λ ˆλ²¨μ—…μ‹œ μ§€κΈ‰λ°›λŠ” μŠ€ν…Ÿλ§ŒνΌ μŠ€ν…Ÿμ˜ μƒμŠΉμ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

Clone this wiki locally