Date: 2020/04/29 10:03:55 UTC-07: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
62
63
64
65
66
67
68
69
70
71
72
AutoRankEvent:
type: world
debug: false
events:
on player joins:
- flag player currentplaytime:<server.current_time_millis>
- if !<player.has_flag[totalplaytime]>:
- flag player totalplaytime:0
on player returns from afk:
- flag player currentplaytime:<server.current_time_millis>
on player quit:
- flag player totalplaytime:+:<server.current_time_millis.sub[<player.flag[currentplaytime]>]>
on player goes afk:
- flag player totalplaytime:+:<server.current_time_millis.sub[<player.flag[currentplaytime]>]>
on system time minutely:
- foreach <server.list_online_players>:
- if !<def[value].is_afk>:
- flag <def[value]> totalplaytime:+:60000
- flag <def[value]> currentplaytime:<server.current_time_millis>
- define formattedtotal <def[value].flag[totalplaytime].div[1000].div[60].div[60].as_int>
# Pour passer concepteur - 4 heures
- if <def[value].in_group[Apprenti]>:
- if <def[formattedtotal]> >= 4:
- execute as_server "setrank <def[value].name> Concepteur"
- announce "<&9>[Créatif] <&3><&o><def[value].name><&r><&3> a été promu au rang de <proc[AutoRankProc].context[<def[value]>]> <&3>!"
- narrate targets:<def[value]> "<&c>[Créatif]<&7> Félicitation, grace a votre temps de jeu, vous avez désormais accès a un terrain supplémentaire de 250x250 !"
# Pour passer Créateur - 16 heures
- if <def[value].in_group[Concepteur]>:
- if <def[formattedtotal]> >= 16:
- execute as_server "setrank <def[value].name> Créateur"
- announce "<&9>[Créatif] <&3><&o><def[value].name> a été promu au rang <proc[AutoRankProc].context[<def[value]>]> <&3>!"
- narrate targets:<def[value]> "<&c>[Créatif]<&7> Félicitation, grace a votre temps de jeu, vous avez désormais accès a un terrain supplémentaire de 250x250 & 500x500!"
# Pour passer Ingénieur - 48 heures (2 jours)
- if <def[value].in_group[Créateur]>:
- if <def[formattedtotal]> >= 48:
- execute as_server "setrank <def[value].name> Ingénieur"
- announce "<&9>[Créatif] <&3><&o><def[value].name> a été promu au rang de <proc[AutoRankProc].context[<def[value]>]> <&3>!"
- narrate targets:<def[value]> "<&c>[Créatif]<&7> Félicitation, grace a votre temps de jeu, vous avez désormais accès a un terrain supplémentaire de 250x250 & 500x500 !"
# Pour passer Bâtisseur - 168 heures (7 jours)
- if <def[value].in_group[Ingénieur]>:
- if <def[formattedtotal]> >= 168:
- execute as_server "setrank <def[value].name> Bâtisseur"
- announce "<&9>[Créatif] <&3><&o><def[value].name> a été promu au rang de <proc[AutoRankProc].context[<def[value]>]> <&3>!"
- narrate targets:<def[value]> "<&c>[Créatif]<&7> Félicitation, grace a votre temps de jeu, vous avez désormais accès a un terrain supplémentaire de 250x250, 500x500 & 1000x1000 !"
AutoRankProc:
type: procedure
debug: false
definitions: value
script:
- if <def[value].groups.formatted> == Concepteur:
- determine "<&d><def[value].groups.formatted>"
- if <def[value].groups.formatted> == Créateur:
- determine "<&e><def[value].groups.formatted>"
- if <def[value].groups.formatted> == Ingénieur:
- determine "<&9><def[value].groups.formatted>"
- if <def[value].groups.formatted> == Bâtisseur:
- determine "<&b><def[value].groups.formatted>"