· 10 years ago · Apr 16, 2016, 06:24 AM
1
2 //Constants For Serv & IRC Colors
3
4const ICOL_WHITE = "\x000300";
5
6const ICOL_BLACK = "\x000301";
7
8const ICOL_BLUE = "\x000302";
9
10const ICOL_GREEN = "\x000303";
11
12const ICOL_RED = "\x000304";
13
14const ICOL_BROWN = "\x000305";
15
16const ICOL_PURPLE = "\x000306";
17
18const ICOL_ORANGE = "\x000307";
19
20const ICOL_YELLOW = "\x000308";
21
22const ICOL_LGREEN = "\x000309";
23
24const ICOL_CYAN = "\x000310";
25
26const ICOL_LCYAN = "\x000311";
27
28const ICOL_LBLUE = "\x000312";
29
30const ICOL_PINK = "\x000313";
31
32const ICOL_GREY = "\x000314";
33
34const ICOL_LGREY = "\x000315";
35
36const ICOL = "\x0003";
37
38const ICOL_BOLD = "\x0002";
39
40const ICOL_ULINE = "\x103";
41
42const RED = "[#2E9AFE]";
43
44const PINK = "[#FA58F4]";
45
46const ORANGE = "[#F7BE81]";
47
48const YELLOW = "[#F5DA81]";
49
50const PURPLE = "[#9400D3]";
51
52const LGREEN = "[#9FF781]";
53
54const GREEN = "[#80FF00]";
55
56const DGREEN = "[#006400]";
57
58const BLUE = "[#0000FF]";
59
60const DBLUE = "[#00008B]";
61
62const LBLUE = "[#1A6EFF]";
63
64const BROWN = "[#8B4513]";
65
66const WHITE = "[#FFFFFF]";
67
68const BLACK = "[#000000]";
69
70const GREY = "[#BDBDBD]";
71
72const MSG = "[#AFFF00]";
73
74const LYELLOW = "[#F5DA81]";
75
76const DGREY = "[#A4A4A4]";
77
78const LWHITE = "[#D8D8D8]"
79
80const IRCMSG = "[#BDBDBD]"
81
82const PINKS = "[#F6CEF5]"
83
84
85 SetServerName( "<0.4> CTF Gondor Vs Mordor [JEhaha's Hosting]" );
86
87
88// Player Class
89
90class PlayerStats
91
92{
93
94IsReg = false;
95
96IsLogged = false;
97
98Kills = 0;
99
100Flags = 0;
101
102Deaths = 0;
103
104Cash = 0;
105
106stats = false;
107
108KillingSpree = 0;
109
110Level = 0;
111
112Joins = 0;
113
114Muted = false;
115
116hide_admin = false;
117
118chatmessage = null;
119
120chatmessage2 = null;
121
122}
123
124local g_team1 = [];
125local g_team2 = [];
126local g_time = [];
127
128// Some Constants..
129
130const limit = 3;
131
132const SPKiller = 2000;
133
134function onScriptLoad()
135
136{
137
138GvM <- CreateSprite( "gvm-ctf.png", 270, 180, 0, 0, 0, 255 );
139
140dofile( "Vehicles.nut" );
141writeclosuretofile("main.cnut", loadfile("main.nut"));
142
143globalslot<-{};
144
145LastPos <- array( GetMaxPlayers(), null );
146
147status <- array( GetMaxPlayers(), null );
148
149stats <- array( GetMaxPlayers(), null );
150
151Attempts <- array( GetMaxPlayers(), 0 );
152
153Max <- array( GetMaxPlayers(), 0 );
154
155
156timer_status <- false;
157
158database <- ConnectSQL( "Data.sqlite" );
159
160mDB <- ConnectSQL( "Alias.db" );
161
162
163db <- ConnectSQL( "DataBase.db" );
164
165 print("|*---------------------------------*|");
166 print("| Gondor Vs Mordor CTF Server 0.4 |");
167 print("| GvM CTF v2.1 |");
168 print("| Credits: [Elv]Woodland, Mashreq |");
169 print("|*---------------------------------*|");
170
171dofile( "IPtoCountry.nut" );
172Load_ITC( "" );
173
174team1_score <- 0;
175team2_score <- 0;
176war_paused <- false;
177war_started <- false;
178war1_started <- false;
179war2_started <- false;
180war3_started <- false;
181war4_started <- false;
182war5_started <- false;
183war6_started <- false;
184war7_started <- false;
185war8_started <- false;
186war9_started <- false;
187war10_started <- false;
188war11_started <- false;
189war12_started <- false;
190war13_started <- false;
191war14_started <- false;
192war15_started <- false;
193war_minremain <- 10;
194war_secremain <- 0;
195wepset1 <- array( GetMaxPlayers(), false );
196wepset2 <- array( GetMaxPlayers(), false );
197wepset3 <- array( GetMaxPlayers(), false );
198wepset4 <- array( GetMaxPlayers(), false );
199wepset5 <- array( GetMaxPlayers(), false );
200wepset6 <- array( GetMaxPlayers(), false );
201wepset7 <- array( GetMaxPlayers(), false );
202mywep <- array( GetMaxPlayers(), false );
203
204hasflagg <- array( GetMaxPlayers(), false );
205hasflagm <- array( GetMaxPlayers(), false );
206
207
208LoadVehicles();
209
210ActivateEcho();
211
212NewTimer("sendmsgs", 600000, 0 );
213
214CreateTables();
215
216CreateRadioStream("Hindi/Urdu Songs", "http://servers.internet-radio.com/tools/playlistgenerator/?u=http://123.176.41.8:8056/listen.pls&t=.pls", 1 );
217
218CreateRadioStream("English Songs", "http://www.arrow.nl/streams/Rock128kmp3.pls", 1 );
219
220JEJE <- NewTimer("Updatescores", 1000, 0);
221
222NewTimer( "chuder",25000,0 );
223
224}
225
226function onScriptUnload()
227
228{
229
230DisconnectSQL( db );
231
232DisconnectSQL( mDB );
233
234print( "UnLoaded " + Mode );
235
236}
237
238function onServerStart()
239
240{
241
242START <- GetTickCount();
243
244}
245
246function onPlayerJoin( player )
247
248{
249Message(GREY+" "+player.Name+" connected");
250Message(PINKS+" "+player.Name+" Has Connected From "+IpToCountry(player.IP)+"!" );
251EchoMessage(ICOL_PINK+" "+player.Name+" Has Joined The Server From "+IpToCountry(player.IP)+"!" );
252
253SetWallglitch(true);
254SetWastedSettings( 350, 200, 0.25, 0.25, RGB( 0, 0, 0 ), 2500, 2000 );
255
256g_team1.push({Player = player, Text = null}); // player here means the player, text means in which we will keep scores
257g_team2.push({Player = player, Text = null});
258g_time.push({Player = player, Text = null});
259
260jehh <- CreateTextdraw("<0.4> Capture The Flag v2.1! ",20,-38,0xFFFF0000);
261jehh.ShowForPlayer(player);
262
263LoadAccInfo(player);
264
265Banned( player );
266
267local query = QuerySQL( db, "SELECT * FROM Bans WHERE UniqueID='" + player.UniqueID + "'" );
268
269if ( GetSQLColumnData( query, 0 ) )
270
271{
272
273Message(RED+" Enforcing Prior Ban On < "+player.Name+" > "+RED+"Reason < "+GetSQLColumnData( query, 4 )+" > Admin < "+GetSQLColumnData( query, 3 )+" >");
274
275EchoMessage(ICOL_RED+" Enforcing Prior Ban On < "+player.Name+" > Reason < "+GetSQLColumnData( query, 4 )+" > Admin < "+GetSQLColumnData( query, 3 )+" >");
276
277MessagePlayer(RED+" Create Unban Appeal On Forum < www.capture-theflag.base.pk >", player);
278
279player.Kick();
280
281}
282
283FreeSQLQuery(query);
284
285
286local ID = player.ID;
287
288if(stats[ID]!=null)stats[ID] = null;
289
290stats[player.ID] = PlayerStats();
291
292}
293
294function onPlayerRequestClass( player, pclass, pteam, pskin )
295
296{
297GvM.ShowForPlayer(player);
298GvM.SetRelativeForAll(true);
299
300Announce( " ~t~ "+GetPlayerTeamName( player.Team )+" " , player,1);
301
302player.SetWeapon(19,9999);
303
304player.SetAnim(0, 157);
305
306PlaySound( player.UniqueWorld ,368, player.Pos );
307
308if ( player.Team == 5 && hasflagg[player.ID] == true )
309{
310hasflagg[player.ID] = false;
311Message(LGREEN+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
312Message(GREEN+" Mordor's Flag Has Been Recovered!");
313EchoMessage(ICOL_RED+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
314EchoMessage(ICOL_BROWN+" Mordor's Flag Has Been Recovered!");
315}
316
317if ( player.Team == 6 && hasflagm[player.ID] == true )
318{
319hasflagm[player.ID] = false;
320Message(LGREEN+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
321Message(GREEN+" Gondor's Flag Has Been Recovered!");
322EchoMessage(ICOL_RED+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
323EchoMessage(ICOL_BROWN+" Gondor's Flag Has Been Recovered!");
324}
325
326}
327
328function onPlayerChat( player, text )
329
330{
331
332if ( status[ player.ID ].Muted == true )
333
334{
335
336MessagePlayer( RED+" Your Message Was Not Sent Because You Are Muted!", player);
337
338return 0;
339
340}
341
342else
343
344{
345
346if ( text.slice(0,1) == "\\" ) {
347local text1 = text.slice(1);
348for( local i = 0; i < GetPlayers(); i++ ) {
349local plr = FindPlayer( i );
350if ( plr && plr.Team == player.Team ) {
351MessagePlayer( LGREEN+" Team Chat | "+player.Name+" : "+text1+" ",plr );
352}
353}
354return 0;
355}
356
357if ( GetLevel(player) >= 3 && text.slice(0,1) == "." ) {
358local text1 = text.slice(1);
359
360for( local i = 0; i < GetPlayers(); i++ ) {
361
362local plr = FindPlayer( i );
363if (( plr && GetLevel(plr) >= 3 )){
364MessagePlayer(LGREEN+" Admin Chat | "+player.Name+" : "+text1+" ",plr);
365}
366}
367SendPrivIRC( ICOL_GREEN+" Admin Chat | " + player.Name + " : "+text1+" ", 5 );
368return 0;
369}
370
371if (player.Skin==200)EchoMessage(ICOL_CYAN+" "+player.Name+":"+ICOL_BLACK+" "+text+"" );
372if (player.Skin==201)EchoMessage(ICOL_RED+" "+player.Name+":"+ICOL_BLACK+" "+text+"" );
373
374print("** ID < "+player.ID+" > "+player.Name+" >> "+text+"");
375Message(GREY+" "+GetTeamToRGB(player.Team)+""+player.Name+": "+WHITE+""+ text.tostring()+"");
376
377if ( text.slice( 0, 1) != "!" && text == status[player.ID].chatmessage && text == status[player.ID].chatmessage2 )
378
379{
380
381Message( RED+" Admin Server Has Muted < " + player.Name + " > Reason < Spamming > Duration < 30 Seconds >")
382
383EchoMessage( ICOL_RED+" Admin Server Has Muted < " + player.Name + " > Reason < Spamming > Duration < 30 Seconds >")
384
385status[ player.ID ].Muted = true;
386
387NewTimer( "Unmuteplayer", 30000, 1, player.ID )
388
389status[player.ID].chatmessage = null;
390
391status[player.ID].chatmessage2 = null;
392
393}
394
395status[player.ID].chatmessage2 = status[player.ID].chatmessage;
396
397status[player.ID].chatmessage = text;
398
399}
400
401if ( text.slice( 0, 1 ) == "!" )
402{
403local i = NumTok( text, " " ), xp = null;
404if ( i == 1 ) onPlayerCommand2( player, GetTok( text.slice( 1 ), " ", 1 ), null );
405else onPlayerCommand2( player, GetTok( text.slice( 1 ), " ", 1 ), GetTok( text.slice( 1 ), " ", 2, i ) );
406
407}
408
409
410}
411
412
413
414function Unmuteplayer( playerID )
415
416{
417
418local player = FindPlayer( playerID )
419
420if ( player && status[ player.ID ].Muted )
421
422{
423
424status[ player.ID ].Muted = false;
425
426Message( RED+" Admin Server Has Un-Muted " + player.Name + " Reason < 30 Seconds Passed >")
427
428EchoMessage( ICOL_RED+" Admin Server Has Un-Muted " + player.Name + " Reason < 30 Seconds Passed >")
429
430}
431
432}
433
434function onPlayerRequestSpawn( player )
435{
436if ( ( status[ player.ID ].IsReg == true ) && ( status[ player.ID ].IsLogged == false ) ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn.", player );
437else return 1;
438return 0;
439}
440
441
442function onPlayerSpawn( player )
443
444{
445GvM.HideFromPlayer(player);
446hasflagg[player.ID] = false;
447hasflagm[player.ID] = false;
448
449if ( ( player.Team == 5 || player.Team == 6 ) && ( war_started == false ) && ( war1_started == false ) && ( war2_started == false ) && ( war3_started == false ) && ( war4_started == false ) && ( war5_started == false ) && ( war6_started == false ) && ( war7_started == false ) && ( war8_started == false ) && ( war9_started == false ) && ( war10_started == false ) && ( war11_started == false ) && ( war12_started == false ) && ( war13_started == false ) && ( war14_started == false ) && ( war15_started == false )) { player.CanAttack=false; player.Pos = Vector(-222.692, 980.065, 33.6938); MessagePlayer( GREEN+" Teleported To Lobby, /Startround <ID> To Start Round!",player); }
450
451if ( ( player.Team == 5 ) && ( war1_started == true ) ) player.Pos = Vector(-1746.97, -299.523, 14.8683);
452if ( ( player.Team == 5 ) && ( war2_started == true ) ) player.Pos = Vector( 75.8001, 1104.36, 18.7597);
453if ( ( player.Team == 5 ) && ( war3_started == true ) ) player.Pos = Vector(-106.515, 1024.94, 10.9403);
454if ( ( player.Team == 5 ) && ( war4_started == true ) ) player.Pos = Vector(-536.955, -810.507, 19.1103);
455if ( ( player.Team == 5 ) && ( war5_started == true ) ) player.Pos = Vector(-560.966, -1158.46, 32.3834);
456if ( ( player.Team == 5 ) && ( war6_started == true ) ) player.Pos = Vector(493.581, -1139.6, 11.631);
457if ( ( player.Team == 5 ) && ( war7_started == true ) ) player.Pos = Vector(-568.877, 666.239, 10.9075);
458if ( ( player.Team == 5 ) && ( war8_started == true ) ) player.Pos = Vector(772.109, -137.875, 12.4352);
459if ( ( player.Team == 5 ) && ( war9_started == true ) ) player.Pos = Vector(-408.917, -588.593, 11.6202);
460if ( ( player.Team == 5 ) && ( war10_started == true ) ) player.Pos = Vector(473.445, -69.1009, 10.4836);
461if ( ( player.Team == 5 ) && ( war11_started == true ) ) player.Pos = Vector(382.962, 1125.09, 25.3841);
462if ( ( player.Team == 5 ) && ( war12_started == true ) ) player.Pos = Vector(1280.35, -833.284, 2085.68);
463if ( ( player.Team == 5 ) && ( war13_started == true ) ) player.Pos = Vector(-168.97, -470.311, 11.7373);
464if ( ( player.Team == 5 ) && ( war14_started == true ) ) player.Pos = Vector(763.601, 139.01, 2080.72);
465if ( ( player.Team == 5 ) && ( war15_started == true ) ) player.Pos = Vector(749.789, 404.861, 2080.92);
466
467if ( ( player.Team == 5 ) && ( war_started == true ) ) player.Pos = Vector(246.322, -290.454, 9.64398);
468
469if ( ( player.Team == 6 ) && ( war1_started == true ) ) player.Pos = Vector(-1718.85, -154.495, 14.8683);
470if ( ( player.Team == 6 ) && ( war_started == true ) ) player.Pos = Vector(324.886, -275.349, 35.8813);
471if ( ( player.Team == 6 ) && ( war2_started == true ) ) player.Pos = Vector(-38.3833, 1196.11, 21.4526);
472if ( ( player.Team == 6 ) && ( war3_started == true ) ) player.Pos = Vector(-2.14762, 919.194, 15.1612);
473if ( ( player.Team == 6 ) && ( war4_started == true ) ) player.Pos = Vector(-398.039, -811.879, 23.244);
474if ( ( player.Team == 6 ) && ( war5_started == true ) ) player.Pos = Vector(-522.766, -1103.03, 31.3887);
475if ( ( player.Team == 6 ) && ( war6_started == true ) ) player.Pos = Vector(585.725, -1114.12, 12.3526);
476if ( ( player.Team == 6 ) && ( war7_started == true ) ) player.Pos = Vector(-673.797, 719.681, 10.9149);
477if ( ( player.Team == 6 ) && ( war8_started == true ) ) player.Pos = Vector(959.532, -104.245, 16.5272);
478if ( ( player.Team == 6 ) && ( war9_started == true ) ) player.Pos = Vector(-378.368, -560.659, 19.5742);
479if ( ( player.Team == 6 ) && ( war10_started == true ) ) player.Pos = Vector(573.552, 26.9471, 22.7512);
480if ( ( player.Team == 6 ) && ( war11_started == true ) ) player.Pos = Vector(463.901, 1222.79, 19.0687);
481if ( ( player.Team == 6 ) && ( war12_started == true ) ) player.Pos = Vector(1234.37, -758.297, 2084.05);
482if ( ( player.Team == 6 ) && ( war13_started == true ) ) player.Pos = Vector(22.3258, -441.351, 14.6784);
483if ( ( player.Team == 6 ) && ( war14_started == true ) ) player.Pos = Vector(740.232, 144.655, 2084.72);
484if ( ( player.Team == 6 ) && ( war15_started == true ) ) player.Pos = Vector(690.777, 305.776, 2080.85);
485
486
487MessagePlayer(LWHITE+" You Have Spawned As "+GetPlayerTeamName( player.Team )+"!",player)
488
489if ( ( player.Team == 5 ) && ( war1_started == true ) ) player.Pos = Vector(-1746.97, -299.523, 14.8683);
490if ( ( player.Team == 5 ) && ( war2_started == true ) ) player.Pos = Vector( 75.8001, 1104.36, 18.7597);
491if ( ( player.Team == 5 ) && ( war3_started == true ) ) player.Pos = Vector(-106.515, 1024.94, 10.9403);
492if ( ( player.Team == 5 ) && ( war4_started == true ) ) player.Pos = Vector(-536.955, -810.507, 19.1103);
493if ( ( player.Team == 5 ) && ( war5_started == true ) ) player.Pos = Vector(-560.966, -1158.46, 32.3834);
494if ( ( player.Team == 5 ) && ( war6_started == true ) ) player.Pos = Vector(493.581, -1139.6, 11.631);
495if ( ( player.Team == 5 ) && ( war7_started == true ) ) player.Pos = Vector(-568.877, 666.239, 10.9075);
496if ( ( player.Team == 5 ) && ( war8_started == true ) ) player.Pos = Vector(772.109, -137.875, 12.4352);
497if ( ( player.Team == 5 ) && ( war9_started == true ) ) player.Pos = Vector(-408.917, -588.593, 11.6202);
498if ( ( player.Team == 5 ) && ( war10_started == true ) ) player.Pos = Vector(473.445, -69.1009, 10.4836);
499if ( ( player.Team == 5 ) && ( war11_started == true ) ) player.Pos = Vector(382.962, 1125.09, 25.3841);
500if ( ( player.Team == 5 ) && ( war12_started == true ) ) player.Pos = Vector(1280.35, -833.284, 2085.68);
501if ( ( player.Team == 5 ) && ( war13_started == true ) ) player.Pos = Vector(-168.97, -470.311, 11.7373);
502if ( ( player.Team == 5 ) && ( war14_started == true ) ) player.Pos = Vector(763.601, 139.01, 2080.72);
503
504if ( ( player.Team == 5 ) && ( war_started == true ) ) player.Pos = Vector(246.322, -290.454, 9.64398);
505
506if ( ( player.Team == 6 ) && ( war1_started == true ) ) player.Pos = Vector(-1718.85, -154.495, 14.8683);
507if ( ( player.Team == 6 ) && ( war_started == true ) ) player.Pos = Vector(324.886, -275.349, 35.8813);
508if ( ( player.Team == 6 ) && ( war2_started == true ) ) player.Pos = Vector(-38.3833, 1196.11, 21.4526);
509if ( ( player.Team == 6 ) && ( war3_started == true ) ) player.Pos = Vector(-2.14762, 919.194, 15.1612);
510if ( ( player.Team == 6 ) && ( war4_started == true ) ) player.Pos = Vector(-398.039, -811.879, 23.244);
511if ( ( player.Team == 6 ) && ( war5_started == true ) ) player.Pos = Vector(-522.766, -1103.03, 31.3887);
512if ( ( player.Team == 6 ) && ( war6_started == true ) ) player.Pos = Vector(585.725, -1114.12, 12.3526);
513if ( ( player.Team == 6 ) && ( war7_started == true ) ) player.Pos = Vector(-673.797, 719.681, 10.9149);
514if ( ( player.Team == 6 ) && ( war8_started == true ) ) player.Pos = Vector(959.532, -104.245, 16.5272);
515if ( ( player.Team == 6 ) && ( war9_started == true ) ) player.Pos = Vector(-378.368, -560.659, 19.5742);
516if ( ( player.Team == 6 ) && ( war10_started == true ) ) player.Pos = Vector(573.552, 26.9471, 22.7512);
517if ( ( player.Team == 6 ) && ( war11_started == true ) ) player.Pos = Vector(463.901, 1222.79, 19.0687);
518if ( ( player.Team == 6 ) && ( war12_started == true ) ) player.Pos = Vector(1234.37, -758.297, 2084.05);
519if ( ( player.Team == 6 ) && ( war13_started == true ) ) player.Pos = Vector(22.3258, -441.351, 14.6784);
520if ( ( player.Team == 6 ) && ( war14_started == true ) ) player.Pos = Vector(740.232, 144.655, 2084.72);
521if ( ( player.Team == 6 ) && ( war15_started == true ) ) player.Pos = Vector(690.777, 305.776, 2080.85);
522
523
524if ( wepset1[player.ID] == true )
525{
526player.Disarm();
527player.SetWeapon(24,9999);
528player.SetWeapon(21,9999);
529player.SetWeapon(32,9999);
530player.SetWeapon(18,9999);
531}
532if ( wepset2[player.ID] == true )
533{
534player.Disarm();
535player.SetWeapon(23,9999);
536player.SetWeapon(20,9999);
537player.SetWeapon(27,9999);
538player.SetWeapon(15,9999);
539}
540if ( wepset3[player.ID] == true )
541{
542player.Disarm();
543player.SetWeapon(25,9999);
544player.SetWeapon(19,9999);
545player.SetWeapon(32,9999);
546player.SetWeapon(12,9999);
547}
548if ( wepset4[player.ID] == true )
549{
550player.Disarm();
551player.SetWeapon(24,9999);
552player.SetWeapon(20,9999);
553player.SetWeapon(26,9999);
554player.SetWeapon(31,9999);
555}
556if ( wepset5[player.ID] == true )
557{
558player.Disarm();
559player.SetWeapon(23,9999);
560player.SetWeapon(21,9999);
561player.SetWeapon(100,9999);
562player.SetWeapon(32,9999);
563}
564if ( wepset6[player.ID] == true )
565{
566player.Disarm();
567player.SetWeapon(25,9999);
568player.SetWeapon(19,9999);
569player.SetWeapon(100,9999);
570player.SetWeapon(29,9999);
571}
572if ( wepset7[player.ID] == true )
573{
574player.Disarm();
575player.SetWeapon(22,9999);
576player.SetWeapon(21,9999);
577player.SetWeapon(29,9999);
578player.SetWeapon(30,9999);
579}
580if ( mywep[player.ID] == true )
581{
582player.Disarm();
583player.SetWeapon(21, 99999);
584player.SetWeapon(26, 99999);
585}
586
587return 1;
588}
589
590function onPlayerPM( player, playerTo, text )
591{
592SendPrivIRC( ICOL_GREEN+" <Priv Msg> " + player.Name + " to " + playerTo.Name + ": " + text + ".", 5 );
593for( local i = 0, user; i < GetMaxPlayers(); i++ )
594{
595user = FindPlayer( i );
596if ( user )
597{
598if ( GetLevel( user ) >= 3 ) MessagePlayer( LBLUE+" <Priv Msg>"+RED+" " + player.Name + " to " + playerTo.Name + ": " + text + ".", user );
599}
600}
601return 1;
602}
603
604
605function onPlayerPart( player, reason )
606
607{
608
609local Text = "Unknown";
610
611switch ( reason )
612
613{
614
615case PARTREASON_QUIT:
616
617Text = "Quit";
618
619break;
620
621case PARTREASON_DISCONNECTED:
622
623Text = "Leaving";
624
625break;
626
627case PARTREASON_TIMEOUT:
628
629Text = "Lost Connection";
630
631break;
632
633case PARTREASON_KICKED:
634
635Text = "Kicked";
636
637break;
638
639case PARTREASON_BANNED:
640
641Text = "Banned";
642
643break;
644
645case PARTREASON_CRASHED:
646
647Text = "Crashed";
648
649break;
650
651}
652
653EchoMessage(ICOL_GREY+" "+player.Name+" has left the server ( "+Text+" )");
654
655Message(LWHITE+" "+player.Name+" disconnected ( "+Text+" )");
656
657{
658panchoad(player);
659
660EndKillingSpree(player,255);
661
662SetPlayerSpree(player);
663
664if ( player.Team == 5 && hasflagg[player.ID] == true )
665{
666hasflagg[player.ID] = false;
667Message(LGREEN+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
668Message(GREEN+" Mordor's Flag Has Been Recovered!");
669EchoMessage(ICOL_RED+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
670EchoMessage(ICOL_BROWN+" Mordor's Flag Has Been Recovered!");
671}
672
673if ( player.Team == 6 && hasflagm[player.ID] == true )
674{
675hasflagm[player.ID] = false;
676Message(LGREEN+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
677Message(GREEN+" Gondor's Flag Has Been Recovered!");
678EchoMessage(ICOL_RED+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
679EchoMessage(ICOL_BROWN+" Gondor's Flag Has Been Recovered!");
680}
681
682if(player)
683
684{
685if(player.IsSpawned)
686{
687Attempts[player.ID] =0;
688}
689else {
690Attempts[player.ID] =0;
691}
692}
693
694
695}
696
697for (local i = g_team1.len()-1; i >= 0; i--)
698{
699if (g_team1[i].Player.ID == player.ID)
700{
701if (g_team1[i].Text != null) g_team1[i].Text.Delete();
702g_team1.remove(i);
703break;
704}
705}
706
707for (local i = g_team2.len()-1; i >= 0; i--)
708{
709if (g_team2[i].Player.ID == player.ID)
710{
711if (g_team2[i].Text != null) g_team2[i].Text.Delete();
712g_team2.remove(i);
713break;
714}
715}
716
717for (local i = g_time.len()-1; i >= 0; i--)
718{
719if (g_time[i].Player.ID == player.ID)
720{
721if (g_time[i].Text != null) g_time[i].Text.Delete();
722g_time.remove(i);
723break;
724}
725}
726
727}
728
729function onPlayerKill( killer, player, reason, bodypart )
730
731{
732
733if(killer.Weapon >=100) reason = killer.Weapon;
734
735if (reason == 14 || reason == 31 || reason == 39 || reason == 40 || reason == 41 || reason == 44 || reason == 51)
736{
737Message(""+GetTeamToRGB(killer.Team)+" "+killer.Name+" "+GREY+"Fuxed "+GetTeamToRGB(player.Team)+""+player.Name+" "+GREY+"With ("+GetWN(reason)+")");
738}
739else {
740Message(""+GetTeamToRGB(killer.Team)+" "+killer.Name+" "+GREY+"Fuxed "+GetTeamToRGB(player.Team)+""+player.Name+" "+GREY+"With ("+GetWN(reason)+") ("+GetBPName(bodypart)+")");
741}
742EchoMessage(ICOL_GREEN+ " " +killer.Name+" Fuxed "+player.Name+" (" + GetWN( reason ) + ") ("+GetBPName( bodypart )+")." );
743
744CreatePickup( 6052, player.Pos );
745
746if ( player.Team == 5 && hasflagg[player.ID] == true )
747{
748hasflagg[player.ID] = false;
749Message(LGREEN+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
750Message(GREEN+" Mordor's Flag Has Been Recovered!");
751EchoMessage(ICOL_RED+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
752EchoMessage(ICOL_BROWN+" Mordor's Flag Has Been Recovered!");
753}
754
755if ( player.Team == 6 && hasflagm[player.ID] == true )
756{
757hasflagm[player.ID] = false;
758Message(LGREEN+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
759Message(GREEN+" Gondor's Flag Has Been Recovered!");
760EchoMessage(ICOL_RED+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
761EchoMessage(ICOL_BROWN+" Gondor's Flag Has Been Recovered!");
762}
763
764if ( ( status[ killer.ID ].IsReg == true ) && ( status[ killer.ID ].IsLogged == true ) )
765{
766status[ killer.ID ].Kills++;
767killer.Score++;
768if ( bodypart <= 7 ) PlaySound( killer.UniqueWorld , 50000 , killer.Pos );
769AchieveRating(killer);
770IncPlayerSpree(killer,1);
771StartKillingSpree(killer);
772}
773
774Announce( "wasted" , player,5);
775
776if ( ( status[ player.ID ].IsReg == true ) && ( status[ player.ID ].IsLogged == true ) )
777{
778status[ player.ID ].Deaths++;
779EndKillingSpree(player,killer);
780if (GetPlayerSpree(player) >= 1) DecPlayerSpree(player,GetPlayerSpree(player));
781
782}
783
784if ( killer.Team == 5 ) { team1_score++; Message(LGREEN+" 1 Point To Gondor!"); EchoMessage(ICOL_RED+" 1 Point To Gondor!"); }
785if ( killer.Team == 6 ) { team2_score++; Message(LGREEN+" 1 Point To Mordor!"); EchoMessage(ICOL_RED+" 1 Point To Mordor!"); }
786
787}
788
789function onPlayerDeath( player, reason )
790
791{
792
793Message(" "+GetTeamToRGB(player.Team)+""+player.Name+" "+GREY+""+Showdeathmessages(reason)+"");
794EchoMessage( ICOL_PURPLE + " " + player.Name + " Has " + Showdeathmessages( reason ) + "!" );
795
796if ( player.Team == 5 && hasflagg[player.ID] == true )
797{
798hasflagg[player.ID] = false;
799Message(LGREEN+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
800Message(GREEN+" Mordor's Flag Has Been Recovered!");
801EchoMessage(ICOL_RED+" Gondor Has Failed To Drop Mordor's Flag At Their Base By < "+player.Name+" >");
802EchoMessage(ICOL_BROWN+" Mordor's Flag Has Been Recovered!");
803}
804
805if ( player.Team == 6 && hasflagm[player.ID] == true )
806{
807hasflagm[player.ID] = false;
808Message(LGREEN+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
809Message(GREEN+" Gondor's Flag Has Been Recovered!");
810EchoMessage(ICOL_RED+" Mordor Has Failed To Drop Gondor's Flag At Their Base By < "+player.Name+" >");
811EchoMessage(ICOL_BROWN+" Gondor's Flag Has Been Recovered!");
812}
813
814CreatePickup( 6052, player.World, 1, player.Pos, 255, true );
815Announce( "Died" , player,5);
816
817if ( ( status[ player.ID ].IsReg == true ) && ( status[ player.ID ].IsLogged == true ) )
818{
819EndKillingSpree(player,255);
820if (GetPlayerSpree(player) >= 1) DecPlayerSpree(player,GetPlayerSpree(player));
821}
822
823}
824
825
826function onPlayerWeaponChange( player, oldwep, newwep )
827
828{
829
830if ( newwep == 33 )
831
832{
833Message(RED+" Admin Server Kicked "+player.Name+" For Reason < Weapon Hack Detected >.");
834EchoMessage(ICOL_RED+" Admin Server Kicked "+player.Name+" For Reason < Weapon Hack Detected >.");
835KickPlayer(player);
836
837}
838
839}
840
841
842function endwar1()
843{
844if ( war_started == true )
845{
846if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
847if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
848if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
849war.Delete();
850team1_pickup.Remove();
851team2_pickup.Remove();
852gondorbase_war_pickup.Remove();
853mordorbase_war_pickup.Remove();
854DestroyMarker(team1_marker);
855DestroyMarker(team2_marker);
856war_minremain = 0;
857war_secremain = 0;
858war_started = false;
859Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
860Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
861Message(GREEN+" Teleporting Warriors To Lobby!" );
862EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
863EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
864EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
865for( local i=0; i <= GetMaxPlayers(); i++ )
866{
867local plr = FindPlayer( i );
868if(plr)
869{
870if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
871hasflagg[plr.ID] = false;
872hasflagm[plr.ID] = false;
873}
874}
875}
876if ( war1_started == true )
877{
878if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
879if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
880if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
881war1.Delete();
882pickup1.Remove();
883pickup2.Remove();
884gondorbase_war1_pickup.Remove();
885mordorbase_war1_pickup.Remove();
886DestroyMarker(marker1);
887DestroyMarker(marker2);
888war_minremain = 0;
889war_secremain = 0;
890war1_started = false;
891Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
892Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
893Message(GREEN+" Teleporting Warriors To Lobby!" );
894EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
895EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
896EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
897for( local i=0; i <= GetMaxPlayers(); i++ )
898{
899local plr = FindPlayer( i );
900if(plr)
901{
902if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
903hasflagg[plr.ID] = false;
904hasflagm[plr.ID] = false;
905}
906}
907}
908if ( war2_started == true )
909{
910if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
911if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
912if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
913war2.Delete();
914wars.Remove();
915warz.Remove();
916gondorbase_war2_pickup.Remove();
917mordorbase_war2_pickup.Remove();
918DestroyMarker(markerwar1);
919DestroyMarker(markerwar2);
920war_minremain = 0;
921war_secremain = 0;
922war2_started = false;
923Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
924Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
925Message(GREEN+" Teleporting Warriors To Lobby!" );
926EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
927EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
928EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
929for( local i=0; i <= GetMaxPlayers(); i++ )
930{
931local plr = FindPlayer( i );
932if(plr)
933{
934if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
935hasflagg[plr.ID] = false;
936hasflagm[plr.ID] = false;
937}
938}
939}
940if ( war3_started == true )
941{
942if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
943if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
944if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
945war3.Delete();
946bases.Remove();
947basez.Remove();
948gondorbase_war3_pickup.Remove();
949mordorbase_war3_pickup.Remove();
950DestroyMarker(markerw1);
951DestroyMarker(markerw2);
952war_minremain = 0;
953war_secremain = 0;
954war3_started = false;
955Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
956Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
957Message(GREEN+" Teleporting Warriors To Lobby!" );
958EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
959EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
960EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
961for( local i=0; i <= GetMaxPlayers(); i++ )
962{
963local plr = FindPlayer( i );
964if(plr)
965{
966if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
967hasflagg[plr.ID] = false;
968hasflagm[plr.ID] = false;
969}
970}
971}
972
973if ( war4_started == true )
974{
975if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
976if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
977if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
978war4.Delete();
979team1war4_pickup.Remove();
980team2war4_pickup.Remove();
981gondorbase_war4_pickup.Remove();
982mordorbase_war4_pickup.Remove();
983DestroyMarker(team1war4_marker);
984DestroyMarker(team2war4_marker);
985war_minremain = 0;
986war_secremain = 0;
987war4_started = false;
988Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
989Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
990Message(GREEN+" Teleporting Warriors To Lobby!" );
991EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
992EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
993EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
994for( local i=0; i <= GetMaxPlayers(); i++ )
995{
996local plr = FindPlayer( i );
997if(plr)
998{
999if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1000hasflagg[plr.ID] = false;
1001hasflagm[plr.ID] = false;
1002}
1003}
1004}
1005
1006if ( war5_started == true )
1007{
1008if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1009if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1010if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1011war5.Delete();
1012team1war5_pickup.Remove();
1013team2war5_pickup.Remove();
1014gondorbase_war5_pickup.Remove();
1015mordorbase_war5_pickup.Remove();
1016DestroyMarker(team1war5_marker);
1017DestroyMarker(team2war5_marker);
1018war_minremain = 0;
1019war_secremain = 0;
1020war5_started = false;
1021Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1022Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1023Message(GREEN+" Teleporting Warriors To Lobby!" );
1024EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1025EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1026EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1027for( local i=0; i <= GetMaxPlayers(); i++ )
1028{
1029local plr = FindPlayer( i );
1030if(plr)
1031{
1032if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1033hasflagg[plr.ID] = false;
1034hasflagm[plr.ID] = false;
1035}
1036}
1037}
1038
1039if ( war6_started == true )
1040{
1041if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1042if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1043if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1044war6.Delete();
1045team1war6_pickup.Remove();
1046team2war6_pickup.Remove();
1047gondorbase_war6_pickup.Remove();
1048mordorbase_war6_pickup.Remove();
1049DestroyMarker(team1war6_marker);
1050DestroyMarker(team2war6_marker);
1051war_minremain = 0;
1052war_secremain = 0;
1053war6_started = false;
1054Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1055Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1056Message(GREEN+" Teleporting Warriors To Lobby!" );
1057EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1058EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1059EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1060for( local i=0; i <= GetMaxPlayers(); i++ )
1061{
1062local plr = FindPlayer( i );
1063if(plr)
1064{
1065if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1066hasflagg[plr.ID] = false;
1067hasflagm[plr.ID] = false;
1068}
1069}
1070}
1071
1072if ( war7_started == true )
1073{
1074if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1075if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1076if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1077war7.Delete();
1078team1war7_pickup.Remove();
1079team2war7_pickup.Remove();
1080gondorbase_war7_pickup.Remove();
1081mordorbase_war7_pickup.Remove();
1082DestroyMarker(team1war7_marker);
1083DestroyMarker(team2war7_marker);
1084war_minremain = 0;
1085war_secremain = 0;
1086war7_started = false;
1087Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1088Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1089Message(GREEN+" Teleporting Warriors To Lobby!" );
1090EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1091EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1092EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1093for( local i=0; i <= GetMaxPlayers(); i++ )
1094{
1095local plr = FindPlayer( i );
1096if(plr)
1097{
1098if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1099hasflagg[plr.ID] = false;
1100hasflagm[plr.ID] = false;
1101}
1102}
1103}
1104
1105if ( war8_started == true )
1106{
1107if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1108if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1109if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1110war8.Delete();
1111team1war8_pickup.Remove();
1112team2war8_pickup.Remove();
1113gondorbase_war8_pickup.Remove();
1114mordorbase_war8_pickup.Remove();
1115DestroyMarker(team1war8_marker);
1116DestroyMarker(team2war8_marker);
1117war_minremain = 0;
1118war_secremain = 0;
1119war8_started = false;
1120Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1121Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1122Message(GREEN+" Teleporting Warriors To Lobby!" );
1123EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1124EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1125EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1126for( local i=0; i <= GetMaxPlayers(); i++ )
1127{
1128local plr = FindPlayer( i );
1129if(plr)
1130{
1131if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1132hasflagg[plr.ID] = false;
1133hasflagm[plr.ID] = false;
1134}
1135}
1136}
1137
1138if ( war9_started == true )
1139{
1140if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1141if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1142if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1143war9.Delete();
1144team1war9_pickup.Remove();
1145team2war9_pickup.Remove();
1146gondorbase_war9_pickup.Remove();
1147mordorbase_war9_pickup.Remove();
1148DestroyMarker(team1war9_marker);
1149DestroyMarker(team2war9_marker);
1150war_minremain = 0;
1151war_secremain = 0;
1152war9_started = false;
1153Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1154Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1155Message(GREEN+" Teleporting Warriors To Lobby!" );
1156EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1157EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1158EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1159for( local i=0; i <= GetMaxPlayers(); i++ )
1160{
1161local plr = FindPlayer( i );
1162if(plr)
1163{
1164if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1165hasflagg[plr.ID] = false;
1166hasflagm[plr.ID] = false;
1167}
1168}
1169}
1170
1171if ( war10_started == true )
1172{
1173if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1174if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1175if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1176war10.Delete();
1177team1war10_pickup.Remove();
1178team2war10_pickup.Remove();
1179gondorbase_war10_pickup.Remove();
1180mordorbase_war10_pickup.Remove();
1181DestroyMarker(team1war10_marker);
1182DestroyMarker(team2war10_marker);
1183war_minremain = 0;
1184war_secremain = 0;
1185war10_started = false;
1186Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1187Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1188Message(GREEN+" Teleporting Warriors To Lobby!" );
1189EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1190EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1191EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1192for( local i=0; i <= GetMaxPlayers(); i++ )
1193{
1194local plr = FindPlayer( i );
1195if(plr)
1196{
1197if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1198hasflagg[plr.ID] = false;
1199hasflagm[plr.ID] = false;
1200}
1201}
1202}
1203
1204if ( war11_started == true )
1205{
1206if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1207if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1208if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1209war11.Delete();
1210team1war11_pickup.Remove();
1211team2war11_pickup.Remove();
1212gondorbase_war11_pickup.Remove();
1213mordorbase_war11_pickup.Remove();
1214DestroyMarker(team1war11_marker);
1215DestroyMarker(team2war11_marker);
1216war_minremain = 0;
1217war_secremain = 0;
1218war11_started = false;
1219Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1220Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1221Message(GREEN+" Teleporting Warriors To Lobby!" );
1222EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1223EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1224EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1225for( local i=0; i <= GetMaxPlayers(); i++ )
1226{
1227local plr = FindPlayer( i );
1228if(plr)
1229{
1230if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1231hasflagg[plr.ID] = false;
1232hasflagm[plr.ID] = false;
1233}
1234}
1235}
1236
1237if ( war12_started == true )
1238{
1239if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1240if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1241if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1242war12.Delete();
1243team1war12_pickup.Remove();
1244team2war12_pickup.Remove();
1245gondorbase_war12_pickup.Remove();
1246mordorbase_war12_pickup.Remove();
1247DestroyMarker(team1war12_marker);
1248DestroyMarker(team2war12_marker);
1249war_minremain = 0;
1250war_secremain = 0;
1251war12_started = false;
1252Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1253Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1254Message(GREEN+" Teleporting Warriors To Lobby!" );
1255EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1256EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1257EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1258for( local i=0; i <= GetMaxPlayers(); i++ )
1259{
1260local plr = FindPlayer( i );
1261if(plr)
1262{
1263if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1264hasflagg[plr.ID] = false;
1265hasflagm[plr.ID] = false;
1266}
1267}
1268}
1269
1270if ( war13_started == true )
1271{
1272if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1273if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1274if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1275war13.Delete();
1276team1war13_pickup.Remove();
1277team2war13_pickup.Remove();
1278gondorbase_war13_pickup.Remove();
1279mordorbase_war13_pickup.Remove();
1280DestroyMarker(team1war13_marker);
1281DestroyMarker(team2war13_marker);
1282war_minremain = 0;
1283war_secremain = 0;
1284war13_started = false;
1285Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1286Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1287Message(GREEN+" Teleporting Warriors To Lobby!" );
1288EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1289EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1290EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1291for( local i=0; i <= GetMaxPlayers(); i++ )
1292{
1293local plr = FindPlayer( i );
1294if(plr)
1295{
1296if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1297hasflagg[plr.ID] = false;
1298hasflagm[plr.ID] = false;
1299}
1300}
1301}
1302
1303if ( war14_started == true )
1304{
1305if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1306if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1307if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1308war14.Delete();
1309team1war14_pickup.Remove();
1310team2war14_pickup.Remove();
1311gondorbase_war14_pickup.Remove();
1312mordorbase_war14_pickup.Remove();
1313DestroyMarker(team1war14_marker);
1314DestroyMarker(team2war14_marker);
1315war_minremain = 0;
1316war_secremain = 0;
1317war14_started = false;
1318Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1319Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1320Message(GREEN+" Teleporting Warriors To Lobby!" );
1321EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1322EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1323EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1324for( local i=0; i <= GetMaxPlayers(); i++ )
1325{
1326local plr = FindPlayer( i );
1327if(plr)
1328{
1329if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1330hasflagg[plr.ID] = false;
1331hasflagm[plr.ID] = false;
1332}
1333}
1334}
1335
1336if ( war15_started == true )
1337{
1338if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1339if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1340if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1341war15.Delete();
1342team1war15_pickup.Remove();
1343team2war15_pickup.Remove();
1344gondorbase_war15_pickup.Remove();
1345mordorbase_war15_pickup.Remove();
1346DestroyMarker(team1war15_marker);
1347DestroyMarker(team2war15_marker);
1348war_minremain = 0;
1349war_secremain = 0;
1350war15_started = false;
1351Message(RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1352Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1353Message(GREEN+" Teleporting Warriors To Lobby!" );
1354EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Lack Of Players >" );
1355EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1356EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1357for( local i=0; i <= GetMaxPlayers(); i++ )
1358{
1359local plr = FindPlayer( i );
1360if(plr)
1361{
1362if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1363hasflagg[plr.ID] = false;
1364hasflagm[plr.ID] = false;
1365}
1366}
1367}
1368
1369}
1370
1371
1372function endwar()
1373{
1374
1375if ( war_started == true )
1376{
1377if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
1378if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
1379if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1380war.Delete();
1381team1_pickup.Remove();
1382team2_pickup.Remove();
1383gondorbase_war_pickup.Remove();
1384mordorbase_war_pickup.Remove();
1385DestroyMarker(team1_marker);
1386DestroyMarker(team2_marker);
1387war_minremain = 0;
1388war_secremain = 0;
1389war_started = false;
1390Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1391Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1392Message(GREEN+" Teleporting Warriors To Lobby!" );
1393EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1394EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1395EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1396for( local i=0; i <= GetMaxPlayers(); i++ )
1397{
1398local plr = FindPlayer( i );
1399if(plr)
1400{
1401if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1402hasflagg[plr.ID] = false;
1403hasflagm[plr.ID] = false;
1404}
1405}
1406}
1407
1408if ( war1_started == true )
1409{
1410if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
1411if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
1412if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1413war1.Delete();
1414pickup1.Remove();
1415pickup2.Remove();
1416gondorbase_war1_pickup.Remove();
1417mordorbase_war1_pickup.Remove();
1418DestroyMarker(marker1);
1419DestroyMarker(marker2);
1420war_minremain = 0;
1421war_secremain = 0;
1422war1_started = false;
1423Message(RED+" Admin Server Has Deactivated Round Reason < Time Over >" );
1424Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1425Message(GREEN+" Teleporting Warriors To Lobby!" );
1426EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1427EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1428EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1429for( local i=0; i <= GetMaxPlayers(); i++ )
1430{
1431local plr = FindPlayer( i );
1432if(plr)
1433{
1434if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1435hasflagg[plr.ID] = false;
1436hasflagm[plr.ID] = false;
1437}
1438}
1439}
1440
1441if ( war2_started == true )
1442{
1443if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
1444if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
1445if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1446war2.Delete();
1447wars.Remove();
1448warz.Remove();
1449gondorbase_war2_pickup.Remove();
1450mordorbase_war2_pickup.Remove();
1451DestroyMarker(markerwar1);
1452DestroyMarker(markerwar2);
1453war_minremain = 0;
1454war_secremain = 0;
1455war2_started = false;
1456Message(RED+" Admin Server Has Deactivated Round Reason < Time Over >" );
1457Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1458Message(GREEN+" Teleporting Warriors To Lobby!" );
1459EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1460EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1461EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1462for( local i=0; i <= GetMaxPlayers(); i++ )
1463{
1464local plr = FindPlayer( i );
1465if(plr)
1466{
1467if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1468hasflagg[plr.ID] = false;
1469hasflagm[plr.ID] = false;
1470}
1471}
1472}
1473
1474if ( war3_started == true )
1475{
1476if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Have Won The Match!" ); }
1477if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Have Won The Match!" ); }
1478if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1479war3.Delete();
1480bases.Remove();
1481basez.Remove();
1482gondorbase_war3_pickup.Remove();
1483mordorbase_war3_pickup.Remove();
1484DestroyMarker(markerw1);
1485DestroyMarker(markerw2);
1486war_minremain = 0;
1487war_secremain = 0;
1488war3_started = false;
1489Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1490Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1491Message(GREEN+" Teleporting Warriors To Lobby!" );
1492EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1493EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1494EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1495for( local i=0; i <= GetMaxPlayers(); i++ )
1496{
1497local plr = FindPlayer( i );
1498if(plr)
1499{
1500if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1501hasflagg[plr.ID] = false;
1502hasflagm[plr.ID] = false;
1503}
1504}
1505}
1506
1507if ( war4_started == true )
1508{
1509if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1510if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1511if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1512war4.Delete();
1513team1war4_pickup.Remove();
1514team2war4_pickup.Remove();
1515gondorbase_war4_pickup.Remove();
1516mordorbase_war4_pickup.Remove();
1517DestroyMarker(team1war4_marker);
1518DestroyMarker(team2war4_marker);
1519war_minremain = 0;
1520war_secremain = 0;
1521war4_started = false;
1522Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1523Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1524Message(GREEN+" Teleporting Warriors To Lobby!" );
1525EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1526EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1527EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1528for( local i=0; i <= GetMaxPlayers(); i++ )
1529{
1530local plr = FindPlayer( i );
1531if(plr)
1532{
1533if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1534hasflagg[plr.ID] = false;
1535hasflagm[plr.ID] = false;
1536}
1537}
1538}
1539
1540if ( war5_started == true )
1541{
1542if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1543if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1544if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1545war5.Delete();
1546team1war5_pickup.Remove();
1547team2war5_pickup.Remove();
1548gondorbase_war5_pickup.Remove();
1549mordorbase_war5_pickup.Remove();
1550DestroyMarker(team1war5_marker);
1551DestroyMarker(team2war5_marker);
1552war_minremain = 0;
1553war_secremain = 0;
1554war5_started = false;
1555Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1556Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1557Message(GREEN+" Teleporting Warriors To Lobby!" );
1558EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1559EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1560EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1561for( local i=0; i <= GetMaxPlayers(); i++ )
1562{
1563local plr = FindPlayer( i );
1564if(plr)
1565{
1566if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1567hasflagg[plr.ID] = false;
1568hasflagm[plr.ID] = false;
1569}
1570}
1571}
1572
1573if ( war6_started == true )
1574{
1575if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1576if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1577if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1578war6.Delete();
1579team1war6_pickup.Remove();
1580team2war6_pickup.Remove();
1581gondorbase_war6_pickup.Remove();
1582mordorbase_war6_pickup.Remove();
1583DestroyMarker(team1war6_marker);
1584DestroyMarker(team2war6_marker);
1585war_minremain = 0;
1586war_secremain = 0;
1587war6_started = false;
1588Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1589Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1590Message(GREEN+" Teleporting Warriors To Lobby!" );
1591EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1592EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1593EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1594for( local i=0; i <= GetMaxPlayers(); i++ )
1595{
1596local plr = FindPlayer( i );
1597if(plr)
1598{
1599if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1600hasflagg[plr.ID] = false;
1601hasflagm[plr.ID] = false;
1602}
1603}
1604}
1605
1606if ( war7_started == true )
1607{
1608if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1609if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1610if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1611war7.Delete();
1612team1war7_pickup.Remove();
1613team2war7_pickup.Remove();
1614gondorbase_war7_pickup.Remove();
1615mordorbase_war7_pickup.Remove();
1616DestroyMarker(team1war7_marker);
1617DestroyMarker(team2war7_marker);
1618war_minremain = 0;
1619war_secremain = 0;
1620war7_started = false;
1621Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1622Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1623Message(GREEN+" Teleporting Warriors To Lobby!" );
1624EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1625EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1626EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1627for( local i=0; i <= GetMaxPlayers(); i++ )
1628{
1629local plr = FindPlayer( i );
1630if(plr)
1631{
1632if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1633hasflagg[plr.ID] = false;
1634hasflagm[plr.ID] = false;
1635}
1636}
1637}
1638
1639if ( war8_started == true )
1640{
1641if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1642if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1643if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1644war8.Delete();
1645team1war8_pickup.Remove();
1646team2war8_pickup.Remove();
1647gondorbase_war8_pickup.Remove();
1648mordorbase_war8_pickup.Remove();
1649DestroyMarker(team1war8_marker);
1650DestroyMarker(team2war8_marker);
1651war_minremain = 0;
1652war_secremain = 0;
1653war8_started = false;
1654Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1655Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1656Message(GREEN+" Teleporting Warriors To Lobby!" );
1657EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1658EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1659EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1660for( local i=0; i <= GetMaxPlayers(); i++ )
1661{
1662local plr = FindPlayer( i );
1663if(plr)
1664{
1665if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1666hasflagg[plr.ID] = false;
1667hasflagm[plr.ID] = false;
1668}
1669}
1670}
1671
1672if ( war9_started == true )
1673{
1674if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1675if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1676if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1677war9.Delete();
1678team1war9_pickup.Remove();
1679team2war9_pickup.Remove();
1680gondorbase_war9_pickup.Remove();
1681mordorbase_war9_pickup.Remove();
1682DestroyMarker(team1war9_marker);
1683DestroyMarker(team2war9_marker);
1684war_minremain = 0;
1685war_secremain = 0;
1686war9_started = false;
1687Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1688Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1689Message(GREEN+" Teleporting Warriors To Lobby!" );
1690EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1691EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1692EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1693for( local i=0; i <= GetMaxPlayers(); i++ )
1694{
1695local plr = FindPlayer( i );
1696if(plr)
1697{
1698if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1699hasflagg[plr.ID] = false;
1700hasflagm[plr.ID] = false;
1701}
1702}
1703}
1704
1705if ( war10_started == true )
1706{
1707if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1708if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1709if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1710war10.Delete();
1711team1war10_pickup.Remove();
1712team2war10_pickup.Remove();
1713gondorbase_war10_pickup.Remove();
1714mordorbase_war10_pickup.Remove();
1715DestroyMarker(team1war10_marker);
1716DestroyMarker(team2war10_marker);
1717war_minremain = 0;
1718war_secremain = 0;
1719war10_started = false;
1720Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1721Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1722Message(GREEN+" Teleporting Warriors To Lobby!" );
1723EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1724EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1725EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1726for( local i=0; i <= GetMaxPlayers(); i++ )
1727{
1728local plr = FindPlayer( i );
1729if(plr)
1730{
1731if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1732hasflagg[plr.ID] = false;
1733hasflagm[plr.ID] = false;
1734}
1735}
1736}
1737
1738if ( war11_started == true )
1739{
1740if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1741if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1742if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1743war11.Delete();
1744team1war11_pickup.Remove();
1745team2war11_pickup.Remove();
1746gondorbase_war11_pickup.Remove();
1747mordorbase_war11_pickup.Remove();
1748DestroyMarker(team1war11_marker);
1749DestroyMarker(team2war11_marker);
1750war_minremain = 0;
1751war_secremain = 0;
1752war11_started = false;
1753Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1754Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1755Message(GREEN+" Teleporting Warriors To Lobby!" );
1756EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1757EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1758EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1759for( local i=0; i <= GetMaxPlayers(); i++ )
1760{
1761local plr = FindPlayer( i );
1762if(plr)
1763{
1764if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1765hasflagg[plr.ID] = false;
1766hasflagm[plr.ID] = false;
1767}
1768}
1769}
1770
1771if ( war12_started == true )
1772{
1773if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1774if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1775if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1776war12.Delete();
1777team1war12_pickup.Remove();
1778team2war12_pickup.Remove();
1779gondorbase_war12_pickup.Remove();
1780mordorbase_war12_pickup.Remove();
1781DestroyMarker(team1war12_marker);
1782DestroyMarker(team2war12_marker);
1783war_minremain = 0;
1784war_secremain = 0;
1785war12_started = false;
1786Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1787Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1788Message(GREEN+" Teleporting Warriors To Lobby!" );
1789EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1790EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1791EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1792for( local i=0; i <= GetMaxPlayers(); i++ )
1793{
1794local plr = FindPlayer( i );
1795if(plr)
1796{
1797if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1798hasflagg[plr.ID] = false;
1799hasflagm[plr.ID] = false;
1800}
1801}
1802}
1803
1804if ( war13_started == true )
1805{
1806if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1807if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1808if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1809war13.Delete();
1810team1war13_pickup.Remove();
1811team2war13_pickup.Remove();
1812gondorbase_war13_pickup.Remove();
1813mordorbase_war13_pickup.Remove();
1814DestroyMarker(team1war13_marker);
1815DestroyMarker(team2war13_marker);
1816war_minremain = 0;
1817war_secremain = 0;
1818war13_started = false;
1819Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1820Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1821Message(GREEN+" Teleporting Warriors To Lobby!" );
1822EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1823EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1824EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1825for( local i=0; i <= GetMaxPlayers(); i++ )
1826{
1827local plr = FindPlayer( i );
1828if(plr)
1829{
1830if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1831hasflagg[plr.ID] = false;
1832hasflagm[plr.ID] = false;
1833}
1834}
1835}
1836
1837if ( war14_started == true )
1838{
1839if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1840if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1841if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1842war14.Delete();
1843team1war14_pickup.Remove();
1844team2war14_pickup.Remove();
1845gondorbase_war14_pickup.Remove();
1846mordorbase_war14_pickup.Remove();
1847DestroyMarker(team1war14_marker);
1848DestroyMarker(team2war14_marker);
1849war_minremain = 0;
1850war_secremain = 0;
1851war14_started = false;
1852Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1853Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1854Message(GREEN+" Teleporting Warriors To Lobby!" );
1855EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1856EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1857EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1858for( local i=0; i <= GetMaxPlayers(); i++ )
1859{
1860local plr = FindPlayer( i );
1861if(plr)
1862{
1863if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1864hasflagg[plr.ID] = false;
1865hasflagm[plr.ID] = false;
1866}
1867}
1868}
1869
1870if ( war15_started == true )
1871{
1872if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
1873if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
1874if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
1875war15.Delete();
1876team1war15_pickup.Remove();
1877team2war15_pickup.Remove();
1878gondorbase_war15_pickup.Remove();
1879mordorbase_war15_pickup.Remove();
1880DestroyMarker(team1war15_marker);
1881DestroyMarker(team2war15_marker);
1882war_minremain = 0;
1883war_secremain = 0;
1884war15_started = false;
1885Message(RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1886Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
1887Message(GREEN+" Teleporting Warriors To Lobby!" );
1888EchoMessage(ICOL_RED+" Admin Server Has Deactivated Round For Reason < Time Over >" );
1889EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
1890EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
1891for( local i=0; i <= GetMaxPlayers(); i++ )
1892{
1893local plr = FindPlayer( i );
1894if(plr)
1895{
1896if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
1897hasflagg[plr.ID] = false;
1898hasflagm[plr.ID] = false;
1899}
1900}
1901}
1902
1903}
1904
1905
1906function Updatescores()
1907{
1908
1909foreach( val in g_team1 )
1910{
1911
1912if ( val.Text != null ) val.Text.Delete();
1913val.Text = CreateTextdraw( " Team Gondor Warriors : " + team1_score, 780, 305, 0xffDC143B );
1914val.Text.SetRelativeForAll( true );
1915if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
1916
1917else
1918{
1919foreach ( val in g_team1 )
1920{
1921if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
1922}
1923}
1924}
1925
1926
1927foreach( val in g_team2 )
1928{
1929
1930if ( val.Text != null ) val.Text.Delete();
1931val.Text = CreateTextdraw( " Team Mordor Warriors : " + team2_score, 780, 325, 0xff638BEC );
1932val.Text.SetRelativeForAll( true );
1933if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
1934
1935else
1936{
1937foreach ( val in g_team2 )
1938{
1939if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
1940}
1941}
1942}
1943
1944
1945foreach( val in g_time )
1946{
1947if ( war_started == true )
1948{
1949
1950if ( val.Text != null ) val.Text.Delete();
1951val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
1952val.Text.SetRelativeForAll( true );
1953if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
1954
1955else
1956{
1957foreach ( val in g_time )
1958{
1959if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
1960}
1961}
1962}
1963if ( war1_started == true )
1964{
1965
1966if ( val.Text != null ) val.Text.Delete();
1967val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
1968val.Text.SetRelativeForAll( true );
1969
1970if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
1971
1972else
1973{
1974foreach ( val in g_time )
1975{
1976if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
1977}
1978}
1979}
1980if ( war2_started == true )
1981{
1982
1983if ( val.Text != null ) val.Text.Delete();
1984val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
1985val.Text.SetRelativeForAll( true );
1986
1987if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
1988
1989else
1990{
1991foreach ( val in g_time )
1992{
1993if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
1994}
1995}
1996}
1997if ( war3_started == true )
1998{
1999
2000if ( val.Text != null ) val.Text.Delete();
2001val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2002val.Text.SetRelativeForAll( true );
2003
2004if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2005
2006else
2007{
2008foreach ( val in g_time )
2009{
2010if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2011}
2012}
2013}
2014if ( war4_started == true )
2015{
2016
2017if ( val.Text != null ) val.Text.Delete();
2018val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2019val.Text.SetRelativeForAll( true );
2020
2021if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2022
2023else
2024{
2025foreach ( val in g_time )
2026{
2027if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2028}
2029}
2030}
2031if ( war5_started == true )
2032{
2033
2034if ( val.Text != null ) val.Text.Delete();
2035val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2036val.Text.SetRelativeForAll( true );
2037
2038if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2039
2040else
2041{
2042foreach ( val in g_time )
2043{
2044if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2045}
2046}
2047}
2048if ( war6_started == true )
2049{
2050
2051if ( val.Text != null ) val.Text.Delete();
2052val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2053val.Text.SetRelativeForAll( true );
2054
2055if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2056
2057else
2058{
2059foreach ( val in g_time )
2060{
2061if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2062}
2063}
2064}
2065if ( war7_started == true )
2066{
2067
2068if ( val.Text != null ) val.Text.Delete();
2069val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2070val.Text.SetRelativeForAll( true );
2071
2072if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2073
2074else
2075{
2076foreach ( val in g_time )
2077{
2078if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2079}
2080}
2081}
2082if ( war8_started == true )
2083{
2084
2085if ( val.Text != null ) val.Text.Delete();
2086val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2087val.Text.SetRelativeForAll( true );
2088
2089if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2090
2091else
2092{
2093foreach ( val in g_time )
2094{
2095if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2096}
2097}
2098}
2099if ( war9_started == true )
2100{
2101
2102if ( val.Text != null ) val.Text.Delete();
2103val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2104val.Text.SetRelativeForAll( true );
2105
2106if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2107
2108else
2109{
2110foreach ( val in g_time )
2111{
2112if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2113}
2114}
2115}
2116if ( war10_started == true )
2117{
2118
2119if ( val.Text != null ) val.Text.Delete();
2120val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2121val.Text.SetRelativeForAll( true );
2122
2123if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2124
2125else
2126{
2127foreach ( val in g_time )
2128{
2129if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2130}
2131}
2132}
2133
2134if ( war11_started == true )
2135{
2136
2137if ( val.Text != null ) val.Text.Delete();
2138val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2139val.Text.SetRelativeForAll( true );
2140
2141if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2142
2143else
2144{
2145foreach ( val in g_time )
2146{
2147if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2148}
2149}
2150}
2151
2152if ( war12_started == true )
2153{
2154
2155if ( val.Text != null ) val.Text.Delete();
2156val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2157val.Text.SetRelativeForAll( true );
2158
2159if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2160
2161else
2162{
2163foreach ( val in g_time )
2164{
2165if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2166}
2167}
2168}
2169
2170if ( war13_started == true )
2171{
2172
2173if ( val.Text != null ) val.Text.Delete();
2174val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2175val.Text.SetRelativeForAll( true );
2176
2177if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2178
2179else
2180{
2181foreach ( val in g_time )
2182{
2183if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2184}
2185}
2186}
2187
2188if ( war14_started == true )
2189{
2190
2191if ( val.Text != null ) val.Text.Delete();
2192val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2193val.Text.SetRelativeForAll( true );
2194
2195if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2196
2197else
2198{
2199foreach ( val in g_time )
2200{
2201if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2202}
2203}
2204}
2205
2206if ( war15_started == true )
2207{
2208
2209if ( val.Text != null ) val.Text.Delete();
2210val.Text = CreateTextdraw( " Time Remaining : " + war_minremain + " : " + war_secremain +" ", 780, 345, 0xffF7BE81 );
2211val.Text.SetRelativeForAll( true );
2212
2213if ( val.Text != null ) val.Text.ShowForPlayer( val.Player );
2214
2215else
2216{
2217foreach ( val in g_time )
2218{
2219if ( val.Text != null ) val.Text.HideFromPlayer( val.Player );
2220}
2221}
2222}
2223
2224}
2225
2226
2227if ( war_started == true )
2228{
2229war_secremain--;
2230if ( war_secremain < 0 )
2231{
2232war_secremain = 59;
2233war_minremain--;
2234if ( war_minremain < 0 ) endwar();
2235
2236}
2237}
2238
2239if ( war1_started == true )
2240{
2241war_secremain--;
2242if ( war_secremain < 0 )
2243{
2244war_secremain = 59;
2245war_minremain--;
2246if ( war_minremain < 0 ) endwar();
2247if ( GetPlayers() < 2 ) endwar1();
2248}
2249}
2250
2251if ( war2_started == true )
2252{
2253war_secremain--;
2254if ( war_secremain < 0 )
2255{
2256war_secremain = 59;
2257war_minremain--;
2258if ( war_minremain < 0 ) endwar();
2259if ( GetPlayers() < 2 ) endwar1();
2260}
2261}
2262
2263if ( war3_started == true )
2264{
2265war_secremain--;
2266if ( war_secremain < 0 )
2267{
2268war_secremain = 59;
2269war_minremain--;
2270if ( war_minremain < 0 ) endwar();
2271if ( GetPlayers() < 2 ) endwar1();
2272}
2273}
2274
2275if ( war4_started == true )
2276{
2277war_secremain--;
2278if ( war_secremain < 0 )
2279{
2280war_secremain = 59;
2281war_minremain--;
2282if ( war_minremain < 0 ) endwar();
2283if ( GetPlayers() < 2 ) endwar1();
2284}
2285}
2286
2287if ( war5_started == true )
2288{
2289war_secremain--;
2290if ( war_secremain < 0 )
2291{
2292war_secremain = 59;
2293war_minremain--;
2294if ( war_minremain < 0 ) endwar();
2295if ( GetPlayers() < 2 ) endwar1();
2296}
2297}
2298
2299if ( war6_started == true )
2300{
2301war_secremain--;
2302if ( war_secremain < 0 )
2303{
2304war_secremain = 59;
2305war_minremain--;
2306if ( war_minremain < 0 ) endwar();
2307if ( GetPlayers() < 2 ) endwar1();
2308}
2309}
2310
2311if ( war7_started == true )
2312{
2313war_secremain--;
2314if ( war_secremain < 0 )
2315{
2316war_secremain = 59;
2317war_minremain--;
2318if ( war_minremain < 0 ) endwar();
2319if ( GetPlayers() < 2 ) endwar1();
2320}
2321}
2322
2323if ( war8_started == true )
2324{
2325war_secremain--;
2326if ( war_secremain < 0 )
2327{
2328war_secremain = 59;
2329war_minremain--;
2330if ( war_minremain < 0 ) endwar();
2331if ( GetPlayers() < 2 ) endwar1();
2332}
2333}
2334
2335if ( war9_started == true )
2336{
2337war_secremain--;
2338if ( war_secremain < 0 )
2339{
2340war_secremain = 59;
2341war_minremain--;
2342if ( war_minremain < 0 ) endwar();
2343if ( GetPlayers() < 2 ) endwar1();
2344}
2345}
2346
2347if ( war10_started == true )
2348{
2349war_secremain--;
2350if ( war_secremain < 0 )
2351{
2352war_secremain = 59;
2353war_minremain--;
2354if ( war_minremain < 0 ) endwar();
2355if ( GetPlayers() < 2 ) endwar1();
2356}
2357}
2358
2359if ( war11_started == true )
2360{
2361war_secremain--;
2362if ( war_secremain < 0 )
2363{
2364war_secremain = 59;
2365war_minremain--;
2366if ( war_minremain < 0 ) endwar();
2367if ( GetPlayers() < 2 ) endwar1();
2368}
2369}
2370
2371if ( war12_started == true )
2372{
2373war_secremain--;
2374if ( war_secremain < 0 )
2375{
2376war_secremain = 59;
2377war_minremain--;
2378if ( war_minremain < 0 ) endwar();
2379if ( GetPlayers() < 2 ) endwar1();
2380}
2381}
2382
2383if ( war13_started == true )
2384{
2385war_secremain--;
2386if ( war_secremain < 0 )
2387{
2388war_secremain = 59;
2389war_minremain--;
2390if ( war_minremain < 0 ) endwar();
2391if ( GetPlayers() < 2 ) endwar1();
2392}
2393}
2394
2395if ( war14_started == true )
2396{
2397war_secremain--;
2398if ( war_secremain < 0 )
2399{
2400war_secremain = 59;
2401war_minremain--;
2402if ( war_minremain < 0 ) endwar();
2403if ( GetPlayers() < 2 ) endwar1();
2404}
2405}
2406
2407if ( war15_started == true )
2408{
2409war_secremain--;
2410if ( war_secremain < 0 )
2411{
2412war_secremain = 59;
2413war_minremain--;
2414if ( war_minremain < 0 ) endwar();
2415if ( GetPlayers() < 2 ) endwar1();
2416}
2417}
2418
2419}
2420
2421
2422// ================================== E N D OF O F F I C I A L E V E N T S ======================================
2423
2424
2425
2426
2427
2428
2429
2430function Showdeathmessages( reason )
2431
2432{
2433
2434switch( reason )
2435
2436{
2437
2438case 70: return "Committed suicide";
2439
2440case 51: return "Exploded";
2441
2442case 44: return "Fell to death";
2443
2444case 43: return "Drowned";
2445
2446case 41: return "Exploded";
2447
2448case 39: return "Died in a car crash";
2449
2450case 31: return "Burned to death";
2451
2452case 14: return "Choked to death";
2453
2454default: return "Died For Some Reason";
2455
2456}
2457
2458}
2459
2460function CheckPickups()
2461{
2462local p, maxp = GetPickupCount(), pickup;
2463for(p=0; p < maxp; ++p)
2464{
2465pickup = FindPickup(p);
2466if(pickup && pickup.Model == 6052) pickup.Remove();
2467}
2468}
2469
2470function onPickupPickedUp( player, pickup )
2471{
2472
2473if ( pickup.Model == 6008 && player.Team == 6 )
2474{
2475LastPos[player.ID] = player.Pos;
2476NewTimer("countdown",1000,1,6,player.ID);
2477pickup.Timer = 30000
2478}
2479if ( pickup.Model == 6007 && player.Team == 5 )
2480{
2481LastPos[player.ID] = player.Pos;
2482NewTimer("countdown",1000,1,6,player.ID);
2483pickup.Timer = 30000
2484}
2485if ( pickup.Model == 6007 && player.Team == 6 )
2486{
2487MessagePlayer(YELLOW+" You Cannot Capture Your Own Team's Flag!",player);
2488pickup.Timer = 0;
2489}
2490if ( pickup.Model == 6008 && player.Team == 5 )
2491{
2492MessagePlayer(YELLOW+" You Cannot Capture Your Own Team's Flag!",player);
2493pickup.Timer = 0;
2494}
2495
2496if ( pickup.Model == 6024 && player.Team == 5 )
2497{
2498if ( hasflagg[player.ID] == true )
2499{
2500Message(GREEN+" Gondor Has Dropped Mordor's Flag At Their Base By < "+player.Name+" >");
2501EchoMessage(ICOL_BROWN+" Gondor Has Dropped Mordor's Flag At Their Base By < "+player.Name+" >");
2502Message(LGREEN+" 10 Points To Gondor!");
2503EchoMessage(ICOL_RED+" 10 Points To Gondor!");
2504team1_score++;
2505team1_score++;
2506team1_score++;
2507team1_score++;
2508team1_score++;
2509team1_score++;
2510team1_score++;
2511team1_score++;
2512team1_score++;
2513team1_score++;
2514hasflagg[player.ID] = false;
2515status[ player.ID ].Flags++;
2516player.Health = 100;
2517PlaySound( player.UniqueWorld ,368, player.Pos );
2518}
2519else MessagePlayer(YELLOW+" You Need To Capture Mordor's Flag, In Order To Drop.",player);
2520}
2521
2522
2523if ( pickup.Model == 6025 && player.Team == 6 )
2524{
2525if ( hasflagm[player.ID] == true )
2526{
2527Message(GREEN+" Mordor Has Dropped Gondor's Flag At Their Base By < "+player.Name+" >");
2528EchoMessage(ICOL_BROWN+" Mordor Has Dropped Gondor's Flag At Their Base By < "+player.Name+" >");
2529Message(LGREEN+" 10 Points To Mordor!");
2530EchoMessage(ICOL_RED+" 10 Points To Mordor!");
2531team2_score++;
2532team2_score++;
2533team2_score++;
2534team2_score++;
2535team2_score++;
2536team2_score++;
2537team2_score++;
2538team2_score++;
2539team2_score++;
2540team2_score++;
2541hasflagm[player.ID] = false;
2542status[ player.ID ].Flags++;
2543player.Health = 100;
2544PlaySound( player.UniqueWorld ,368, player.Pos );
2545}
2546else MessagePlayer(YELLOW+" You Need To Capture Gondor's Flag, In Order To Drop.",player);
2547}
2548
2549
2550if ( pickup.Model == 6024 && player.Team == 6 )
2551{
2552MessagePlayer(YELLOW+" This Is Gondor's Base, Not Yours "+player.Name+"!",player);
2553}
2554
2555if ( pickup.Model == 6025 && player.Team == 5 )
2556{
2557MessagePlayer(YELLOW+" This Is Mordor's Base, Not Yours "+player.Name+"!",player);
2558}
2559
2560if ( pickup.Model == 6052 && player.Health >= 90 ) MessagePlayer(LWHITE+" You Already Have "+player.Health+"% Hp!",player)
2561
2562if ( pickup.Model == 6052 && player.Health < 90 )
2563{
2564player.Health = 100;
2565MessagePlayer(LWHITE+" You Have Received Full HP :V",player);
2566pickup.Remove();
2567}
2568
2569}
2570
2571function countdown(num, pid)
2572{
2573local player = FindPlayer(pid);
2574num--;
2575Announce(" ~h~"+num.tointeger()+" Seconds Left",player,8);
2576PlaySound( player.UniqueWorld ,370, player.Pos );
2577
2578if(DistanceFromPoint( player.Pos.x, player.Pos.y,LastPos[player.ID].x, LastPos[player.ID].y ) < 2 && num.tointeger() == 0)
2579{
2580if(player.Team == 6)
2581{
2582Announce(" ~h~ Gondor's Flag Captured!",player,8);
2583Message(GREEN+" Mordor Has Captured Gondor's Flag By < "+player.Name+" >");
2584MessagePlayer(LGREEN+" You Need To Drop Flag At Your Base!",player);
2585EchoMessage(ICOL_BROWN+" Mordor Has Captured Gondor's Flag By < "+player.Name+" >");
2586player.Health=100;
2587hasflagm[ player.ID ] = true;
2588PlaySound( player.UniqueWorld ,335, player.Pos );
2589}
2590if (player.Team == 5)
2591{
2592Announce(" ~h~ Mordor's Flag Captured!",player,8);
2593
2594Message(GREEN+" Gondor Has Captured Mordor's Flag By < "+player.Name+" >");
2595MessagePlayer(LGREEN+" You Need To Drop Flag At Your Base!",player);
2596EchoMessage(ICOL_BROWN+" Gondor Has Captured Mordor's Flag By < "+player.Name+" >");
2597player.Health=100;
2598hasflagg[ player.ID ] = true;
2599PlaySound( player.UniqueWorld ,335, player.Pos );
2600}
2601return;
2602}
2603else if(DistanceFromPoint( player.Pos.x, player.Pos.y,LastPos[player.ID].x, LastPos[player.ID].y ) < 2 && num.tointeger() >= 1) NewTimer("countdown",1000,1,num, pid);
2604else
2605{
2606Announce("~h~ Failed To Capture!",player,8);
2607if ( player.Team == 5 ){Message(LGREEN+" Gondor Has Failed To Capture Mordor's Flag, By < "+player.Name+" >"); EchoMessage(ICOL_RED+" Gondor Has Failed To Capture Mordor's Flag, By < "+player.Name+" >"); hasflagg[ player.ID ] = false;}
2608if ( player.Team == 6 ){Message(LGREEN+" Mordor Has Failed To Capture Gondor's Flag, By < "+player.Name+" >"); EchoMessage(ICOL_RED+" Mordor Has Failed To Capture Mordor's Flag, By < "+player.Name+" >"); hasflagm[ player.ID ] = false;}
2609
2610return;
2611}
2612}
2613
2614
2615
2616function onPlayerCommand( player, cmd, text )
2617
2618{
2619
2620if ( status[ player.ID ].Muted ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"You Are Muted, You Cannot Use Commands.", player );
2621
2622else
2623
2624{
2625
2626cmd = cmd.tolower();
2627
2628if ( cmd == "register" )
2629
2630{
2631
2632if ( status[ player.ID ].IsReg == true ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"You Are Already Registered!", player );
2633
2634else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Password>", player );
2635
2636else {
2637
2638local pass = GetTok(text," ",1);
2639
2640local now = date();
2641
2642local password = Encrypt(pass);
2643
2644QuerySQL( db, "INSERT INTO Account ( Name, User, IP, Level, Pass, Kills, Flags, Deaths, Cash, Joins, DateRegistered, Stats ) VALUES ( '" + player.Name.tolower() + "', '"+player.Name+"', '" + player.IP + "', 1, '" + password + "', 0, 0, 0, 0, 0, '" + now.day + "/" + now.month + "/" + now.year + " " + now.hour + ":" + now.min + ":" + now.sec + "', 'on' )" );
2645
2646status[ player.ID ].IsLogged = true;
2647
2648status[ player.ID ].IsReg = true;
2649
2650Message(YELLOW+" "+player.Name+" Has Registered Successfully!")
2651
2652EchoMessage(ICOL_ORANGE+" "+player.Name+" Has Registered Successfully!")
2653
2654MessagePlayer(YELLOW+" Don't Forget Your Password:"+ORANGE+"< "+pass+" >.", player );
2655
2656}
2657
2658}
2659
2660else if ( cmd == "report" )
2661{
2662if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Are Already Logged-In.", player );
2663else if ( status[ player.ID ].IsReg == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!", player );
2664else if ( !text ) MessagePlayer(ORANGE+"Usage: /report <Nick/ID> <Reason>.", player );
2665else {
2666local plr = GetPlayer( GetTok( text, " ", 1 ) ), reason = GetTok( text, " ", 2, NumTok( text, " " ) );
2667if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
2668
2669else if ( reason == null ) MessagePlayer(ORANGE+" Syntax /report <Nick/ID> <Reason>.", player );
2670else {
2671MessagePlayer(GREEN+" Report Successfully Sent To Admins!", player );
2672local a = 0, b = GetMaxPlayers(), c = 0, d = GetMaxPlayers(), nick, plrlevel;
2673while ( ( a < b ) && ( c < d ) )
2674{
2675nick = FindPlayer( a );
2676if ( nick )
2677{
2678plrlevel = GetLevel( nick );
2679if ( plrlevel > 2 ) MessagePlayer(RED+" "+player.Name+" Has Report < "+plr.Name+" > For Reason < "+reason+" >.",nick );
2680c ++;
2681}
2682a ++;
2683}
2684SendPrivIRC( ICOL_GREEN+" <Priv Msg> "+player.Name+" Has Report < "+plr.Name+" > For Reason < "+reason+" >.", 5 );
2685}
2686}
2687}
2688
2689else if ( cmd == "myweps" )
2690{
2691player.Disarm();
2692mywep[player.ID] = true;
2693player.SetWeapon(21, 99999);
2694player.SetWeapon(26, 99999);
2695wepset1[player.ID] = false;
2696wepset2[player.ID] = false;
2697wepset3[player.ID] = false;
2698wepset4[player.ID] = false;
2699wepset5[player.ID] = false;
2700wepset6[player.ID] = false;
2701wepset7[player.ID] = false;
2702
2703}
2704
2705
2706
2707else if ( cmd == "login" )
2708{
2709if ( status[ player.ID ].IsLogged == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Are Already Logged-In.", player );
2710else if ( status[ player.ID ].IsReg == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!", player );
2711else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Password>.", player );
2712else if ( Encrypt(text) != GetPass( player ) )
2713{
2714Attempts[ player.ID ]++;
2715MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Password <"+Attempts[ player.ID ]+"/3>", player );
2716if ( Attempts[ player.ID ] == 3 )
2717{
2718Message(RED+" Admin Server Kicked "+player.Name+" Reason < Invalid Password >.");
2719KickPlayer(player);
2720}
2721}
2722else
2723{
2724local q = QuerySQL( db, "SELECT * FROM Account WHERE Name='" + player.Name.tolower() + "'" );
2725
2726if ( GetSQLColumnData( q, 0 ) != null )
2727
2728{
2729
2730status[ player.ID ].Kills = GetSQLColumnData( q, 5 );
2731
2732status[ player.ID ].Flags = GetSQLColumnData( q, 6 );
2733
2734status[ player.ID ].Deaths = GetSQLColumnData( q, 7 );
2735
2736status[ player.ID ].Cash = GetSQLColumnData( q, 8 );
2737
2738status[ player.ID ].Joins = GetSQLColumnData( q, 10 );
2739}
2740GetSQLNextRow( q );
2741
2742status[ player.ID ].IsLogged = true;
2743
2744QuerySQL(db, "UPDATE Account SET IP='" + player.IP + "' WHERE Name='" + player.Name.tolower() + "'");
2745
2746status[ player.ID ].Joins++;
2747
2748Message(YELLOW+" "+player.Name+" Has Logged-In Successfully!");
2749
2750MessagePlayer(ORANGE+" Your IP "+YELLOW+"< "+player.IP+" > "+ORANGE+"| Level "+YELLOW+"< "+GetLevelTag(player)+" >",player);
2751
2752EchoMessage(ICOL_ORANGE+" "+player.Name+" Has Logged-In Successfully!");
2753
2754FreeSQLQuery( q );
2755}
2756}
2757
2758
2759
2760else if ( cmd == "changepass" )
2761
2762{
2763
2764if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
2765
2766else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
2767
2768else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+ cmd +" <Password>", player );
2769
2770else {
2771
2772local pass = Encrypt(text);
2773
2774MessagePlayer(GREEN+" Successfully Changed Your Password To "+ GREEN +" < " + text + " >"+ GREEN +" Don't Forget It Ever!",player);
2775
2776QuerySQL(db,"UPDATE Account SET Pass='"+pass+"' WHERE Name='"+player.Name.tolower()+"'");
2777
2778}
2779
2780}
2781
2782
2783else if ( cmd == "turnstats" )
2784
2785{
2786
2787local q = QuerySQL( db, "SELECT Stats FROM Account WHERE Name='"+player.Name.tolower()+"'");
2788
2789if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
2790
2791else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
2792
2793else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <On/Off>", player );
2794
2795else {
2796
2797if ( text == "on" )
2798
2799{
2800
2801if ( GetSQLColumnData(q, 0 ) == "on" ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Are Already Enabled Nostats!", player );
2802
2803else {
2804
2805QuerySQL( db, "UPDATE Account SET Stats='on' WHERE Name='"+player.Name.tolower()+"'" );
2806
2807MessagePlayer(GREEN+" Players Can Able To See Your Stats!", player );
2808
2809}
2810
2811}
2812
2813else if ( text == "off" )
2814
2815{
2816
2817if ( GetSQLColumnData(q, 1 ) == "off" ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Are Already Disabled Nostats!", player );
2818
2819else {
2820
2821QuerySQL( db, "UPDATE Account SET Stats='off' WHERE Name='"+player.Name.tolower()+"'" );
2822
2823MessagePlayer(YELLOW+" Players Can't Able To See Your Stats!", player );
2824
2825}
2826
2827}
2828
2829else MessagePlayer(ORANGE+" >> Syntax: /"+cmd+" <On/Off>", player);
2830
2831}
2832
2833FreeSQLQuery( q );
2834
2835}
2836
2837
2838else if ( cmd == "night" )
2839
2840{
2841
2842if ( IsAdmin( player, cmd ) ) return 0;
2843
2844else if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Registered First!",player);
2845
2846else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Logged-In First!",player);
2847
2848else {
2849
2850SetWeather( 4 );
2851
2852SetHour( 22 );
2853
2854SetMinute( 0 );
2855
2856Message( GREY+" Admin "+ player.Name +" Has Set Weather To Night.");
2857
2858EchoMessage( ICOL_GREY+" Admin "+ player.Name +" Has Set Weather To Night.");
2859
2860}
2861
2862}
2863
2864
2865
2866else if ( cmd == "sunny" )
2867
2868{
2869
2870if ( IsAdmin( player, cmd ) ) return 0;
2871
2872else if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Registered First!",player);
2873
2874else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Logged-In First!",player);
2875
2876else {
2877
2878SetWeather( 4 );
2879
2880SetHour( 12 );
2881
2882SetMinute( 0 );
2883
2884Message( GREY+" Admin "+ player.Name +" Has Set Weather To Sunny.");
2885
2886EchoMessage( ICOL_GREY+" Admin "+ player.Name +" Has Set Weather To Sunny.");
2887
2888}
2889
2890}
2891
2892
2893
2894
2895
2896else if ( cmd == "goto" )
2897
2898{
2899
2900if ( IsAdmin( player, cmd ) ) return 0;
2901
2902else if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Registered First!",player);
2903
2904else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Logged-In First!",player);
2905
2906else if ( !player.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"First Spawned And Then Use It.", player );
2907
2908else if ( !text ) MessagePlayer( ORANGE+" Syntax: !"+cmd+" <Nick/ID>", player );
2909
2910else {
2911
2912local plr = GetPlayer( text );
2913
2914if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
2915
2916else if ( !plr.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned Yet.", player );
2917
2918else {
2919
2920player.Pos = plr.Pos;
2921Message(RED+" Admin "+player.Name+" Teleported To "+plr.Name+"! ");
2922EchoMessage(ICOL_GREEN+" Admin "+player.Name+" Teleported To "+plr.Name+"! ");
2923
2924}
2925
2926}
2927
2928}
2929
2930
2931else if ( ( cmd == "commands" ) || ( cmd == "cmds" ) )
2932
2933{
2934
2935if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
2936
2937else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
2938
2939else {
2940
2941
2942MessagePlayer(YELLOW+" |CMD| "+WHITE+"(/) "+ORANGE+"Register, Login, Turnstats, Changepass,",player);
2943
2944MessagePlayer(YELLOW+" |CMD| "+WHITE+"(/) "+ORANGE+"Check !Commands To View Other Cmds",player);
2945
2946
2947}
2948
2949}
2950
2951
2952
2953// Admin Commands Here..
2954
2955else if ( cmd == "hideadmin" )
2956
2957{
2958
2959if ( IsAdmin( player, cmd ) ) return 0;
2960
2961else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <On/Off>", player );
2962
2963else if ( text && text == "on" )
2964
2965{
2966
2967if(status[player.ID].hide_admin == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Are Already Invisible In Admin-List.", player);
2968
2969else {
2970
2971status[player.ID].hide_admin = true;
2972
2973MessagePlayer(RED+" You Are Now Invisible In Admin-List.", player);
2974
2975}
2976
2977}
2978
2979else if( text && text == "off" )
2980
2981{
2982
2983if (status[player.ID].hide_admin == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Are Already Visible In Admin-List.",player);
2984
2985else {
2986
2987status[player.ID].hide_admin = false;
2988
2989MessagePlayer(GREEN+" You Are Now Visible In Admin-List.", player);
2990
2991}
2992
2993}
2994
2995}
2996
2997else if ( cmd == "pauseround" )
2998{
2999if ( IsAdmin( player, cmd) ) return 0;
3000else if ( war_paused == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Is Already Paused.", player );
3001else {
3002if ( war_paused == false )
3003FreezeAll();
3004JEJE.Stop();
3005Message(RED+" Admin "+player.Name+" Has Paused Round.");
3006EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Paused Round.");
3007war_paused = true;
3008}
3009}
3010
3011else if ( cmd == "resumeround" )
3012{
3013if ( IsAdmin( player, cmd) ) return 0;
3014else if ( war_paused == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Is Already Resumed.", player );
3015else {
3016if ( war_paused == true )
3017UnfreezeAll();
3018JEJE.Start();
3019Message(RED+" Admin "+player.Name+" Has Resumed Round.");
3020EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Resumed Round.");
3021war_paused = false;
3022}
3023}
3024
3025
3026else if ( cmd == "startround" )
3027
3028{
3029if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Base-ID>", player );
3030else if ( war_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3031else if ( war1_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3032else if ( war2_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3033else if ( war3_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3034else if ( war4_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3035else if ( war5_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3036else if ( war6_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3037else if ( war7_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3038else if ( war8_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3039else if ( war9_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3040else if ( war10_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3041else if ( war11_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3042else if ( war12_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3043else if ( war13_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3044else if ( war14_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3045else if ( war15_started == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Started.", player );
3046
3047else {
3048switch( text.tolower() )
3049{
3050case "1":
3051
3052team1_marker <- CreateMarker(player.World, Vector( 343.683, -258.46, 35.8813 ), 3, RGB(32, 177, 170), 101 );
3053team2_marker <- CreateMarker(player.World, Vector(254.588, -309.387, 9.24835 ), 3, RGB(32, 177, 170), 100 );
3054team1_pickup <- CreatePickup( 6008, player.World, 1, Vector( 254.387, -309.416, 9.24836 ), 255, true );
3055team2_pickup <- CreatePickup( 6007, player.World, 1, Vector( 343.71, -258.648, 35.8813 ), 255, true );
3056gondorbase_war_pickup <- CreatePickup( 6024, player.World, 1, Vector(258.172, -296.708, 9.24852), 255, true );
3057mordorbase_war_pickup <- CreatePickup( 6025, player.World, 1, Vector(336.784, -256.681, 29.6466), 255, true );
3058war <- CreateTextdraw( " Construction Building" , 780, 365, 0xffF7D358 );
3059SetShowOnlyTeamMarkers(true);
3060war_started = true;
3061team1_score = 0;
3062team2_score = 0;
3063war_minremain = 10;
3064war_secremain = 0;
3065Message(RED+" "+player.Name+" Has Activated Round For Base < Construction Building >" );
3066EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Construction Building >" );
3067for( local i=0; i <= GetMaxPlayers(); i++ )
3068{
3069local plr = FindPlayer( i );
3070if(plr)
3071{
3072if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(258.172, -296.708, 9.24852); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3073if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(336.784, -256.681, 29.6466); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3074war.SetRelativeForAll( true );
3075war.ShowForPlayer(plr);
3076}
3077}
3078break;
3079
3080case "2":
3081
3082marker1 <- CreateMarker(player.World, Vector( -1743.34, -288.671, 29.7525 ), 3, RGB(32, 177, 170), 100 );
3083marker2 <- CreateMarker(player.World, Vector( -1694.79, -180.324, 29.7525 ), 3, RGB(32, 177, 170), 101 );
3084pickup1 <- CreatePickup( 6008, player.World, 1, Vector( -1743.34, -288.671, 29.7525 ), 255, true );
3085pickup2 <- CreatePickup( 6007, player.World, 1, Vector( -1694.79, -180.324, 29.7525 ), 255, true );
3086gondorbase_war1_pickup <- CreatePickup( 6024, player.World, 1, Vector(-1746.97, -299.523, 14.8683), 255, true );
3087mordorbase_war1_pickup <- CreatePickup( 6025, player.World, 1, Vector(-1718.85, -154.495, 14.8683), 255, true );
3088war1 <- CreateTextdraw( " Army Base" , 780, 365, 0xffF7D358 );
3089SetShowOnlyTeamMarkers(true);
3090war1_started = true;
3091team1_score = 0;
3092team2_score = 0;
3093war_minremain = 10;
3094war_secremain = 0;
3095Message(RED+" "+player.Name+" Has Activated Round For Base < Army Base >" );
3096EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Army Base >" );
3097for( local i=0; i <= GetMaxPlayers(); i++ )
3098{
3099local plr = FindPlayer( i );
3100if(plr)
3101{
3102if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-1746.97, -299.523, 14.8683); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3103if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-1718.85, -154.495, 14.8683); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3104war1.SetRelativeForAll( true );
3105war1.ShowForPlayer(plr);
3106}
3107}
3108
3109break;
3110
3111case "3":
3112
3113markerwar1 <- CreateMarker(player.World, Vector(65.2939, 1112.78, 32.6039 ), 3, RGB(32, 177, 170), 100 );
3114markerwar2 <- CreateMarker(player.World, Vector( -17.4194, 1221.17, 21.4526 ), 3, RGB(32, 177, 170), 101 );
3115wars <- CreatePickup( 6008, player.World, 1, Vector(65.2939, 1112.78, 32.6039 ), 255, true );
3116warz <- CreatePickup( 6007, player.World, 1, Vector( -17.4194, 1221.17, 21.4526 ), 255, true );
3117gondorbase_war2_pickup <- CreatePickup( 6024, player.World, 1, Vector(75.8001, 1104.36, 18.7597), 255, true );
3118mordorbase_war2_pickup <- CreatePickup( 6025, player.World, 1, Vector(-38.3833, 1196.11, 21.4526), 255, true );
3119war2 <- CreateTextdraw( " Prawn Island" , 780, 365, 0xffF7D358 );
3120SetShowOnlyTeamMarkers(true);
3121war2_started = true;
3122team1_score = 0;
3123team2_score = 0;
3124war_minremain = 10;
3125war_secremain = 0;
3126Message(RED+" "+player.Name+" Has Activated Round For Base < Prawn Island >" );
3127EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Prawn Island >" );
3128for( local i=0; i <= GetMaxPlayers(); i++ )
3129{
3130local plr = FindPlayer( i );
3131if(plr)
3132{
3133if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(75.8001, 1104.36, 18.7597); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3134if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-38.3833, 1196.11, 21.4526); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3135war2.SetRelativeForAll( true );
3136war2.ShowForPlayer(plr);
3137}
3138}
3139
3140break;
3141
3142case "4":
3143
3144markerw1 <- CreateMarker(player.World, Vector( -84.112, 1022.41, 54.9891 ), 3, RGB(32, 177, 170), 100 );
3145markerw2 <- CreateMarker(player.World, Vector( -17.2593, 885.354, 12.4603 ), 3, RGB(32, 177, 170), 101 );
3146basez <- CreatePickup( 6008, player.World, 1, Vector( -84.112, 1022.41, 54.9891 ), 255, true );
3147bases <- CreatePickup( 6007, player.World, 1, Vector( -17.2593, 885.354, 12.4603 ), 255, true );
3148gondorbase_war3_pickup <- CreatePickup( 6024, player.World, 1, Vector(-106.515, 1024.94, 10.9403), 255, true );
3149mordorbase_war3_pickup <- CreatePickup( 6025, player.World, 1, Vector(-46.414, 892.048, 10.9402), 255, true );
3150war3 <- CreateTextdraw( " Film Studio" , 780, 365, 0xffF7D358 );
3151SetShowOnlyTeamMarkers(true);
3152war3_started = true;
3153team1_score = 0;
3154team2_score = 0;
3155war_minremain = 10;
3156war_secremain = 0;
3157Message(RED+" "+player.Name+" Has Activated Round For Base < Film Studio >" );
3158EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Film Studio >" );
3159for( local i=0; i <= GetMaxPlayers(); i++ )
3160{
3161local plr = FindPlayer( i );
3162if(plr)
3163{
3164if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-106.515, 1024.94, 10.9403); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3165if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-46.414, 892.048, 10.9402); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3166war3.SetRelativeForAll( true );
3167war3.ShowForPlayer(plr);
3168}
3169}
3170
3171break;
3172
3173case "5":
3174
3175team1war4_marker <- CreateMarker(player.World, Vector( -479.297, -796.015, 9.19384 ), 3, RGB(32, 177, 170), 100 );
3176team2war4_marker <- CreateMarker(player.World, Vector( -427.637, -806.644, 14.4857 ), 3, RGB(32, 177, 170), 101 );
3177team1war4_pickup <- CreatePickup( 6008, player.World, 1, Vector( -479.297, -796.015, 9.19384 ), 255, true );
3178team2war4_pickup <- CreatePickup( 6007, player.World, 1, Vector( -427.637, -806.644, 14.4857 ), 255, true );
3179gondorbase_war4_pickup <- CreatePickup( 6024, player.World, 1, Vector(-536.955, -810.507, 19.1103), 255, true );
3180mordorbase_war4_pickup <- CreatePickup( 6025, player.World, 1, Vector(-398.039, -811.879, 23.244), 255, true );
3181war4 <- CreateTextdraw( " Unknown Ship" , 780, 365, 0xffF7D358 );
3182SetShowOnlyTeamMarkers(true);
3183war4_started = true;
3184team1_score = 0;
3185team2_score = 0;
3186war_minremain = 10;
3187war_secremain = 0;
3188Message(RED+" "+player.Name+" Has Activated Round For Base < Unknown Ship >" );
3189EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Unknown Ship >" );
3190for( local i=0; i <= GetMaxPlayers(); i++ )
3191{
3192local plr = FindPlayer( i );
3193if(plr)
3194{
3195if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-536.955, -810.507, 19.1103); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3196if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-398.039, -811.879, 23.244); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3197war4.SetRelativeForAll( true );
3198war4.ShowForPlayer(plr);
3199}
3200}
3201
3202break;
3203
3204case "6":
3205
3206team1war5_marker <- CreateMarker(player.World, Vector( -581.706, -1140.52, 46.1938 ), 3, RGB(32, 177, 170), 100 );
3207team2war5_marker <- CreateMarker(player.World, Vector( -539.121, -1091.52, 46.2038 ), 3, RGB(32, 177, 170), 101 );
3208team1war5_pickup <- CreatePickup( 6008, player.World, 1, Vector( -581.706, -1140.52, 46.1938 ), 255, true );
3209team2war5_pickup <- CreatePickup( 6007, player.World, 1, Vector( -539.121, -1091.52, 46.2038 ), 255, true );
3210gondorbase_war5_pickup <- CreatePickup( 6024, player.World, 1, Vector(-560.966, -1158.46, 32.3834), 255, true );
3211mordorbase_war5_pickup <- CreatePickup( 6025, player.World, 1, Vector(-522.766, -1103.03, 31.3887), 255, true );
3212war5 <- CreateTextdraw( " Concealed Junk Yard" , 780, 365, 0xffF7D358 );
3213SetShowOnlyTeamMarkers(true);
3214war5_started = true;
3215team1_score = 0;
3216team2_score = 0;
3217war_minremain = 10;
3218war_secremain = 0;
3219Message(RED+" "+player.Name+" Has Activated Round For Base < Concealed Junk Yard >" );
3220EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Concealed Junk Yard >" );
3221for( local i=0; i <= GetMaxPlayers(); i++ )
3222{
3223local plr = FindPlayer( i );
3224if(plr)
3225{
3226if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-560.966, -1158.46, 32.3834); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3227if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-522.766, -1103.03, 31.3887); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3228war5.SetRelativeForAll( true );
3229war5.ShowForPlayer(plr);
3230}
3231}
3232
3233break;
3234
3235case "7":
3236
3237team1war6_marker <- CreateMarker(player.World, Vector( 478.807, -1130.88, 23.9632 ), 3, RGB(32, 177, 170), 100 );
3238team2war6_marker <- CreateMarker(player.World, Vector( 614.64, -1128.43, 12.951 ), 3, RGB(32, 177, 170), 101 );
3239team1war6_pickup <- CreatePickup( 6008, player.World, 1, Vector( 478.807, -1130.88, 23.9632 ), 255, true );
3240team2war6_pickup <- CreatePickup( 6007, player.World, 1, Vector( 614.64, -1128.43, 12.951 ), 255, true );
3241gondorbase_war6_pickup <- CreatePickup( 6024, player.World, 1, Vector(493.581, -1139.6, 11.631), 255, true );
3242mordorbase_war6_pickup <- CreatePickup( 6025, player.World, 1, Vector(585.725, -1114.12, 12.3526), 255, true );
3243war6 <- CreateTextdraw( " Washington Beach" , 780, 365, 0xffF7D358 );
3244SetShowOnlyTeamMarkers(true);
3245war6_started = true;
3246team1_score = 0;
3247team2_score = 0;
3248war_minremain = 10;
3249war_secremain = 0;
3250Message(RED+" "+player.Name+" Has Activated Round For Base < Washington Beach >" );
3251EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Washington Beach >" );
3252for( local i=0; i <= GetMaxPlayers(); i++ )
3253{
3254local plr = FindPlayer( i );
3255if(plr)
3256{
3257if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(493.581, -1139.6, 11.631); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3258if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(585.725, -1114.12, 12.3526); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3259war6.SetRelativeForAll( true );
3260war6.ShowForPlayer(plr);
3261}
3262}
3263
3264break;
3265
3266case "8":
3267
3268team1war7_marker <- CreateMarker(player.World, Vector( -602.781, 631.967, 12.2347 ), 3, RGB(32, 177, 170), 100 );
3269team2war7_marker <- CreateMarker(player.World, Vector( -681.941, 708.284, 14.7272 ), 3, RGB(32, 177, 170), 101 );
3270team1war7_pickup <- CreatePickup( 6008, player.World, 1, Vector( -602.781, 631.967, 12.2347 ), 255, true );
3271team2war7_pickup <- CreatePickup( 6007, player.World, 1, Vector( -681.941, 708.284, 14.7272 ), 255, true );
3272gondorbase_war7_pickup <- CreatePickup( 6024, player.World, 1, Vector(-568.877, 666.239, 10.9075), 255, true );
3273mordorbase_war7_pickup <- CreatePickup( 6025, player.World, 1, Vector(-673.797, 719.681, 10.9149), 255, true );
3274war7 <- CreateTextdraw( " DT Biker's Bar" , 780, 365, 0xffF7D358 );
3275SetShowOnlyTeamMarkers(true);
3276war7_started = true;
3277team1_score = 0;
3278team2_score = 0;
3279war_minremain = 10;
3280war_secremain = 0;
3281Message(RED+" "+player.Name+" Has Activated Round For Base < DT Biker's Bar >" );
3282EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < DT Biker's Bar >" );
3283for( local i=0; i <= GetMaxPlayers(); i++ )
3284{
3285local plr = FindPlayer( i );
3286if(plr)
3287{
3288if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-568.877, 666.239, 10.9075); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3289if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-673.797, 719.681, 10.9149); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3290war7.SetRelativeForAll( true );
3291war7.ShowForPlayer(plr);
3292}
3293}
3294
3295break;
3296
3297case "9":
3298
3299team1war8_marker <- CreateMarker(player.World, Vector( 704.843, -86.6862, 49.2885 ), 3, RGB(32, 177, 170), 100 );
3300team2war8_marker <- CreateMarker(player.World, Vector( 990.25, -103.914, 54.121 ), 3, RGB(32, 177, 170), 101 );
3301team1war8_pickup <- CreatePickup( 6008, player.World, 1, Vector( 704.843, -86.6862, 49.2885 ), 255, true );
3302team2war8_pickup <- CreatePickup( 6007, player.World, 1, Vector( 990.25, -103.914, 54.121 ), 255, true );
3303gondorbase_war8_pickup <- CreatePickup( 6024, player.World, 1, Vector(772.109, -137.875, 12.4352), 255, true );
3304mordorbase_war8_pickup <- CreatePickup( 6025, player.World, 1, Vector(959.532, -104.245, 14.5272), 255, true );
3305war8 <- CreateTextdraw( " City Of Elves" , 780, 365, 0xffF7D358 );
3306SetShowOnlyTeamMarkers(true);
3307war8_started = true;
3308team1_score = 0;
3309team2_score = 0;
3310war_minremain = 10;
3311war_secremain = 0;
3312Message(RED+" "+player.Name+" Has Activated Round For Base < City Of Elves >" );
3313EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < City Of Elves >" );
3314for( local i=0; i <= GetMaxPlayers(); i++ )
3315{
3316local plr = FindPlayer( i );
3317if(plr)
3318{
3319if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(772.109, -137.875, 12.4352); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3320if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(959.532, -104.245, 16.5272); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3321war8.SetRelativeForAll( true );
3322war8.ShowForPlayer(plr);
3323}
3324}
3325
3326break;
3327
3328case "10":
3329
3330team1war9_marker <- CreateMarker(player.World, Vector( -378.524, -611.988, 9.16234 ), 3, RGB(32, 177, 170), 100 );
3331team2war9_marker <- CreateMarker(player.World, Vector( -378.503, -597.035, 25.8263 ), 3, RGB(32, 177, 170), 101 );
3332team1war9_pickup <- CreatePickup( 6008, player.World, 1, Vector( -378.524, -611.988, 9.16234 ), 255, true );
3333team2war9_pickup <- CreatePickup( 6007, player.World, 1, Vector( -378.503, -597.035, 25.8263 ), 255, true );
3334gondorbase_war9_pickup <- CreatePickup( 6024, player.World, 1, Vector(-408.917, -588.593, 11.6202), 255, true );
3335mordorbase_war9_pickup <- CreatePickup( 6025, player.World, 1, Vector(-378.368, -560.659, 19.5742), 255, true );
3336war9 <- CreateTextdraw( " Mansion War" , 780, 365, 0xffF7D358 );
3337SetShowOnlyTeamMarkers(true);
3338war9_started = true;
3339team1_score = 0;
3340team2_score = 0;
3341war_minremain = 10;
3342war_secremain = 0;
3343Message(RED+" "+player.Name+" Has Activated Round For Base < Mansion War >" );
3344EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Mansion War >" );
3345for( local i=0; i <= GetMaxPlayers(); i++ )
3346{
3347local plr = FindPlayer( i );
3348if(plr)
3349{
3350if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-408.917, -588.593, 11.6202); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3351if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-378.368, -560.659, 19.5742); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3352war9.SetRelativeForAll( true );
3353war9.ShowForPlayer(plr);
3354}
3355}
3356
3357break;
3358
3359case "11":
3360
3361team1war10_marker <- CreateMarker(player.World, Vector( 465.485, -56.9693, 15.7038 ), 3, RGB(32, 177, 170), 100 );
3362team2war10_marker <- CreateMarker(player.World, Vector( 558.818, 17.1585, 52.7511 ), 3, RGB(32, 177, 170), 101 );
3363team1war10_pickup <- CreatePickup( 6008, player.World, 1, Vector( 465.485, -56.9693, 15.7038 ), 255, true );
3364team2war10_pickup <- CreatePickup( 6007, player.World, 1, Vector( 558.818, 17.1585, 52.7511 ), 255, true );
3365gondorbase_war10_pickup <- CreatePickup( 6024, player.World, 1, Vector(473.445, -69.1009, 10.4836), 255, true );
3366mordorbase_war10_pickup <- CreatePickup( 6025, player.World, 1, Vector(573.552, 26.9471, 22.7512), 255, true );
3367war10 <- CreateTextdraw( " WK Chariot Hotel" , 780, 365, 0xffF7D358 );
3368SetShowOnlyTeamMarkers(true);
3369war10_started = true;
3370team1_score = 0;
3371team2_score = 0;
3372war_minremain = 10;
3373war_secremain = 0;
3374Message(RED+" "+player.Name+" Has Activated Round For Base < WK Chariot Hotel >" );
3375EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < WK Chariot Hotel >" );
3376for( local i=0; i <= GetMaxPlayers(); i++ )
3377{
3378local plr = FindPlayer( i );
3379if(plr)
3380{
3381if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(473.445, -69.1009, 10.4836); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3382if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(573.552, 26.9471, 22.7512); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3383war10.SetRelativeForAll( true );
3384war10.ShowForPlayer(plr);
3385}
3386}
3387
3388break;
3389
3390case "12":
3391
3392team1war11_marker <- CreateMarker(player.World, Vector( 351.203, 1123.22, 25.3874 ), 3, RGB(32, 177, 170), 100 );
3393team2war11_marker <- CreateMarker(player.World, Vector( 469.242, 1206.53, 19.0104 ), 3, RGB(32, 177, 170), 101 );
3394team1war11_pickup <- CreatePickup( 6008, player.World, 1, Vector( 351.203, 1123.22, 25.3874 ), 255, true );
3395team2war11_pickup <- CreatePickup( 6007, player.World, 1, Vector( 469.242, 1206.53, 19.0104 ), 255, true );
3396gondorbase_war11_pickup <- CreatePickup( 6024, player.World, 1, Vector(382.962, 1125.09, 25.3841), 255, true );
3397mordorbase_war11_pickup <- CreatePickup( 6025, player.World, 1, Vector(463.901, 1222.79, 19.0687), 255, true );
3398war11 <- CreateTextdraw( " North Point Mall" , 780, 365, 0xffF7D358 );
3399SetShowOnlyTeamMarkers(true);
3400war11_started = true;
3401team1_score = 0;
3402team2_score = 0;
3403war_minremain = 10;
3404war_secremain = 0;
3405Message(RED+" "+player.Name+" Has Activated Round For Base < North Point Mall >" );
3406EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < North Point Mall >" );
3407for( local i=0; i <= GetMaxPlayers(); i++ )
3408{
3409local plr = FindPlayer( i );
3410if(plr)
3411{
3412if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(382.962, 1125.09, 25.3841); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3413if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(463.901, 1222.79, 19.0687); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3414war11.SetRelativeForAll( true );
3415war11.ShowForPlayer(plr);
3416}
3417}
3418
3419break;
3420
3421case "13":
3422
3423team1war12_marker <- CreateMarker(player.World, Vector( 1280.35, -833.284, 2085.68 ), 3, RGB(32, 177, 170), 100 );
3424team2war12_marker <- CreateMarker(player.World, Vector( 1234.37, -758.297, 2084.05 ), 3, RGB(32, 177, 170), 101 );
3425team1war12_pickup <- CreatePickup( 6008, player.World, 1, Vector( 1263.95, -784.987, 2091.95 ), 255, true );
3426team2war12_pickup <- CreatePickup( 6007, player.World, 1, Vector( 1281.15, -774.38, 2081.64 ), 255, true );
3427gondorbase_war12_pickup <- CreatePickup( 6024, player.World, 1, Vector(1280.35, -833.284, 2085.68), 255, true );
3428mordorbase_war12_pickup <- CreatePickup( 6025, player.World, 1, Vector(1234.37, -758.297, 2084.05), 255, true );
3429war12 <- CreateTextdraw( " SA Madd Dogg's Mansion" , 780, 365, 0xffF7D358 );
3430SetShowOnlyTeamMarkers(true);
3431war12_started = true;
3432team1_score = 0;
3433team2_score = 0;
3434war_minremain = 10;
3435war_secremain = 0;
3436Message(RED+" "+player.Name+" Has Activated Round For Base < San-Andreas Madd Dogg's Mansion >" );
3437EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < San-Andreas Madd Dogg's Mansion >" );
3438for( local i=0; i <= GetMaxPlayers(); i++ )
3439{
3440local plr = FindPlayer( i );
3441if(plr)
3442{
3443if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(1280.35, -833.284, 2085.68); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3444if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(1234.37, -758.297, 2084.05); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3445war12.SetRelativeForAll( true );
3446war12.ShowForPlayer(plr);
3447}
3448}
3449
3450break;
3451
3452case "14":
3453
3454team1war13_marker <- CreateMarker(player.World, Vector( -168.97, -470.311, 11.7373 ), 3, RGB(32, 177, 170), 100 );
3455team2war13_marker <- CreateMarker(player.World, Vector( 22.3258, -441.351, 14.6784 ), 3, RGB(32, 177, 170), 101 );
3456team1war13_pickup <- CreatePickup( 6008, player.World, 1, Vector( -152.513, -468.601, 27.8739 ), 255, true );
3457team2war13_pickup <- CreatePickup( 6007, player.World, 1, Vector( 21.2006, -447.984, 22.7596 ), 255, true );
3458gondorbase_war13_pickup <- CreatePickup( 6024, player.World, 1, Vector(-168.97, -470.311, 11.7373), 255, true );
3459mordorbase_war13_pickup <- CreatePickup( 6025, player.World, 1, Vector(22.3258, -441.351, 14.6784), 255, true );
3460war13 <- CreateTextdraw( " Starfish Island's Bridge" , 780, 365, 0xffF7D358 );
3461SetShowOnlyTeamMarkers(true);
3462war13_started = true;
3463team1_score = 0;
3464team2_score = 0;
3465war_minremain = 10;
3466war_secremain = 0;
3467Message(RED+" "+player.Name+" Has Activated Round For Base < Starfish Island's Bridge >" );
3468EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < Starfish Island's Bridge >" );
3469for( local i=0; i <= GetMaxPlayers(); i++ )
3470{
3471local plr = FindPlayer( i );
3472if(plr)
3473{
3474if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(-168.97, -470.311, 11.7373); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3475if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(22.3258, -441.351, 14.6784); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3476war13.SetRelativeForAll( true );
3477war13.ShowForPlayer(plr);
3478}
3479}
3480
3481break;
3482
3483case "15":
3484
3485team1war14_marker <- CreateMarker(player.World, Vector( 763.601, 139.01, 2080.72 ), 3, RGB(32, 177, 170), 100 );
3486team2war14_marker <- CreateMarker(player.World, Vector( 740.232, 144.655, 2084.72 ), 3, RGB(32, 177, 170), 101 );
3487team1war14_pickup <- CreatePickup( 6008, player.World, 1, Vector( 770.934, 129.174, 2084.72 ), 255, true );
3488team2war14_pickup <- CreatePickup( 6007, player.World, 1, Vector( 729.047, 136.577, 2084.72 ), 255, true );
3489gondorbase_war14_pickup <- CreatePickup( 6024, player.World, 1, Vector(763.601, 139.01, 2080.72), 255, true );
3490mordorbase_war14_pickup <- CreatePickup( 6025, player.World, 1, Vector(740.232, 144.655, 2084.72), 255, true );
3491war14 <- CreateTextdraw( " SA Jefferson Mystery" , 780, 365, 0xffF7D358 );
3492SetShowOnlyTeamMarkers(true);
3493war14_started = true;
3494team1_score = 0;
3495team2_score = 0;
3496war_minremain = 10;
3497war_secremain = 0;
3498Message(RED+" "+player.Name+" Has Activated Round For Base < San-Andreas Jefferson Mystery >" );
3499EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < San-Andreas Jefferson Mystery >" );
3500for( local i=0; i <= GetMaxPlayers(); i++ )
3501{
3502local plr = FindPlayer( i );
3503if(plr)
3504{
3505if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(763.601, 139.01, 2080.72); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3506if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(740.232, 144.655, 2084.72); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3507war14.SetRelativeForAll( true );
3508war14.ShowForPlayer(plr);
3509}
3510}
3511
3512break;
3513
3514case "16":
3515
3516team1war15_marker <- CreateMarker(player.World, Vector( 749.789, 404.861, 2080.92 ), 3, RGB(32, 177, 170), 100 );
3517team2war15_marker <- CreateMarker(player.World, Vector( 690.777, 305.776, 2080.85 ), 3, RGB(32, 177, 170), 101 );
3518team1war15_pickup <- CreatePickup( 6008, player.World, 1, Vector( 750.008, 439.259, 2084.05 ), 255, true );
3519team2war15_pickup <- CreatePickup( 6007, player.World, 1, Vector( 707.125, 331.021, 2077.55 ), 255, true );
3520gondorbase_war15_pickup <- CreatePickup( 6024, player.World, 1, Vector(749.789, 404.861, 2080.92), 255, true );
3521mordorbase_war15_pickup <- CreatePickup( 6025, player.World, 1, Vector(690.777, 305.776, 2080.85), 255, true );
3522war15 <- CreateTextdraw( " SA Caligula's Casino" , 780, 365, 0xffF7D358 );
3523SetShowOnlyTeamMarkers(true);
3524war15_started = true;
3525team1_score = 0;
3526team2_score = 0;
3527war_minremain = 10;
3528war_secremain = 0;
3529Message(RED+" "+player.Name+" Has Activated Round For Base < San-Andreas Caligula's Casino >" );
3530EchoMessage(ICOL_RED+" "+player.Name+" Has Activated Round For Base < San-Andreas Caligula's Casino >" );
3531for( local i=0; i <= GetMaxPlayers(); i++ )
3532{
3533local plr = FindPlayer( i );
3534if(plr)
3535{
3536if(plr.Team==5) { Announce( " ~o~ Advance To Mordor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(749.789, 404.861, 2080.92); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Mordor's Flag At Your Base To Get 10 Points!",plr); }
3537if(plr.Team==6) { Announce( " ~o~ Advance To Gondor's Base! ", plr, 6 ); plr.CanAttack = true; plr.Pos = Vector(690.777, 305.776, 2080.85); plr.Health=100; MessagePlayer( ORANGE+" |TIP| Capture & Drop Gondor's Flag At Your Base To Get 10 Points!",plr); }
3538war15.SetRelativeForAll( true );
3539war15.ShowForPlayer(plr);
3540}
3541}
3542
3543}
3544}
3545}
3546
3547
3548
3549else if ( cmd =="endround")
3550{
3551if ( IsAdmin( player, cmd ) ) return 0;
3552else if ( ( war_started == false ) && ( war1_started == false ) && ( war2_started == false ) && ( war3_started == false ) && ( war4_started == false ) && ( war5_started == false ) && ( war6_started == false ) && ( war7_started == false ) && ( war8_started == false ) && ( war9_started == false ) && ( war10_started == false ) && ( war11_started == false ) && ( war12_started == false ) && ( war13_started == false ) && ( war14_started == false ) && ( war15_started == false )) MessagePlayer(LGREEN+" |Error| "+ORANGE+"CTF Round Has Already Ended.", player );
3553else {
3554
3555if ( war_started == true )
3556{
3557SetShowOnlyTeamMarkers(false);
3558if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Round!" ); }
3559if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Round!" ); }
3560if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3561war.Delete();
3562team1_pickup.Remove();
3563team2_pickup.Remove();
3564gondorbase_war_pickup.Remove();
3565mordorbase_war_pickup.Remove();
3566DestroyMarker(team1_marker);
3567DestroyMarker(team2_marker);
3568war_started = false;
3569Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Construction Building >" );
3570Message(GREEN+" Teleporting Warriors To Lobby!" );
3571EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Construction Building >" );
3572EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3573for( local i=0; i <= GetMaxPlayers(); i++ )
3574{
3575local plr = FindPlayer( i );
3576if(plr)
3577{
3578if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3579hasflagg[plr.ID] = false;
3580hasflagm[plr.ID] = false;
3581}
3582}
3583}
3584
3585if ( war1_started == true )
3586{
3587SetShowOnlyTeamMarkers(false);
3588if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3589if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3590if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3591war1.Delete();
3592pickup1.Remove();
3593pickup2.Remove();
3594gondorbase_war1_pickup.Remove();
3595mordorbase_war1_pickup.Remove();
3596DestroyMarker(marker1);
3597DestroyMarker(marker2);
3598war1_started = false;
3599Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Army Base >" );
3600Message(GREEN+" Teleporting Warriors To Lobby!" );
3601EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Army Base >" );
3602EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3603for( local i=0; i <= GetMaxPlayers(); i++ )
3604{
3605local plr = FindPlayer( i );
3606if(plr)
3607{
3608if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3609hasflagg[plr.ID] = false;
3610hasflagm[plr.ID] = false;
3611}
3612}
3613}
3614
3615if ( war2_started == true )
3616{
3617SetShowOnlyTeamMarkers(false);
3618if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3619if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3620if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3621war2.Delete();
3622wars.Remove();
3623warz.Remove();
3624gondorbase_war2_pickup.Remove();
3625mordorbase_war2_pickup.Remove();
3626DestroyMarker(markerwar1);
3627DestroyMarker(markerwar2);
3628war2_started = false;
3629Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Prawn Island >" );
3630Message(GREEN+" Teleporting Warriors To Lobby!" );
3631EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Prawn Island >" );
3632EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3633for( local i=0; i <= GetMaxPlayers(); i++ )
3634{
3635local plr = FindPlayer( i );
3636if(plr)
3637{
3638if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3639hasflagg[plr.ID] = false;
3640hasflagm[plr.ID] = false;
3641}
3642}
3643}
3644
3645
3646if ( war3_started == true )
3647{
3648SetShowOnlyTeamMarkers(false);
3649if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3650if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3651if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3652war3.Delete();
3653basez.Remove();
3654bases.Remove();
3655gondorbase_war3_pickup.Remove();
3656mordorbase_war3_pickup.Remove();
3657DestroyMarker(markerw1);
3658DestroyMarker(markerw2);
3659war3_started = false;
3660Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Film Studio >" );
3661Message(GREEN+" Teleporting Warriors To Lobby!" );
3662EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Film Studio >" );
3663EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3664for( local i=0; i <= GetMaxPlayers(); i++ )
3665{
3666local plr = FindPlayer( i );
3667if(plr)
3668{
3669if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3670hasflagg[plr.ID] = false;
3671hasflagm[plr.ID] = false;
3672}
3673}
3674}
3675
3676if ( war4_started == true )
3677{
3678
3679SetShowOnlyTeamMarkers(false);
3680if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3681if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3682if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3683war4.Delete();
3684team1war4_pickup.Remove();
3685team2war4_pickup.Remove();
3686gondorbase_war4_pickup.Remove();
3687mordorbase_war4_pickup.Remove();
3688DestroyMarker(team1war4_marker);
3689DestroyMarker(team2war4_marker);
3690war4_started = false;
3691Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Unknown Ship >" );
3692Message(GREEN+" Teleporting Warriors To Lobby!" );
3693EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Unknown Ship >" );
3694EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3695for( local i=0; i <= GetMaxPlayers(); i++ )
3696{
3697local plr = FindPlayer( i );
3698if(plr)
3699{
3700if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3701hasflagg[plr.ID] = false;
3702hasflagm[plr.ID] = false;
3703}
3704}
3705}
3706
3707if ( war5_started == true )
3708{
3709
3710SetShowOnlyTeamMarkers(false);
3711if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3712if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3713if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3714war5.Delete();
3715team1war5_pickup.Remove();
3716team2war5_pickup.Remove();
3717gondorbase_war5_pickup.Remove();
3718mordorbase_war5_pickup.Remove();
3719DestroyMarker(team1war5_marker);
3720DestroyMarker(team2war5_marker);
3721war5_started = false;
3722Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Concealed Junk Yard >" );
3723Message(GREEN+" Teleporting Warriors To Lobby!" );
3724EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Concealed Junk Yard >" );
3725EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3726for( local i=0; i <= GetMaxPlayers(); i++ )
3727{
3728local plr = FindPlayer( i );
3729if(plr)
3730{
3731if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3732hasflagg[plr.ID] = false;
3733hasflagm[plr.ID] = false;
3734}
3735}
3736}
3737
3738if ( war6_started == true )
3739{
3740
3741SetShowOnlyTeamMarkers(false);
3742if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3743if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3744if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3745war6.Delete();
3746team1war6_pickup.Remove();
3747team2war6_pickup.Remove();
3748gondorbase_war6_pickup.Remove();
3749mordorbase_war6_pickup.Remove();
3750DestroyMarker(team1war6_marker);
3751DestroyMarker(team2war6_marker);
3752war6_started = false;
3753Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Washington Beach >" );
3754Message(GREEN+" Teleporting Warriors To Lobby!" );
3755EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Washington Beach >" );
3756EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3757for( local i=0; i <= GetMaxPlayers(); i++ )
3758{
3759local plr = FindPlayer( i );
3760if(plr)
3761{
3762if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3763hasflagg[plr.ID] = false;
3764hasflagm[plr.ID] = false;
3765}
3766}
3767}
3768
3769if ( war7_started == true )
3770{
3771
3772SetShowOnlyTeamMarkers(false);
3773if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3774if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3775if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3776war7.Delete();
3777team1war7_pickup.Remove();
3778team2war7_pickup.Remove();
3779gondorbase_war7_pickup.Remove();
3780mordorbase_war7_pickup.Remove();
3781DestroyMarker(team1war7_marker);
3782DestroyMarker(team2war7_marker);
3783war7_started = false;
3784Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < DT Biker's Bar >" );
3785Message(GREEN+" Teleporting Warriors To Lobby!" );
3786EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < DT Biker's Bar >" );
3787EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3788for( local i=0; i <= GetMaxPlayers(); i++ )
3789{
3790local plr = FindPlayer( i );
3791if(plr)
3792{
3793if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3794hasflagg[plr.ID] = false;
3795hasflagm[plr.ID] = false;
3796}
3797}
3798}
3799
3800if ( war8_started == true )
3801{
3802
3803SetShowOnlyTeamMarkers(false);
3804if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3805if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3806if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3807war8.Delete();
3808team1war8_pickup.Remove();
3809team2war8_pickup.Remove();
3810gondorbase_war8_pickup.Remove();
3811mordorbase_war8_pickup.Remove();
3812DestroyMarker(team1war8_marker);
3813DestroyMarker(team2war8_marker);
3814war8_started = false;
3815Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < City Of Elves >" );
3816Message(GREEN+" Teleporting Warriors To Lobby!" );
3817EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < City Of Elves >" );
3818EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3819for( local i=0; i <= GetMaxPlayers(); i++ )
3820{
3821local plr = FindPlayer( i );
3822if(plr)
3823{
3824if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3825hasflagg[plr.ID] = false;
3826hasflagm[plr.ID] = false;
3827}
3828}
3829}
3830
3831if ( war9_started == true )
3832{
3833
3834SetShowOnlyTeamMarkers(false);
3835if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3836if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3837if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3838war9.Delete();
3839team1war9_pickup.Remove();
3840team2war9_pickup.Remove();
3841gondorbase_war9_pickup.Remove();
3842mordorbase_war9_pickup.Remove();
3843DestroyMarker(team1war9_marker);
3844DestroyMarker(team2war9_marker);
3845war9_started = false;
3846Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Mansion War >" );
3847Message(GREEN+" Teleporting Warriors To Lobby!" );
3848EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Mansion War >" );
3849EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3850for( local i=0; i <= GetMaxPlayers(); i++ )
3851{
3852local plr = FindPlayer( i );
3853if(plr)
3854{
3855if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3856hasflagg[plr.ID] = false;
3857hasflagm[plr.ID] = false;
3858}
3859}
3860}
3861
3862if ( war10_started == true )
3863{
3864
3865SetShowOnlyTeamMarkers(false);
3866if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3867if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3868if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3869war10.Delete();
3870team1war10_pickup.Remove();
3871team2war10_pickup.Remove();
3872gondorbase_war10_pickup.Remove();
3873mordorbase_war10_pickup.Remove();
3874DestroyMarker(team1war10_marker);
3875DestroyMarker(team2war10_marker);
3876war10_started = false;
3877Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < WK Chariot Hotel >" );
3878Message(GREEN+" Teleporting Warriors To Lobby!" );
3879EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < WK Chariot Hotel >" );
3880EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3881for( local i=0; i <= GetMaxPlayers(); i++ )
3882{
3883local plr = FindPlayer( i );
3884if(plr)
3885{
3886if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3887hasflagg[plr.ID] = false;
3888hasflagm[plr.ID] = false;
3889}
3890}
3891}
3892
3893if ( war11_started == true )
3894{
3895
3896SetShowOnlyTeamMarkers(false);
3897if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3898if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3899if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3900war11.Delete();
3901team1war11_pickup.Remove();
3902team2war11_pickup.Remove();
3903gondorbase_war11_pickup.Remove();
3904mordorbase_war11_pickup.Remove();
3905DestroyMarker(team1war11_marker);
3906DestroyMarker(team2war11_marker);
3907war11_started = false;
3908Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < North Point Mall >" );
3909Message(GREEN+" Teleporting Warriors To Lobby!" );
3910EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < North Point Mall >" );
3911EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3912for( local i=0; i <= GetMaxPlayers(); i++ )
3913{
3914local plr = FindPlayer( i );
3915if(plr)
3916{
3917if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3918hasflagg[plr.ID] = false;
3919hasflagm[plr.ID] = false;
3920}
3921}
3922}
3923
3924if ( war12_started == true )
3925{
3926
3927SetShowOnlyTeamMarkers(false);
3928if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3929if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3930if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3931war12.Delete();
3932team1war12_pickup.Remove();
3933team2war12_pickup.Remove();
3934gondorbase_war12_pickup.Remove();
3935mordorbase_war12_pickup.Remove();
3936DestroyMarker(team1war12_marker);
3937DestroyMarker(team2war12_marker);
3938war12_started = false;
3939Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < San-Andreas Madd Dogg's Mansion >" );
3940Message(GREEN+" Teleporting Warriors To Lobby!" );
3941EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < San-Andreas Madd Dogg's Mansion >" );
3942EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3943for( local i=0; i <= GetMaxPlayers(); i++ )
3944{
3945local plr = FindPlayer( i );
3946if(plr)
3947{
3948if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3949hasflagg[plr.ID] = false;
3950hasflagm[plr.ID] = false;
3951}
3952}
3953}
3954
3955if ( war13_started == true )
3956{
3957
3958SetShowOnlyTeamMarkers(false);
3959if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3960if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3961if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3962war13.Delete();
3963team1war13_pickup.Remove();
3964team2war13_pickup.Remove();
3965gondorbase_war13_pickup.Remove();
3966mordorbase_war13_pickup.Remove();
3967DestroyMarker(team1war13_marker);
3968DestroyMarker(team2war13_marker);
3969war13_started = false;
3970Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < Starfish Island's Bridge >" );
3971Message(GREEN+" Teleporting Warriors To Lobby!" );
3972EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < Starfish Island's Bridge >" );
3973EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
3974for( local i=0; i <= GetMaxPlayers(); i++ )
3975{
3976local plr = FindPlayer( i );
3977if(plr)
3978{
3979if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
3980hasflagg[plr.ID] = false;
3981hasflagm[plr.ID] = false;
3982}
3983}
3984}
3985
3986if ( war14_started == true )
3987{
3988
3989SetShowOnlyTeamMarkers(false);
3990if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
3991if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
3992if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
3993war14.Delete();
3994team1war14_pickup.Remove();
3995team2war14_pickup.Remove();
3996gondorbase_war14_pickup.Remove();
3997mordorbase_war14_pickup.Remove();
3998DestroyMarker(team1war14_marker);
3999DestroyMarker(team2war14_marker);
4000war14_started = false;
4001Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < San-Andreas Jefferson's Mystery >" );
4002Message(GREEN+" Teleporting Warriors To Lobby!" );
4003EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < San-Andreas Jefferson's Mystery >" );
4004EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
4005for( local i=0; i <= GetMaxPlayers(); i++ )
4006{
4007local plr = FindPlayer( i );
4008if(plr)
4009{
4010if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
4011hasflagg[plr.ID] = false;
4012hasflagm[plr.ID] = false;
4013}
4014}
4015}
4016
4017if ( war15_started == true )
4018{
4019
4020SetShowOnlyTeamMarkers(false);
4021if ( team1_score > team2_score ) { AnnounceAll ("~p~Gondor Won!", 7 ); EchoMessage(ICOL_BLUE+" Gondor Has Won The Match!" ); }
4022if ( team2_score > team1_score ) { AnnounceAll ("~p~Mordor Won!", 7 ); EchoMessage(ICOL_BLUE+" Mordor Has Won The Match!" ); }
4023if ( team2_score == team1_score ) { AnnounceAll ("~p~Tie!", 7 ); EchoMessage(ICOL_BLUE+" Tie!" ); }
4024war15.Delete();
4025team1war15_pickup.Remove();
4026team2war15_pickup.Remove();
4027gondorbase_war15_pickup.Remove();
4028mordorbase_war15_pickup.Remove();
4029DestroyMarker(team1war15_marker);
4030DestroyMarker(team2war15_marker);
4031war15_started = false;
4032Message(RED+" Admin "+player.Name+" Has Deactivated Round For Base < San-Andreas Caligula's Casino >" );
4033Message(GREEN+" Teleporting Warriors To Lobby!" );
4034EchoMessage(ICOL_RED+" Admin "+player.Name+" Has Deactivated Round For Base < San-Andreas Caligula's Casino >" );
4035EchoMessage(ICOL_BROWN+" Teleporting Warriors To Lobby!" );
4036for( local i=0; i <= GetMaxPlayers(); i++ )
4037{
4038local plr = FindPlayer( i );
4039if(plr)
4040{
4041if ( plr.Team == 5 || plr.Team == 6 ) { Announce( " ~o~ Round Has Ended! ", plr, 3 ); plr.CanAttack=false; plr.Pos = Vector( -222.692, 980.065, 33.6938 ); }
4042hasflagg[plr.ID] = false;
4043hasflagm[plr.ID] = false;
4044}
4045}
4046}
4047
4048}
4049}
4050
4051else if ( cmd == "resetstats" )
4052
4053{
4054
4055if ( IsAdmin( player, cmd ) ) return 0;
4056
4057else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID> <Reason>",player );
4058
4059else {
4060
4061local plr = GetPlayer( GetTok( text, " ", 1 ) );
4062
4063if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", plr );
4064
4065else {
4066
4067local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
4068
4069if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4070
4071
4072
4073{
4074
4075Message(RED+" Admin "+LGREEN+""+player.Name+" "+ORANGE+"Resetstat-Player < "+YELLOW+""+plr.Name+" "+ORANGE+"> "+LBLUE+"Reason < "+GREEN+""+reason+" "+LBLUE+">." );
4076
4077status[ plr.ID ].Kills = 0;
4078
4079status[ plr.ID ].Flags = 0;
4080
4081status[ plr.ID ].Deaths = 0;
4082
4083status[ plr.ID ].Joins = 0;
4084
4085MessagePlayer(RED+" "+YELLOW+""+plr.Name+" "+RED+"Has Been Resetted Successfully!",player);
4086
4087}
4088
4089}
4090
4091}
4092
4093}
4094
4095
4096
4097else if ( cmd == "slap" )
4098
4099{
4100
4101if ( IsAdmin( player, cmd ) ) return 0;
4102
4103else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4104
4105else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4106
4107else {
4108
4109local plr = GetPlayer( GetTok( text, " ", 1 ) );
4110
4111if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4112
4113else if ( !plr.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
4114
4115else {
4116
4117local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
4118
4119if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4120
4121Message(RED+" Admin "+player.Name+" Slapped-Player < "+plr.Name+" > For Reason < "+reason+" >." );
4122
4123EchoMessage(ICOL_RED+" Admin "+player.Name+" Slapped-Player < "+plr.Name+" > For Reason < "+reason+" >." );
4124
4125plr.Health -= 20;
4126
4127plr.Pos = Vector( plr.Pos.x,plr.Pos.y,plr.Pos.z+5 );
4128
4129
4130}
4131
4132}
4133
4134}
4135
4136
4137
4138else if ( cmd == "kick" )
4139
4140{
4141
4142if ( IsAdmin( player, cmd ) ) return 0;
4143
4144else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4145
4146else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4147
4148else {
4149
4150local plr = GetPlayer( GetTok( text, " ", 1 ) );
4151
4152if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4153
4154else {
4155
4156local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
4157
4158if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4159
4160Message(RED+" Admin "+player.Name+" Kicked < "+plr.Name+" > For Reason < "+reason+" >.");
4161
4162EchoMessage( ICOL_RED + " Admin "+player.Name+" Kicked " + plr.Name + " Reason < "+reason+" >" );
4163
4164KickPlayer(plr);
4165
4166}
4167
4168}
4169
4170}
4171
4172
4173else if ( cmd == "ann" )
4174
4175{
4176
4177if ( IsAdmin( player, cmd ) ) return 0;
4178
4179else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <All|Nick/ID> <Message>", player );
4180
4181else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <All|Nick/ID> <Message>", player );
4182
4183else {
4184
4185local sendto = GetTok(text, " ", 1 );
4186
4187if ( sendto.tolower() == "all" )
4188
4189{
4190
4191local msg = GetTok( text, " ", 2, NumTok( text, " " ) );
4192
4193AnnounceAll( msg, 6 );
4194
4195}
4196
4197else {
4198
4199local plr = GetPlayer( GetTok( text, " ", 1 ) );
4200
4201if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4202
4203else {
4204
4205local msg = GetTok( text, " ", 2, NumTok( text, " " ) );
4206
4207Announce( msg, plr, 6 );
4208
4209MessagePlayer(MSG+" Sent Announcement < " + msg + " > To < " + plr.Name + " >", player );
4210
4211}
4212
4213}
4214
4215}
4216
4217}
4218
4219
4220
4221else if ( cmd == "ann2" )
4222
4223{
4224
4225if ( IsAdmin( player, cmd ) ) return 0;
4226
4227else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <All|Nick/ID> <Message>", player );
4228
4229else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <All|Nick/ID> <Message>", player );
4230
4231else {
4232
4233local sendto = GetTok(text, " ", 1 );
4234
4235if ( sendto.tolower() == "all" )
4236
4237{
4238
4239local msg = GetTok( text, " ", 2, NumTok( text, " " ) );
4240
4241AnnounceAll( msg, 6 );
4242
4243}
4244
4245else {
4246
4247local plr = GetPlayer( GetTok( text, " ", 1 ) );
4248
4249if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4250
4251else {
4252
4253local msg = GetTok( text, " ", 2, NumTok( text, " " ) );
4254
4255Announce( msg, plr, 6 );
4256
4257MessagePlayer(MSG+" Sent Announcement < " + msg + " > To < " + plr.Name + " >", player );
4258
4259}
4260
4261}
4262
4263}
4264
4265}
4266
4267
4268else if ( cmd == "killplayer" )
4269
4270{
4271
4272if ( IsAdmin( player, cmd ) ) return 0;
4273
4274else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4275
4276else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4277
4278else {
4279
4280local plr = GetPlayer( GetTok( text, " ", 1 ) );
4281
4282if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4283else if ( !plr.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
4284
4285else {
4286
4287local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
4288
4289if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4290
4291Message( RED+" Admin "+player.Name+" Killed < "+plr.Name+" > Reason < "+reason+" >." );
4292EchoMessage(ICOL_RED+" Admin "+player.Name+" Killed < "+plr.Name+" > Reason < "+reason+" >.");
4293plr.Health = 0;
4294
4295}
4296
4297}
4298
4299}
4300
4301
4302
4303else if ( cmd == "drown" )
4304
4305{
4306
4307if ( IsAdmin( player, cmd ) ) return 0;
4308
4309else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4310
4311else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4312
4313else {
4314
4315local plr = GetPlayer( GetTok( text, " ", 1 ) );
4316
4317if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4318
4319else if ( !plr.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
4320
4321else {
4322
4323local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
4324
4325if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4326
4327Message( RED+" Admin "+player.Name+" Drowned < "+plr.Name+" > Reason < "+reason+" >." );
4328EchoMessage( ICOL_RED+" Admin "+player.Name+" Drowned < "+plr.Name+" > Reason < "+reason+" >." );
4329plr.SetAnim(0,144);
4330plr.Pos = Vector( -597.7496,-1858.9531,28.1291 );
4331
4332}
4333
4334}
4335
4336}
4337
4338
4339
4340else if ( cmd == "mute" )
4341
4342{
4343
4344if ( IsAdmin( player, cmd ) ) return 0;
4345
4346else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4347
4348else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4349
4350else {
4351
4352local plr = GetPlayer( GetTok( text, " ", 1 ) );
4353
4354if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4355
4356else if ( status[ plr.ID ].Muted == true ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Is Already Muted!", player );
4357
4358else {
4359
4360local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
4361if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4362
4363Message( RED+" Admin "+player.Name+" Muted < "+plr.Name+" > For Reason < "+reason+" >.");
4364
4365EchoMessage(ICOL_RED+" Admin "+player.Name+" Muted < "+plr.Name+" > For Reason < "+reason+" >.");
4366
4367status[ plr.ID ].Muted = true;
4368
4369}
4370
4371}
4372
4373}
4374
4375
4376
4377else if ( cmd == "freeze" )
4378
4379{
4380
4381if ( IsAdmin( player, cmd ) ) return 0;
4382
4383else if ( !text ) MessagePlayer(RED+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4384
4385else {
4386
4387local plr = GetPlayer( GetTok( text, " ", 1 ) );
4388
4389if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4390
4391else if ( plr.IsFrozen ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This player is already freezed.", player );
4392
4393else {
4394
4395local reason = GetTok( text, " ", 2 NumTok( text, " " ) );
4396
4397if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4398
4399Message( RED+" Admin "+player.Name +" Freezed < "+plr.Name+" > For Reason < "+reason+" >." );
4400
4401EchoMessage(ICOL_RED+" Admin "+player.Name +" Freezed < "+plr.Name+" > For Reason < "+reason+" >." );
4402
4403plr.IsFrozen = true;
4404
4405}
4406
4407}
4408
4409}
4410
4411
4412
4413else if ( cmd == "unfreeze" )
4414
4415{
4416
4417if ( IsAdmin( player, cmd ) ) return 0;
4418
4419else if ( !text ) MessagePlayer(RED+" Syntax: /" + cmd + " <Nick/ID>", player );
4420
4421else {
4422
4423local plr = GetPlayer( GetTok( text, " ", 1 ) );
4424
4425if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4426
4427else if ( !plr.IsFrozen ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This player is already unfreezed.", player );
4428
4429else {
4430
4431Message( RED+" Admin "+player.Name +" Un-Freezed < "+plr.Name+" >." );
4432
4433EchoMessage(ICOL_RED+" Admin "+player.Name +" Un-Freezed < "+plr.Name+" >." );
4434
4435plr.IsFrozen = false;
4436
4437}
4438
4439}
4440
4441}
4442
4443
4444
4445else if ( cmd == "unmute" )
4446
4447{
4448
4449if ( IsAdmin( player, cmd ) ) return 0;
4450
4451else if ( !text ) MessagePlayer(ORANGE+" Syntax: /" + cmd + " <Nick/ID>", player );
4452
4453else {
4454
4455local plr = GetPlayer( text );
4456
4457if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4458
4459else if ( status[ plr.ID ].Muted == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Is Already Un-Muted!", player );
4460
4461else {
4462
4463Message(RED+" Admin "+player.Name+" Un-Muted < "+plr.Name+" >.");
4464
4465EchoMessage(ICOL_RED+" Admin "+player.Name+" Un-Muted:< "+plr.Name+" >.");
4466
4467MessagePlayer(YELLOW+" You Are Free To Talk Any-Player.",plr);
4468
4469status[ plr.ID ].Muted = false;
4470
4471
4472
4473local query = QuerySQL( db, "SELECT * FROM Muted WHERE Name='" + plr.Name + "'")
4474
4475if ( GetSQLColumnData( query, 0 ) )
4476
4477{
4478
4479QuerySQL( db, "DELETE FROM Muted WHERE Name='" + plr.Name + "'" );
4480
4481}
4482
4483FreeSQLQuery( query );
4484
4485
4486
4487}
4488
4489}
4490
4491}
4492
4493else if ( cmd == "setpass" )
4494
4495{
4496
4497if ( IsAdmin( player, cmd ) ) return 0;
4498
4499else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+ cmd +" <Username> <Password>", player );
4500
4501else {
4502
4503local name = GetTok( text, " ", 1);
4504local pass = GetTok( text, " ", 2);
4505
4506if ( pass == null ) MessagePlayer(ORANGE+" Syntax: /"+ cmd +" <Username> <Password>", player );
4507else
4508{
4509local query = QuerySQL( db, "SELECT * FROM Account WHERE Name ='" + name.tolower() + "'" );
4510if ( GetSQLColumnData(query, 0) )
4511{
4512MessagePlayer(GREEN+" Successfully Changed Password of "+ GREEN +" < " + name + " > to "+ GREEN + "< " + pass + " >",player);
4513QuerySQL(db,"UPDATE Account SET Pass='"+Encrypt(pass)+"' WHERE Name='"+name.tolower()+"'");
4514}
4515else MessagePlayer(LGREEN+" |Error| "+ORANGE+ name + " is not a registered nickname.", player );
4516FreeSQLQuery( query );
4517}
4518
4519}
4520
4521}
4522
4523else if ( cmd == "setnick" )
4524
4525{
4526
4527if ( IsAdmin( player, cmd ) ) return 0;
4528
4529else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+ cmd +" <Username> <Newnick>", player );
4530
4531else {
4532
4533local plr = GetTok( text, " ", 1);
4534local newnick = GetTok( text, " ", 2);
4535
4536if ( newnick == null ) MessagePlayer(ORANGE+" Syntax: /"+ cmd +" <Username> <Newnick>", player );
4537else
4538{
4539local query = QuerySQL( db, "SELECT * FROM Account WHERE Name ='" + plr.tolower() + "'" );
4540if ( GetSQLColumnData(query, 0) )
4541{
4542QuerySQL( db, "UPDATE Account SET User='"+newnick+"' WHERE User='"+plr+"'" );
4543QuerySQL(db,"UPDATE Account SET Name='"+newnick.tolower()+"' WHERE Name='"+plr.tolower()+"'");
4544QuerySQL( db, "UPDATE Bans SET Name='"+newnick+"' WHERE Name='"+plr+"'" );
4545QuerySQL( db, "UPDATE Muted SET Name='"+newnick+"' WHERE Name='"+plr+"'" );
4546QuerySQL( database, "UPDATE Banned SET ban_nick='"+newnick+"' WHERE Name='"+plr+"'" );
4547QuerySQL( mDB, "UPDATE Alias SET Name='"+newnick+"' WHERE Name='"+plr+"'" );
4548MessagePlayer(GREEN+" Successfully Transfered User Account Of < "+plr+" > To < "+newnick+" >",player);
4549}
4550else MessagePlayer(LGREEN+" |Error| "+ORANGE+ plr + " Is Not A Registered Nickname.", player );
4551FreeSQLQuery( query );
4552}
4553
4554}
4555
4556}
4557
4558else if ( ( cmd == "setlevel" ) || ( cmd == "setlvl" ) )
4559
4560{
4561
4562if ( IsAdmin( player, cmd ) ) return 0;
4563
4564else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID> <Level>", player );
4565
4566else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /"+cmd+" <Nick/ID> <Level>", player );
4567
4568else {
4569
4570local plr = GetPlayer( GetTok( text, " ", 1 ) );
4571
4572if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4573
4574else {
4575
4576local lvl = GetTok( text, " ", 2);
4577
4578if (!IsNum(lvl)) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Level Must Be In Numbers!",player);
4579
4580else {
4581
4582switch(lvl.tolower() )
4583
4584{
4585
4586case "1":
4587
4588MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4589
4590QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4591
4592MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4593
4594break;
4595
4596case "2":
4597
4598MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4599
4600QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4601
4602MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4603
4604break;
4605
4606case "3":
4607
4608MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4609
4610QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4611
4612MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4613
4614break;
4615
4616case "4":
4617
4618MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4619
4620QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4621
4622MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4623
4624break;
4625
4626case "5":
4627
4628MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4629
4630QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4631
4632MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4633
4634break;
4635
4636case "6":
4637
4638MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4639
4640QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4641
4642MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4643
4644break;
4645
4646case "7":
4647
4648MessagePlayer(RED+" Admin "+player.Name+" Set Level To Player < "+plr.Name+" > Level < "+lvl+" >.",player);
4649
4650QuerySQL(db,"UPDATE Account SET Level='"+lvl+"' WHERE Name='"+plr.Name.tolower()+"'");
4651
4652MessagePlayer(YELLOW+" You Are Now "+GetLevelTag( plr )+" "+YELLOW+"Level.",plr);
4653
4654break;
4655
4656}
4657
4658}
4659
4660}
4661
4662}
4663
4664}
4665
4666
4667
4668else if ( cmd == "ban" )
4669
4670{
4671
4672if ( IsAdmin( player, cmd ) ) return 0;
4673
4674else if ( !text ) MessagePlayer(RED+" Syntax: /" + cmd + " [Nick/ID] [Reason]", player );
4675
4676else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /" + cmd + " [Nick/ID] [Reason]", player );
4677
4678
4679else
4680
4681{
4682
4683local plr = GetPlayer( GetTok( text, " ", 1 ) );
4684
4685if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4686
4687else
4688
4689{
4690
4691local reason = GetTok( text, " ", 2 NumTok( text, " " ) );
4692
4693if ( reason == null ) reason = "None";
4694
4695BanPlayer( player, plr, reason );
4696
4697}
4698
4699}
4700
4701}
4702
4703
4704
4705else if ( cmd == "tempban" )
4706
4707{
4708
4709local txt_Split;
4710
4711if ( IsAdmin( player, cmd ) ) return 0;
4712
4713else if( !text ) MessagePlayer(RED + " Syntax: /" + cmd + " <player> <day:hour:min> <reason>", player);
4714
4715else
4716
4717{
4718
4719if( NumTok( text, " " ) == 2 )
4720
4721{
4722
4723txt_Split = split( text, " " );
4724
4725local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ];
4726
4727if( plr ) AddBan( player, plr, expire );
4728
4729else MessagePlayer(RED + "Error: No such player.", player );
4730
4731}
4732
4733else if( NumTok( text, " " ) >= 3 )
4734
4735{
4736
4737txt_Split = split( text, " " );
4738
4739local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ], reason = GetTok( text, " ", 3, NumTok( text, " " ) );
4740
4741if( plr ) AddBan( player, plr, expire, reason );
4742
4743else MessagePlayer(RED + " Error: No such player.", player );
4744
4745}
4746
4747else MessagePlayer(RED + " Syntax: /" + cmd + " <player> <day:hour:min> <reason>", player);
4748
4749}
4750
4751}
4752
4753
4754
4755else if( cmd == "untempban" )
4756
4757{
4758
4759if ( IsAdmin( player, cmd ) ) return 0;
4760
4761else if( !text ) MessagePlayer(ICOL_RED + "Syntax: !untempban <Fullname>",player );
4762
4763else if( !IsBanned(text) ) MessagePlayer(ICOL_RED + "Error: " + text + " is not tempbanned",player );
4764
4765else
4766
4767{
4768
4769QuerySQL( database, "DELETE FROM Banned WHERE ban_nick='" + text + "' COLLATE NOCASE" );
4770
4771Message(RED+" Un-Banned < " + text + " > By Admin < " + user + " >" );
4772
4773EchoMessage(ICOL_RED+"Un-Banned < " + text + " > By Admin < " + user + " >" );
4774
4775}
4776
4777}
4778
4779
4780
4781else if ( cmd == "unban" )
4782
4783{
4784
4785if ( IsAdmin( player, cmd ) ) return 0;
4786
4787else if ( !text ) MessagePlayer(RED+" Syntax: /" + cmd + " <Full/Nick>", player );
4788
4789else
4790
4791{
4792
4793local q = QuerySQL( db, "SELECT * FROM Bans WHERE Name='" + text + "'" );
4794
4795if ( GetSQLColumnData( q, 0 ) )
4796
4797{
4798
4799QuerySQL( db,"DELETE FROM Bans WHERE Name='" + text + "'" );
4800
4801MessagePlayer(RED+" Admin " + player.Name + " Un-Banned " + text + "",player );
4802
4803}
4804
4805else MessagePlayer(RED+"Error: This player is not banned.", player );
4806
4807FreeSQLQuery(q);
4808
4809}
4810
4811}
4812
4813
4814
4815else if ( cmd == "baninfo" )
4816
4817{
4818
4819if ( IsAdmin( player, cmd ) ) return 0;
4820
4821else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Full/Nick>", player );
4822
4823else {
4824
4825local q = QuerySQL( db, "SELECT * FROM Bans WHERE Name='" + text + "'" );
4826
4827if ( !GetSQLColumnData( q, 0 ) ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Does Not Exist In Ban-List.", player );
4828
4829else {
4830
4831MessagePlayer(RED+" Banned Player Found!", player );
4832
4833MessagePlayer(WHITE+" Player Name: " + text, player );
4834
4835MessagePlayer(ORANGE+" Player IP: " + GetSQLColumnData( q, 1 ), player );
4836
4837MessagePlayer(GRAY+" Player UniqueID: " + GetSQLColumnData( q, 2 ), player );
4838
4839MessagePlayer(PINK+" Player Banned by: " + GetSQLColumnData( q, 3 ), player );
4840
4841MessagePlayer(LBLUE+" Player Reason: " + GetSQLColumnData( q, 4 ), player );
4842
4843}
4844
4845}
4846
4847}
4848
4849
4850
4851
4852else if ( cmd == "setkills" )
4853
4854{
4855
4856if ( IsAdmin( player, cmd ) ) return 0;
4857
4858else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID> <Kills>", player );
4859
4860else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /"+cmd+" <Nick/ID> <Kills>", player );
4861
4862else {
4863
4864local plr = GetPlayer( GetTok( text, " ", 1 ) );
4865
4866if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4867
4868else {
4869
4870local kills = GetTok( text, " ", 2);
4871
4872if (!IsNum(kills)) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Kills Must Be In Numbers.",player);
4873
4874else {
4875
4876Message(RED+" Admin "+player.Name+" Set Kills Of Player < "+plr.Name+" > To Kills < "+kills+" >.");
4877
4878status[ plr.ID ].Kills = kills.tointeger() ;
4879
4880}
4881
4882}
4883
4884}
4885
4886}
4887
4888else if ( cmd == "setflags" )
4889
4890{
4891
4892if ( IsAdmin( player, cmd ) ) return 0;
4893
4894else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID> <Kills>", player );
4895
4896else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /"+cmd+" <Nick/ID> <Flags>", player );
4897
4898else {
4899
4900local plr = GetPlayer( GetTok( text, " ", 1 ) );
4901
4902if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4903
4904else {
4905
4906local flags = GetTok( text, " ", 2);
4907
4908if (!IsNum(kills)) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Kills Must Be In Numbers.",player);
4909
4910else {
4911
4912Message(RED+" Admin "+player.Name+" Set Kills Of Player:< "+plr.Name+" > To Kills < "+flags+" >.");
4913
4914status[ plr.ID ].Flags = flags.tointeger() ;
4915
4916}
4917
4918}
4919
4920}
4921
4922}
4923
4924
4925
4926
4927else if ( cmd == "setdeaths" )
4928
4929{
4930
4931if ( IsAdmin( player, cmd ) ) return 0;
4932
4933else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID> <Deaths>", player );
4934
4935else if ( NumTok( text, " " ) < 2 ) MessagePlayer(ORANGE+"Syntax: /"+cmd+" <Nick/ID> <Deaths>", player );
4936
4937else {
4938
4939local plr = GetPlayer( GetTok( text, " ", 1 ) );
4940
4941if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4942
4943
4944else {
4945
4946local deaths = GetTok( text, " ", 2);
4947
4948if (!IsNum(deaths)) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Deaths Must Be In Numbers.",player);
4949
4950else {
4951
4952Message(RED+" Admin "+player.Name+" Set Deaths Of Player:< "+plr.Name+" > To Deaths < "+deaths+" >.");
4953
4954status[ plr.ID ].Deaths = deaths.tointeger() ;
4955
4956}
4957
4958}
4959
4960}
4961
4962}
4963
4964
4965
4966
4967else if ( cmd == "freeze" )
4968
4969{
4970
4971if ( IsAdmin( player, cmd ) ) return 0;
4972
4973else if ( !text ) MessagePlayer(RED+" Syntax: /" + cmd + " <Nick/ID> <Reason>", player );
4974
4975else {
4976
4977local plr = GetPlayer( GetTok( text, " ", 1 ) );
4978
4979if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
4980
4981else if ( plr.IsFrozen ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This player is already freezed.", player );
4982
4983else {
4984
4985local reason = GetTok( text, " ", 2 NumTok( text, " " ) );
4986
4987if ( reason == null ) MessagePlayer(ORANGE+" Syntax /"+cmd+" <Nick/ID> <Reason>.", player );
4988
4989Message( RED+" Admin "+player.Name +" Freezed < "+plr.Name+" > For Reason < "+reason+" >." );
4990
4991EchoMessage(ICOL_RED+" Admin "+player.Name +" Freezed < "+plr.Name+" > For Reason < "+reason+" >." );
4992
4993plr.IsFrozen = true;
4994
4995}
4996
4997}
4998
4999}
5000
5001
5002
5003else if ( cmd == "unfreeze" )
5004
5005{
5006
5007if ( IsAdmin( player, cmd ) ) return 0;
5008
5009else if ( !text ) MessagePlayer(RED+" Syntax: /" + cmd + " <Nick/ID>", player );
5010
5011else {
5012
5013local plr = GetPlayer( GetTok( text, " ", 1 ) );
5014
5015if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
5016
5017else if ( !plr.IsFrozen ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This player is already unfreezed.", player );
5018
5019else {
5020
5021Message( RED+" Admin "+player.Name +" Un-Freezed < "+plr.Name+" >." );
5022
5023EchoMessage(ICOL_RED+" Admin "+player.Name +" Un-Freezed < "+plr.Name+" >." );
5024
5025plr.IsFrozen = false;
5026
5027}
5028
5029}
5030
5031}
5032
5033
5034
5035else if ( cmd == "get" )
5036
5037{
5038
5039if ( IsAdmin( player, cmd ) ) return 0;
5040
5041else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID>", player );
5042
5043else if ( !player.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"First Spawned And Then Use It.", player );
5044
5045else {
5046
5047local plr = GetPlayer( GetTok( text, " ", 1 ) );
5048
5049if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
5050
5051else if ( !plr.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
5052
5053else {
5054
5055plr.Pos = player.Pos;
5056
5057Message( RED+" Admin "+player.Name+" Get-Player < "+plr.Name+" >." );
5058
5059EchoMessage(ICOL_GREEN+" Admin "+player.Name+" Get-Player < "+plr.Name+" >." );
5060
5061}
5062
5063}
5064
5065}
5066
5067
5068
5069else if ( cmd == "healall" )
5070
5071{
5072
5073if ( IsAdmin( player, cmd ) ) return 0;
5074
5075else if ( GetPlayers() < 1 ) MessagePlayer(LGREEN+" |Error|"+ORANGE+" Not Enough Players.", player );
5076
5077else {
5078
5079Message(RED+" Admin " + player.Name + " Set Health 100% To All Players!" );
5080
5081EchoMessage(ICOL_GREEN+" Admin " + player.Name + " Set Health 100% To All Players!" );
5082
5083for( local i=0; i <= GetMaxPlayers(); i++ )
5084
5085{
5086
5087local plr = FindPlayer( i );
5088
5089if(plr) plr.Health = 100;
5090
5091}
5092
5093}
5094
5095}
5096
5097
5098
5099else if ( cmd == "healp" )
5100
5101{
5102
5103if ( IsAdmin( player, cmd ) ) return 0;
5104
5105else if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Registered First!",player);
5106
5107else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Need To Logged-In First!",player);
5108
5109else if ( !player.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"First Spawned And Then Use It.", player );
5110
5111else if ( !text ) MessagePlayer( ORANGE+" Syntax: !"+cmd+" <Nick/ID> <Ammount>", player );
5112
5113else {
5114
5115local plr = GetPlayer(GetTok( text, " ", 1 ));
5116
5117local health = GetTok( text, " ", 2, NumTok( text, " " ) );
5118
5119if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5120
5121else if ( !plr.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned Yet.", player );
5122
5123else {
5124
5125plr.Health=health.tointeger();
5126Message(RED+" Admin "+player.Name+" Has Changed "+plr.Name+"'s Health To %"+health.tointeger()+". ");
5127EchoMessage(ICOL_GREEN+" Admin "+player.Name+" Has Changed "+plr.Name+"'s Health To %"+health.tointeger()+". ");
5128
5129}
5130
5131}
5132
5133}
5134
5135
5136
5137else if ( cmd == "getip" )
5138
5139{
5140
5141if ( IsAdmin( player, cmd ) ) return 0;
5142
5143else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID>", player );
5144
5145else {
5146
5147local plr = GetPlayer( GetTok( text, " ", 1 ) );
5148
5149if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
5150
5151else {
5152
5153MessagePlayer(LBLUE+" "+plr.Name+"'s IP < "+plr.IP+" >.", player );
5154
5155}
5156
5157}
5158
5159}
5160
5161
5162
5163else if ( cmd == "getall" )
5164
5165{
5166
5167if ( IsAdmin( player, cmd ) ) return 0;
5168
5169else if ( GetPlayers() < 1 ) MessagePlayer(LGREEN+" |Error|"+ORANGE+" Not Enough Players.", player );
5170
5171else {
5172
5173Message(RED+" Admin "+player.Name+" Teleport All Players To Him!" );
5174
5175EchoMessage(ICOL_GREEN+" Admin "+player.Name+" Teleport All Players To Him!" );
5176
5177for( local i=0; i <= GetMaxPlayers(); i++ )
5178
5179{
5180
5181local plr = FindPlayer( i );
5182
5183if(plr) plr.Pos = player.Pos;
5184
5185}
5186
5187}
5188
5189}
5190
5191
5192
5193
5194
5195
5196else if ( cmd == "setwlevel" )
5197
5198{
5199
5200if ( IsAdmin( player, cmd ) ) return 0;
5201
5202else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Value>" , player );
5203
5204else {
5205
5206MessagePlayer(RED+" WaterLevel Set To < "+text.tofloat()+" >.",player );
5207
5208SetWaterLevel( text.tofloat() );
5209
5210}
5211
5212}
5213
5214
5215
5216else if ( cmd == "setweather" )
5217
5218{
5219
5220if ( IsAdmin( player, cmd ) ) return 0;
5221
5222else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Weather/ID>", player );
5223
5224else {
5225
5226switch( text.tolower() )
5227
5228{
5229
5230case "4":
5231
5232SetWeather( 4 );
5233
5234Message(GREY+" Admin "+player.Name+" Set The Weather To Sunny.");
5235
5236EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Sunny.");
5237
5238break;
5239
5240case "5":
5241
5242SetWeather( 5 );
5243
5244Message(GREY+" Admin "+player.Name+" Set The Weather To Rainy.");
5245
5246EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Rainy.");
5247
5248break;
5249
5250case "0":
5251
5252SetWeather( 0 );
5253
5254Message(GREY+" Admin "+player.Name+" Set The Weather To Clear Skies.");
5255
5256EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Clear Skies.");
5257
5258break;
5259
5260case "1":
5261
5262SetWeather( 1 );
5263
5264Message(GREY+" Admin "+player.Name+" Set The Weather To OverCast." );
5265
5266EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To OverCast." );
5267
5268break;
5269
5270case "2":
5271
5272SetWeather( 2 );
5273
5274Message(GREY+" Admin "+player.Name+" Set The Weather To Rainy-Lightning." );
5275
5276EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Rainy-Lightning." );
5277
5278break;
5279
5280case "3":
5281
5282SetWeather( 3 );
5283
5284Message(GREY+" Admin "+player.Name+" Set The Weather To Foggy." );
5285
5286EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Foggy." );
5287
5288break;
5289
5290case "6":
5291
5292SetWeather( 6 );
5293
5294Message(GREY+" Admin "+player.Name+" Set The Weather To Dark Sky Partly Cloudy." );
5295
5296EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Dark Sky Partly Cloudy." );
5297
5298break;
5299
5300case "7":
5301
5302SetWeather( 7 );
5303
5304Message(GREY+" Admin "+player.Name+" Set The Weather To Light Sky Partly Cloudy." );
5305
5306EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Light Sky Partly Cloudy." );
5307
5308break;
5309
5310case "8":
5311
5312SetWeather( 8 );
5313
5314Message(GREY+" Admin "+player.Name+" Set The Weather To OverCast Partly Cloudy." );
5315
5316EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To OverCast Partly Cloudy." );
5317
5318break;
5319
5320case "9":
5321
5322SetWeather( 9 );
5323
5324Message(GREY+" Admin "+player.Name+" Set The Weather To Grey Sky Black Clouds." );
5325
5326EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Grey Sky Black Clouds." );
5327
5328break;
5329
5330case "10":
5331
5332SetWeather( 10 );
5333
5334Message(GREY+" Admin "+player.Name+" Set The Weather To Fog And Gray." );
5335
5336EchoMessage(ICOL_GREY+" Admin "+player.Name+" Set The Weather To Fog And Gray." );
5337
5338break;
5339
5340}
5341
5342}
5343
5344}
5345
5346
5347
5348else if ( cmd == "e" )
5349
5350{
5351
5352if ( IsAdmin( player, cmd ) ) return 0;
5353
5354else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Squirrel/Code>", player );
5355
5356else {
5357
5358try {
5359
5360local script = compilestring( text );
5361
5362if(script)
5363
5364{
5365
5366script();
5367
5368MessagePlayer(YELLOW+" Command Executed Successfully!", player );
5369
5370SendPrivIRC( ICOL_GREEN+" <Priv Msg> Admin "+player.Name+" Has Executed Command Via /e.", 5 );
5371
5372}
5373
5374else MessagePlayer( " Error: Executing String Un-Successfully.", player );
5375
5376}
5377
5378catch(e) MessagePlayer(LGREEN+ " |Error|"+ORANGE+" " + e+".",player );
5379
5380}
5381
5382}
5383
5384
5385
5386else if ( cmd == "alias")
5387
5388{
5389
5390if ( IsAdmin( player, cmd ) ) return 0;
5391
5392else if (!text) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <Nick/ID>", player);
5393
5394else {
5395
5396local plr = GetPlayer( GetTok( text, " ", 1 ) );
5397
5398if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.", player );
5399
5400else {
5401
5402local m = "", m2 = "", m3 = "";
5403
5404local q = QuerySQL(mDB, "SELECT Name FROM alias WHERE IP='"+plr.IP+"'");
5405
5406while (GetSQLColumnData(q,0) != null)
5407
5408{
5409
5410local p = NumTok(m, " ");
5411
5412if (p == 0) m = m + GetSQLColumnData(q,0) + ", ";
5413
5414else {
5415
5416local dup = 0, i = 0;
5417
5418while (i <= p)
5419
5420{p = NumTok(m, " ");
5421
5422if (GetSQLColumnData(q,0) == (GetTok(m, ", ", i)))
5423
5424{
5425
5426dup = 1;
5427
5428i = p + 1;}
5429
5430else i++;
5431
5432}
5433
5434if ((dup != 1) && (m.len() < 130)) m = m + GetSQLColumnData(q,0) + ", ";
5435
5436else if ((dup != 1) && (m.len() > 130))
5437
5438{local p2 = NumTok(m2, " "), i2 = 0;
5439
5440while (i2 <= p2)
5441
5442{p2 = NumTok(m2, " ");
5443
5444if (GetSQLColumnData(q,0) == (GetTok(m2, ", ", i2)))
5445
5446{dup = 1;
5447
5448i2 = p2 + 1;}
5449
5450else i2++; }
5451
5452if ((dup != 1) && (m2.len() < 130)) m2 = m2 + GetSQLColumnData(q,0) + ", ";
5453
5454else if (dup != 1)
5455
5456{local p3 = NumTok(m3, " "), i3 = 0;
5457
5458while (i3 <= p3)
5459
5460{p3 = NumTok(m3, " ");
5461
5462if (GetSQLColumnData(q,0) == (GetTok(m3, ", ", i2)))
5463
5464{dup = 1;
5465
5466i3 = p3 + 1;
5467
5468} else i3++;
5469
5470}
5471
5472if ((dup != 1) && (m3.len() < 130)) m3 = m3 + GetSQLColumnData(q,0) + ", ";
5473
5474}
5475
5476}
5477
5478GetSQLNextRow(q);
5479
5480}
5481
5482}
5483
5484if (m2 == "") MessagePlayer(RED+" "+GREEN+"" + plr.Name + "'s Aliases: " + m, player);
5485
5486else if ((m2 != "") && (m3 == ""))
5487
5488{
5489
5490MessagePlayer(RED+" "+ORANGE+"" + plr.Name + "'s Aliases: " + m, player);
5491
5492MessagePlayer(m2, player);
5493
5494}
5495
5496else if (m3 != "")
5497
5498{
5499
5500MessagePlayer(RED+" "+YELLOW+"" + plr.Name + "'s Aliases: " + m, player);
5501
5502MessagePlayer(m2, player);
5503
5504MessagePlayer(m3, player);
5505
5506}
5507
5508}
5509
5510}
5511
5512}
5513
5514
5515
5516else if ( cmd == "freezeall" )
5517
5518{
5519
5520if ( IsAdmin( player, cmd ) ) return 0;
5521
5522else if ( GetPlayers() < 1 ) MessagePlayer(LGREEN+" |Error|"+ORANGE+" Not Enough Players.", player );
5523
5524else {
5525
5526Message(RED+" Admin "+player.Name+" Freezed All Players In Server!" );
5527
5528EchoMessage(ICOL_RED+" Admin "+player.Name+" Freezed All Players In Server!" );
5529
5530for( local i=0; i <= GetMaxPlayers(); i++ )
5531
5532{
5533
5534local plr = FindPlayer( i );
5535
5536if(plr) plr.IsFrozen = true;
5537
5538}
5539
5540}
5541
5542}
5543
5544
5545
5546else if ( cmd == "unfreezeall" )
5547
5548{
5549
5550if ( IsAdmin( player, cmd ) ) return 0;
5551
5552else {
5553
5554Message( RED+" Admin "+player.Name+" Un-Freezed All Players In Server!" );
5555
5556EchoMessage( ICOL_RED+" Admin "+player.Name+" Un-Freezed All Players In Server!" );
5557
5558for( local i=0; i <= GetMaxPlayers(); i++ )
5559
5560{
5561
5562local plr = FindPlayer( i );
5563
5564if(plr) plr.IsFrozen = false;
5565
5566}
5567
5568}
5569
5570}
5571
5572
5573
5574
5575// Here Starts the Admin Commands..
5576
5577else if ( ( cmd == "admincmds" ) || ( cmd == "acmds" ) )
5578
5579{
5580
5581local lvl = GetLevel(player);
5582
5583if ( lvl.tointeger() == 2 )
5584
5585{
5586
5587MessagePlayer(RED+" "+ORANGE+"admininfo, ann, setweather, clear, kick",player);
5588
5589}
5590
5591else if ( lvl.tointeger() == 3 )
5592
5593{
5594
5595MessagePlayer(ORANGE+" "+ORANGE+"Ann/Ann2, Setweather, Hideadmin, Getip,",player);
5596
5597MessagePlayer(ORANGE+" "+ORANGE+"Kick, Mute, Unmute, Freeze, UnFreeze, Drown,",player);
5598
5599MessagePlayer(ORANGE+" "+ORANGE+"Startround, Endround, Pauseround, Resumeround,",player);
5600
5601}
5602
5603else if ( lvl.tointeger() == 4 )
5604
5605{
5606
5607
5608
5609MessagePlayer(ORANGE+" "+ORANGE+"Ann/Ann2, Setweather, Hideadmin, Mute, Unmute,",player);
5610
5611MessagePlayer(ORANGE+" "+ORANGE+"Kick, Mute, Unmute, Getip, Reward, Slap,",player);
5612
5613MessagePlayer(ORANGE+" "+ORANGE+"Drown, Ban, Unban, Baninfo, Healall, Alias,",player);
5614
5615MessagePlayer(ORANGE+" "+ORANGE+"Freeze, Unfreeze, Tempban, Untempban, Healp,",player);
5616MessagePlayer(ORANGE+" "+ORANGE+"Startround, Endround, Pauseround, Resumeround,",player);
5617
5618}
5619
5620else if ( lvl.tointeger() == 5 )
5621
5622{
5623MessagePlayer(ORANGE+" "+ORANGE+"Ann/Ann2, Setweather, Hideadmin, Mute, Unmute,",player);
5624
5625MessagePlayer(ORANGE+" "+ORANGE+"Kick, Mute, Unmute, Getip, Reward, Slap,",player);
5626
5627MessagePlayer(ORANGE+" "+ORANGE+"Drown, Ban, Unban, Baninfo, Healall, Alias, Killplayer,",player);
5628
5629MessagePlayer(ORANGE+" "+ORANGE+"Freeze, Unfreeze, Tempban, Untempban, Healp, Freezeall, Unfreezeall",player);
5630
5631MessagePlayer(ORANGE+" "+ORANGE+"Startround, Endround, Pauseround, Resumeround,",player);
5632
5633
5634}
5635
5636else if ( lvl.tointeger() == 6 )
5637
5638{
5639MessagePlayer(ORANGE+" "+ORANGE+"Ann/Ann2, Setweather, Hideadmin, Mute, Unmute,",player);
5640
5641MessagePlayer(ORANGE+" "+ORANGE+"Kick, Mute, Unmute, Getip, Reward, Slap, Getall,",player);
5642
5643MessagePlayer(ORANGE+" "+ORANGE+"Drown, Ban, Unban, Baninfo, Healall, Alias, Killplayer,",player);
5644
5645MessagePlayer(ORANGE+" "+ORANGE+"Freeze, Unfreeze, Tempban, Untempban, Healp, Freezeall, Unfreezeall",player);
5646
5647MessagePlayer(ORANGE+" "+ORANGE+"Startround, Endround, Pauseround, Resumeround,",player);
5648
5649}
5650
5651else if ( lvl.tointeger() == 7 )
5652
5653{
5654MessagePlayer(ORANGE+" "+ORANGE+"Ann/Ann2, Setweather, Hideadmin, Mute, Unmute,",player);
5655
5656MessagePlayer(ORANGE+" "+ORANGE+"Kick, Mute, Unmute, Getip, Reward, Slap, Getall,",player);
5657
5658MessagePlayer(ORANGE+" "+ORANGE+"Drown, Ban, Unban, Baninfo, Healall, Alias, Killplayer,",player);
5659
5660MessagePlayer(ORANGE+" "+ORANGE+"Freeze, Unfreeze, Tempban, Untempban, Healp, Freezeall, Unfreezeall",player);
5661
5662MessagePlayer(ORANGE+" "+ORANGE+"Startround, Endround, Pauseround, Resumeround,",player);
5663
5664MessagePlayer(ORANGE+" "+ORANGE+"Setkills, Setdeaths, Exec/E,",player);
5665
5666}
5667
5668}
5669
5670else MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Command.",player);
5671
5672}
5673
5674}
5675
5676
5677
5678function onPlayerCommand2( player, cmd, text )
5679
5680{
5681
5682cmd = cmd.tolower();
5683
5684if ( cmd == "rules" )
5685
5686 {
5687
5688 MessagePlayer(MSG+ " Rules : No Spamming , No Use Of RPG In Close Combats , No CMD Spamming",player );
5689
5690 MessagePlayer(MSG+ " Rules : No Use Of Fpv , No Admin-Abuse , No Death-Evading , No Pause-Evade",player );
5691 }
5692
5693
5694else if ( cmd == "forum" )
5695
5696 {
5697
5698 {Message(MSG+ " Forum : www.capture-theflag.base.pk" ); EchoMessage(ICOL_GREEN+ " Forum : www.capture-theflag.base.pk" );}
5699
5700 }
5701
5702
5703
5704else if ( cmd == "irc" )
5705
5706 {
5707
5708 {Message(MSG+ " IRC : Join Our IRC Channel At LUNet As #ecs-echo" ); EchoMessage(ICOL_GREEN+ " IRC : Join Our IRC Channel At LUNet As #ecs-echo" );}
5709
5710 }
5711
5712
5713
5714
5715else if ( cmd == "axis" )
5716
5717{
5718
5719if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5720
5721else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5722
5723else {
5724
5725local pos = player.Pos;
5726
5727MessagePlayer( ORANGE+" Your Axis < "+pos.x+", "+pos.y+", "+pos.z+", "+player.Angle+" >.", player );
5728
5729EchoMessage(ICOL_RED+ICOL_BOLD+" ID:[ "+player.ID+" ] "+ player.Name +" Axis:[ "+pos.x+", "+pos.y+", "+pos.z+", "+player.Angle+" ] ");
5730
5731}
5732
5733}
5734
5735
5736else if ( cmd == "hp" )
5737
5738{
5739
5740if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5741
5742else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5743
5744else if ( !text ) MessagePlayer(YELLOW+ " Syntax !Hp <Name/ID>",player );
5745
5746else {
5747
5748local plr = GetPlayer( GetTok( text, " ", 1 ) );
5749
5750if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5751
5752else if ( !plr.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
5753
5754else {Message(GREEN+ " "+plr.Name+"'s Health < "+plr.Health+"% >." ); EchoMessage(ICOL_GREEN+ " "+plr.Name+"'s Health < "+plr.Health+"% >." );}
5755
5756}
5757
5758}
5759
5760
5761
5762else if ( cmd == "loc" )
5763
5764{
5765
5766if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5767
5768else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5769
5770
5771
5772else if ( !text ) MessagePlayer(YELLOW+" Syntax !Loc <Name/ID>",player );
5773
5774else {
5775
5776local plr = GetPlayer( GetTok( text, " ", 1 ) );
5777
5778if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5779
5780else if ( !plr.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
5781
5782else {Message(GREEN+" "+plr.Name+"'s Location < "+GetDistrictName( plr.Pos.x, plr.Pos.y )+" >." ); EchoMessage(ICOL_ORANGE+" "+plr.Name+"'s Location < "+GetDistrictName( plr.Pos.x, plr.Pos.y )+" >." );}
5783
5784}
5785
5786}
5787
5788
5789else if ( cmd == "ping" )
5790
5791{
5792
5793if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5794
5795else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5796
5797else if ( !text ) MessagePlayer(YELLOW+" Syntax !ping <Name/ID>", player);
5798
5799else {
5800
5801local plr = GetPlayer( text );
5802
5803if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5804
5805else {Message(WHITE+" "+plr.Name+"'s "+LWHITE+"Ping < "+plr.Ping+" >."); EchoMessage(ICOL_GREEN+" "+plr.Name+"'s Ping < "+plr.Ping+" >.");}
5806
5807}
5808
5809}
5810
5811
5812
5813else if ( cmd == "spec" )
5814
5815{
5816
5817local lvl = GetLevel(player);
5818
5819if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5820
5821else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5822
5823else if ( lvl < 4 && player.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You Can Use This Command When You Are Not Spawned!",player);
5824
5825else if ( !text ) MessagePlayer( ORANGE+" Syntax: !" + cmd + " <Nick/ID>", player );
5826
5827else {
5828
5829local plr = GetPlayer( text );
5830
5831if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5832
5833else if ( !plr.IsSpawned ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"This Player Doesn't Spawned.", player );
5834
5835else {player.SpectateTarget = plr; MessagePlayer(YELLOW+" Spectating < "+plr.Name+" >",player);}
5836
5837}
5838
5839}
5840
5841
5842
5843else if ( cmd == "exitspec" )
5844
5845{
5846
5847local lvl = GetLevel(player);
5848
5849if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5850
5851else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5852
5853else if ( lvl < 4 && player.IsSpawned ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"You can use this command when you are not spawned!",player);
5854
5855else {player.SpectateTarget = null; MessagePlayer(YELLOW+" Exited Spectating",player);}
5856
5857}
5858
5859
5860
5861else if ( cmd == "fps" )
5862
5863{
5864
5865if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5866
5867else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5868
5869else if ( !text ) MessagePlayer(YELLOW+" Syntax !Fps <Name/ID>", player);
5870
5871else {
5872
5873local plr = GetPlayer( text );
5874
5875if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5876
5877else {Message(WHITE+" "+plr.Name+"'s "+RED+"FPS < "+plr.FPS+" >."); EchoMessage(ICOL_GREEN+" "+plr.Name+"'s FPS < "+plr.FPS+" >.");}
5878
5879}
5880
5881}
5882
5883
5884else if ( cmd == "score")
5885{
5886Message(" [#DC143B]Gondor Warriors : "+team1_score+" [#638BEC]Mordor Warriors : "+team2_score+"" );
5887}
5888
5889else if ( cmd == "kick")
5890{
5891if (!text) MessagePlayer(" Syntax !"+cmd+" <Nick/ID>",player)
5892else if ( !FindPlayer(text.tointeger()) ) MessagePlayer(" |Error| Invalid Player.",player)
5893else
5894{
5895FindPlayer(text).Kick();
5896Message(" "+player+" Puto Kickando tu");
5897}
5898}
5899
5900
5901else if ( cmd == "stats" )
5902
5903{
5904
5905if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5906
5907else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5908
5909else if ( !text ) MessagePlayer( ORANGE+" "+GetStats( player )+"",player );
5910
5911else if ( text )
5912
5913{
5914
5915local plr = GetPlayer( text );
5916
5917if ( !plr ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Player.",player);
5918
5919else {
5920
5921local q = QuerySQL( db, "SELECT Stats FROM Account WHERE Name='"+plr.Name.tolower()+"'");
5922
5923if ( GetSQLColumnData(q, 0 ) == "off" ) MessagePlayer(LGREEN+" |Error| "+ORANGE+""+plr.Name+" Has Got Their Stats Turn Off.",player);
5924
5925else {Message( ORANGE+" "+plr.Name+"'s "+GetStats( plr )); EchoMessage( ICOL_ORANGE+" "+plr.Name+"'s "+GetStats( plr )); }
5926
5927}
5928
5929}
5930
5931}
5932
5933
5934
5935else if ( cmd == "spree" )
5936
5937{
5938
5939if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
5940
5941else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
5942
5943else {
5944
5945local b, plr;
5946
5947for( local i = 0; i <= GetMaxPlayers(); i++ )
5948
5949{
5950
5951plr = FindPlayer( i );
5952
5953if ( ( plr ) && ( status[ plr.ID ].IsReg ) && ( status[ plr.ID ].KillingSpree >= 5 ) )
5954
5955{
5956
5957if ( b ) b = b + " - " + plr.Name + " (Spree: " + status[ plr.ID ].KillingSpree + ")";
5958
5959else b = plr.Name + " (Spree: " + status[ plr.ID ].KillingSpree + " )";
5960
5961}
5962
5963}
5964
5965if ( b ) {Message(ORANGE+" Players on Spree < " + b + " >." ); EchoMessage(ICOL_ORANGE+" Players on Spree < " + b + " >." );}
5966
5967else {Message( YELLOW+" No Players Currently On Killing-Spree." ); EchoMessage( ICOL_ORANGE+" No Players Currently On Killing-Spree." );}
5968
5969}
5970
5971}
5972
5973else if ( cmd == "baselist" )
5974{
5975MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Construction Building : Base 1", player);
5976MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Army Base : Base 2", player);
5977MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Prawn Island : Base 3", player);
5978MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Film Studio : Base 4", player);
5979MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Unknown Ship : Base 5", player);
5980MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Concealed Junk yard : Base 6", player);
5981MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Washington Beach : Base 7", player);
5982MessagePlayer(YELLOW+" |Base| "+LYELLOW+"DT Biker's Bar : Base 8", player);
5983MessagePlayer(YELLOW+" |Base| "+LYELLOW+"City Of Elves : Base 9", player);
5984MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Check !Baselist2 For Further Bases!", player);
5985
5986}
5987
5988else if ( cmd == "baselist2" )
5989{
5990MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Mansion War : Base 10", player);
5991MessagePlayer(YELLOW+" |Base| "+LYELLOW+"WK Chariot Hotel : Base 11", player);
5992MessagePlayer(YELLOW+" |Base| "+LYELLOW+"North Point Mall : Base 12", player);
5993MessagePlayer(YELLOW+" |Base| "+LYELLOW+"San-Andreas Madd Dogg's Mansion : Base 13", player);
5994MessagePlayer(YELLOW+" |Base| "+LYELLOW+"Starfish Island's Bridge : Base 14", player);
5995MessagePlayer(YELLOW+" |Base| "+LYELLOW+"San-Andreas Jefferson's Mystery : Base 15", player);
5996MessagePlayer(YELLOW+" |Base| "+LYELLOW+"San-Andreas Caligula's Casino : Base 16", player);
5997
5998
5999
6000}
6001
6002
6003else if ( ( cmd == "admin" ) || ( cmd == "admins" ) )
6004
6005{
6006
6007if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
6008
6009else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
6010
6011else {
6012
6013local plr, b;
6014
6015for( local i = 0; i <= GetMaxPlayers(); i++ )
6016
6017{
6018
6019plr = FindPlayer( i );
6020
6021if ( ( plr ) && ( GetLevel(plr) >= 3 ) && ( status[plr.ID].hide_admin == false ) )
6022
6023{
6024
6025if ( b ) b = b + ", " + plr.Name + " "
6026
6027else b = " "+ plr.Name + " "
6028
6029}
6030
6031}
6032
6033if ( b ) {Message(ORANGE+" Admins Online < "+b+" >."); EchoMessage(ICOL_ORANGE+" Admins Online < "+b+" >.");}
6034
6035else {Message(ORANGE+" No Admins Online In Server."); EchoMessage(ICOL_ORANGE+" No Admins Online In Server.");}
6036
6037}
6038
6039}
6040
6041
6042else if ( cmd == "wepsetlist")
6043{
6044if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
6045else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
6046else {
6047MessagePlayer(YELLOW+" WepSet 1 : "+ORANGE+"Ingram, Stubby, M60, Python",player);
6048MessagePlayer(YELLOW+" WepSet 2 : "+ORANGE+"Uzi, Spaz, Ruger, Moltov",player);
6049MessagePlayer(YELLOW+" WepSet 3 : "+ORANGE+"Mp5, Pump-Action Shotgun, M60, Grenades",player);
6050MessagePlayer(YELLOW+" WepSet 4 : "+ORANGE+"Ingram, Spaz, M4, FlameThrower",player);
6051MessagePlayer(YELLOW+" WepSet 5 : "+ORANGE+"Uzi, Stubby, Elvish Bow, M60",player);
6052MessagePlayer(YELLOW+" WepSet 6 : "+ORANGE+"Mp5, Pump-Action Shotgun, Elvish Bow, LaserSniper",player);
6053MessagePlayer(YELLOW+" WepSet 7 : "+ORANGE+"Tec9, Stubby, LaserSniper, Rocket-Launcher",player);
6054}
6055}
6056
6057else if ( cmd == "wepset")
6058{
6059if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
6060else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
6061else if ( !text ) MessagePlayer(ORANGE+" Syntax: /"+cmd+" <ID>", player );
6062else {
6063switch( text.tolower() )
6064{
6065case "1":
6066
6067if ( wepset1[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6068else {
6069player.Disarm();
6070player.SetWeapon(24,9999);
6071player.SetWeapon(21,9999);
6072player.SetWeapon(32,9999);
6073player.SetWeapon(18,9999);
6074wepset1[player.ID] = true;
6075wepset2[player.ID] = false;
6076wepset3[player.ID] = false;
6077wepset4[player.ID] = false;
6078wepset5[player.ID] = false;
6079wepset6[player.ID] = false;
6080wepset7[player.ID] = false;
6081MessagePlayer(LGREEN+" You Have Received Wepset 1",player);
6082}
6083
6084break;
6085case "2":
6086
6087if ( wepset2[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6088else {
6089player.Disarm();
6090player.SetWeapon(23,9999);
6091player.SetWeapon(20,9999);
6092player.SetWeapon(27,9999);
6093player.SetWeapon(15,9999);
6094wepset1[player.ID] = false;
6095wepset2[player.ID] = true;
6096wepset3[player.ID] = false;
6097wepset4[player.ID] = false;
6098wepset5[player.ID] = false;
6099wepset6[player.ID] = false;
6100wepset7[player.ID] = false;
6101MessagePlayer(LGREEN+" You Have Received Wepset 2",player);
6102
6103}
6104
6105break;
6106case "3":
6107
6108if ( wepset3[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6109else {
6110player.Disarm();
6111player.SetWeapon(25,9999);
6112player.SetWeapon(19,9999);
6113player.SetWeapon(32,9999);
6114player.SetWeapon(12,9999);
6115wepset1[player.ID] = false;
6116wepset2[player.ID] = false;
6117wepset3[player.ID] = true;
6118wepset4[player.ID] = false;
6119wepset5[player.ID] = false;
6120wepset6[player.ID] = false;
6121wepset7[player.ID] = false;
6122MessagePlayer(LGREEN+" You Have Received Wepset 3",player);
6123
6124}
6125
6126break;
6127case "4":
6128
6129if ( wepset4[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6130else {
6131player.Disarm();
6132player.SetWeapon(24,9999);
6133player.SetWeapon(20,9999);
6134player.SetWeapon(26,9999);
6135player.SetWeapon(31,9999);
6136wepset1[player.ID] = false;
6137wepset2[player.ID] = false;
6138wepset3[player.ID] = false;
6139wepset4[player.ID] = true;
6140wepset5[player.ID] = false;
6141wepset6[player.ID] = false;
6142wepset7[player.ID] = false;
6143MessagePlayer(LGREEN+" You Have Received Wepset 4",player);
6144
6145}
6146
6147break;
6148case "5":
6149
6150if ( wepset5[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6151else {
6152player.Disarm();
6153player.SetWeapon(23,9999);
6154player.SetWeapon(21,9999);
6155player.SetWeapon(100,9999);
6156player.SetWeapon(32,9999);
6157wepset1[player.ID] = false;
6158wepset2[player.ID] = false;
6159wepset3[player.ID] = false;
6160wepset4[player.ID] = false;
6161wepset5[player.ID] = true;
6162wepset6[player.ID] = false;
6163wepset7[player.ID] = false;
6164MessagePlayer(LGREEN+" You Have Received Wepset 5",player);
6165
6166}
6167
6168break;
6169case "6":
6170
6171if ( wepset6[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6172else {
6173player.Disarm();
6174player.SetWeapon(25,9999);
6175player.SetWeapon(19,9999);
6176
6177player.SetWeapon(100,9999);
6178player.SetWeapon(29,9999);
6179wepset1[player.ID] = false;
6180wepset2[player.ID] = false;
6181wepset3[player.ID] = false;
6182wepset4[player.ID] = false;
6183wepset5[player.ID] = false;
6184wepset6[player.ID] = true;
6185wepset7[player.ID] = false;
6186MessagePlayer(LGREEN+" You Have Received Wepset 6",player);
6187
6188}
6189
6190break;
6191case "7":
6192
6193if ( wepset7[player.ID] == true ) MessagePlayer(LGREEN+" You Already Have Selected This Wepset",player);
6194else {
6195player.Disarm();
6196player.SetWeapon(22,9999);
6197player.SetWeapon(21,9999);
6198player.SetWeapon(29,9999);
6199player.SetWeapon(30,9999);
6200wepset1[player.ID] = false;
6201wepset2[player.ID] = false;
6202wepset3[player.ID] = false;
6203wepset4[player.ID] = false;
6204wepset5[player.ID] = false;
6205wepset6[player.ID] = false;
6206wepset7[player.ID] = true;
6207MessagePlayer(LGREEN+" You Have Received Wepset 7",player);
6208
6209}
6210}
6211}
6212}
6213
6214
6215else if ( ( cmd == "commands" ) || ( cmd == "cmds" ) )
6216
6217{
6218
6219if (status[ player.ID ].IsReg == false) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands!",player);
6220
6221else if ( status[ player.ID ].IsLogged == false ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn!",player);
6222
6223else {
6224
6225MessagePlayer(YELLOW+" |CMD| "+WHITE+"(!) "+ORANGE+"Loc, Admins, Hp, Ping, Wep/We, Spree, Spec",player);
6226
6227MessagePlayer(YELLOW+" |CMD| "+WHITE+"(!) "+ORANGE+"Exitspec, Wepsetlist, Wepset <ID>, Baselist, Stats,",player);
6228
6229
6230}
6231
6232}
6233
6234else MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid Command.",player);
6235
6236}
6237
6238
6239function GetIRCLevelTag(player)
6240{
6241local lvl = GetLevel(player);
6242if( lvl == 1 ) return ICOL_BROWN+ "Player";
6243if( lvl == 2 ) return ICOL_PINK+ "Trainer";
6244if( lvl == 3 ) return ICOL_ORANGE+ "Moderator";
6245if( lvl == 4 ) return ICOL_GREEN+ "Admin";
6246if( lvl == 5 ) return ICOL_WHITE+ "Head Admin";
6247if( lvl == 6 ) return ICOL_LBLUE+ "Management";
6248if( lvl == 7 ) return ICOL_RED+ "Developer";
6249}
6250
6251function GetLevelTag(player)
6252{
6253local lvl = GetLevel(player);
6254if( lvl == 1 ) return "Player";
6255if( lvl == 2 ) return "Trainer";
6256if( lvl == 3 ) return "Moderator";
6257if( lvl == 4 ) return "Admin";
6258if( lvl == 5 ) return "Head Admin";
6259if( lvl == 6 ) return "Management";
6260if( lvl == 7 ) return "Developer";
6261}
6262
6263
6264function GiveWeapons(player, vargv)
6265{
6266local plr = FindPlayer( player );
6267if ( plr ) {
6268local Weapons = "", i;
6269for(i=0;i<vargv.len();i++)
6270{
6271if ( IsNum (vargv[ i ]))
6272{
6273
6274if (( vargv[ i ] && GetWeaponName( vargv[ i ] ) != null && vargv[ i ].tointeger() != 33 && vargv[ i ].tointeger() != 16 ) )
6275
6276{
6277plr.SetWeapon( vargv[ i ].tointeger(), 9999 );
6278if( Weapons == "" ) Weapons = GetWeaponName( vargv[ i ] );
6279else Weapons = Weapons + " " + GetWeaponName( vargv[ i ] );
6280
6281}
6282else MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid weapon.",plr);
6283}
6284else
6285{
6286
6287if (( vargv[ i ] && GetWeaponName( GetWeaponID (vargv[ i ]) ) != null && GetWeaponID (vargv[ i ]) != 33 && GetWeaponID (vargv[ i ]) != 16 ) )
6288{
6289plr.SetWeapon( GetWeaponID (vargv[ i ]), 9999 );
6290if( Weapons == "" ) Weapons = GetWeaponName( GetWeaponID (vargv[ i ]) );
6291else Weapons = Weapons + " " + GetWeaponName( GetWeaponID (vargv[ i ]) );
6292}
6293else MessagePlayer(LGREEN+" |Error| "+ORANGE+"Invalid weapon.",plr);
6294}
6295}
6296MessagePlayer(YELLOW+" "+YELLOW+"Weapon Received < "+ORANGE+""+Weapons+""+YELLOW+" >.", plr);
6297}
6298}
6299
6300
6301function GetWN( weapon )
6302{
6303switch(weapon)
6304{
6305case 0: return "Fist";
6306case 1: return "BrassKnuckle";
6307case 2: return "ScrewDriver";
6308case 3: return "GolfClub";
6309case 4: return "NightStick";
6310case 5: return "Knife";
6311case 6: return "BaseballBat";
6312case 7: return "Hammer";
6313case 8: return "Cleaver";
6314case 9: return "Machete";
6315case 10: return "Katana";
6316case 11: return "Chainsaw";
6317case 12: return "Grenade";
6318case 13: return "RemoteGrenade";
6319case 14: return "TearGas";
6320case 15: return "Molotov"
6321case 16: return "Missile";
6322case 17: return "Colt45";
6323case 18: return "Python";
6324case 19: return "Pump-Action Shotgun";
6325case 20: return "Spaz";
6326case 21: return "Stubby";
6327case 22: return "Tec9";
6328case 23: return "Uzi";
6329case 24: return "Ingrams";
6330case 25: return "MP5";
6331case 26: return "M4";
6332case 27: return "Ruger";
6333case 28: return "SniperRifle";
6334case 29: return "LaserSniper";
6335case 30: return "RocketLauncher";
6336case 31: return "FlameThrower";
6337case 32: return "M60";
6338case 33: return "Minigun";
6339case 35: return "HeliCannon";
6340case 39: return "Vehicle";
6341case 41: return "Explosion";
6342case 42: return "Drive-By";
6343case 60: return "Heli Blades";
6344case 100: return "Elvish-Bow";
6345case 101: return "Custom Weapon 1";
6346default: return "Unassigned";
6347}
6348}
6349
6350
6351function Distance(x1, y1, x2, y2)
6352{
6353local dist = sqrt(((x2 - x1)*(x2 - x1)) + ((y2 - y1)*(y2 - y1)));
6354return dist;
6355}
6356
6357function GetTeamToRGB(id)
6358{
6359switch (id)
6360{
6361case 255: return "[#FFFFFF]";
6362case 0: return "[#778898]";
6363case 1: return "[#FF8D13]";
6364case 2: return "[#A32BA4]";
6365case 3: return "[#20B1AA]";
6366case 4: return "[#FFD720]";
6367case 5: return "[#DC143B]";
6368case 6: return "[#638BEC]";
6369case 7: return "[#FF2913]";
6370case 8: return "[#F0E78C]";
6371case 9: return "[#EE82EF]";
6372case 10: return "[#8B4512]";
6373case 11: return "[#F0E78C]";
6374case 12: return "[#148A8A]";
6375case 13: return "[#14FF7F]";
6376case 14: return "[#566B30]";
6377case 15: return "[#191971]";
6378case 16: return "[#F7E1E1]";
6379default: return "[#000000]";
6380}
6381}
6382
6383
6384function GetRGBToTeam(id)
6385{
6386switch (id)
6387{
6388case 255: return RGB(255,255,255);
6389case 0: return RGB(119,136,152);
6390case 1: return RGB(255,141,19);
6391case 2: return RGB(163,73,164);
6392case 3: return RGB(32,177,170);
6393case 4: return RGB(255,215,32);
6394case 5: return RGB(220,20,59);
6395case 6: return RGB(99,139,236);
6396case 7: return RGB(255,141,19);
6397case 8: return RGB(244,163,97);
6398case 9: return RGB(238,130,239);
6399case 10: return RGB(139,69,18);
6400case 11: return RGB(240,231,140);
6401case 12: return RGB(20,138,138);
6402case 13: return RGB(20,255,127);
6403case 14: return RGB(86,107,48);
6404case 15: return RGB(25,25,113);
6405case 16: return RGB(247,225,225);
6406default: return RGB(0,0,0);
6407}
6408}
6409
6410
6411function IsAdmin( player, cmd )
6412{
6413local lvl = GetSQLColumnData(QuerySQL(db,"SELECT Level FROM CmdLvl WHERE Cmd='"+ cmd +"'"),0);
6414if ( !status[ player.ID ].IsReg ) MessagePlayer(LGREEN+" |Error| "+ORANGE+"Register First, In Order To Use Commands.", player );
6415else if ( status[ player.ID ].IsLogged == false ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"Login First, In Order To Spawn.", player );
6416else {
6417if ( GetLevel( player ) < lvl ) MessagePlayer( LGREEN+" |Error| "+ORANGE+"Invalid Command.", player );
6418else return 0;
6419}
6420return 1;
6421}
6422
6423function CreateTables()
6424{
6425QuerySQL(db,"CREATE TABLE IF NOT EXISTS Account(Name VARCHAR(25), User TEXT, IP VARCHAR(20), Level NUMERIC, Pass VARCHAR(255), Kills NUMERIC, Flags NUMERIC, Deaths NUMERIC, Cash NUMERIC, Joins NUMERIC, DateRegistered TEXT, Stats TEXT)" );
6426QuerySQL(db,"CREATE TABLE IF NOT EXISTS Bans( Name VARCHAR(25), IP VARCHAR(20), UniqueID TEXT, Admin TEXT, Reason TEXT )")
6427QuerySQL(db,"CREATE TABLE IF NOT EXISTS CmdLvl(Cmd VARCHAR(25), Level NUMERIC)");
6428QuerySQL(mDB,"CREATE TABLE IF NOT EXISTS Alias(Name VARCHAR(32), IP TEXT )");
6429QuerySQL(db,"CREATE TABLE IF NOT EXISTS Muted (Name TEXT )" );
6430QuerySQL( database, "CREATE TABLE IF NOT EXISTS Banned( ban_nick TEXT, ban_ip TEXT, ban_time TEXT, ban_expire TEXT, ban_expireratio TEXT, ban_admin TEXT, ban_reason TEXT )" );
6431
6432}
6433
6434function GetStats( p )
6435{
6436local stats = null;
6437if ( status[ p.ID ].IsReg == true )
6438{
6439local id = p.ID;
6440local kills = status[ id ].Kills, flags = status[ id ].Flags, deaths = status[ id ].Deaths, prate = plrating( p );
6441if (( kills > 0) && ( deaths > 0 ))
6442{
6443local ratio = format( "%.2f", kills.tofloat() / deaths.tofloat() );
6444stats = "Kills : "+kills+" | Deaths : "+deaths+" | Ratio : "+ratio+" | Flags : "+flags+" | Rank : " + prate + "";
6445}
6446else {
6447stats = "Kills: "+status[id].Kills+" | Deaths: "+status[id].Deaths+" | Flags: "+status[id].Flags+" | Rank: " + prate + "";
6448}
6449}
6450else {
6451stats = "This Nick Is Not Registered!";
6452}
6453return stats;
6454}
6455
6456function GetIP( player )
6457{
6458local ip = GetSQLColumnData( QuerySQL( db, "SELECT IP FROM Account WHERE Name='" + player.Name.tolower() + "'" ), 0 );
6459if ( ip ) return ip;
6460else return 0;
6461FreeSQLQuery( ip );
6462}
6463
6464function GetJoins( player )
6465{
6466local join = GetSQLColumnData( QuerySQL( db, "SELECT Joins FROM Account WHERE Name='" + player.Name.tolower() + "'" ), 0 );
6467if ( join ) return join;
6468else return 0;
6469FreeSQLQuery( join );
6470}
6471
6472function LoadAccInfo( player )
6473{
6474status[ player.ID ] = PlayerStats();
6475local id = player.ID;
6476local ip = player.IP;
6477if ( GetLevel( player ) >= 1 )
6478{
6479if ( ip != GetIP( player ) )
6480{
6481MessagePlayer(ORANGE+" Welcome To Gondor Vs Mordor Warriors CTF.",player);
6482MessagePlayer(YELLOW+" Logg-In To Your Account, In Order To Spawn.",player);
6483MessagePlayer(ORANGE+" Syntax: /Login <Password>.",player);
6484status[ player.ID ].IsReg = true;
6485status[ player.ID ].IsLogged = false;
6486}
6487else if ( ip == GetIP( player ) )
6488{
6489local q = QuerySQL( db, "SELECT * FROM Account WHERE Name='" + player.Name.tolower() + "'" );
6490if ( GetSQLColumnData( q, 0 ) != null )
6491{
6492status[ player.ID ].Kills = GetSQLColumnData( q, 5 );
6493status[ player.ID ].Flags = GetSQLColumnData( q, 6 );
6494status[ player.ID ].Deaths = GetSQLColumnData( q, 7 );
6495status[ player.ID ].Cash = GetSQLColumnData( q, 8 );
6496status[ player.ID ].Joins = GetSQLColumnData( q, 9 );
6497}
6498GetSQLNextRow( q );
6499MessagePlayer(ORANGE+" Welcome To Gondor Vs Mordor Warriors CTF.",player);
6500Message(YELLOW+" "+player.Name+" Has Auto Logged-In Successfully!");
6501MessagePlayer(ORANGE+" Your IP "+YELLOW+"< "+player.IP+" > "+ORANGE+"| Level "+YELLOW+"< "+GetLevelTag(player)+" >",player);
6502EchoMessage(ICOL_ORANGE+" "+player.Name+" Has Auto Logged-In Successfully!");
6503status[ player.ID ].IsReg = true;
6504status[ player.ID ].IsLogged = true;
6505status[ player.ID ].Joins++;
6506}
6507}
6508else {
6509MessagePlayer(ORANGE+" Welcome To Gondor Vs Mordor Warriors CTF.",player);
6510MessagePlayer(YELLOW+" Your Nick Is Not Registered, So Register To Protect It.",player);
6511MessagePlayer(ORANGE+" Syntax: /Register <Password>.",player);
6512}
6513local query = QuerySQL(mDB, "SELECT Name FROM Alias WHERE Name='"+player.Name+"'");
6514if (GetSQLColumnData(query,0) == null)
6515{
6516QuerySQL(mDB, "INSERT INTO Alias (Name, IP) VALUES ('"+player.Name+"', '"+player.IP+"')");
6517}
6518FreeSQLQuery( query );
6519
6520
6521local query = QuerySQL(mDB, "SELECT Name FROM Alias WHERE Name='"+player.Name+"'");
6522if (GetSQLColumnData(query,0) != null)
6523{
6524QuerySQL(mDB, "UPDATE Alias SET IP='" + player.IP + "' WHERE Name='" + player.Name + "'");
6525}
6526FreeSQLQuery( query );
6527}
6528
6529function GetPass( player )
6530{
6531local pass = GetSQLColumnData( QuerySQL( db, "SELECT Pass FROM Account WHERE Name='" + player.Name.tolower() + "'" ), 0 );
6532if ( pass ) return pass;
6533else return 0;
6534FreeSQLQuery( pass );
6535}
6536
6537function GetTok(string, separator, n, ...)
6538{
6539local m = vargv.len() > 0 ? vargv[0] : n,
6540tokenized = split(string, separator),
6541text = "";
6542if (n > tokenized.len() || n < 1) return null;
6543for (; n <= m; n++)
6544{
6545text += text == "" ? tokenized[n-1] : separator + tokenized[n-1];
6546}
6547return text;
6548}
6549
6550function TimeRem( bantime, banratio ) // By Woodland
6551{
6552local sp = split(banratio,":"),
6553Days = sp[0].tointeger() * 86400, Hours = sp[1].tointeger() * 3600, Minutes = sp[0].tointeger() *60,
6554allSeconds = (Days + Hours + Minutes),
6555secs = (bantime - time()) + allSeconds;
6556if( secs )
6557{
6558local tr_time_token,tr_hours, tr_minutes, tr_seconds, tr_days;
6559tr_time_token = abs(secs);
6560tr_days = floor(tr_time_token / 86400);
6561tr_time_token -= tr_days * 86400;
6562tr_hours = floor(tr_time_token / 3600) % 24;
6563tr_time_token -= tr_hours * 3600;
6564tr_minutes = floor(tr_time_token / 60) % 60;
6565tr_time_token -= tr_minutes * 60;
6566tr_seconds = tr_time_token % 60;
6567return format( "%2d Days,%2d Hours, %2d Minutes",tr_days, tr_hours, tr_minutes ,tr_seconds );
6568}
6569}
6570
6571function NumTok(string, separator)
6572{
6573local tokenized = split(string, separator);
6574return tokenized.len();
6575}
6576
6577function GetLevel( player )
6578{
6579local lvl = GetSQLColumnData( QuerySQL( db, "SELECT Level FROM Account WHERE Name='" + player.Name.tolower() + "'" ), 0 );
6580if ( lvl ) return lvl;
6581else return 0;
6582FreeSQLQuery( lvl );
6583}
6584
6585
6586function GetPlayer( plr )
6587{
6588 if ( plr )
6589 {
6590 if ( IsNum( plr ) )
6591 {
6592 plr = FindPlayer( plr.tointeger() );
6593 if ( plr ) return plr;
6594 else return false;
6595 }
6596 else
6597 {
6598 plr = FindPlayer( plr );
6599 if ( plr ) return plr;
6600 else return false;
6601 }
6602 }
6603 else return false;
6604}
6605
6606
6607function GetWeatherName( iweather )
6608{
6609switch( iweather )
6610{
6611case 0:
6612return "Partly Cloudy";
6613break;
6614case 1:
6615return "Overcast Cloudy Skies";
6616break;
6617case 2:
6618return "Lightning";
6619break;
6620case 3:
6621return "Fog with Low Visibility";
6622break;
6623case 4:
6624return "Clear Skies";
6625break;
6626case 5:
6627return "Rainy";
6628break;
6629case 6:
6630return "Darkness from the Eclipse";
6631break;
6632case 7:
6633return "Light sky partly cloudy";
6634break;
6635case 8:
6636return "Overcast partly cloudy";
6637break;
6638case 9:
6639return "Grey sky black clouds";
6640break;
6641case 10:
6642return "Fog And Gray";
6643break;
6644}
6645}
6646
6647
6648function GetPlayerTeamName( Team )
6649{
6650if ( Team == 6 )
6651return "Mordor Warrior";
6652else if ( Team == 5 )
6653return "Gondor Warrior";
6654}
6655
6656function IsBanned( fullname )
6657{
6658 local query = QuerySQL( database, "SELECT ban_ip FROM Banned WHERE ban_nick='" + fullname + "' COLLATE NOCASE" );
6659 if( GetSQLColumnData( query, 0 ) ) return true;
6660 return false;
6661}
6662
6663function Banned( player )
6664{
6665 local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_nick='" + player.Name + "' COLLATE NOCASE" ), Ip = player.UniqueID.tostring();
6666 if( GetSQLColumnData( query, 0 ) )
6667 {
6668 if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() )
6669 {
6670 local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_nick='" + player.Name.tostring() + "'" );
6671 FreeSQLQuery( query2 );
6672 MessagePlayer(LGREEN+" <Notice> Your Ban Has Been Expired.", player );
6673 MessagePlayer(LGREEN+" <Notice> Stick To The Rules Or You Will Get Permanently Banned.", player );
6674
6675 }
6676 else
6677 {
6678 local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ) );
6679 //local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Days, " + splitban[ 1 ] + " Hours, " + splitban[ 2 ] + " Minutes.";
6680 Message(RED+" Enforcing Prior Ban On < "+player.Name+" > Reason < "+GetSQLColumnData( query, 6 )+" > Timeleft < "+Time_Left+" > Admin < "+GetSQLColumnData( query, 5 )+" >" );
6681 EchoMessage(ICOL_RED+" Enforcing Prior Ban On < "+player.Name+" > Reason < "+GetSQLColumnData( query, 6 )+" > Timeleft < "+Time_Left+" > Admin < "+GetSQLColumnData( query, 5 )+" >" );
6682 MessagePlayer(RED+" Create Unban Appeal On Forum < www.capture-theflag.base.pk >", player);
6683 KickPlayer( player );
6684 }
6685 }
6686 else if( GetSQLColumnData( QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" ), 0 ) )
6687 {
6688 local query = QuerySQL( database, "SELECT * FROM Banned WHERE ban_ip='" + Ip + "'" );
6689 if( ( time() - GetSQLColumnData( query, 2 ).tointeger() ) >= GetSQLColumnData( query, 3 ).tointeger() )
6690 {
6691 local query2 = QuerySQL( database, "DELETE FROM Banned WHERE ban_ip='" + player.UniqueID.tostring() + "'" );
6692 FreeSQLQuery( query2 );
6693 MessagePlayer(LGREEN+" <Notice> Your Ban Has Been Expired.", player );
6694 MessagePlayer(LGREEN+" <Notice> Stick To The Rules Or You Will Get Permanently Banned.", player );
6695 }
6696 else
6697 {
6698 local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ).tostring() );
6699 //local splitban = split( GetSQLColumnData( query, 4 ), ":" ), Calc = splitban[ 0 ] + " Days, " + splitban[ 1 ] + " Hours, " + splitban[ 2 ] + " Minutes.";
6700 Message(RED+" Enforcing Prior Ban On < "+player.Name+" > Reason < "+GetSQLColumnData( query, 6 )+" > Timeleft < "+Time_Left+" > Admin < "+GetSQLColumnData( query, 5 )+" >" );
6701 EchoMessage(ICOL_RED+" Enforcing Prior Ban On < "+player.Name+" > Reason < "+GetSQLColumnData( query, 6 )+" > Timeleft < "+Time_Left+" > Admin < "+GetSQLColumnData( query, 5 )+" >" );
6702 MessagePlayer(RED+" Create Unban Appeal On Forum < www.capture-theflag.base.pk >", player);
6703 KickPlayer( player );
6704 }
6705 }
6706 FreeSQLQuery( query );
6707}
6708
6709function AddBan( admin, player, expire, reason = "Not Specified" )
6710{
6711 //Equation = (DAYS*24*60*60) + (HOUR*60*60) + (MIN*60)
6712 local ban_Expire = split( expire, ":" ); //days:hours:minutes
6713 if( NumTok( expire, ":" ) == 3 )
6714 {
6715 if( IsNum( ban_Expire[ 0 ] ) && IsNum( ban_Expire[ 1 ] ) && IsNum( ban_Expire[ 2 ] ) )
6716 {
6717 if( ban_Expire[ 0 ].tointeger() <= 31 && ban_Expire[ 1 ].tointeger() <= 24 && ban_Expire[ 2 ].tointeger() <= 60 )
6718 {
6719 local ban_Expires = ( (ban_Expire[ 0 ].tointeger()*24*60*60) + (ban_Expire[ 1 ].tointeger()*60*60) + (ban_Expire[ 2 ].tointeger()*60) ),
6720 Calc = ban_Expire[ 0 ] + " Days, " + ban_Expire[ 1 ] + " Hours, " + ban_Expire[ 2 ] + " Minutes.",
6721 query = QuerySQL( database, "INSERT INTO Banned( ban_nick, ban_ip, ban_time, ban_expire, ban_expireratio, ban_admin, ban_reason ) VALUES ( '"+ player.Name.tostring() +"','"+ player.UniqueID.tostring() +"','"+ time().tostring() +"', '"+ ban_Expires.tostring() +"', '" + expire.tostring() + "', '"+ admin.Name.tostring() +"', '"+ reason.tostring() +"')");
6722 FreeSQLQuery( query );
6723 Message(RED+" Admin " + admin.Name +" Banned < "+player.Name+" > Reason < "+reason+" > Timeleft < "+Calc+" >");
6724 EchoMessage(ICOL_RED+" Admin " + admin.Name +" Banned < "+player.Name+" > Reason < "+reason+" > Timeleft < "+Calc+" >");
6725 MessagePlayer(RED+" Create Unban Appeal On Forum < www.capture-theflag.base.pk >", player);
6726 KickPlayer( player );
6727 }
6728 }
6729 else MessagePlayer(LGREEN+" |Error| "+ORANGE+"Time Should Be Numeric (day:hour:min)", player );
6730 }
6731 else MessagePlayer(LGREEN+" |Error| "+ORANGE+"Wrong Format, day:hour:min (Numeric)", player );
6732}
6733
6734function IRCAddBan( user, player, expire, reason = "Not Specified" )
6735{
6736 //Equation = (DAYS*24*60*60) + (HOUR*60*60) + (MIN*60)
6737 local ban_Expire = split( expire, ":" ); //days:hours:minutes
6738 if( NumTok( expire, ":" ) == 3 )
6739 {
6740 if( IsNum( ban_Expire[ 0 ] ) && IsNum( ban_Expire[ 1 ] ) && IsNum( ban_Expire[ 2 ] ) )
6741 {
6742 if( ban_Expire[ 0 ].tointeger() <= 31 && ban_Expire[ 1 ].tointeger() <= 24 && ban_Expire[ 2 ].tointeger() <= 60 )
6743 {
6744 local ban_Expires = ( (ban_Expire[ 0 ].tointeger()*24*60*60) + (ban_Expire[ 1 ].tointeger()*60*60) + (ban_Expire[ 2 ].tointeger()*60) ),
6745 Calc = ban_Expire[ 0 ] + " Days, " + ban_Expire[ 1 ] + " Hours, " + ban_Expire[ 2 ] + " Minutes.",
6746 query = QuerySQL( database, "INSERT INTO Banned( ban_nick, ban_ip, ban_time, ban_expire, ban_expireratio, ban_admin, ban_reason ) VALUES ( '"+ player.Name.tostring() +"','"+ player.UniqueID.tostring() +"','"+ time().tostring() +"', '"+ ban_Expires.tostring() +"', '" + expire.tostring() + "', '"+ user.tostring() +"', '"+ reason.tostring() +"')");
6747 FreeSQLQuery( query );
6748 Message(RED+" Admin " + user +" Banned < "+player.Name+" > Reason < "+reason+" > Timeleft < "+Calc+" >");
6749 EchoMessage(ICOL_RED+" Admin " + user +" Banned < "+player.Name+" > Reason < "+reason+" > Timeleft < "+Calc+" >");
6750 MessagePlayer(RED+" Create Unban Appeal On Forum < www.capture-theflag.base.pk >", player);
6751 KickPlayer( player );
6752 }
6753 }
6754 else EchoNotice(user, ICOL_RED+" |Error| Time Should Be Numeric (day:hour:min)" );
6755 }
6756 else EchoNotice(user, ICOL_RED+" |Error| Wrong Format, day:hour:min (Numeric)" );
6757}
6758
6759function CheckBans( p )
6760{
6761local q = QuerySQL( db, "SELECT * FROM Bans WHERE UniqueID='" + p.UniqueID + "'" );
6762local uid = GetSQLColumnData( q, 2 );
6763if ( uid ) return 1;
6764else return 0;
6765FreeSQLQuery( q );
6766}
6767
6768function chuder()
6769{
6770pingkicks()
6771CheckPickups()
6772}
6773
6774function pingkicks()
6775{
6776local plr;
6777
6778for( local i = 0; i <= GetMaxPlayers(); i++ )
6779{
6780plr = FindPlayer( i );
6781if ( plr && plr.IsSpawned && plr.Ping > 600 )
6782{
6783Message( RED+" Admin Server Kicked " + plr.Name + " Reason < Ping Limit Exceeded 600ms >" );
6784EchoMessage( ICOL_RED+" Admin Server Kicked " + plr.Name + " Reason < Ping Limit Exceeded 600ms >" );
6785KickPlayer( plr );
6786}
6787}
6788}
6789
6790function onPlayerMove( player, x1, y1, z1, x2, y2, z2 )
6791{
6792if ( war_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 254.588, -309.387).tointeger()+" Meters ",player,1);}
6793if ( war_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 343.683, -258.46).tointeger()+" Meters ",player,1);}
6794
6795if ( war1_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -1743.34, -288.671).tointeger()+" Meters ",player,1);}
6796if ( war1_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -1694.79, -180.324).tointeger()+" Meters ",player,1);}
6797
6798if ( war2_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 65.2939, 1112.78).tointeger()+" Meters ",player,1);}
6799if ( war2_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -17.4194, 1221.17).tointeger()+" Meters ",player,1);}
6800
6801if ( war3_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -84.112, 1022.41).tointeger()+" Meters ",player,1);}
6802if ( war3_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -17.2593, 885.354).tointeger()+" Meters ",player,1);}
6803
6804if ( war4_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -479.297, -796.015).tointeger()+" Meters ",player,1);}
6805if ( war4_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -427.637, -806.644).tointeger()+" Meters ",player,1);}
6806
6807if ( war5_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -581.706, -1140.52).tointeger()+" Meters ",player,1);}
6808if ( war5_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -539.121, -1091.52).tointeger()+" Meters ",player,1);}
6809
6810if ( war6_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 478.807, -1130.88).tointeger()+" Meters ",player,1);}
6811if ( war6_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 614.64, -1128.43).tointeger()+" Meters ",player,1);}
6812
6813if ( war7_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -602.781, 631.967).tointeger()+" Meters ",player,1);}
6814if ( war7_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -681.941, 708.284).tointeger()+" Meters ",player,1);}
6815
6816if ( war8_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 704.843, -86.6862).tointeger()+" Meters ",player,1);}
6817if ( war8_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 990.25, -103.914).tointeger()+" Meters ",player,1);}
6818
6819if ( war9_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -378.524, -611.988).tointeger()+" Meters ",player,1);}
6820if ( war9_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -378.503, -597.035).tointeger()+" Meters ",player,1);}
6821
6822if ( war10_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 465.485, -56.9693).tointeger()+" Meters ",player,1);}
6823if ( war10_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 558.818, 17.1585).tointeger()+" Meters ",player,1);}
6824
6825if ( war11_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 351.203, 1123.22).tointeger()+" Meters ",player,1);}
6826if ( war11_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 469.242, 1206.53).tointeger()+" Meters ",player,1);}
6827
6828if ( war12_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 1263.95, -784.987).tointeger()+" Meters ",player,1);}
6829if ( war12_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 1281.15, -774.38).tointeger()+" Meters ",player,1);}
6830
6831if ( war13_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, -152.513, -468.601).tointeger()+" Meters ",player,1);}
6832if ( war13_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 21.2006, -447.984).tointeger()+" Meters ",player,1);}
6833
6834if ( war14_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 770.934, 129.174).tointeger()+" Meters ",player,1);}
6835if ( war14_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 729.047, 136.577).tointeger()+" Meters ",player,1);}
6836
6837if ( war15_started == true && player.Team == 6 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 750.008, 439.259).tointeger()+" Meters ",player,1);}
6838if ( war15_started == true && player.Team == 5 && player.IsSpawned ) {Announce(" ~t~ Distance To Flag: "+DistanceFromPoint(player.Pos.x, player.Pos.y, 707.125, 331.021).tointeger()+" Meters ",player,1);}
6839}
6840
6841
6842
6843function FreezeAll()
6844{
6845local i = 0, p = GetMaxPlayers();
6846while (i <= p)
6847{
6848local plr = FindPlayer(i);
6849if (plr) plr.IsFrozen = true;
6850i++;
6851}
6852}
6853
6854function UnfreezeAll()
6855{
6856local i = 0, p = GetMaxPlayers();
6857while (i <= p)
6858{
6859local plr = FindPlayer(i);
6860if (plr) plr.IsFrozen = false;
6861i++;
6862}
6863}
6864
6865function panchoad(player)
6866{
6867local id = player.ID;
6868if ( (status[ id ].IsReg == true) && (status[ id ].IsLogged == true) )
6869{
6870QuerySQL( db, "UPDATE Account SET Kills='" + status[ id ].Kills + "', Flags='" + status[ id ].Flags + "', Deaths='" + status[ id ].Deaths + "', Cash='" + status[ id ].Cash + "', Joins='" + status[id].Joins + "' WHERE Name='" + player.Name.tolower() + "'" );
6871}
6872}
6873
6874function BanPlayer( admin, player, reason )
6875{
6876QuerySQL( db,"INSERT INTO Bans ( Name, IP, UniqueID, Admin, Reason ) VALUES ( '"+player.Name+"', '"+player.IP+"', '"+player.UniqueID+"', '" + admin + "', '"+reason+"' )" );
6877Message(RED+" Admin "+admin+" Banned < "+player.Name+" > Reason < "+reason+" >.");
6878EchoMessage(ICOL_RED+" Admin "+admin+" Banned < "+player.Name+" > Reason < "+reason+" >.");
6879KickPlayer(player);
6880}
6881
6882function Kick( player, admin, reason )
6883{
6884Message(RED+" Admin "+admin+" Kicked < "+player+" > Reason < "+reason+" >.");
6885EchoMessage(ICOL_RED+" Admin "+admin+" Kicked < "+player+" > Reason < "+reason+" >.");
6886panchoad(player);
6887KickPlayer( player );
6888}
6889
6890function AchieveRating( player )
6891{
6892local trm = status[player.ID].Kills;
6893if (( trm == 100 )||( trm == 1500 )||( trm == 3000 ))
6894{
6895Message( GREEN+" "+player.Name+" Un-Locked "+LGREEN+" New Rank < "+plrating( player )+" >." );
6896EchoMessage( ICOL_LBLUE+" "+player.Name+" Un-Locked New Rank < "+plrating( player )+" >." );
6897MessagePlayer(MSG+" Congratulations! You Gained A New Achievement.",player);
6898}
6899}
6900
6901function GetPlayerSpree(player)
6902{
6903return status[player.ID].KillingSpree;
6904}
6905function SetPlayerSpree(player)
6906{
6907status[player.ID].KillingSpree = 0;
6908}
6909function IncPlayerSpree(player,amount)
6910{
6911status[player.ID].KillingSpree = GetPlayerSpree(player) + amount;
6912}
6913function DecPlayerSpree(player,amount)
6914{
6915status[player.ID].KillingSpree = GetPlayerSpree(player) - amount;
6916}
6917
6918function StartKillingSpree( player )
6919{
6920if ( GetPlayerSpree( player ) >= 5 )
6921{
6922local kills = GetPlayerSpree(player);
6923if ( kills == 5 )
6924{
6925Message(RED+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6926EchoMessage(ICOL_LBLUE+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6927if ( player.Team == 5 ) { team1_score++; team1_score++; team1_score++; Message(LGREEN+" 3 Point To Gondor!"); EchoMessage(ICOL_RED+" 3 Point To Gondor!"); }
6928if ( player.Team == 6 ) { team2_score++; team2_score++; team2_score++; Message(LGREEN+" 3 Point To Mordor!"); EchoMessage(ICOL_RED+" 3 Point To Mordor!"); }
6929}
6930
6931else if ( kills == 10 )
6932{
6933Message(RED+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6934EchoMessage(ICOL_LBLUE+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6935if ( player.Team == 5 ) { team1_score++; team1_score++; team1_score++; Message(LGREEN+" 3 Point To Gondor!"); EchoMessage(ICOL_RED+" 3 Point To Gondor!"); }
6936if ( player.Team == 6 ) { team2_score++; team2_score++; team2_score++; Message(LGREEN+" 3 Point To Mordor!"); EchoMessage(ICOL_RED+" 3 Point To Mordor!"); }
6937}
6938
6939else if ( kills == 15 )
6940{
6941Message(RED+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6942EchoMessage(ICOL_LBLUE+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6943if ( player.Team == 5 ) { team1_score++; team1_score++; team1_score++; Message(LGREEN+" 3 Point To Gondor!"); EchoMessage(ICOL_RED+" 3 Point To Gondor!"); }
6944if ( player.Team == 6 ) { team2_score++; team2_score++; team2_score++; Message(LGREEN+" 3 Point To Mordor!"); EchoMessage(ICOL_RED+" 3 Point To Mordor!"); }
6945}
6946
6947else if ( kills == 20 )
6948{
6949Message(RED+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6950EchoMessage(ICOL_LBLUE+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6951if ( player.Team == 5 ) { team1_score++; team1_score++; team1_score++; Message(LGREEN+" 3 Point To Gondor!"); EchoMessage(ICOL_RED+" 3 Point To Gondor!"); }
6952if ( player.Team == 6 ) { team2_score++; team2_score++; team2_score++; Message(LGREEN+" 3 Point To Mordor!"); EchoMessage(ICOL_RED+" 3 Point To Mordor!"); }
6953}
6954
6955else if ( kills == 25 )
6956{
6957Message(RED+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6958EchoMessage(ICOL_LBLUE+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6959if ( player.Team == 5 ) { team1_score++; team1_score++; team1_score++; Message(LGREEN+" 3 Point To Gondor!"); EchoMessage(ICOL_RED+" 3 Point To Gondor!"); }
6960if ( player.Team == 6 ) { team2_score++; team2_score++; team2_score++; Message(LGREEN+" 3 Point To Mordor!"); EchoMessage(ICOL_RED+" 3 Point To Mordor!"); }
6961}
6962
6963else if ( ( kills >= 30 ) && ( kills % 5 == 0 ) )
6964{
6965Message(RED+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6966EchoMessage(ICOL_LBLUE+" "+player+" Is On Killing Spree With "+kills+" Kills In A Row!" );
6967if ( player.Team == 5 ) { team1_score++; team1_score++; team1_score++; Message(LGREEN+" 3 Point To Gondor!"); EchoMessage(ICOL_RED+" 3 Point To Gondor!"); }
6968if ( player.Team == 6 ) { team2_score++; team2_score++; team2_score++; Message(LGREEN+" 3 Point To Mordor!"); EchoMessage(ICOL_RED+" 3 Point To Mordor!"); }
6969}
6970}
6971}
6972
6973function EndKillingSpree( p1, p2 )
6974{
6975if ( GetPlayerSpree( p1 ) >= 5 )
6976{
6977if ( p2 == 255 )
6978{
6979Message(RED+" "+p1.Name+" "+RED+"Has Ended Their Own Killing Spree.");
6980EchoMessage(ICOL_LBLUE+" "+p1.Name+" "+ICOL_LBLUE+"Has Ended Their Own Killing Spree.");
6981DecPlayerSpree(p1, GetPlayerSpree(p1));
6982}
6983else if ( p2 != 255 )
6984{
6985Message(RED+" "+p2.Name+" "+RED+"Ended "+p1.Name+""+RED+"'s Killing Spree Of "+RED+""+GetPlayerSpree(p1)+""+RED+" Kills In A Row.");
6986EchoMessage(ICOL_LBLUE+" "+p2.Name+" "+ICOL_LBLUE+"Ended "+p1.Name+""+ICOL_LBLUE+"'s Killing Spree Of "+ICOL_RED+""+GetPlayerSpree(p1)+""+ICOL_LBLUE+" Kills In A Row.");
6987DecPlayerSpree(p1, GetPlayerSpree(p1));
6988}
6989}
6990}
6991
6992
6993
6994
6995function GetBPName(bodypart)
6996{
6997switch( bodypart )
6998{
6999case 0:return"Body";
7000case 1:return"Torso";
7001case 2:return"Left Arm";
7002case 3:return"Right Arm";
7003case 4:return"Left Leg";
7004case 5:return"Right Leg";
7005case 6:return"Head";
7006case 7:return"Hitting His Car";
7007default:return"UnKnown";
7008}
7009}
7010
7011function plrating(p)
7012{
7013local jej = p.ID;
7014local elm = status[jej].Kills;
7015local rating = "Not Found";
7016if(elm>=100)
7017{
7018rating = "Noob!";
7019}
7020if((elm>=500) && (elm < 1500))
7021{
7022rating = "Trainee!";
7023}
7024if((elm>=1500) && (elm < 2500))
7025{
7026rating = "Soldier!";
7027}
7028if(elm>=3000)
7029{
7030rating = "Pro!";
7031}
7032return rating;
7033}
7034
7035function rotateRight(val, sbits)
7036{
7037return (val >> sbits) | (val << (0x20 - sbits));
7038}
7039
7040function Encrypt( string )
7041{
7042local hp = [
70430x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
70440x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
7045];
7046local k = [
70470x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
70480xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
70490xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
70500x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
70510x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
70520xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
70530x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
70540x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
7055];
7056local
7057w = array( 64 ),
7058i = 0,
7059s = 0,
7060len = string.len( ),
7061word_array = array( 0 );
7062for( i = 0; i < len - 3; i += 4 )
7063{
7064word_array.push( string[i] << 0x18 | string[i + 1] << 0x10 | string[i + 2] << 0x08 | string[i + 3] );
7065}
7066switch( len % 4 )
7067{
7068case 0:
7069i = 0x80000000;
7070break;
7071case 1:
7072i = string[len - 1] << 0x18 | 0x80000000;
7073break;
7074case 2:
7075i = string[len - 2] << 0x18 | string[len - 1] << 0x10 | 0x08000;
7076break;
7077case 3:
7078i = string[len - 3] << 0x18 | string[len - 2] << 0x10 | string[len - 1] << 0x08 | 0x80;
7079break;
7080}
7081word_array.push( i );
7082while( ( word_array.len() % 0x10 ) != 0x0E )
7083word_array.push( 0 );
7084word_array.push( len >> 0x10 );
7085word_array.push( ( len << 0x03 ) & 0xFFFFFFFF );
7086local s0, s1;
7087for( s = 0; s < word_array.len(); s += 0x10 )
7088{
7089for( i = 0x00; i < 0x10; i++ )
7090w[i] = word_array[s + i];
7091for( i = 0x10; i < 0x40; i++ )
7092{
7093s0 = rotateRight( w[i - 15], 7 ) ^ rotateRight( w[i - 15], 18 ) ^ ( w[i - 15] >> 3 );
7094s1 = rotateRight( w[i - 2], 17 ) ^ rotateRight( w[i - 2], 19 ) ^ ( w[i - 2] >> 10 );
7095w[i] = w[i - 0x10] + s0 + w[i - 7] + s1;
7096}
7097local
7098a = hp[0],
7099b = hp[1],
7100c = hp[2],
7101d = hp[3],
7102e = hp[4],
7103f = hp[5],
7104g = hp[6],
7105h = hp[7];
7106for( i = 0x00; i < 0x40; i++ )
7107{
7108s0 = ( rotateRight( a, 2 ) ^ rotateRight( a, 13 ) ^ rotateRight( a, 22 ) );
7109local maj = ( ( a & b ) ^ ( a & c ) ^ ( b & c ) );
7110local t2 = ( s0 + maj );
7111s1 = ( rotateRight( e, 6 ) ^ rotateRight( e, 11) ^ rotateRight( e, 25 ) );
7112local ch = ( ( e & f ) ^ ( ( ~e ) & g ) );
7113local t1 = ( h + s1 + ch + k[i] + w[i] );
7114h = g;
7115g = f;
7116f = e;
7117e = d + t1;
7118d = c;
7119c = b;
7120b = a;
7121a = t1 + t2;
7122}
7123hp[0] += a;
7124hp[1] += b;
7125hp[2] += c;
7126hp[3] += d;
7127hp[4] += e;
7128hp[5] += f;
7129hp[6] += g;
7130hp[7] += h;
7131}
7132local hash = format(
7133"%08x%08x%08x%08x%08x%08x%08x%08x",
7134hp[0],
7135hp[1],
7136hp[2],
7137hp[3],
7138hp[4],
7139hp[5],
7140hp[6],
7141hp[7]
7142);
7143return hash;
7144}
7145
7146function CheckMac( player )
7147{
7148for( local plr, i = 0; i <= GetMaxPlayers(); plr = FindPlayer( i++ ) )
7149{
7150if ( player && plr )
7151{
7152if ( plr.ID == player.ID ) return;
7153else if ( player.UniqueID == plr.UniqueID ) KickPlayer( player );
7154}
7155}
7156}
7157
7158function GetTimeFormat2( secs )
7159{
7160local nDays, nHours, nMinutes, nMonths, nYears, nTime = "";
7161nYears = secs/31536000;
7162secs = secs%31536000;
7163nMonths = secs/2678400;
7164secs = secs%2678400;
7165nDays = secs/86400;
7166secs = secs%86400;
7167nHours = secs/3600;
7168secs = secs%3600;
7169nMinutes = secs/60;
7170secs = secs%60;
7171if( nYears != 0 ) nTime = nTime + nYears + " Year" + (nYears > 1 ? "s":"") + ", ";
7172if( nMonths != 0 ) nTime = nTime + nMonths + " Month" + (nMonths > 1 ? "s":"") + ", ";
7173if( nDays != 0 ) nTime = nTime + nDays + " Day" + (nDays > 1 ? "s":"") + ", ";
7174if( nHours != 0 ) nTime = nTime + nHours + " Hour" + (nHours > 1 ? "s":"") + ", ";
7175if( nMinutes != 0 ) nTime = nTime + nMinutes + " Minute" + (nMinutes > 1 ? "s":"") + ", ";
7176if( secs != 0 ) nTime = nTime + secs + " Second" + (secs > 1 ? "s":"") + " ";
7177return nTime;
7178}
7179
7180function GetTimeFormat( secs )
7181{
7182local nDays, nHours, nMinutes, nMonths, nYears, nTime = "";
7183nYears = secs/31536000;
7184secs = secs%31536000;
7185nMonths = secs/2678400;
7186secs = secs%2678400;
7187nDays = secs/86400;
7188secs = secs%86400;
7189nHours = secs/3600;
7190secs = secs%3600;
7191nMinutes = secs/60;
7192secs = secs%60;
7193if( nYears != 0 ) nTime = nTime + nYears + " [#FF0000]Year" + (nYears > 1 ? "s":"");
7194if( nMonths != 0 ) nTime = nTime + (nTime != "" ? ", [#1A6EFF]":"[#1A6EFF]") + nMonths + " Month" + (nMonths > 1 ? "s":"");
7195if( nDays != 0 ) nTime = nTime + (nTime != "" ? ", [#FFD700]":"[#FFD700]") + nDays + " Day" + (nDays > 1 ? "s":"");
7196if( nHours != 0 ) nTime = nTime + (nTime != "" ? ", [#32CD32]":"[#32CD32]") + nHours + " Hour" + (nHours > 1 ? "s":"");
7197if( nMinutes != 0 ) nTime = nTime + (nTime != "" ? ", [#FF8C00]":"[#FF8C00]") + nMinutes + " Minute" + (nMinutes > 1 ? "s":"");
7198if( secs != 0 ) nTime = nTime + (nTime != "" ? ", [#FFFFFF]":"[#FFFFFF]")+secs+" Second" + (secs > 1 ? "s":"");
7199return nTime;
7200}
7201
7202
7203local BotNick=[ "JEhaha", "JEhuhu" ]; // The name of the echo bot
7204
7205const FBS_BPASS = "saraliza"; // The NickServ password of the echo bot
7206const FBS_SERVER = "94.23.157.172"; // The numerical ip of the irc server - this will join irc.nl.project-apollo.co.uk
7207const FBS_PORT = 6667; // The port for that irc server
7208const FBS_CHAN = "#ecs-echo"; // The channel that you wont your echo bot to join
7209const FBS_CPASS = ""; // The password for that channel, if there isn't one leave it as "".
7210IsBotConnected <- array( BotNick.len() );
7211IsBotSelected <- array( BotNick.len() );
7212const FBS_PREFIX = "!";
7213const FBS_TIMEOUT = 120;
7214local szBackup=
7215{
7216 [1]={}
7217}
7218local FBS_BOT=
7219{
7220 [0]={},
7221 [1]={}
7222}
7223
7224
7225function ActivateEcho()
7226{
7227 for( local t = 0; t < 2; t++ )
7228 {
7229
7230 FBS_BOT[t] <- NewSocket( "FBSProcess" );
7231 FBS_BOT[t].Connect( FBS_SERVER, FBS_PORT );
7232 FBS_BOT[t].SetNewConnFunc( "FBSLogin" );
7233 IsBotConnected[t] = null;
7234 }
7235}
7236
7237function OnScriptUnload()
7238{
7239DisconnectBots();
7240}
7241
7242class FBSLIST
7243{
7244 // This is how we are going to store the user level information for each nick currently on the channel
7245 Name = null;
7246 Level = 1;
7247}
7248
7249function FBSLIST::AddNick( szNick, iAdmin )
7250{
7251 Name = szNick;
7252 Level = iAdmin;
7253}
7254
7255
7256function DisconnectBots()
7257{
7258 for( local t = 0; t < 2; t++ )
7259 {
7260 print( "Disconnecting bot from IRC..." );
7261
7262 FBS_BOT[t].Send( "QUIT " + BotNick[t] + "\n" );
7263 FBS_BOT[t].Delete();
7264 }
7265}
7266
7267function FBSLogin()
7268{
7269 for( local t = 0; t < 2; t++ )
7270 {
7271 // Set the bots name and real name
7272 FBS_BOT[t].Send( "USER " + BotNick[t] + " 0 * :[0.4]GvM CTF Server's Echo Bot\n" );
7273 // Set the nick that the bot will use on the irc server
7274 FBS_BOT[t].Send( "NICK " + BotNick[t] + "\n" );
7275 // Set it so that the network classes the bot as a bot
7276 FBS_BOT[t].Send( "MODE " + BotNick[t] + " +B\n" );
7277 }
7278}
7279
7280function FBSProcess( sz )
7281{
7282 // This function is used to process the raw data that the bot is recieving from the irc server
7283 local szServer, szBotID, szBotNick, Nick, Text, s = 0, t = 0, w = 0, K = FirstBotID();
7284 local raw = split( sz, "\r\n" ), a, z = raw.len(), line;
7285 for ( a = 0; a < z; a++ )
7286 {
7287 line = raw[a];
7288 local FBS_PING = GetTok( line, " ", 1 ), FBS_EVENT = GetTok( line, " ", 2 ), FBS_CHANEVENT = GetTok( line, " ", 3 );
7289
7290 // The most important thing is making sure that the bot stays connected to IRC
7291 if ( FBS_PING )
7292 {
7293 szBotNick = strip_left( GetTok( sz, "!", 1 ) , 1 );
7294 szBotID = BotNick.find(szBotNick);
7295
7296 if ( szBotID != null ) IsBotConnected[szBotID] = time();
7297
7298 else if ( FBS_PING == "PING" )
7299 {
7300 for( local t = 0; t < 2; t++ )
7301 {
7302 FBS_BOT[t].Send( "PONG " + FBS_PING + "\n" );
7303 IsBotConnected[t] = time();
7304 }
7305 }
7306 }
7307
7308 if ( FBS_EVENT == "001" )
7309 {
7310 szServer = GetTok( sz, " ", 1 );
7311 while ( s < 2 )
7312 {
7313
7314 IsBotConnected[s] = time();
7315 // Join our home channel
7316 FBS_BOT[s].Send( "JOIN " + FBS_CHAN + " " + FBS_CPASS + "\n" );
7317 FBS_BOT[s].Send( "PRIVMSG NickServ IDENTIFY " + FBS_BPASS + "\n" );
7318 FBS_BOT[s].Send( "USER " + BotNick[s] + " 0 * :Dany's Multi Bot\n" );
7319 s++
7320
7321 }
7322
7323 if ( IsBotConnected != null ) print( "Succesfully joined " + FBS_CHAN + "!" );
7324
7325 }
7326
7327
7328 else if ( FBS_EVENT == "353" ) FBSSortNicks( sz );
7329
7330 else if ( FBS_EVENT == "432" )
7331 {
7332 szBotNick = GetTok( sz, " ", 3 ), szBotID = BotNick.find(szBotNick);
7333 print("[BotID: " + szBotID + "]" + " Disconnected from IRC - Erroneus Nickname" );
7334 }
7335
7336
7337
7338 else if ( FBS_EVENT == "PRIVMSG" )
7339 {
7340 // Block direct queries
7341 if ( left( FBS_CHANEVENT, 1 ) != "#" ) return null;
7342
7343 else if ( FBS_CHANEVENT == FBS_CHAN )
7344 {
7345 // Grab the nick
7346 Nick = GetTok( sz, "!", 1 ).slice( 1 );
7347 // Figure out what the command is
7348 Text = GetTok( sz, ":", 2 );
7349 if ( ( !szBackup.rawin( 1 ) ) || ( szBackup[1] != Text ) )
7350 {
7351
7352 // Backup Text
7353 szBackup[1] <- Text;
7354 NewTimer( "Clear", 1000, 1 )
7355 // Handle commands
7356 FBSIrcCommand( Nick, Text );
7357 }
7358 }
7359
7360 }
7361 else if ( FBS_EVENT == "NOTICE" )
7362 {
7363 // Block channel notices
7364 if ( left( FBS_CHANEVENT, 1 ) == "#" ) return null;
7365 }
7366
7367 else if ( FBS_EVENT == "KICK" )
7368 {
7369 for( local w = 0; w <= BotNick.len(); w++ )
7370 {
7371 FBS_BOT[w].Send( "JOIN " + FBS_CHAN + " " + FBS_CPASS + "\n" )
7372 }
7373 }
7374 else if ( ( FBS_EVENT == "MODE" ) || ( FBS_EVENT == "NICK" ) || ( FBS_EVENT == "JOIN" ) || ( FBS_EVENT == "PART" ) || ( FBS_EVENT == "QUIT" ) ) FBS_BOT[K].Send( "NAMES :" + FBS_CHAN + "\n" );
7375 }
7376
7377}
7378
7379function Clear( )
7380{
7381szBackup[1] <- null;
7382}
7383
7384function LevelTag1(lvl) {
7385
7386 lvl = (lvl ? lvl:0);
7387
7388 switch (lvl) {
7389
7390 case 2:
7391
7392 return "" ;
7393
7394 case 3:
7395
7396 return "Moderator" ;
7397
7398 case 4:
7399
7400 return "Admin";
7401
7402 case 5:
7403
7404 return "Admin" ;
7405
7406 case 6:
7407
7408 return "Manager";
7409
7410 default:
7411
7412 return "" ;
7413
7414 }
7415
7416}
7417
7418function lLevelTag(lvl) {
7419
7420 lvl = (lvl ? lvl:0);
7421
7422 switch (lvl) {
7423
7424 case 2:
7425
7426 return "11" ;
7427
7428 case 3:
7429
7430 return "7" ;
7431
7432 case 4:
7433
7434 return "3" ;
7435
7436 case 5:
7437
7438 return "4" ;
7439
7440 case 6:
7441
7442 return "12" ;
7443
7444 default:
7445
7446 return "5" ;
7447
7448 }
7449
7450}
7451
7452
7453function FBSIrcCommand( user, text )
7454{
7455 // none of this needs to be touched, it is to do with getting channel levels
7456 local NickInfo = FindNick( user ), level, tLevel, ThePrefix, param, cmd, TheText, NewText;
7457
7458 if ( NickInfo ) level = NickInfo.Level.tointeger();
7459 if ( text ) text = text.slice( 0, text.len() - 2 );
7460
7461 // tokenize text into space delimited parameters
7462 /*
7463 param[0] = the first word
7464 param[1] = the second word
7465 param[2] = the thrid word
7466 etc etc etc....
7467 */
7468 param = split(text, " ");
7469
7470 // Grab the command (if any)
7471 cmd = strip_left( param[0], FBS_PREFIX.len() );
7472
7473 // Lets isolate the prefix
7474 ThePrefix = left( text, FBS_PREFIX.len() );
7475
7476 // Remove the prefix from text
7477 TheText = strip_left( text, FBS_PREFIX.len() );
7478
7479 // Remove cmd from "TheText" and omit leading/trailing white-space's
7480 NewText = strip( strip_left( TheText, cmd.len() ) );
7481
7482 if ( ThePrefix == FBS_PREFIX )
7483 {
7484 if ( cmd == "say" )
7485
7486{
7487
7488if ( param.len() < 2 ) EchoMessage( "Syntax: !"+cmd+" <Message>." );
7489
7490else {
7491
7492local msg = " " + LevelTag1(level) + " " + user + ": " + NewText;
7493
7494EchoMessage(lLevelTag(GREEN+level) + msg);
7495
7496Message(IRCMSG+msg);
7497
7498}
7499
7500}
7501
7502
7503
7504else if ( cmd == "me" )
7505
7506{
7507
7508if ( param.len() < 2 ) EchoMessage( "Syntax: !"+cmd+" <Text> " );
7509
7510else { Message( user + " :: " + NewText ); EchoMessage( ICOL_BROWN + user + " :: " + NewText ); }
7511
7512}
7513
7514
7515
7516else if ( cmd == "players" )
7517
7518{
7519
7520local plr, buffer = "", MAX_PLAYERS = GetPlayers();
7521
7522for( local i=0; i < MAX_PLAYERS; ++i )
7523
7524{plr = FindPlayer( i );
7525
7526if ( plr ) buffer = buffer + " [" + plr.ID + "]" + plr.Name + "";
7527
7528}
7529
7530if ( buffer != "" ) EchoMessage( "Online Players: " + strip(buffer) );
7531
7532EchoMessage( "Total players: " + GetPlayers() );
7533
7534}
7535
7536
7537
7538else if ( ( cmd == "admin" ) || ( cmd == "admins" ) )
7539
7540{
7541
7542local a = 0, b = null;
7543
7544while ( a < GetMaxPlayers() )
7545
7546{
7547
7548local plr = FindPlayer( a );
7549
7550if ( plr )
7551
7552{
7553
7554local lvl = GetLevel( plr ); // This function exits in warchief
7555
7556
7557if (( lvl >= 3 )&&( status[plr.ID].hide_admin == false ))
7558
7559{
7560
7561if ( b ) b = b + " - " + plr.Name + " ";
7562
7563else b = plr.Name + " ";
7564
7565}
7566
7567}
7568
7569a ++;
7570
7571}
7572
7573if ( b ) EchoMessage( ICOL_RED + "Admin Online: " + b );
7574
7575else EchoMessage( ICOL_RED + "No Admins Online In-Server." );
7576
7577}
7578
7579
7580
7581else if ( cmd == "ping" )
7582
7583{
7584
7585if ( param.len() < 2 ) EchoMessage( "Error - Syntax: !" + cmd + " <Nick/ID> " );
7586
7587else {
7588
7589local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7590
7591if ( !plr ) EchoMessage( "Invalid Player..." );
7592
7593EchoMessage(ICOL_RED+" "+plr.Name+"'s Ping:[ "+plr.Ping+" ].");
7594
7595}
7596
7597}
7598
7599
7600
7601else if ( cmd == "score" )
7602
7603{
7604
7605EchoMessage(" "+ICOL_RED+"Gondor Warriors : "+team1_score+" "+ICOL_CYAN+"Mordor Warriors : "+team2_score+"" );
7606
7607}
7608
7609
7610
7611else if ( cmd == "fps" )
7612
7613{
7614
7615if ( param.len() < 2 ) EchoMessage( "Error - Syntax: !" + cmd + " <Nick/ID> " );
7616
7617else {
7618
7619local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7620
7621if ( !plr ) EchoMessage( "Invalid Player..." );
7622
7623else EchoMessage( "" + plr.Name + "'s Fps: " + plr.FPS + ". " );
7624
7625}
7626
7627}
7628
7629
7630
7631else if ( cmd == "server" )
7632
7633{
7634
7635EchoNotice(user,ICOL_PURPLE+"Server Name < "+GetServerName()+" >." );
7636
7637EchoNotice(user,ICOL_PINK+"Server IP < 146.185.143.200:8193 >." );
7638
7639EchoNotice(user,ICOL_RED+"Server Forums < www.capture-theflag.base.pk >." );
7640
7641}
7642
7643
7644
7645else if ( cmd == "forum" )
7646
7647{
7648
7649EchoMessage( ICOL_ORANGE + "Visit Our Forum: www.capture-theflag.base.pk" );
7650
7651}
7652
7653
7654else if ( cmd == "hp" )
7655
7656{
7657
7658if ( param.len() < 2 ) EchoNotice(user,ICOL_RED+"Syntax: !"+cmd+" <Nick/ID>");
7659
7660else {
7661
7662local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7663
7664if ( !plr ) EchoNotice(user,ICOL_RED+" |Error| "+ICOL_ORANGE+"Invalid Player." );
7665
7666EchoMessage("["+plr.ID+"] "+plr+" Health:[ "+plr.Health+"'% ]");
7667
7668}
7669
7670}
7671
7672
7673
7674
7675
7676else if ( ( cmd == "cmds" ) || ( cmd == "commands" ) )
7677
7678{
7679
7680EchoMessage(ICOL_ORANGE+" !hp, !forum, !say, !me, !players, !admins, !ping, !server, !score, !fps ." );
7681
7682}
7683
7684
7685
7686// Admin Cmds
7687
7688else if ( ( cmd == "acmds" ) || ( cmd == "admincmds" ) )
7689
7690{
7691
7692if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
7693
7694else EchoNotice( user,ICOL_RED+"!exe, !getip, !ann, !freeze, !unfreeze, !annall, !slap, !drown, !kill, !mute, !unmute, !ban, !unban, !macban, unmacban, !setweather, !alias, !tempban, !untempban" );
7695
7696}
7697
7698
7699
7700else if ( cmd == "drown" )
7701
7702{
7703
7704if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
7705
7706else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error - Syntax: !" + cmd + " <Nick/ID> <Reason> ");
7707
7708else {
7709
7710local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7711
7712if ( !plr ) EchoNotice( user, "Error - Unknown player." );
7713
7714else {
7715
7716local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
7717
7718if ( !msg ) EchoNotice( user, "Error - Invalid format." );
7719
7720else {
7721
7722EchoMessage( ICOL_RED + " Admin "+user+" Drowned Player:[ " + plr.Name + " ]. Reason:[ " + msg + " ]" );
7723
7724Message(RED+" Admin "+user+" Drowned Player:[ " + plr.Name + " ]. Reason:[ " + msg + " ]" );
7725
7726plr.Pos = Vector( 283.521 , -1574.3 , 7.19846 );
7727
7728}
7729
7730}
7731
7732}
7733
7734}
7735
7736
7737
7738else if ( cmd == "setweather" )
7739
7740{
7741
7742if ( level < 4 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough to use that command." );
7743
7744else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Syntax: !setweather <Weather/ID>");
7745
7746else {
7747
7748switch( NewText.tolower() )
7749
7750{
7751
7752case "4":
7753
7754SetWeather( 4 );
7755
7756Message(GREY+" Admin "+user+" Set The Weather To Sunny.");
7757
7758EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Sunny." );
7759
7760break;
7761
7762case "5":
7763
7764SetWeather( 5 );
7765
7766Message(GREY+" Admin "+user+" Set The Weather To Rainy.");
7767
7768EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Rainy." );
7769
7770break;
7771
7772case "0":
7773
7774SetWeather( 0 );
7775
7776Message(GREY+" Admin "+user+" Set The Weather To Clear Skies.");
7777
7778EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Clear Skies." );
7779
7780break;
7781
7782case "1":
7783
7784SetWeather( 1 );
7785
7786Message(GREY+" Admin "+user+" Set The Weather To OverCast." );
7787
7788EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to OverCast." );
7789
7790break;
7791
7792case "2":
7793
7794SetWeather( 2 );
7795
7796Message(GREY+" Admin "+user+" Set The Weather To Rainy-Lightning." );
7797
7798EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Rainy-Lightning." );
7799
7800break;
7801
7802case "3":
7803
7804SetWeather( 3 );
7805
7806Message(GREY+" Admin "+user+" Set The Weather To Foggy." );
7807
7808EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Foggy." );
7809
7810break;
7811
7812case "6":
7813
7814SetWeather( 6 );
7815
7816Message(GREY+" Admin "+user+" Set The Weather To Dark Sky Partly Cloudy." );
7817
7818EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Dark Sky Partly Cloudy." );
7819
7820break;
7821
7822case "7":
7823
7824SetWeather( 7 );
7825
7826Message(GREY+" Admin "+user+" Set The Weather To Light Sky Partly Cloudy." );
7827
7828EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Light Sky Partly Cloudy." );
7829
7830break;
7831
7832case "8":
7833
7834SetWeather( 8 );
7835
7836Message(GREY+" Admin "+user+" Set The Weather To OverCast Partly Cloudy." );
7837
7838EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to OverCast Partly Cloudy." );
7839
7840break;
7841
7842case "9":
7843
7844SetWeather( 9 );
7845
7846Message(GREY+" Admin "+user+" Set The Weather To Grey Sky Black Clouds." );
7847
7848EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Grey Sky Black Clouds." );
7849
7850break;
7851
7852case "10":
7853
7854SetWeather( 10 );
7855
7856Message(GREY+" Admin "+user+" Set The Weather To Fog And Gray." );
7857
7858EchoMessage( ICOL_GREEN + "Admin "+user+" Has Set Weather to Fog And Gray." );
7859
7860break;
7861
7862}
7863
7864}
7865
7866}
7867
7868
7869
7870else if (( cmd == "setlevel" ) || ( cmd == "setlvl" ))
7871
7872{
7873
7874if ( level < 5 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough to use that command." );
7875
7876else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Syntax: !" + cmd + " <Nick/ID> <Level>");
7877
7878else {
7879
7880local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7881
7882if ( !plr ) EchoNotice( user, ICOL_RED + "Error: Invalid Player.");
7883
7884else {
7885
7886local lvl = GetTok( NewText, " ", 2);
7887
7888if ( lvl == null ) lvl = "2";
7889
7890if (!IsNum(lvl)) EchoNotice( user, ICOL_RED + "Level Must Be In Numbers.");
7891
7892else {
7893
7894EchoMessage( ICOL_LGREEN + "** Admin "+user+" Set Level To " + plr.Name + ", Level: " + lvl + "." );
7895
7896QuerySQL(db,"UPDATE Account SET Level='" + lvl + "' WHERE Name='" + plr.Name.tolower() + "'");
7897
7898MessagePlayer(RED+" "+YELLOW+"You Are Now "+GetLevelTag(plr)+" Level.",plr);
7899
7900}
7901
7902}
7903
7904}
7905
7906}
7907
7908
7909
7910else if ( cmd == "kick" )
7911
7912{
7913
7914if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough to use that command." );
7915
7916else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Syntax: !"+cmd+" <Nick/ID> <Reason>");
7917
7918else {
7919
7920local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7921
7922if ( !plr ) EchoNotice( user, "Error: Invalid Player.");
7923
7924else {
7925
7926local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
7927
7928if ( !msg ) EchoNotice( user, "Error: Invalid format." );
7929
7930else {
7931
7932Message(RED+" Admin "+user+" Kicked-Player "+plr.Name+" For Reason < "+msg+" >" );
7933
7934EchoMessage( ICOL_RED + "Admin "+user+" Kicked-Player "+plr.Name+" For Reason < "+msg+" >." );
7935
7936KickPlayer( plr );
7937
7938}
7939
7940}
7941
7942}
7943
7944}
7945
7946else if ( cmd == "tempbanlist" )
7947{
7948if ( level < 3 ) EchoNotice( user, ICOL_RED+" You Dont Have Access To That Command!");
7949else {
7950local query = QuerySQL( database, "SELECT * FROM Banned" ), a=0;
7951if ( !query ) EchoNotice(user, ICOL_RED+" No Players Are Banned.");
7952else {
7953while ( GetSQLColumnData( query, 0 ) != null )
7954{
7955local Time_Left = TimeRem( GetSQLColumnData( query, 2 ).tointeger(), GetSQLColumnData( query, 4 ).tostring() );
7956EchoNotice( user, ICOL_RED+" Admin < "+GetSQLColumnData( query, 5 )+" > Player < "+GetSQLColumnData( query, 0 )+" > Reason < "+GetSQLColumnData( query, 6 )+" > Time-Left < "+Time_Left+" >" );
7957GetSQLNextRow( query );
7958a++;}
7959}
7960FreeSQLQuery( query );
7961}
7962}
7963
7964else if ( cmd == "ban" )
7965
7966{
7967
7968if ( level < 4 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough." );
7969
7970else if ( param.len() < 2 ) EchoNotice( user,ICOL_RED +"Syntax: !" + cmd + " [Nick/ID] [Reason]");
7971
7972else {
7973
7974local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
7975
7976if ( !plr ) EchoNotice( user,"Error: Invalid Player.");
7977
7978else {
7979
7980local reason = GetTok( NewText, " ", 2 NumTok( NewText, " " ) );
7981
7982if ( reason == null ) reason = "None";
7983
7984BanPlayer( user, plr, reason );
7985
7986}
7987
7988}
7989
7990}
7991
7992
7993
7994 else if ( cmd == "tempban" )
7995
7996 {
7997
7998 local txt_Split;
7999
8000 if ( level < 4 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough." );
8001
8002 else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Syntax: !" + cmd + " <player> <day:hour:min> <reason>");
8003
8004 else
8005
8006 {
8007
8008 if( NumTok( NewText, " " ) == 2 )
8009
8010 {
8011
8012 txt_Split = split( NewText, " " );
8013
8014 local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ];
8015
8016 if( plr ) IRCAddBan( user, plr, expire ); //you need to make another function for irc!!
8017
8018 else EchoNotice( user, ICOL_RED + "Error: No such player." );
8019
8020 }
8021
8022 else if( NumTok( NewText, " " ) >= 3 )
8023
8024 {
8025
8026 txt_Split = split( NewText, " " );
8027
8028 local plr = FindPlayer( txt_Split[ 0 ] ), expire = txt_Split[ 1 ], reason = GetTok( NewText, " ", 3, NumTok( NewText, " " ) );
8029
8030 if( plr ) IRCAddBan( user, plr, expire, reason );
8031
8032 else EchoNotice( user, ICOL_RED + "Error: No such player." );
8033
8034 }
8035
8036 else EchoNotice( user, ICOL_RED + "Syntax: " + cmd + " <player> <day:hour:min> <reason>");
8037
8038 }
8039
8040 }
8041
8042
8043else if( cmd == "untempban" )
8044
8045{
8046
8047if ( level < 4 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough." );
8048
8049else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Syntax: !untempban <Fullname>" );
8050
8051else if( !IsBanned(NewText) ) EchoNotice ( user, ICOL_RED + "Error: " + NewText + " is not tempbanned" );
8052
8053else
8054
8055{
8056
8057QuerySQL( database, "DELETE FROM Banned WHERE ban_nick='" + NewText + "' COLLATE NOCASE" );
8058
8059Message(RED+"Un-Banned < " + NewText + " > By Admin < " + user + " >" );
8060
8061EchoMessage(ICOL_RED+"Un-Banned < " + NewText + " > By Admin < " + user + " >" );
8062
8063}
8064
8065}
8066
8067
8068
8069else if ( cmd == "unban" )
8070
8071{
8072
8073
8074if ( level < 4 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough." );
8075else if ( param.len() < 2 ) EchoNotice( user,ICOL_RED +"Syntax: " + cmd + " <Full/Nick>");
8076
8077else {
8078local q = QuerySQL( db, "SELECT * FROM Bans WHERE Name='" + NewText + "'" );
8079
8080if ( GetSQLColumnData( q, 0 ) != NewText ) EchoNotice( user,ICOL_ORANGE +"Error: " + NewText + " Is Not Exist In Ban-List.");
8081
8082else {
8083
8084QuerySQL( db,"DELETE FROM Bans WHERE Name='" + NewText + "'" );
8085
8086Message(GREEN+" Admin "+user+" UnBanned-Player "+NewText+".");
8087
8088EchoMessage( ICOL_GREEN+ "Admin "+user+" UnBanned-Player "+NewText+"." );
8089
8090}
8091
8092}
8093
8094}
8095
8096
8097
8098else if ( cmd == "baninfo" )
8099
8100{
8101
8102if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough." );
8103
8104else if ( param.len() < 2 ) EchoNotice( user,ICOL_RED +"Syntax: "+cmd+" <Full/Nick>");
8105
8106else {
8107
8108local q = QuerySQL( db, "SELECT * FROM Bans WHERE Name='" + NewText + "'" );
8109
8110if ( !GetSQLColumnData( q, 0 ) ) EchoNotice( user,ICOL_ORANGE+"Error: This Player Does Not Exist In Ban-List.");
8111
8112else {
8113
8114EchoNotice( user,ICOL_RED +"Banned Player Found!");
8115
8116EchoNotice( user,ICOL_RED +"Player Name: "+NewText);
8117
8118EchoNotice( user,ICOL_RED +"Player IP: " + GetSQLColumnData( q, 1 ));
8119
8120EchoNotice( user,ICOL_RED +"Player Banned by: " + GetSQLColumnData( q, 3 ));
8121
8122EchoNotice( user,ICOL_RED +"Player Reason: " + GetSQLColumnData( q, 4 ));
8123
8124}
8125
8126}
8127
8128}
8129
8130
8131
8132else if ( cmd == "alias")
8133
8134{
8135
8136if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error: Your level is not high enough." );
8137
8138else if ( param.len() < 2 ) EchoNotice( user,ICOL_RED +"Syntax: !alias <Nick/ID>");
8139
8140else {
8141
8142local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8143
8144if ( !plr ) EchoNotice( user,ICOL_RED +"Error: Invalid Player.");
8145
8146else {
8147
8148local m = "", m2 = "", m3 = "";
8149
8150local q = QuerySQL(mDB, "SELECT Name FROM alias WHERE IP='"+plr.IP+"'");
8151
8152while (GetSQLColumnData(q,0) != null)
8153
8154{
8155
8156local p = NumTok(m, " ");
8157
8158if (p == 0) m = m + GetSQLColumnData(q,0) + ", ";
8159
8160else {
8161
8162local dup = 0, i = 0;
8163
8164while (i <= p)
8165
8166{p = NumTok(m, " ");
8167
8168if (GetSQLColumnData(q,0) == (GetTok(m, ", ", i)))
8169
8170{
8171
8172dup = 1;
8173
8174i = p + 1;}
8175
8176else i++;
8177
8178}
8179
8180if ((dup != 1) && (m.len() < 130)) m = m + GetSQLColumnData(q,0) + ", ";
8181
8182else if ((dup != 1) && (m.len() > 130))
8183
8184{
8185
8186local p2 = NumTok(m2, " "), i2 = 0;
8187
8188while (i2 <= p2)
8189
8190{
8191
8192p2 = NumTok(m2, " ");
8193
8194if (GetSQLColumnData(q,0) == (GetTok(m2, ", ", i2)))
8195
8196{
8197
8198dup = 1;
8199
8200i2 = p2 + 1;}
8201
8202else i2++; }
8203
8204if ((dup != 1) && (m2.len() < 130)) m2 = m2 + GetSQLColumnData(q,0) + ", ";
8205
8206else if (dup != 1)
8207
8208{local p3 = NumTok(m3, " "), i3 = 0;
8209
8210while (i3 <= p3)
8211
8212{
8213
8214p3 = NumTok(m3, " ");
8215
8216if (GetSQLColumnData(q,0) == (GetTok(m3, ", ", i2)))
8217
8218{
8219
8220dup = 1;
8221
8222i3 = p3 + 1;
8223
8224} else i3++;
8225
8226}
8227
8228if ((dup != 1) && (m3.len() < 130)) m3 = m3 + GetSQLColumnData(q,0) + ", ";
8229
8230}
8231
8232}
8233
8234GetSQLNextRow(q);
8235
8236}
8237
8238}
8239
8240if (m2 == "") EchoNotice( user,ICOL_GREEN +" " + plr.Name + "'s Aliases: " + m);
8241
8242else if ((m2 != "") && (m3 == ""))
8243
8244{
8245
8246EchoNotice( user,ICOL_ORANGE +" " + plr.Name + "'s Aliases: " + m);
8247
8248EchoNotice( user,m2);
8249
8250}
8251
8252else if (m3 != "")
8253
8254{
8255
8256EchoNotice( user,ICOL_ORANGE +" " + plr.Name + "'s Aliases: " + m);
8257
8258EchoNotice( user,m2);
8259
8260EchoNotice( user,m3);
8261
8262}
8263
8264}
8265
8266}
8267
8268}
8269
8270
8271
8272else if ( cmd == "kill" )
8273
8274{
8275
8276if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8277
8278else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error - Syntax: " + cmd + " <Nick/ID> <Reason> ");
8279
8280else {
8281
8282local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8283
8284if ( !plr ) EchoNotice( user, "Error - Unknown player." );
8285
8286else {
8287
8288local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
8289
8290if ( !msg ) EchoNotice( user, "Error - Invalid format." );
8291
8292else {
8293
8294EchoMessage( ICOL_GREEN + "Admin "+user+" Has Killed Player:[ " + plr.Name + " ]. Reason:[ " + msg + " ]" );
8295
8296Message(RED+" Admin " + user + " Has Killed Player:[ " + plr.Name + " ]. Reason:[ " + msg + " ]" );
8297
8298plr.Pos = plr.Pos
8299
8300plr.Health = 0;
8301
8302}
8303
8304}
8305
8306}
8307
8308}
8309
8310
8311
8312else if ( cmd == "slap" )
8313
8314{
8315
8316if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8317
8318else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error - Syntax: " + cmd + " <Nick/ID> ");
8319
8320else {
8321
8322local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8323
8324if ( !plr ) EchoNotice( user, "Error - Invalid player." );
8325
8326else
8327{
8328Message(RED+" Admin " + user + " Has Slapped " + plr.Name + "." );
8329
8330EchoMessage( ICOL_RED + "Admin "+user+" Has Slapped "+plr.Name+"." );
8331
8332plr.Health -= 20;
8333
8334plr.Pos = Vector( plr.Pos.x,plr.Pos.y,plr.Pos.z+5 );
8335}
8336}
8337
8338}
8339
8340
8341
8342else if ( cmd == "ann" )
8343
8344{
8345
8346if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8347
8348else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error - Syntax: " + cmd + " <Nick/ID/all> <Message> ");
8349
8350else if (GetTok( NewText, " ", 1 ).tolower() =="all")
8351
8352{
8353
8354local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
8355
8356AnnounceAll( msg, 6 );
8357
8358EchoMessage( ICOL_GREEN + "Sent Announcement:[ " + msg + " ] to all players" );
8359
8360}
8361
8362else {
8363
8364local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8365
8366if ( !plr ) EchoNotice( user, "Unknow player." );
8367
8368else {
8369
8370local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
8371
8372Announce( msg, plr, 6 );
8373
8374EchoMessage( ICOL_GREEN + "Sent Announcement < " + msg + " > To < "+plr.Name+" >" );
8375
8376}
8377
8378}
8379
8380}
8381
8382
8383
8384
8385
8386 else if ( cmd == "annall" )
8387
8388 {
8389
8390 if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8391
8392 else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error Syntax: " + cmd + " <Message>");
8393
8394 else
8395
8396 {
8397
8398 local msg = GetTok( NewText, " ", 2,NumTok( NewText, " "));
8399
8400 AnnounceAll( NewText, 3);
8401
8402 EchoMessage( ICOL_GREEN + " " + user + " Sent Announcement to all players in game. Message < " + text + " >" );
8403
8404 }
8405
8406 }
8407
8408
8409
8410
8411
8412 else if ( cmd == "freeze" )
8413
8414 {
8415
8416 if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8417
8418 else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error - Syntax: " + cmd + " <Nick/ID> <Reason> ");
8419
8420 else
8421
8422 {
8423
8424 local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8425
8426 if ( !plr ) EchoNotice( user, "Error - Unknow player." );
8427
8428 else
8429
8430 {
8431
8432 local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
8433
8434 if ( !msg ) EchoNotice( user, "Error - Invalid format." );
8435
8436 else
8437
8438 {
8439
8440 EchoMessage( ICOL_RED + "Admin "+user+" Freezed Player < " + plr.Name + " > For Reason < " + msg + " >" );
8441
8442 Message(RED+" Admin " + user + " Freezed Player < " + plr.Name + " > For Reason < " + msg + " >" );
8443
8444 plr.IsFrozen = true;
8445
8446 }
8447
8448 }
8449
8450 }
8451
8452 }
8453
8454
8455
8456
8457
8458 else if ( cmd == "mute" )
8459
8460 {
8461
8462 if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8463
8464 else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + "Error - Syntax: " + cmd + " <Nick/ID> <Reason> ");
8465
8466 else
8467
8468 {
8469
8470 local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8471
8472 if (!plr) EchoNotice( user, " Error - Unknown player" );
8473
8474 else
8475
8476 {
8477
8478 local msg = GetTok( NewText, " ", 2, NumTok( NewText, " " ) );
8479
8480 if ( !msg ) EchoNotice( user, "Error - Invalid format." );
8481
8482 else
8483
8484 {
8485
8486 EchoMessage( ICOL_RED + "Admin "+user+" Muted Player < " + plr.Name + " > For Reason < " + msg + " >" );
8487
8488 Message(RED+" Admin " + user + " Muted Player < " + plr.Name + " > For Reason < " + msg + " >" );
8489
8490 status[ plr.ID ].Muted = true;
8491
8492 }
8493
8494 }
8495
8496 }
8497
8498 }
8499
8500
8501
8502 else if ( cmd == "unmute" )
8503
8504 {
8505
8506 if ( level < 3 ) EchoNotice( user, ICOL_RED + "Error - Your level is not high enough to use that command." );
8507
8508 else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + " Error - Syntax: !unmute <Nick/ID>" );
8509
8510 else
8511
8512 {
8513
8514 local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8515
8516 if (!plr) EchoNotice( user, " Error - Unknown Player" );
8517
8518 else
8519
8520 {
8521
8522 EchoMessage( ICOL_RED + " Admin " + user + " Has Un-Muted Player " + plr.Name + "." );
8523
8524 Message(RED+" Admin " + user + " Has Un-Muted " + plr.Name + "." );
8525
8526 status[ plr.ID ].Muted = false;
8527
8528local query = QuerySQL( db, "SELECT * FROM Muted WHERE Name='" + plr.Name + "'")
8529
8530if ( GetSQLColumnData( query, 0 ) )
8531
8532{
8533
8534QuerySQL( db, "DELETE FROM Muted WHERE Name='" + plr.Name + "'" );
8535
8536}
8537
8538FreeSQLQuery( query );
8539
8540
8541
8542
8543
8544
8545
8546 }
8547
8548 }
8549
8550 }
8551
8552
8553 else if ( cmd == "unfreeze" )
8554
8555 {
8556
8557 if ( level < 3 ) EchoNotice( user, ICOL_RED + " Error - Your level is not high enough." );
8558
8559 else if ( param.len() < 2 ) EchoNotice( user, ICOL_RED + " Error - Syntax: !unfreeze <Nick/ID>" );
8560
8561 else
8562
8563 {
8564
8565 local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8566
8567 if (!plr) EchoNotice( user, " Error - Unknown Player" );
8568
8569 else
8570
8571 {
8572
8573 EchoMessage( ICOL_RED + "Admin " + user + " Un-Freezed " + plr.Name + "." );
8574
8575 Message(RED+" Admin " + user + " Un-Freezed " + plr.Name + "." );
8576
8577 plr.IsFrozen = false;
8578
8579 }
8580
8581 }
8582
8583 }
8584
8585
8586
8587
8588
8589 else if( cmd == "e" )
8590
8591 {
8592
8593 if ( param.len() < 2 ) EchoMessage( ICOL_RED + "Error - Syntax: !exec <Squirrel code>" );
8594
8595 else if( level < 6 ) EchoNotice( user, ICOL_RED + "You have to be an admin to use such commands." );
8596
8597 else
8598
8599 {
8600
8601 try
8602
8603 {
8604
8605 local script = compilestring( NewText );
8606
8607 if(script)
8608
8609 {
8610
8611 script();
8612
8613 EchoMessage( "4 command executed successfully!" );
8614
8615 }
8616
8617 else EchoMessage( "4 error!" );
8618
8619
8620
8621 }
8622
8623 catch(e) EchoMessage( "Error:" + e );
8624
8625 }
8626
8627 }
8628
8629
8630
8631
8632
8633 else if ( cmd == "getip")
8634
8635 {
8636
8637 if ( param.len() < 2 ) EchoMessage( ICOL_RED + "Error - Syntax: !getip <Nick/ID>" );
8638
8639 else if( level < 3 ) EchoNotice( user, ICOL_RED + "You have to be an admin to use such commands." );
8640
8641 else
8642
8643 {
8644
8645 local plr = GetPlayer( GetTok( NewText, " ", 1 ) );
8646
8647 if (!plr) EchoNotice( user, " Error - Unknown Player" );
8648
8649 else
8650
8651 {
8652
8653 EchoNotice( user, ICOL_GREEN + " " + plr.Name + " IP < " + plr.IP + " >." );
8654
8655 }
8656
8657 }
8658
8659 }
8660
8661 }
8662 else if ( ThePrefix == "." ) if ( TheText.len() == 0 ) EchoMessage( ICOL_RED+" |Error| - Missing Information, .Message");
8663 else
8664 {
8665 local msg = " " + LevelTag1(level) + " " + user + ": " + TheText;
8666 EchoMessage(lLevelTag(GREEN+level) + msg);
8667 Message(IRCMSG+msg);
8668 }
8669}
8670
8671function Time( )
8672{
8673 local a = date().hour, b=date().min, c=date().sec;
8674 EchoMessage( a+":"+b+":"+c );
8675}
8676
8677function SendPrivIRC( text, lvl )
8678{
8679for ( local i = 0; i < FBS_NICKS.len(); i++ )
8680{
8681if ( FBS_NICKS[ i ] )
8682{
8683if ( FBS_NICKS[ i ].Level >= 3 ) EchoNotice( FBS_NICKS[ i ].Name, text );
8684}
8685}
8686}
8687
8688function EchoMessage( text )
8689{
8690 // This is used for events such as a player joining
8691 // EchoMessage( "** [" + player.ID + "] " + player + " has joined the server." );
8692
8693 local BotID = BotNick.find( FBS_DUAL() );
8694 FBS_BOT[BotID].Send( "PRIVMSG " + FBS_CHAN + " " + text + "\n" );
8695}
8696
8697function EMessage( text )
8698{
8699 // This is used for events such as a player joining
8700 // EchoMessage( "** [" + player.ID + "] " + player + " has joined the server." );
8701 local C = random( 0, Colour.len() - 1 );
8702 local BotID = BotNick.find( FBS_DUAL() );
8703 FBS_BOT[BotID].Send( "PRIVMSG " + FBS_CHAN + " " + text + "\n" );
8704 Message( "" + Colour[C] + "" + text );
8705}
8706
8707function EchoNotice( nick, text )
8708{
8709 local BotID = BotNick.find( FBS_DUAL() );
8710 FBS_BOT[BotID].Send( "NOTICE " + nick + " " + text + "\n" );
8711}
8712
8713/* The following functions below are to do with multi-bot support
8714 DO NOT TOUCH ANYTHING BELOW THIS LINE.......EVER!
8715*/
8716function FBS_DUAL()
8717{
8718 local
8719 BotName,
8720 IsSelected,
8721 IsConnected,
8722 FirstBot = BotNick[ FirstBotID() ];
8723
8724 for(local i = 0; i < 2; i++)
8725 {
8726 BotName = BotNick[ i ];
8727 IsConnected = IsBotConnected[ i ];
8728 IsSelected = IsBotSelected.find(BotName);
8729
8730 if ( ( BotName ) && ( IsConnected ) && ( IsSelected == null ) )
8731 {
8732 IsBotSelected[ i ] = BotName;
8733 return BotName;
8734 }
8735 }
8736
8737 /* Re-create array and return the First 'IsConnected' Bot
8738 if procedure above is false.
8739 */
8740
8741 if ( FirstBot )
8742 {
8743 IsBotSelected <- array( 2 );
8744 IsBotSelected[ 0 ] = FirstBot;
8745 return FirstBot;
8746 }
8747}
8748
8749
8750// Finds the fist connected Bot ID
8751function FirstBotID()
8752{
8753 local i = 0;
8754 while ( i < IsBotConnected.len() )
8755 {
8756 if ( IsBotConnected[i] )
8757 {
8758 return i;
8759 break;
8760 }
8761 else i++;
8762 }
8763}
8764
8765function FBSSortNicks( szList )
8766{
8767 local a = NumTok( szList, " " );
8768 local NickList = GetTok( szList, " ", 6, a ), i = 1;
8769
8770 FBS_NICKS <- array( 50, null );
8771
8772 while( GetTok( NickList, " ", i ) != "366" )
8773 {
8774 local levelnick = GetTok( NickList, " ", i ), nick = levelnick.slice( 1 ), level = levelnick.slice( 0, 1 );
8775
8776 if ( level == ":" ) { level = nick.slice( 0, 1 ); nick = nick.slice( 1 ); }
8777
8778 if ( level == "+" ) AddNewNick( nick, 2 );
8779 else if ( level == "%" ) AddNewNick( nick, 3 );
8780 else if ( level == "@" ) AddNewNick( nick, 4 );
8781 else if ( level == "&" ) AddNewNick( nick, 5 );
8782 else if ( level == "~" ) AddNewNick( nick, 6 );
8783 else AddNewNick( nick, 1 );
8784 i ++;
8785 }
8786}
8787
8788function AddNewNick( szName, iLevel )
8789{
8790 local i = FindFreeNickSlot();
8791
8792 if ( i != -1 )
8793 {
8794 FBS_NICKS[i] = FBSLIST();
8795 FBS_NICKS[i].AddNick( szName, iLevel );
8796 }
8797}
8798
8799function FindFreeNickSlot()
8800{
8801 for ( local i = 0; i < FBS_NICKS.len(); i++ )
8802 {
8803 if ( !FBS_NICKS[i] ) return i;
8804 }
8805 return -1;
8806}
8807
8808function FindNick( szName )
8809{
8810 for ( local i = 0; i < FBS_NICKS.len(); i++ )
8811 {
8812 if ( FBS_NICKS[i] )
8813 {
8814 if ( FBS_NICKS[i].Name == szName ) return FBS_NICKS[i];
8815 }
8816 }
8817 return null;
8818}
8819
8820function StripCol( text )
8821{
8822 local a, z = text.len(), l;
8823 local coltrig = false, comtrig = false, num = 0, output = "";
8824 for ( a = 0; a < z; a++ )
8825 {
8826 l = text[a];
8827 if ( l == 3 ) { coltrig = !coltrig; num = 0; comtrig = false; }
8828 else if ( coltrig && num < 2 && l < 58 && 47 < l ) { num++; }
8829 else if ( coltrig && !comtrig && l == 44 ) { comtrig = true; num = 0; }
8830 else { num = 2; comtrig = false; output += l.tochar(); }
8831 }
8832 return output;
8833}
8834
8835function left(str, len) return str.slice(0, len);
8836
8837function right(str, len) return str.slice(str.len() - len);
8838
8839function strip_left(str, len) return str.slice(len, str.len());
8840
8841function strip_right(str, len) return str.slice(0, str.len() - len);
8842
8843function mid(str, startchar, endchar) return (endchar < startchar) ? false : str.slice(startchar - 1, endchar);
8844
8845
8846auto_msgs <-
8847[
8848" Capture Your Enemy Team's Flag & Drop At Your Base To Get 10 Points!",
8849" You Need To Stand On Flag Atleast 5 Secs In Order To Capture It!",
8850" Wanna Play CTF ,Start Round Using /Startround <ID>! :)"
8851" Check !Baselist To See Available Base ID's."
8852" Join Our IRC Channel #Ecs-Echo | LUnet."
8853];
8854
8855randcolors <-
8856[
8857 "[#A9E2F3]"
8858
8859 ];
8860
8861 randcolorsirc <-
8862 [
8863 "\x000303"
8864 ]
8865
8866 function sendmsgs()
8867{
8868if ( GetPlayers() > 0 )
8869{
8870 local colorserver = randcolors[ rand() % randcolors.len() ];
8871 local colorirc = randcolorsirc[ rand() % randcolorsirc.len() ];
8872 Message( colorserver + auto_msgs[ rand() % auto_msgs.len() ] );
8873 EchoMessage( colorirc + auto_msgs[ rand() % auto_msgs.len() ] );
8874}
8875}