Date: 2020/06/24 11:04: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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#Script: 1.0.0
#Author: Icecapade
#Date 2020-06-24
IcecapadeFreeze:
type: command
name: freeze
debug: false
usage: /freeze [Player]
description: freezes a player
permission: icecapade.freeze
permission message: <&3>You need the permission <&b><permission> <&3>to use that command!
tab complete:
- choose <context.args.size>:
- case 0:
- determine <server.online_players.filter[has_flag[freezed].not].parse[name]>
- case 1:
- if "!<context.raw_args.ends_with[ ]>":
- determine <server.online_players.filter[has_flag[freezed].not].parse[name].filter[starts_with[<context.args.first>]]>
script:
- if <context.args.size> == 1:
- if <server.player_is_valid[<context.args.first>]> && !<server.match_player[<context.args.first>].has_flag[freezed]>:
- define player <server.match_player[<context.args.first>]>
- if <[player]> == <player>:
- narrate "<red>You can't freeze yourself"
- stop
- if <[player].is_op>:
- narrate "<blue><player.name> <red>tried to freeze you." targets:<[player]>
- stop
- flag <[player]> freezed
- adjust <[player]> walk_speed:0
- narrate "<red>You were freezed by <blue><player.name>" targets:<[player]>
- narrate "<red><player.name> were freezed by <blue><player.name>" targets:<server.online_players.filter[has_permission[icecapade.freeze.notify]]>
- while <[player].has_flag[freezed]>:
- if !<player.is_online>:
- narrate "<blue><player.name> <red>went offline while <blue><[player].name><red> is still freezed!" targets:<server.online_players.filter[has_permission[icecapade.freeze]]>
- stop
- if !<[player].is_online>:
- narrate "<blue><[player].name> <red>went offline while freezed!"
- stop
- define location <player.eye_location>
- look <[player]> <[location]>
- if <[loop_index].div[60].mod[5]> == 0:
- narrate "<[player].name> is freezed since <[loop_index].div[60]> minutes. <element[Click here to unfreeze him.].on_click[/unfreeze <[player].name>]>" targets:<server.online_players.filter[has_permission[icecapade.freeze]]>
- wait 1s
- else:
- narrate "<red>Player not found or player is already freezed."
- else:
- narrate "<&3>Syntax: <&b>/freeze [Player]"
IcecapadeUnfreeze:
type: command
debug: false
name: unfreeze
usage: /unfreeze [Player]
description: unfreez a player
permission: icecapade.freeze
permission message: <&3>You need the permission <&b><permission> <&3>to use that command!
tab complete:
- choose <context.args.size>:
- case 0:
- determine <server.online_players_flagged[freezed].parse[name]>
- case 1:
- if "!<context.raw_args.ends_with[ ]>":
- determine <server.online_players_flagged[freezed].parse[name].filter[starts_with[<context.args.first>]]>
script:
- if <context.args.size> == 1:
- if <server.player_is_valid[<context.args.first>]> && <server.match_player[<context.args.first>].has_flag[freezed]>:
- define player <server.match_player[<context.args.first>]>
- flag <[player]> freezed:!
- adjust <[player]> walk_speed:0.2
- narrate "<red>You were unfreezed by <blue><player.name>" targets:<[player]>
- narrate "<blue><[player].name> <red>were unfreezed by <blue><player.name>" targets:<server.online_players.filter[has_permission[icecapade.freeze.notify]]>
- else:
- narrate "<red>Player not found or player is not freezed"
- else:
- narrate "<&3>Syntax: <&b>/unfreeze [Player]"
IcecapadeFreezeEvent:
type: world
debug: false
events:
on player steps on block flagged:freezed:
- determine cancelled
on player joins flagged:freezed:
- narrate "<blue><player.name> <red>joined while freezed!" targets:<server.online_players.filter[has_permission[icecapade.freeze]]>
on player teleports flagged:freezed:
- narrate "<blue><player.name> <red>tried to teleport while freezed!" targets:<server.online_players.filter[has_permission[icecapade.freeze]]>
- determine cancelled