Date: 2017/02/27 04:58:14 UTC-08:00
Type: Denizen Script
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
exp_for_level:
type: procedure
debug: false
definitions: level
script:
- determine <def[level].sub[1].power[2.6].mul[84]||1>
level_for_xp:
type: procedure
debug: false
definitions: xp
script:
- determine <def[xp].div[84].power[0.384615384615385].add[1].round_down||1>
get_level:
type: procedure
debug: true
script:
- determine <proc[level_for_xp].context[<player.flag[skill_<def[1]>||0>]||1>
- narrate "get_level"
give_xp:
type: task
speed: 0
debug: false
script:
- if <def[2]||null> !matches number {
- debug error "No valid XP specified!"
- queue clear
}
- if <def[2]> == 0 {
- queue clear
}
- define 2 <def[2].round>
- flag <player> skill_<def[1]>:+:<def[2]>
- run check_level def:<def[1]>
- narrate "Give_xp"
check_level:
type: task
debug: true
speed: 0
max_level: 50
script:
- if <player.flag[level_<def[1]>]> >= <script.yaml_key[max_level]||100> {
- queue clear
}
- if <player.flag[level_<def[1]>]> < <proc[get_level]> {
- narrate "Test"
- run level_up def:<def[1]>
}
level_up:
type: task
debug: true
speed: 0
script:
- flag <player> level_<def[1]>:++
- narrate "<&c>Gefeliciteerd! Je level is nu <player.flag[level_<def[1]>].as_int>."
- wait 2t
- run check_level def:<def[1]> instantly