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
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
script=start 	on:use{ 		ride; 		event "rode"; 	} 	//If fighter=1 then the fighter menu pops up when the user tries to get off 	//otherwise it tests the speed of the airplane and decides whether you should 	//get off. If you choose 'get off' on fighter menu then it will trigger 'close' 	//command. 	on:getoff{ 		if($fighter==1){ 			if($narg==0){ 				skipevent; 				msgbox "What do you want to do with this airplane"; 				button 0,"Shoot",1,"shoot"; 				button 1,"get off",1,"close"; 			} 		} 		//Tests if the vehicle is going too fast to dismount 		elseif($fighter==0){ 			$cangetoff=1; 			if($speedx >= 5){ 				$cangetoff=0; 			} 			if($speedx <= -5){ 				$cangetoff=0; 			} 			if($speedy >= 5){ 				$cangetoff=0; 			} 			if($speedy <= -5){ 				$cangetoff=0; 			} 			if($speedz >= 5){ 				$cangetoff=0; 			} 			if($speedz <= -5){ 				$cangetoff=0; 			} 			if($cangetoff==0){ 				msg "You are going too fast to get off"; 				msg "Try to slow down"; 				skipevent; 			} 			elseif($cangetoff==1){ 				getoff; 				event "gotoff"; 			} 		} 			 	} 	//This script makes so that the user can get off of the airplane without causing 	//an infinite loop. It triggers the 'acceltest' command. 	on:close{ 		closemenu; 		$narg=1; 		event "acceltest"; 		timer "self",100,1,"pausemenu"; 	} 	on:pausemenu{ 		$narg=0; 	} 	//This script makes so that the plane shoots when the 'Shoot' button is pressed 	on:shoot{ 		$id=currentid; 		msg "boom"; 		closemenu; 		projectile 29,getx("self"),gety("self"),getz("self"),3,getpitch("self"),getyaw("self"),0,0,500,100; 	} 	//This script makes so the plane dissapears when killed/destroyed 	on:kill { free "self"; } 	//Starts everything off at zero, because that's what they would be to start with 	//anyway, and triggers the acceleration timer to begin 	on:rode{ 		$roden=1; 		$lastx=getx("self"); 		$lasty=gety("self"); 		$lastz=getz("self"); 		$speedx=0; 		$speedy=0; 		$speedz=0; 		$lastspeedx=0; 		$lastspeedy=0; 		$lastspeedz=0; 		$accelx=0; 		$accely=0; 		$accelz=0; 		$firsttime=1; 		timer "self",100,1,"accel"; 	} 	//Gets the current position of the vehicle and compares it to the last position to 	//calculate acceleration as well as speed 	on:accel{ 		if ($roden==1){ 			//gets current position 			$currentx=getx("self"); 			$currenty=gety("self"); 			$currentz=getz("self"); 			//gets difference between current position and last position 			//to get speed 			$speedx=$lastx-$currentx; 			$speedy=$lasty-$currenty; 			$speedz=$lastz-$currentz; 			//gets difference between difference between current position and last 			//position to get acceleration/deceleration 			$accelx=$lastspeedx-$speedx; 			$accely=$lastspeedy-$speedy; 			$accelz=$lastspeedz-$speedz; 			//Tests if the acceleration changed enough to cause a crash 			$crashed=0; 			if($accelx > 40){ 				$crashed=1; 			} 			elseif($accelx < -40){ 				$crashed=1; 			} 			elseif($accely > 40){ 				$crashed=1; 			} 			elseif($accely < -40){ 				$crashed=1; 			} 			elseif($accelz > 40){ 				$crashed=1; 			} 			elseif($accelz < -40){ 				$crashed=1; 			} 			if ($crashed==1){ 				msg "YOU CRASHED!",3; 				event "gotoff"; 				explosion getx("self"),gety("self"),getz("self"),200,10; 				free "self"; 			} 			//Changes variables so they can be compared to variables during 			//next 'accel' event 			$lastspeedx=$speedx; 			$lastspeedy=$speedy; 			$lastspeedz=$speedz; 			$lastx=$currentx; 			$lasty=$currenty; 			$lastz=$currentz; 			timer "self",200,1,"accel"; 		} 	} 	//Makes so the timer turns off when the user gets off the plane 	on:gotoff{ 		$roden=0; 	} 	//This script decides if the plane is flying slow enough that the user 	//can get out. 	on:acceltest{ 		$cangetoff=1; 		if($speedx >= 15){ 			$cangetoff=0; 		} 		if($speedx <= -15){ 			$cangetoff=0; 		} 		if($speedy >= 15){ 			$cangetoff=0; 		} 		if($speedy <= -15){ 			$cangetoff=0; 		} 		if($speedz >= 15){ 			$cangetoff=0; 		} 		if($speedz <= -15){ 			$cangetoff=0; 		} 		if($cangetoff==0){ 			msg "You are going too fast to get off"; 			msg "Try to slow down"; 		} 		elseif($cangetoff==1){ 			getoff; 			event "gotoff"; 		} 	} script=end
edited 1×, last 10.04.21 01:50:50 am