-
Notifications
You must be signed in to change notification settings - Fork 0
/
stat-events.sk
183 lines (121 loc) · 5.24 KB
/
stat-events.sk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#=============================================================
#스크립트 로드 시 시스템 로드
on skript load:
#경험치 시스템 리로드
rpp_Reload_ExpSystem()
send "&a[RPG-Pack] 경험치 시스템 로드." to console
#=============================================================
#플레이어 접속 시 데이터 설정
on join:
# 플레이어의 스텟 업데이트
rpp_Refresh(player)
#플레이어를 서버에 한번이라도 접속한 플레이어 목록에 추가합니다.
rpp_addPlayerToPlayerList(player)
#접속 시간 설정
rpp_SetLastJoin(player)
send "&e[RPG-Pack] 플레이어 &6%player% &e접속" to console
#플레이어가 최초 접속 유저인지 확인합니다.
if rpp_IsPlayed(player) is false:
#최초 접속 시간 설정
rpp_SetFirstJoin(player)
send "&e[RPG-Pack] 플레이어 &6%player% &e최초 접속" to console
#플레이타임 데이터 생성
rpp_SetPlayTime(player)
#플레이어 레벨, 경험치 데이터 생성
rpp_InitExp(player)
#최초 접속 시 플레이어 스텟 초기화
rpp_ResetPlayerStat(player)
#플레이어의 직업을 기본 직업으로 설정
rpp_SetPlayerJobToDefault(player)
#=============================================================
#플레이어 퇴장 시 데이터 설정
on quit:
#플레이어 퇴장 시간 설정
rpp_SetQuit(player)
send "&e[RPG-Pack] 플레이어 &6%player% &e퇴장" to console
#플레이타임 증가
rpp_SetPlayTime(player)
#=============================================================
#5초당 체력 재생
every 5 seconds:
loop all players:
rpp_ApplyHpR(loop-player)
#=============================================================
#경험치 구슬 드랍 캔슬
on xp spawn:
cancel event
#=============================================================
#스텟 업그레이드
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 right click:
set {_tool} to tool of player
if name of {_tool} is "경험치북":
set {_exp} to line 1 of lore of {_tool} parsed as number
remove 1 from item amount of tool of player
rpp_RunExp(player, {_exp}) # 경험치 지급
rpp_UpdatePlayerStatPoint(player) # 스텟포인트 업데이트
#직업 변경권 사용
else if name of {_tool} contains "직업 변경권":
set {_name::*} to uncolored name of {_tool} split by ":"
replace all " " with "" in {_name::2}
if rpp_SetPlayerJob(player, {_name::2}):
remove 1 from item amount of tool of player
send "&e이제 당신은 &6%{_name::2}%&e입니다."
stop
send "&c전직할 수 없는 직업입니다."
stop
#=============================================================
#공격 시 데미지 설정
on damage:
if attacker is player:
set damage to rpp_UpdateDamage(attacker, victim)
#환경데미지
# fall
# fire
# burning
# lava
# posion
# suffocation
# lightning
# starvation
# wither
# falling block
# thorns
# cramming
# dryout
# on damage:
# if victim is player:
# set {_cause} to damage cause
# broadcast "%{_cause}% : %damage%"