-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathController_.gd
More file actions
182 lines (159 loc) · 4.03 KB
/
Controller_.gd
File metadata and controls
182 lines (159 loc) · 4.03 KB
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
extends Node2D
#slave var slave_tilt = 0
#slave var slave_velocity = Vector2()
var up = false
var down = false
var vertical = true
var left = false
var right = false
var horizontal = true
var spawn = false
var pos = Vector2()
slave var m_up = false
slave var m_down = false
slave var m_vertical = false
slave var m_left = false
slave var m_right = false
slave var m_horizontal = false
slave var m_spawn = false
slave var m_pos = Vector2()
slave var m_random
slave var m_player_rank = null
func _ready():
#SETUP
pass
func _physics_process(delta):
if (is_network_master()): # MULTIPLAYER CONTROLS
if Input.is_action_just_pressed("ui_spawn"):
spawn = true
pass
else:
spawn = false
pass
if Input.is_action_just_pressed("ui_quit"):
get_node("/root/multiplayer").quit_game()
else:
pass
if Input.is_action_pressed("ui_left"):
horizontal = false
right = false
left = true
pass
elif Input.is_action_pressed("ui_right"):
horizontal = false
right = true
left = false
pass
else:
horizontal = true
right = false
left = false
pass
if Input.is_action_pressed("ui_up"):
vertical = false
down = false
up = true
pass
elif Input.is_action_pressed("ui_down"):
vertical = false
down = true
up = false
pass
else:
vertical = true
down = false
up = false
pass
rset("m_up", up)
rset("m_down", down)
rset("m_vertical", horizontal)
rset("m_left", left)
rset("m_right", right)
rset("m_horizontal", horizontal)
rset("m_spawn", spawn)
else:
up = m_up
down = m_down
vertical = m_vertical
left = m_left
right = m_right
horizontal = m_horizontal
pass
if spawn == true:
randomizer()
rset("m_pos", pos)
rpc("m_spawn",get_tree().get_network_unique_id())
pass
else:
pass
if up == true:
for i in get_tree().get_nodes_in_group("players"):
if i.get_name() == "avatar_"+str(self.get_name()):
i.rpc ("control_UP") #### FIX MULTIPLAYER SPAWN POSITIONS AND SYNC
else:
pass
pass
elif down == true:
for i in get_tree().get_nodes_in_group("players"):
if i.get_name() == "avatar_"+str(self.get_name()):
i.rpc ("control_DOWN") #### FIX MULTIPLAYER SPAWN POSITIONS AND SYNC
else:
pass
pass
else:
pass
if vertical == true:
for i in get_tree().get_nodes_in_group("players"):
if i.get_name() == "avatar_"+str(self.get_name()):
i.rpc ("control_VERTICAL_STOP") #### FIX MULTIPLAYER SPAWN POSITIONS AND SYNC
else:
pass
pass
else:
pass
if left == true:
for i in get_tree().get_nodes_in_group("players"):
if i.get_name() == "avatar_"+str(self.get_name()):
i.rpc ("control_LEFT") #### FIX MULTIPLAYER SPAWN POSITIONS AND SYNC
else:
pass
pass
elif right == true:
for i in get_tree().get_nodes_in_group("players"):
if i.get_name() == "avatar_"+str(self.get_name()):
i.rpc ("control_RIGHT") #### FIX MULTIPLAYER SPAWN POSITIONS AND SYNC
else:
pass
pass
else:
pass
if horizontal == true:
for i in get_tree().get_nodes_in_group("players"):
if i.get_name() == "avatar_"+str(self.get_name()):
i.rpc ("control_HORIZONTAL_STOP") #### FIX MULTIPLAYER SPAWN POSITIONS AND SYNC
else:
pass
pass
else:
pass
sync func m_spawn(by_who):
if (is_network_master()):
var rename = str(self.get_name())
var import = load("res://Objects/Test/Player_test_Online.tscn").instance()
import.set_name(str(import.get_name())+rename)
import.position = pos #get_tree().get_nodes_in_group("spawn")[round(rand_range(0,3))].position
#get_tree().get_root().add_child(import)
get_node("/root/Main/Players/Avatars").add_child(import)
else:
var rename = str(self.get_name())
var import = load("res://Objects/Test/Player_test_Online.tscn").instance()
import.set_name(str(import.get_name())+rename)
import.position = m_pos
print(m_pos)
#get_tree().get_root().add_child(import)
get_node("/root/Main/Players/Avatars").add_child(import)
pass
func randomizer():
randomize()
pos = get_tree().get_nodes_in_group("spawn")[round(rand_range(0,3))].position
return pos