· 8 years ago · Jul 10, 2018, 04:08 AM
1const Developer = "=EA=MahmoudTornado";
2const Scripter = "=EA=MahmoudTornado";
3const Level2 = "settime, setweather, afix, setdisarm, setdrunk, setundrunk, spawn";
4const Level3 = "ann, agoto";
5const Level4 = "kick, sethp, setarmour, adminchat, canattack, respawncars, candriveby, slap";
6const Level5 = "freeze, unfreeze, mute, unmute, setplayerworld, setplayerskin, spawnall";
7const Level52 = " ";
8const Level6 = "get, givewep, healall, armall, disarmall, drunkall, undrunkall";
9const Level7 = "ban, unban, getall, agetcar";
10const Level8 = "setlevel, controlpanel";
11const Level9 = "agivecash, setcash, getcash, setbank";
12const Level10 = "setkills, setdeaths";
13
14LIMIT_REP_SPAM <- 3;
15MUTE_TIME <- 30000;
16LIMT_REP_TIME <- 2;
17
18class PlayerClass
19{
20 Password = null;
21 Level = 0;
22 Kills = 0;
23 Deaths = 0;
24 Cash = 0;
25 Bank = 0;
26 IP = null;
27 AutoLogin = false;
28 Log = false;
29 Reg = false;
30 Ban = false;
31 nogoto = false;
32 spawnloc = false;
33 X = 0;
34 Y = 0;
35 Z = 0;
36 spawnwep = false;
37 wep1 = 0;
38 wep2 = 0;
39 wep3 = 0;
40 wep4 = 0;
41 wep5 = 0;
42 wep6 = 0;
43 wep7 = 0;
44 wep8 = 0;
45}
46
47function onScriptLoad()
48{
49 DataBase <- ConnectSQL("LG-Databases/LG-Accounts.db");
50 Bans <- ConnectSQL( "LG-Databases/LG-Bans.db" );
51 db <- ConnectSQL( "LG-Databases/LG-DataBase.db" );
52 QuerySQL(DataBase, "create table if not exists Accounts ( Name TEXT, LowerName TEXT, Password VARCHAR(255), Level NUMERIC DEFAULT 1, Kills NUMERIC DEFAULT 0, Deaths NUMERIC DEFAULT 0, Cash NUMERIC DEFAULT 0, Bank NUMERIC DEFAULT 0, TimeRegistered VARCHAR(255) DEFAULT CURRENT_TIMESTAMP, IP VARCHAR(255), AutoLogin BOOLEAN DEFAULT true ) ");
53 QuerySQL( Bans, "CREATE TABLE IF NOT EXISTS Bans ( Name VARCHAR(32), IP VARCHAR(25), Admin TEXT, Reason TEXT )" );
54 QuerySQL( db, "CREATE TABLE IF NOT EXISTS Locations ( Name VARCHAR(32), Pos VARCHAR(25), Creator TEXT )" );
55 Stats <- array(GetMaxPlayers(), null);
56 IsMuted <- array( GetMaxPlayers(), false);
57 antiSpamTime <- array( GetMaxPlayers(), 0 );
58 antiSpamWarnings <- array( GetMaxPlayers(), 0 );
59 TimeGotoloc <- array( GetMaxPlayers(), false );
60 dofile("LG-Scripts/LG-Commands.nut");
61 dofile("LG-Scripts/LG-Functions.nut");
62 dofile("LG-Scripts/LG-PlayerEvents.nut");
63 print("Successfully Loaded Registration System.");
64 AddClass(0, RGB( 96, 219, 208 ), 0, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
65 AddClass(200, RGB( 96, 115, 208 ), 200, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
66 AddClass(201, RGB( 96, 115, 208 ), 201, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
67 AddClass(202, RGB( 192, 25, 53 ), 202, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
68 AddClass(203, RGB( 253, 240, 209 ), 203, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
69 AddClass(204, RGB( 63, 24, 24 ), 204, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
70 AddClass(205, RGB( 137, 161, 100 ), 205, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
71 AddClass(206, RGB( 66, 55, 37 ), 206, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
72 AddClass(207, RGB( 66, 55, 37 ), 207, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
73 AddClass(208, RGB( 30, 30, 30 ), 208, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
74 AddClass(209, RGB( 192, 25, 53 ), 209, Vector( -650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
75 AddClass(210, RGB( 63, 24, 24 ), 210, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
76 AddClass(211, RGB( 63, 55, 118 ), 211, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
77 AddClass(212, RGB( 63, 55, 118 ), 212, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
78 AddClass(213, RGB( 152, 203, 0 ), 213, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
79 AddClass(214, RGB( 96, 219, 208 ), 214, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
80 AddClass(215, RGB( 250, 190, 190 ), 215, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
81 AddClass(216, RGB( 10, 88, 163 ), 216, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
82 AddClass(217, RGB( 161, 24, 24 ), 217, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
83 AddClass(218, RGB( 210, 25, 53 ), 218, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
84 AddClass(221, RGB( 210, 25, 53 ), 221, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
85 AddClass(222, RGB( 210, 25, 53 ), 222, Vector(-650.369, 1162.7, 11.0712), 2.441, 17, 1000 , 21, 1000, 26, 1000 );
86}
87
88function onScriptUnload()
89{
90DisconnectSQL( DataBase );
91DisconnectSQL( db );
92}
93
94function onPlayerCommand( player, cmd, text )
95{
96cmd = cmd.tolower ( );
97 if ( cmd == "cmds" || cmd == "command"|| cmd == "commands")
98 {
99 MessagePlayer("[#00de00]Commands: [#fbf3f3]register, login, logout, changepass, stats, admins, saveloc, gotoloc, spawnloc, spawnwep, goto, fix, flip, heal" , player);
100 }
101
102 else if(cmd == "exec")
103 {
104 if ( Stats[ player.ID ].Level < 10 ) MessagePlayer("[ERROR][#ffffff] Un Authorized Acces",player);
105 else if( !text ) MessagePlayer( "[#00CC00]** Syntax, /exec <Squirrel code>", player);
106 else
107 {
108 try
109 {
110 local script = compilestring( text );
111 script();
112 }
113 catch(e) MessagePlayer( "Error: " + e, player);
114 }
115 return 1;
116}
117else if ( cmd == "stats" )
118{
119if ( Stats[ player.ID ].Reg == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're Not Registered.", player );
120else if ( Stats[ player.ID ].Log == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're Not Logged-In.", player );
121else if ( !text ) GetStats( player );
122else
123{
124local plr = GetPlayer( GetTok( text, " ", 1 ) );
125if ( !plr ) MessagePlayer( "[#00de00]Information: [#fbf3f3]Unknow Player.", player );
126else if ( Stats[ plr.ID ].Reg == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]The Player isn't registered.", player );
127else if ( Stats[ plr.ID ].Log == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]The Player isn't logged-In.", player );
128else if ( plr.ID == player.ID ) GetStats( player );
129else GetStats( plr );
130}
131}
132
133else if ( cmd == "buyhalopackage" )
134{
135if ( Stats[ player.ID ].Reg == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're Not Registered.", player );
136else if ( Stats[ player.ID ].Log == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're Not Logged-In.", player );
137else if ( player.Cash < 50000 ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You don't have enough money. <50k>", player );
138else
139{
140player.Skin = 222;
141player.GiveWeapon( 100, 999999999 );
142player.GiveWeapon( 101, 999999999 );
143player.GiveWeapon( 102, 999999999 );
144player.GiveWeapon( 103, 999999999 );
145DecCash( player, 50000 );
146}
147}
148
149else if ( cmd == "gethalopackagemoney" )
150{
151IncCash( player, 50000 );
152}
153
154 else if (cmd == "changepass")
155 {
156 if ( Stats[ player.ID ].Log == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're Not Logged-In.", player );
157 else if ( Stats[ player.ID ].Reg == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're Not Registered.", player );
158 else if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Syntax, /changepass <NewPass>",player);
159 else {
160 local password = SHA256(text);
161 QuerySQL(DataBase, "UPDATE Accounts SET Password = '" + password + "' WHERE Name = '" + escapeSQLString(player.Name) + "'");
162 MessagePlayer("[#00de00]Information: [#fbf3f3]Successfully Changed Password To [#ffffff]"+text+" [#fbf3f3]Don't Forget It",player);
163 }
164 }
165
166 else if (cmd == "logout")
167 {
168 if ( !player.IsSpawned ) MessagePlayer("[#00de00]Information: [#fbf3f3]You Must Be Spawn First",player);
169 else {
170 QuerySQL(DataBase, "UPDATE Accounts SET AutoLogin = '" + false + "' WHERE Name = '" + player.Name + "'");
171 MessagePlayer("[#00de00]Information: [#fbf3f3]Successfully Logout",player);
172 Stats[ player.ID ].AutoLogin = false;
173 Stats[ player.ID ].Log = false;
174 }
175 }
176
177 else if (cmd == "register")
178 {
179 if ( Stats[ player.ID ].Log == true ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're already logged in & registered.", player );
180 else if ( Stats[ player.ID ].Reg == true ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're already register.", player );
181 else if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Syntax, /register [password]",player);
182 else
183 {
184 local now = date();
185 local password = SHA256(text);
186 QuerySQL( DataBase, "INSERT INTO Accounts ( Name, LowerName, Password, Level, Kills, Deaths, Cash, Bank, TimeRegistered, IP, AutoLogin ) VALUES ( '" + escapeSQLString(player.Name) + "','" + escapeSQLString(player.Name) + "','" + password + "', '" + 1 + "', '" + 0 + "', '" + 0 + "', '" + 0 + "', '" + 0 + "', '"+ now.year +"/"+now.month+"/"+now.day+"/"+now.hour+":"+ now.min + "', '" + player.IP + "', '" + true + "' )" );
187 MessagePlayer("[#00de00]Information: [#fbf3f3]Successfully Registered, Password: [#ffffff]"+text+"",player);
188 player.Cash = Stats[ player.ID ].Cash;
189 Stats[ player.ID ].Reg = true;
190 Stats[ player.ID ].Log = true;
191 Stats[ player.ID ].Level = 1;
192 Stats[ player.ID ].Kills = 0;
193 Stats[ player.ID ].Deaths = 0;
194 Stats[ player.ID ].Cash = 0;
195 Stats[ player.ID ].Bank = 0;
196 Stats[ player.ID ].IP = player.IP;
197 Stats[ player.ID ].AutoLogin = true;
198 }
199 }
200
201 else if (cmd == "p")
202 {
203 MessagePlayer("[#00de00]Vector: [#fbf3f3]"+player.Pos+".",player);
204 }
205
206else if ( cmd == "gotoloc" )
207{
208local q = QuerySQL(db, "SELECT * FROM Locations WHERE Name='" + text + "'");
209if ( !player.IsSpawned ) MessagePlayer( "[#ff0000]Error: You Must Spawn First.", player );
210else {
211if ( !text ) MessagePlayer( "[#ff0000]Usage: /" + cmd + " <Location>", player );
212else if ( !CheckLoc( text ) ) MessagePlayer( "[#ff0000]Error: Can't Find This Location: " + text + " !", player );
213else {
214TimeGotoloc[ player.ID ] = true;
215player.IsFrozen = true;
216GotoPlr <- NewTimer( "GotoLoc", 3000, 1, player.ID,text );
217MessagePlayer( "[#ffbb00]Teleporting To Location: "+text+". Saved By: "+GetSQLColumnData( q, 2 )+".", player );
218Announce( "Teleporting...", player , 0 );
219}
220}
221}
222
223else if ( cmd == "saveloc" )
224{
225if ( !player.IsSpawned ) MessagePlayer( "[#ff0000]Error: You Must Spawn First.", player );
226else if ( !text ) MessagePlayer( "[#ff0000]Usage: /" + cmd + " <Location>.", player );
227else {
228if ( CheckLoc( text ) ) MessagePlayer( "[#ff0000]Error:This Location: " + text + " Is Already Exist!.", player );
229else {
230SaveLoc( player, text );
231}
232}
233}
234
235 else if ( cmd == "spawnloc" )
236{
237 if ( !text ) MessagePlayer( "[#ffbb00][Syntax] - /" + cmd + " <on/off>", player );
238 else {
239 if ( text == "on" )
240{
241 Stats[ player.ID ].X = player.Pos.x.tofloat();
242 Stats[ player.ID ].Y = player.Pos.y.tofloat();
243 Stats[ player.ID ].Z = player.Pos.z.tofloat();
244 Stats[ player.ID ].spawnloc = true;
245 MessagePlayer( "[#ffbb00]Spawnloc Enabled", player );
246 }
247 else if ( text == "off" )
248{
249 Stats[ player.ID ].spawnloc = false;
250 MessagePlayer( "[#ffbb00]Spawnloc disabled .", player );
251 }
252 }
253 }
254
255else if( cmd == "spawnwep" )
256{
257 if (!text) MessagePlayer(" Correct syntax: /wep <wep name/id> <wep name/id> ...", player );
258 else {
259 local Wep = "", i;
260 for( i = 0 ; i < split(text, " ").len() ; i++) {
261 if( GetWeaponName( GetWeaponID( split(text, " ")[ i ] ) )) {
262 player.SetWeapon( GetWeaponID( split(text, " ")[ i ] ), 9999 );
263 Wep = Wep + " " + GetWeaponName( GetWeaponID( split(text, " ")[ i ] ) ).tostring();
264 }
265 }
266 Stats[ player.ID ].spawnwep = true;
267 Stats[ player.ID ].wep1 = player.GetWeaponAtSlot( 1 );
268 Stats[ player.ID ].wep2 = player.GetWeaponAtSlot( 2 );
269 Stats[ player.ID ].wep3 = player.GetWeaponAtSlot( 3 );
270 Stats[ player.ID ].wep4 = player.GetWeaponAtSlot( 4 );
271 Stats[ player.ID ].wep5 = player.GetWeaponAtSlot( 5 );
272 Stats[ player.ID ].wep6 = player.GetWeaponAtSlot( 6 );
273 Stats[ player.ID ].wep7 = player.GetWeaponAtSlot( 7 );
274 Stats[ player.ID ].wep8 = player.GetWeaponAtSlot( 8 );
275 MessagePlayer( "Given :" +Stats[ player.ID ].wep6+ ""+Stats[ player.ID ].wep5+ ""+Stats[ player.ID ].wep4+"" , player);
276 MessagePlayer( "Spawnwep :" + Wep, player);
277 }
278 }
279
280 else if (cmd == "login")
281 {
282 if ( Stats[ player.ID ].Log == true ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're already logged in", player );
283 if ( Stats[ player.ID ].Reg == false ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]You're not register.", player );
284 if ( !text ) return MessagePlayer( "[#00de00]Information: [#fbf3f3]Syntax, /login [password]", player );
285 if ( SHA256(text) != GetPass( player ) ) return MessagePlayer( "[#00de00]Information: [#fbf3f3] Invalid Password", player );
286
287 player.Cash = Stats[ player.ID ].Cash;
288 Stats[ player.ID ].Log = true;
289 Stats[ player.ID ].Reg = true;
290 MessagePlayer("[#00de00]Information: [#fbf3f3]You Have Logged-In Successfully.",player);
291 QuerySQL(DataBase, "UPDATE Accounts SET AutoLogin = '" + true + "' WHERE Name = '" + player.Name + "'");
292 Stats[ player.ID ].AutoLogin = true;
293 Stats[ player.ID ].IP = player.IP;
294 return;
295 }
296
297else if ( ( cmd == "admin" ) || ( cmd == "admins" ) )
298{
299local plr, b;
300for( local i = 0; i <= GetMaxPlayers(); i++ )
301{
302plr = FindPlayer( i );
303if ( ( plr ) && ( Stats[ plr.ID ].Level >= 3 ) )
304{
305if ( b ) b = b + ", " + plr.Name + " (" + LevelTag( plr ) + ")"
306else b = plr.Name + " (" + LevelTag( plr ) + ")"
307}
308}
309if ( b ) Message( "[#00de00]Information: [#fbf3f3]Admins Online: " + b + " " );
310else Message( "[#00de00]Information: [#fbf3f3]No Admins Online." );
311Message( "[#00de00]Information: [#fbf3f3]Requested By " + player.Name +"." );
312return 0;
313}
314
315else if ( cmd == "heal" )
316{
317if ( !player.IsSpawned ) MessagePlayer( "[#ff0000]Error - You haven't spawned yet..", player );
318else if ( player.Health == 100 ) MessagePlayer( "[#ff0000]Error - You don't need to be healed", player );
319else {
320NewTimer( "heal", 3000, 1, player.ID );
321Announce( "Healing...", player , 0 );
322player.IsFrozen = true;
323MessagePlayer( "[#ffbb00]You Will Be Healed In 3 Seconds.", player );
324}
325}
326
327else if ( cmd == "goto" )
328{
329if ( !text ) MessagePlayer( "[#ff0000]Syntax - /" + cmd + " <Player Nick/ID>", player );
330else {
331local plr = GetPlayer( text );
332if ( !plr ) MessagePlayer( "[#ff0000]Error - Unknown Player..", player );
333else if ( plr.ID == player.ID ) MessagePlayer( "[#ff0000]Error - You can't teleport to yourself!", player );
334else if ( !plr.World == player.World ) MessagePlayer( "[#ff0000]Error - You aren't in the same world!", player );
335else if ( Stats[ plr.ID ].nogoto ) MessagePlayer( "[#00de00]Information: [#fbf3f3]Error - You can't teleport to " + plr.Name + " because he has nogoto enabled.", player );
336else if ( !plr.IsSpawned ) MessagePlayer( "[#ff0000]Error - The Player hasn't spawned yet..", player );
337else {
338NewTimer( "goto", 3000, 1, player.ID, plr.ID );
339Announce( "Teleporting...", player , 0 );
340player.IsFrozen = true;
341MessagePlayer( "[#ffbb00]You Will Be Teleported In 3 Seconds To " + plr.Name + ". ", player);
342}
343}
344}
345
346else if ( cmd == "fix" )
347{
348local veh = player.Vehicle;
349if ( !veh ) MessagePlayer( "[#ff0000]Error - You must be in a Vehicle.", player );
350else if ( veh.Health == 1000 ) MessagePlayer( "[#ff0000]Error - Your Vehicle is already fixed..", player );
351else if ( veh.Health == 100 ) MessagePlayer( "[#ff0000]Error - Your Vehicle is already fixed..", player );
352else {
353Announce( "Fixing...", player , 0 );
354player.IsFrozen = true;
355NewTimer( "Fix", 3000, 1, player.ID );
356MessagePlayer( "[#ffbb00]Your Car Will Be Fixed in 3 Seconds", player );
357}
358}
359
360 else if ( cmd == "nogoto" )
361{
362 if ( !text ) MessagePlayer( "[#00de00]Information: [#fbf3f3]Syntax /" + cmd + " <on/off>", player );
363 else {
364 if ( text == "on" ) {
365 Stats[ player.ID ].nogoto = true;
366 MessagePlayer( "[#00de00]Information: [#fbf3f3]Players Can't teleport to you anymore...", player );
367 }
368 else if ( text == "off" ) {
369 Stats[ player.ID ].nogoto = false;
370 MessagePlayer( "[#00de00]Information: [#fbf3f3]Players Can teleport to you.", player );
371 }
372 }
373 }
374
375else if(cmd == "a")
376 {
377 if(!text)
378 {
379 MessagePlayer("[#00de00]Information: [#fbf3f3](/a) stop, watcha, lean, talk, wave, die^, fall^, fallback^, oo, apply, bu!, arg^, carwback, wback, elbow^, rollback, boss, crawling, rollinfront, falling, roll, beware, idk, look, dumb, aim^, drown, handsup, wut, fu, phone, sit, stand, sell, hm?, onfoot, db^, heal, lay, bored, riot, dance, drunk",player);
380 MessagePlayer("[#00de00]Information: [#fbf3f3]The symbol ^ means the anim has more options. Example: /a dance, /a dance 2, /a dance 3.",player);
381 }
382 else
383 {
384 switch(text)
385 {
386 case "stop":
387 player.SetAnim(0,29);
388 break;
389 case "watcha":
390 player.SetAnim(0,7);
391 break;
392 case "lean":
393 player.SetAnim(0,9);
394 break;
395 case "talk":
396 player.SetAnim(0,11);
397 break;
398 case "wave":
399 player.SetAnim(0,12);
400 break;
401 case "die":
402 player.SetAnim(0,17);
403 break;
404 case "die 2":
405 player.SetAnim(0,13);
406 break;
407 case "fall":
408 player.SetAnim(0,25);
409 break;
410 case "fall 2":
411 player.SetAnim(0,37);
412 break;
413 case "fallback":
414 player.SetAnim(0,27);
415 break;
416 case "fallback 2":
417 player.SetAnim(0,43);
418 break;
419 case "oo":
420 player.SetAnim(0,44);
421 break;
422 case "apply":
423 player.SetAnim(0,62);
424 break;
425 case "bu!":
426 player.SetAnim(0,67);
427 break;
428 case "arg":
429 player.SetAnim(0,112);
430 break;
431 case "arg 2":
432 player.SetAnim(0,113);
433 break;
434 case "carwback":
435 player.SetAnim(0,114);
436 break;
437 case "wback":
438 player.SetAnim(0,118);
439 break;
440 case "elbow":
441 player.SetAnim(0,123);
442 break;
443 case "elbow 2":
444 player.SetAnim(0,124);
445 break;
446 case "rollback":
447 player.SetAnim(0,126);
448 break;
449 case "boss":
450 player.SetAnim(0,130);
451 break;
452 case "crawling":
453 player.SetAnim(0,133);
454 break;
455 case "rollinfront":
456 player.SetAnim(0,135);
457 break;
458 case "falling":
459 player.SetAnim(0,144);
460 break;
461 case "roll":
462 player.SetAnim(0,147);
463 break;
464 case "beware":
465 player.SetAnim(0,151);
466 break;
467 case "idk":
468 player.SetAnim(0,152);
469 break;
470 case "look":
471 player.SetAnim(0,153);
472 break;
473 case "dumb":
474 player.SetAnim(0,154);
475 break;
476 case "aim":
477 player.SetAnim(0,155);
478 break;
479 case "aim 2":
480 player.SetAnim(0,157);
481 break;
482 case "aim 3":
483 player.SetAnim(0,160);
484 break;
485 case "drown":
486 player.SetAnim(0,156);
487 break;
488 case "handsup":
489 player.SetAnim(0,161);
490 break;
491 case "wut":
492 player.SetAnim(0,162);
493 break;
494 case "fu":
495 player.SetAnim(0,163);
496 break;
497 case "phone":
498 player.SetAnim(0,166);
499 break;
500 case "sit":
501 player.SetAnim(0,169);
502 break;
503 case "stand":
504 player.SetAnim(0,168);
505 break;
506 case "sell":
507 player.SetAnim(0,171);
508 break;
509 case "hm?":
510 player.SetAnim(0,172);
511 break;
512 case "onfoot":
513 player.SetAnim(3,192);
514 break;
515 case "db":
516 player.SetAnim(3,201);
517 break;
518 case "db 2":
519 player.SetAnim(3,202);
520 break;
521 case "db 3":
522 player.SetAnim(3,203);
523 break;
524 case "heal":
525 player.SetAnim(24,214);
526 break;
527 case "lay":
528 player.SetAnim(25,210);
529 break;
530 case "bored":
531 player.SetAnim(26,215);
532 break;
533 case "bored 2":
534 player.SetAnim(26,216);
535 break;
536 case "bored 3":
537 player.SetAnim(26,217);
538 break;
539 case "bored 4":
540 player.SetAnim(26,218);
541 break;
542 case "riot":
543 player.SetAnim(27,219);
544 break;
545 case "riot 2":
546 player.SetAnim(27,220);
547 break;
548 case "riot 3":
549 player.SetAnim(27,221);
550 break;
551 case "riot 4":
552 player.SetAnim(27,222);
553 break;
554 case "riot 5":
555 player.SetAnim(27,223);
556 break;
557 case "riot 6":
558 player.SetAnim(27,224);
559 break;
560 case "riot 7":
561 player.SetAnim(27,225);
562 break;
563 case "dance":
564 player.SetAnim(28,226);
565 break;
566 case "dance 2":
567 player.SetAnim(28,227);
568 break;
569 case "dance 3":
570 player.SetAnim(28,228);
571 break;
572 case "dance 4":
573 player.SetAnim(28,229);
574 break;
575 case "dance 5":
576 player.SetAnim(28,230);
577 break;
578 case "dance 6":
579 player.SetAnim(28,231);
580 break;
581 case "dance 7":
582 player.SetAnim(28,232);
583 break;
584 case "drunk":
585 player.SetAnim(29,210);
586 break;
587 default:
588 MessagePlayer("[#00de00]Information: [#fbf3f3]This animation doesn't exist. Type '/a' to see the list !",player);
589 }
590 }
591 }
592
593else if ( cmd == "flip" )
594{
595if ( !player.Vehicle ) MessagePlayer( "[#ff1111]Error: [#ffffff]You need to be in a Vehicle to use this command." , player )
596else
597{
598local veh = player.Vehicle;
599veh.Rotation = Quaternion( 0.0, 0.0, 0.0, 0.0 );
600MessagePlayer( "[#00ff00][INFO] [#ffffff]You have flipped your car." , player )
601}
602}
603//===================================================Admin Commands
604else if ( cmd == "acmds" )
605{
606local lvl = Stats[ player.ID ].Level;
607if ( lvl.tointeger() == 1 )
608{
609MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You're not allowed to use this command." , player )
610}
611else if ( lvl.tointeger() == 2 )
612{
613MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+".", player );
614}
615else if ( lvl.tointeger() == 3 )
616{
617MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
618}
619else if ( lvl.tointeger() == 4 )
620{
621if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2>",player);
622else{
623 if ( text == "1" )
624{
625MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
626 }
627 else if ( text == "2" )
628{
629MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
630 }
631}
632}
633else if ( lvl.tointeger() == 5 )
634{
635if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3>",player);
636else{
637 if ( text == "1" )
638{
639MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
640 }
641 else if ( text == "2" )
642{
643MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
644 }
645 else if ( text == "3" )
646{
647MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
648 }
649}
650}
651else if ( lvl.tointeger() == 6 )
652{
653if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3, 4>",player);
654else{
655 if ( text == "1" )
656{
657MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
658 }
659 else if ( text == "2" )
660{
661MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
662 }
663 else if ( text == "3" )
664{
665MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
666 }
667 else if ( text == "4" )
668{
669MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level6+".", player );
670 }
671}
672}
673else if ( lvl.tointeger() == 7 )
674{
675if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3, 4, 5>",player);
676else{
677 if ( text == "1" )
678{
679MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
680 }
681 else if ( text == "2" )
682{
683MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
684 }
685 else if ( text == "3" )
686{
687MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
688 }
689 else if ( text == "4" )
690{
691MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level6+".", player );
692 }
693 else if ( text == "5" )
694{
695MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level7+".", player );
696 }
697}
698}
699else if ( lvl.tointeger() == 8 )
700{
701if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3, 4, 5, 6>",player);
702else{
703 if ( text == "1" )
704{
705MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
706 }
707 else if ( text == "2" )
708{
709MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
710 }
711 else if ( text == "3" )
712{
713MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
714 }
715 else if ( text == "4" )
716{
717MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level6+".", player );
718 }
719 else if ( text == "5" )
720{
721MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level7+".", player );
722 }
723 else if ( text == "6" )
724{
725MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level8+".", player );
726 }
727}
728}
729else if ( lvl.tointeger() == 9 )
730{
731if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3, 4, 5, 6, 7>",player);
732else{
733 if ( text == "1" )
734{
735MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
736 }
737 else if ( text == "2" )
738{
739MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
740 }
741 else if ( text == "3" )
742{
743MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
744 }
745 else if ( text == "4" )
746{
747MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level6+".", player );
748 }
749 else if ( text == "5" )
750{
751MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level7+".", player );
752 }
753 else if ( text == "6" )
754{
755MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level8+".", player );
756 }
757 else if ( text == "7" )
758{
759MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level9+".", player );
760 }
761}
762}
763else if ( lvl.tointeger() == 10 )
764{
765if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3, 4, 5, 6, 7>",player);
766else{
767 if ( text == "1" )
768{
769MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
770 }
771 else if ( text == "2" )
772{
773MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
774 }
775 else if ( text == "3" )
776{
777MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
778 }
779 else if ( text == "4" )
780{
781MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level6+".", player );
782 }
783 else if ( text == "5" )
784{
785MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level7+".", player );
786 }
787 else if ( text == "6" )
788{
789MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level8+".", player );
790 }
791 else if ( text == "7" )
792{
793MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level9+", "+Level10+".", player );
794 }
795}
796}
797else if ( lvl.tointeger() == 100 )
798{
799if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/acmds <1, 2, 3, 4, 5, 6, 7>",player);
800else{
801 if ( text == "1" )
802{
803MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level2+", "+Level3+".", player );
804 }
805 else if ( text == "2" )
806{
807MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level4+".", player );
808 }
809 else if ( text == "3" )
810{
811MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level5+", "+Level52+".", player );
812 }
813 else if ( text == "4" )
814{
815MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level6+".", player );
816 }
817 else if ( text == "5" )
818{
819MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level7+".", player );
820 }
821 else if ( text == "6" )
822{
823MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level8+".", player );
824 }
825 else if ( text == "7" )
826{
827MessagePlayer( "[#00de00]Commands: [#fbf3f3]"+Level9+", "+Level10+".", player );
828 }
829}
830}
831}
832
833 else if ( cmd == "agetcar" )
834 {
835 if(!text) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]/"+cmd+" <Car ID>",player);
836 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
837 else if ( Stats[ player.ID ].Level < 7 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
838 else
839 {
840 local veh = FindVehicle( text.tointeger() );
841 if ( !veh ) PrivMessage( "[#00de00]Inforamtion: [#fbf3f3]There's no vehicles with this ID.", player );
842 else {
843 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+ player.Name +" Has Spawned Car ID: "+text+".");
844 veh.Pos = Vector( ( player.Pos.x + 2 ), ( player.Pos.y + 2 ),( player.Pos.z + 1.12 ) );
845 }
846 }
847 }
848
849 else if ( cmd == "mute" )
850 {
851 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID] [reason]" , player );
852 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
853 else if ( Stats[ player.ID ].Level < 5 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
854 else
855 {
856 local plr = GetPlayer( GetTok( text, " ", 1 ) );
857 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
858 else {
859 local reason = GetTok( text, " ", 2 NumTok( text, " " ) );
860 if ( !reason ) MessagePlayer("[#00de00]Information: [#fbf3f3]Error: put Reason" , player );
861 else {
862 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has Mute " + plr.Name + " Reason: " + reason + ".");
863 IsMuted [ plr.ID ] = true;
864 }
865 }
866 }
867 }
868
869 else if ( cmd == "unmute" )
870 {
871 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID] [reason]" , player );
872 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
873 else if ( Stats[ player.ID ].Level < 5 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
874 else
875 {
876 local plr = GetPlayer( GetTok( text, " ", 1 ) );
877 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
878 else {
879 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has UnMute " + plr.Name );
880 IsMuted [ plr.ID ] = false;
881 }
882 }
883 }
884
885 else if ( cmd == "kick" )
886 {
887 if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Usage: /"+cmd+" <player>" , player );
888 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
889 else if ( Stats[ player.ID ].Level < 4 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
890 else
891 {
892 local plr = FindPlayer( text );
893 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Cannot find player "+text+"." , player );
894 {
895 KickPlayer( plr );
896 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has Kicked " + text + ".");
897 }
898 }
899 }
900
901 else if (cmd == "ann")
902 {
903 if (!text) return ClientMessage("[#00de00]Inforamtion: [#fbf3f3][Syntax]/ann <ID> <All/Nick/ID> <Text>", player, 0, 0, 0);
904 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
905 else if ( Stats[ player.ID ].Level < 3 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
906 else
907 {
908 local v = split(text, " ");
909 if (v.len() < 3) return ClientMessage("[#00de00]Inforamtion: [#fbf3f3][Syntax]/ann <ID> <All/Nick/ID> <Text>", player, 0, 0, 0);
910 if (v[1].tolower() == "all") AnnounceAll(text.slice(v[0].len() + v[1].len() + 2), v[0].tointeger());
911 else Announce(text.slice(v[0].len() + v[1].len() + 2), FindPlayer(v[1]), v[0].tointeger());
912 }
913 }
914
915 else if ( cmd == "settime" )
916 {
917 if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Correct syntax : /settime <hr> <min>", player );
918 else if ( split(text, " ").len() < 2) return MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Correct syntax : /settime <hr> <min>", player )
919 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
920 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
921 else
922 {
923 local a = split(text, " ");
924 if ( !IsNum( a[0] )) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Format: /settime <hr> <min>", player );
925 else if ( !IsNum( a[1] )) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Format: /settime <hr> <min>", player );
926 else SetTime( a[0].tointeger(), a[1].tointeger() ) ;
927 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has set The To " + a[0].tointeger() + ":" + a[1].tointeger() )
928 }
929 }
930
931 else if ( cmd == "setweather" )
932 {
933 if ( !text ) return MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Usage: setweather [Weather/ID]", player );
934 else if ( !IsNum(text) ) return MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Use integers/numbers", player );
935 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
936 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
937 else
938 {
939 SetWeather( text.tointeger() );
940 Message( "[#00de00]Administration Command: [#fbf3f3]Admin "+ player.Name +" Set The Weather To "+GetWeatherName());
941 return;
942 }
943 }
944
945 else if( cmd == "sethp" )
946 {
947 if( !text ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Use /sethp <plr> <hp>", player);
948 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
949 else if ( Stats[ player.ID ].Level < 4 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
950 else
951 {
952 local params = split( text, " " );
953 if( params.len() < 1 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Wrong no. of parameters.", player);
954 else if( !IsNum( params[1] ) ) return MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]HP must be an integer.", player);
955 else if( params[1].tointeger() > 255 || params[1].tointeger() < 0 ) return MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]It can't be more than 255 or less than 0.", player);
956 local plr = IsNum( params[0] ) ? FindPlayer( params[0].tointeger() ) : FindPlayer( params[0] );
957 if( !plr ) return MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Wrong player.", player );
958 else plr.Health = params[1].tointeger();
959 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has set " + plr.Name + "'s HP to " + params[1].tointeger() );
960 }
961 }
962
963 else if( cmd == "setarmour" )
964 {
965 if(!text ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Use /setarmour <plr> <hp>", player);
966 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
967 else if ( Stats[ player.ID ].Level < 4 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
968 else
969 {
970 local params = split( text, " " );
971 if( params.len() < 1 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Wrong no. of parameters.", player);
972 else if( !IsNum( params[1] ) ) return MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Armour must be an integer.", player);
973 else if( params[1].tointeger() > 255 || params[1].tointeger() < 0 ) return MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]It can't be more than 255 or less than 0.", player);
974 local plr = IsNum( params[0] ) ? FindPlayer( params[0].tointeger() ) : FindPlayer( params[0] );
975 if( !plr ) return MessagePlayer( "Wrong player.", player );
976 else plr.Armour = params[1].tointeger();
977 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has set " + plr.Name + "'s Armour to " + params[1].tointeger() );
978 }
979 }
980
981 else if ( cmd == "freeze" )
982 {
983 if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Syntax, /" + cmd + " <Nick/ID> <Reason>", player );
984 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
985 else if ( Stats[ player.ID ].Level < 5 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
986 else {
987 local plr = GetPlayer( GetTok( text, " ", 1 ) );
988 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
989 else if ( plr.IsFrozen ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]The Player is already Freezed", player );
990 else if ( !plr.IsSpawned ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]The Player hasn't spawned yet..", player );
991 else {
992 local reason = GetTok( text, " ", 2, NumTok( text, " " ) );
993 if ( reason == null ) reason = "None"
994 plr.IsFrozen = true;
995 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has Frozen " + plr.Name + " for Reason " + reason );
996 }
997 }
998 }
999
1000 else if ( cmd == "unfreeze" )
1001 {
1002 if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Syntax, /" + cmd + " <Nick/ID>", player );
1003 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1004 else if ( Stats[ player.ID ].Level < 5 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1005 else {
1006 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1007 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1008 else if ( !plr.IsFrozen ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]" + plr.Name + " is not Freezed.", player);
1009 else if ( !plr.IsSpawned ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]The Player hasn't spawned yet..", player );
1010 else {
1011 plr.IsFrozen = false;
1012 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has un-freezed " + plr.Name );
1013 }
1014 }
1015 }
1016
1017 else if ( cmd == "afix" )
1018 {
1019 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1020 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1021 else
1022 {
1023 local veh = player.Vehicle;
1024 if ( veh ) {
1025 MessagePlayer( "[#00de00]Administration Command: [#fbf3f3]Your vehicle has been fixed.", player );
1026 veh.Fix();
1027 }
1028 else MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You must be in the vehicle you want to fix.", player );
1029 }
1030 }
1031
1032 else if(cmd == "agoto")
1033 {
1034 if(!text) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Error - Correct syntax - /agoto <Name/ID>' !",player );
1035 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1036 else if ( Stats[ player.ID ].Level < 3 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1037 else {
1038 local plr = FindPlayer(text);
1039 if(!plr) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Error - Unknown player !",player);
1040 else {
1041 player.Pos = plr.Pos;
1042 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " Has Teleported To "+ plr.Name + ".");
1043 }
1044 }
1045
1046 }
1047
1048 else if(cmd == "get")
1049 {
1050 if(!text) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Error - Correct syntax - /get <Name/ID>' !",player );
1051 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1052 else if ( Stats[ player.ID ].Level < 6 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1053 else {
1054 local plr = FindPlayer(text);
1055 if(!plr) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Error - Unknown player !",player);
1056 else {
1057 plr.Pos = player.Pos;
1058 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " Has Get " + plr.Name, player );
1059 }
1060 }
1061 }
1062
1063 else if ( cmd == "slap" )
1064 {
1065 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID] [reason]" , player );
1066 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1067 else if ( Stats[ player.ID ].Level < 4 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1068 else {
1069 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1070 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
1071 else {
1072 local reason = GetTok( text, " ", 2 NumTok( text, " " ) );
1073 if ( !reason ) MessagePlayer("[#00de00]Information: [#fbf3f3]Error: put Reason" , player );
1074 else {
1075 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has Slap " + plr.Name + " Reason: " + reason + ".");
1076 plr.Pos = Vector(plr.Pos.x, plr.Pos.y, plr.Pos.z + 15);
1077 }
1078 }
1079 }
1080 }
1081
1082 else if ( cmd == "spawn" )
1083 {
1084 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID]" , player );
1085 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1086 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1087 else {
1088 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1089 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
1090 else {
1091 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has spawned player: " + plr.Name + ".");
1092 plr.Spawn();
1093 }
1094 }
1095 }
1096
1097 else if ( cmd == "sl" )
1098{
1099 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1100 else if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]/setlevel <Nick/id> <Level>", player );
1101 else
1102 {
1103 local
1104 plr = GetPlayer( GetTok( text, " ", 1 ) ),
1105 lvl = GetTok( text, " ", 2);
1106 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1107 else if ( !lvl ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You must put a level.", player);
1108 else if ( !IsNum( lvl ) ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Level must be in numbers.", player);
1109 else
1110 {
1111 Stats[ plr.ID ].Level = lvl.tointeger();
1112 QuerySQL( DataBase,"UPDATE Account SET Level='"+lvl+"' WHERE lower(Name) LIKE '"+plr.Name+"'");
1113 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" Has Set level of "+plr.Name+" to: "+lvl+".");
1114 }
1115 }
1116}
1117
1118else if ( cmd == "setlevel" )
1119{
1120 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1121 else if ( Stats[ player.ID ].Level < 8 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1122 else if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]/setlevel <Nick/id> <Level>", player );
1123 else
1124 {
1125 local
1126 plr = GetPlayer( GetTok( text, " ", 1 ) ),
1127 lvl = GetTok( text, " ", 2);
1128 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1129 else if ( Stats[ player.ID ].Level < Stats[ plr.ID ].Level ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You can't set level for admins who higher than you.", player );
1130 else if ( !lvl ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You must put a level.", player);
1131 else if ( !IsNum( lvl ) ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Level must be in numbers.", player);
1132 else
1133 {
1134 Stats[ plr.ID ].Level = lvl.tointeger();
1135 QuerySQL( DataBase,"UPDATE Account SET Level='"+lvl+"' WHERE lower(Name) LIKE '"+plr.Name+"'");
1136 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" Has Set level of "+plr.Name+" to: "+lvl+".");
1137 }
1138 }
1139}
1140
1141else if ( cmd == "setcash" )
1142{
1143 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1144 else if ( Stats[ player.ID ].Level < 11 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1145 else if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]/setmoney <Nick/id> <Money>", player );
1146 else
1147 {
1148 local
1149 plr = GetPlayer( GetTok( text, " ", 1 ) ),
1150 moy = GetTok( text, " ", 2);
1151 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1152 else if ( !moy ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You must give an money.", player);
1153 else if ( !IsNum( moy ) ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Level must be in numbers.", player);
1154 else
1155 {
1156 Stats[ plr.ID ].Cash = moy.tointeger();
1157 QuerySQL( DataBase,"UPDATE Account SET Cash='moy' WHERE lower(Name) LIKE '"+plr.Name+"'");
1158 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" Has Setcash of "+plr.Name+" To: "+moy+".");
1159
1160}
1161}
1162}
1163
1164 else if ( cmd == "adminchat" )
1165{
1166 if(Stats[ player.ID ].Level < 4 )
1167{
1168 MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Unauthorized Access", player);
1169 return true;
1170 }
1171 if(!text)
1172{
1173 MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]Use /" + cmd + " [Message]", player);
1174 return true;
1175 }
1176 else
1177{
1178 for (local i=0;i<GetMaxPlayers();i++)
1179{
1180 if ( Stats[ i ].Level > 3)
1181{
1182 local plr = FindPlayer(i);
1183 if (plr)
1184{
1185 MessagePlayer("[#00ff00][Admin Chat] [#00ffff]"+player.Name+": [#FFFFFF]"+text, plr);
1186 }
1187 }
1188 }
1189 }
1190 }
1191
1192else if ( cmd == "canattack")
1193{
1194if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/canattack <on, off>",player);
1195else if ( Stats[ player.ID ].Level < 4 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1196else if (Stats[ player.ID ].Log == false) return MessagePlayer("[#00de00]Information: [#fbf3f3]You Have To Login First To Use This Command",player);
1197else
1198{
1199for( local i=0; i <= GetPlayers(); i++ )
1200{
1201local plr = FindPlayer( i );
1202if ( plr )
1203{
1204 if ( text == "on" )
1205{
1206plr.CanAttack = true;
1207Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" had made all players able to Attack.");
1208 }
1209 else if ( text == "off" )
1210{
1211plr.CanAttack = false
1212Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" had made all players unable to attack.");
1213 }
1214}
1215}
1216}
1217}
1218
1219else if ( cmd == "candriveby")
1220{
1221if(!text) MessagePlayer("[#00de00]Information: [#fbf3f3]/candriveby <on, off>",player);
1222else if ( Stats[ player.ID ].Level < 4 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1223else if (Stats[ player.ID ].Log == false) return MessagePlayer("[#00de00]Information: [#fbf3f3]You Have To Login First To Use This Command",player);
1224else
1225{
1226for( local i=0; i <= GetPlayers(); i++ )
1227{
1228local plr = FindPlayer( i );
1229if ( plr )
1230{
1231 if ( text == "on" )
1232{
1233plr.CanDriveby = true;
1234Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" had made all players able to driveby.");
1235 }
1236 else if ( text == "off" )
1237{
1238plr.CanDriveby = false
1239Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" had made all players unable to driveby.");
1240 }
1241}
1242}
1243}
1244}
1245
1246else if ( cmd == "healall" )
1247{
1248if ( Stats[ player.ID ].Level < 6 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1249else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1250else{
1251Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has healed all players.");
1252for (local i=0; i<GetMaxPlayers(); i++)
1253{
1254local p=FindPlayer(i);
1255if(p)
1256{
1257p.Health = 100.0;
1258}
1259}
1260}
1261}
1262
1263else if ( cmd == "armall" )
1264{
1265if ( Stats[ player.ID ].Level < 6 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1266else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1267else{
1268Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has armoured all players.");
1269for (local i=0; i<GetMaxPlayers(); i++)
1270{
1271local p=FindPlayer(i);
1272if(p)
1273{
1274p.Armour = 100.0;
1275}
1276}
1277}
1278}
1279
1280else if ( cmd == "getall" )
1281{
1282if ( Stats[ player.ID ].Level < 7 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1283else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1284else{
1285Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has got all players to his location.");
1286for (local i=0; i<GetMaxPlayers(); i++)
1287{
1288local p=FindPlayer(i);
1289if(p)
1290{
1291p.Pos = player.Pos;
1292}
1293}
1294}
1295}
1296
1297else if ( cmd == "spawnall" )
1298{
1299if ( Stats[ player.ID ].Level < 5 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1300else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1301else{
1302Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has spawned all players.");
1303for (local i=0; i<GetMaxPlayers(); i++)
1304{
1305local p=FindPlayer(i);
1306if(p)
1307{
1308p.Spawn();
1309}
1310}
1311}
1312}
1313
1314else if( cmd == "respawncars" )
1315{
1316if ( Stats[ player.ID ].Level < 4 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1317else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1318else{
1319RespawnVehicles();
1320Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has respawn all cars.");
1321}
1322}
1323
1324else if ( cmd == "disarmall" )
1325{
1326if ( Stats[ player.ID ].Level < 6 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1327else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1328else{
1329Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has disarmed all players.");
1330for (local i=0; i<GetMaxPlayers(); i++)
1331{
1332local p=FindPlayer(i);
1333if(p)
1334{
1335p.Disarm();
1336}
1337}
1338}
1339}
1340
1341else if ( cmd == "drunkall" )
1342{
1343if ( Stats[ player.ID ].Level < 6 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1344else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1345else{
1346Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has give all players a wine.");
1347for (local i=0; i<GetMaxPlayers(); i++)
1348{
1349local p=FindPlayer(i);
1350if(p)
1351{
1352p.SetDrunkLevel( 100, 100 );
1353}
1354}
1355}
1356}
1357
1358else if ( cmd == "undrunkall" )
1359{
1360if ( Stats[ player.ID ].Level < 6 ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You are not authorized to use this command.", player );
1361else if ( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]you need to be logged in.", player );
1362else{
1363Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has give all players a wine.");
1364for (local i=0; i<GetMaxPlayers(); i++)
1365{
1366local p=FindPlayer(i);
1367if(p)
1368{
1369p.SetDrunkLevel( 0, 0 );
1370}
1371}
1372}
1373}
1374
1375
1376 else if ( cmd == "ban" )
1377 {
1378 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1379 else if ( Stats[ player.ID ].Level < 7 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1380 else if ( !text ) MessagePlayer( "[#00de00]Information: [#fbf3f3]Syntax, /" + cmd + " <nick> <reason>", player );
1381 {
1382 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1383 if ( !plr ) MessagePlayer( "[#00de00]Information: [#fbf3f3]Invalid Player Nick / ID!", player );
1384 else
1385 {
1386 local reason = GetTok( text, " ", 2 );
1387 if ( reason == null ) reason = "None";
1388 {
1389 QuerySQL( Bans, "INSERT INTO Bans ( Name, IP, Admin, Reason ) VALUES ( '" + plr.Name + "', '" + plr.IP + "', '" + player.Name + "', '" + reason + "' )" );
1390 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " Banned " + plr.Name + " for Reason: " + reason );
1391 KickPlayer( plr );
1392 }
1393 }
1394 }
1395 }
1396 else if ( cmd == "unban" )
1397 {
1398 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1399 else if ( Stats[ player.ID ].Level < 7 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1400 else if ( !text ) MessagePlayer( "[#00de00]Information: [#fbf3f3]Syntax, /" + cmd + " <Full Nick>", player );
1401 else if ( Baninfo( text ) == 0 ) MessagePlayer( "[#00de00]Information: [#fbf3f3]" + text + " is not Banned.", player );
1402 else
1403 {
1404 QuerySQL( Bans, "DELETE FROM Bans WHERE Name='" + text + "'" );
1405 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " UnBanned " + text + ".");
1406 }
1407 }
1408
1409 else if ( cmd == "setdisarm" )
1410 {
1411 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID]" , player );
1412 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1413 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1414 else {
1415 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1416 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
1417 else {
1418 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has disarmed " + plr.Name + ".");
1419 plr.Disarm();
1420 }
1421 }
1422 }
1423
1424 else if ( cmd == "setdrunk" )
1425 {
1426 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID]" , player );
1427 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1428 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1429 else {
1430 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1431 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
1432 else {
1433 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has give " + plr.Name + " a wine.");
1434 plr.SetDrunkLevel( 100, 100 );
1435 }
1436 }
1437 }
1438
1439 else if ( cmd == "setundrunk" )
1440 {
1441 if ( !text ) MessagePlayer("[#00de00]Information: [#fbf3f3]Usage: /"+cmd+" [Nick/ID]" , player );
1442 else if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1443 else if ( Stats[ player.ID ].Level < 2 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1444 else {
1445 local plr = GetPlayer( GetTok( text, " ", 1 ) );
1446 if ( !plr ) MessagePlayer("[#00de00]Information: [#fbf3f3]Unknown player" , player );
1447 else {
1448 Message( "[#00de00]Administration Command: [#fbf3f3]Admin " + player.Name + " has give " + plr.Name + " a wine.");
1449 plr.SetDrunkLevel( 0, 0 );
1450 }
1451 }
1452 }
1453
1454 else if( cmd == "controlpanel" )
1455 {
1456 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1457 else if ( Stats[ player.ID ].Level < 8 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1458 else {
1459 Stream.StartWrite( );
1460 Stream.WriteInt( 1 );
1461 Stream.SendStream( player );
1462 }
1463 }
1464
1465else if ( cmd == "givewep" )
1466{
1467 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1468 else if ( Stats[ player.ID ].Level < 6 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1469 else if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]/"+cmd+" <Nick/id> <Wep ID>", player );
1470 else
1471 {
1472 local
1473 plr = GetPlayer( GetTok( text, " ", 1 ) ),
1474 wep = GetTok( text, " ", 2);
1475 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1476 else if ( !wep ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You must put the Wep.", player);
1477 else if ( !IsNum( wep ) ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]give the wep id { must be in numbers }.", player);
1478 else
1479 {
1480 plr.GiveWeapon(wep.tointeger(), 500000);
1481 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has give "+plr.Name+" wep :"+GetWeaponName( wep )+".");
1482 }
1483 }
1484}
1485
1486else if ( cmd == "setplayerskin" )
1487{
1488 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1489 else if ( Stats[ player.ID ].Level < 5 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1490 else if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]/"+cmd+" <Nick/id> <Skin ID>", player );
1491 else
1492 {
1493 local
1494 plr = GetPlayer( GetTok( text, " ", 1 ) ),
1495 skin = GetTok( text, " ", 2);
1496 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1497 else if ( !skin ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You must put the skin.", player);
1498 else if ( !IsNum( skin ) ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]give the skin id { must be in numbers }.", player);
1499 else
1500 {
1501 plr.Skin = skin.tointeger();
1502 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has set skin of "+plr.Name+" to: "+skin+".");
1503 }
1504 }
1505}
1506
1507else if ( cmd == "setplayerworld" )
1508{
1509 if( Stats[ player.ID ].Log == false ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]You Need Login or Register First.", player );
1510 else if ( Stats[ player.ID ].Level < 5 ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You aren't authorized to use this command.", player );
1511 else if ( !text ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]/"+cmd+" <Nick/id> <World>", player );
1512 else
1513 {
1514 local
1515 plr = GetPlayer( GetTok( text, " ", 1 ) ),
1516 w = GetTok( text, " ", 2);
1517 if ( !plr ) MessagePlayer( "[#00de00]Inforamtion: [#fbf3f3]Unknown Player..", player );
1518 else if ( !w ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]You must put the world id.", player);
1519 else if ( !IsNum( w ) ) MessagePlayer("[#00de00]Inforamtion: [#fbf3f3]give the world id { must be in numbers }.", player);
1520 else
1521 {
1522 plr.World = w.tointeger();
1523 Message("[#00de00]Administration Command: [#fbf3f3]Admin "+player.Name+" has set "+plr.Name+"'s world to: "+w+".");
1524 }
1525 }
1526}
1527}
1528
1529function GetStats( player )
1530{
1531local q = QuerySQL(DataBase, "SELECT * FROM Accounts WHERE Name = '" + escapeSQLString(player.Name) + "'");
1532local kills = Stats[ player.ID ].Kills, deaths = Stats[ player.ID ].Deaths, ratio;
1533if ( kills >= 1 && deaths >= 1 ) ratio = format( "%.2f", kills.tofloat() / deaths.tofloat() );
1534else ratio = 0;
1535MessagePlayer( "[#00de00]Stats: [#fbf3f3]" + player.Name + " [#00CC00]Kills:[#FFFFFF] " + kills + "[#00CC00] | Death:[#ffffff] " + deaths + "[#00CC00] | Ratio:[#ffffff] " + ratio + "", player );
1536MessagePlayer( "[#00de00]Stats: [#fbf3f3]" + player.Name + " [#00CC00]TimeRegistered: [#ffffff]" + GetSQLColumnData(q, 8) + "", player );
1537}
1538function IncCash( player, amount )
1539{
1540local cash = Stats[ player.ID ].Cash;
1541local add = cash + amount;
1542Stats[ player.ID ].Cash = add;
1543player.Cash = add;
1544}
1545function DecCash( player, amount )
1546{
1547local cash = Stats[ player.ID ].Cash;
1548local det = cash - amount;
1549Stats[ player.ID ].Cash = det;
1550player.Cash = det;
1551}
1552function IncKills( player, amount )
1553{
1554local kills = Stats[ player.ID ].Kills;
1555local add = kills + amount;
1556Stats[ player.ID ].Kills = add;
1557}
1558
1559function IncKilleds( player, amount )
1560{
1561local killeds = Stats[ player.ID ].Killeds;
1562local add = killeds + amount;
1563Stats[ player.ID ].Killeds = add;
1564}
1565
1566function IncDeaths( player, amount )
1567{
1568local deaths = Stats[ player.ID ].Deaths;
1569local add = deaths + amount;
1570Stats[ player.ID ].Deaths = add;
1571}
1572function DecBank( player, amount )
1573{
1574local bank = Stats[ player.ID ].Bank;
1575local det = bank - amount;
1576Stats[ player.ID ].Bank = det;
1577}
1578function IncBank(player,amount)
1579{
1580local bank = Stats[ player.ID ].Bank;
1581local add = bank + amount;
1582Stats[ player.ID ].Bank = add;
1583}
1584function GetInfo(player)
1585{
1586 local q = QuerySQL(DataBase, "SELECT * FROM Accounts WHERE Name = '" + escapeSQLString(player.Name) + "'");
1587 if (q)
1588 {
1589 Stats[ player.ID ].Password = GetSQLColumnData(q, 2);
1590 Stats[ player.ID ].Level = GetSQLColumnData(q, 3);
1591 Stats[ player.ID ].Kills = GetSQLColumnData(q, 4);
1592 Stats[ player.ID ].Deaths = GetSQLColumnData(q, 5);
1593 Stats[ player.ID ].Cash = GetSQLColumnData(q, 6);
1594 Stats[ player.ID ].Bank = GetSQLColumnData(q, 7);
1595 Stats[ player.ID ].IP = GetSQLColumnData(q, 9);
1596 Stats[ player.ID ].AutoLogin = GetSQLColumnData(q, 10);
1597 Stats[ player.ID ].Reg = true;
1598 if (player.IP == Stats[ player.ID ].IP)
1599 {
1600 if (Stats[ player.ID ].AutoLogin == "true")
1601 {
1602 MessagePlayer("[#00de00]Information: [#fbf3f3]Welcome back "+ player.Name +" To The Server", player);
1603 MessagePlayer("[#00de00]Information: [#fbf3f3]"+player.Name+" Auto Logged-In", player);
1604 player.Cash = Stats[ player.ID ].Cash;
1605 Stats[ player.ID ].Log = true;
1606 }
1607 else
1608 {
1609 MessagePlayer("[#00de00]Information: [#fbf3f3]Welcome back "+ player.Name +" To The Server", player);
1610 MessagePlayer("[#00de00]Information: [#fbf3f3]You're Already Registered, Please Use /Login To Acces.", player);
1611 }
1612 }
1613 else
1614 {
1615 MessagePlayer("[#00de00]Information: [#fbf3f3]Welcome back "+ player.Name +" To The Server", player);
1616 MessagePlayer("[#00de00]Information: [#fbf3f3]You're Already Registered, Please Use /Login To Acces.", player);
1617 }
1618 }
1619 else
1620 {
1621 MessagePlayer("[#00de00]Information: [#fbf3f3]Your Name Are Not Registered, Please Use /Register To Save Your Account.", player);
1622 }
1623 FreeSQLQuery(q);
1624}
1625
1626function SaveStats(player)
1627{
1628QuerySQL( DataBase, "UPDATE Accounts SET Level='"+Stats[ player.ID ].Level+"',IP='"+Stats[ player.ID ].IP+"',Kills='"+Stats[ player.ID ].Kills+"',Deaths='"+Stats[ player.ID ].Deaths+"',Cash='"+Stats[ player.ID ].Cash+"',Bank='"+Stats[ player.ID ].Bank+"',AutoLogin='"+Stats[ player.ID ].AutoLogin+"' WHERE Name LIKE '" + player.Name + "'" );
1629}
1630function GetPass( player )
1631 {
1632 local result = GetSQLColumnData( QuerySQL( DataBase, "SELECT Password FROM Accounts WHERE Name='"+player.Name+"'" ), 0 );
1633 if ( result ) return result;
1634 else return 0;
1635 }
1636
1637function rotateRight(val, sbits)
1638 {
1639 return (val >> sbits) | (val << (0x20 - sbits));
1640 }
1641
1642function e( string )
1643 {
1644 local hp =
1645 [
1646 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
1647 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
1648 ];
1649
1650 local k =
1651 [
1652 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
1653 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
1654 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
1655 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
1656 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
1657 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
1658 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
1659 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
1660 ];
1661
1662 local
1663 w = array( 64 ),
1664 i = 0,
1665 s = 0,
1666 len = string.len( ),
1667 word_array = array( 0 );
1668
1669 for( i = 0; i < len - 3; i += 4 )
1670 {
1671 word_array.push( string[i] << 0x18 | string[i + 1] << 0x10 | string[i + 2] << 0x08 | string[i + 3] );
1672 }
1673
1674 switch( len % 4 )
1675 {
1676 case 0:
1677 i = 0x80000000;
1678 break;
1679 case 1:
1680 i = string[len - 1] << 0x18 | 0x80000000;
1681 break;
1682 case 2:
1683 i = string[len - 2] << 0x18 | string[len - 1] << 0x10 | 0x08000;
1684 break;
1685 case 3:
1686 i = string[len - 3] << 0x18 | string[len - 2] << 0x10 | string[len - 1] << 0x08 | 0x80;
1687 break;
1688 }
1689 word_array.push( i );
1690
1691 while( ( word_array.len() % 0x10 ) != 0x0E )
1692 word_array.push( 0 );
1693
1694 word_array.push( len >> 0x10 );
1695 word_array.push( ( len << 0x03 ) & 0xFFFFFFFF );
1696
1697 local s0, s1;
1698 for( s = 0; s < word_array.len(); s += 0x10 )
1699 {
1700 for( i = 0x00; i < 0x10; i++ )
1701 w[i] = word_array[s + i];
1702
1703 for( i = 0x10; i < 0x40; i++ )
1704 {
1705 s0 = rotateRight( w[i - 15], 7 ) ^ rotateRight( w[i - 15], 18 ) ^ ( w[i - 15] >> 3 );
1706 s1 = rotateRight( w[i - 2], 17 ) ^ rotateRight( w[i - 2], 19 ) ^ ( w[i - 2] >> 10 );
1707 w[i] = w[i - 0x10] + s0 + w[i - 7] + s1;
1708 }
1709
1710 local a = hp[0],
1711 b = hp[1],
1712 c = hp[2],
1713 d = hp[3],
1714 e = hp[4],
1715 f = hp[5],
1716 g = hp[6],
1717 h = hp[7];
1718
1719 for( i = 0x00; i < 0x40; i++ )
1720 {
1721 s0 = ( rotateRight( a, 2 ) ^ rotateRight( a, 13 ) ^ rotateRight( a, 22 ) );
1722 local maj = ( ( a & b ) ^ ( a & c ) ^ ( b & c ) );
1723 local t2 = ( s0 + maj );
1724 s1 = ( rotateRight( e, 6 ) ^ rotateRight( e, 11) ^ rotateRight( e, 25 ) );
1725 local ch = ( ( e & f ) ^ ( ( ~e ) & g ) );
1726 local t1 = ( h + s1 + ch + k[i] + w[i] );
1727
1728 h = g;
1729 g = f;
1730 f = e;
1731 e = d + t1;
1732 d = c;
1733 c = b;
1734 b = a;
1735 a = t1 + t2;
1736 }
1737
1738 hp[0] += a;
1739 hp[1] += b;
1740 hp[2] += c;
1741 hp[3] += d;
1742 hp[4] += e;
1743 hp[5] += f;
1744 hp[6] += g;
1745 hp[7] += h;
1746 }
1747
1748 local hash = format
1749 (
1750 "%08x%08x%08x%08x%08x%08x%08x%08x",
1751 hp[0],
1752 hp[1],
1753 hp[2],
1754 hp[3],
1755 hp[4],
1756 hp[5],
1757 hp[6],
1758 hp[7]
1759 );
1760
1761 return hash;
1762 }
1763
1764function GetPlayer( plr )
1765{
1766 if ( plr )
1767 {
1768 if ( IsNum( plr ) )
1769 {
1770 plr = FindPlayer( plr.tointeger() );
1771 if ( plr ) return plr;
1772 else return null;
1773 }
1774 else
1775 {
1776 plr = FindPlayer( plr );
1777 if ( plr ) return plr;
1778 else return null;
1779 }
1780 }
1781 else return null;
1782}
1783
1784function NumTok(string, separator)
1785{
1786 local tokenized = split(string, separator);
1787 return tokenized.len();
1788}
1789
1790function GetTok(string, separator, n, ...)
1791{
1792 local m = vargv.len() > 0 ? vargv[0] : n,
1793 tokenized = split(string, separator),
1794 text = "";
1795
1796 if (n > tokenized.len() || n < 1) return null;
1797 for (; n <= m; n++)
1798 {
1799 text += text == "" ? tokenized[n-1] : separator + tokenized[n-1];
1800 }
1801 return text;
1802}
1803
1804 function LevelTag( player )
1805 {
1806 local lvl = Stats[ player.ID ].Level;
1807 if ( lvl == 0 ) return "Member";
1808 else if ( lvl == 1 ) return "Member";
1809 else if ( lvl == 2 ) return "2";
1810 else if ( lvl == 3 ) return "3";
1811 else if ( lvl == 4 ) return "4";
1812 else if ( lvl == 5 ) return "5";
1813 else if ( lvl == 6 ) return "6";
1814 else if ( lvl == 7 ) return "7";
1815 else if ( lvl == 8 ) return "8";
1816 else if ( lvl == 9 ) return "9";
1817 else if ( lvl == 10 ) return "10";
1818 else if ( lvl == 100 ) return "The Developer";
1819 }
1820
1821 function Baninfo( p )
1822 {
1823 local q = QuerySQL( Bans, "SELECT * FROM Bans WHERE Name='" + p + "'" );
1824 local name = GetSQLColumnData( q, 0 );
1825 if ( name ) return 1;
1826 else return 0;
1827 }
1828
1829 function CheckBan( player )
1830 {
1831 local q = QuerySQL( Bans, "SELECT * FROM Bans WHERE Name='" + player + "'" );
1832 local name = GetSQLColumnData( q, 0 );
1833 if ( name )
1834 {
1835 KickPlayer( player );
1836 Message("[#00de00]Information: [#fbf3f3]" + player.Name + " Has left the Server. (Banned)");
1837 }
1838 else return 0;
1839 }
1840
1841function autounmute(playerID)
1842{
1843local player = FindPlayer(playerID)
1844if (player && IsMuted[ player.ID ] )
1845{
1846 Message("[#00de00]Information: [#fbf3f3]Auto-UnMuted " + player.Name + " Reason: Mute time over."+ ".");
1847 IsMuted [ player.ID ] = false;
1848}
1849}
1850
1851 function GetWeatherName( )
1852 {
1853 switch( GetWeather() )
1854 {
1855 case 0 : return "Clear Skies";
1856 case 1 : return "OverCast";
1857 case 2 : return "Rainy-Lightning";
1858 case 3 : return "Foggy";
1859 case 4 : return "Sunny";
1860 case 5 : return "Rainy";
1861 case 6 : return "Dark Sky Partly Cloudy";
1862 case 7 : return "Light Sky Partly Cloudy";
1863 case 8 : return "OverCast Partly Cloudy";
1864 case 9 : return "Grey Sky Black Clouds";
1865 case 10 : return "Fog And Gray";
1866 case 386 : return "Waves touches the sky";
1867 case 375 : return "Big waves";
1868 case 377 : return "Medium waves";
1869 case 379 : return "Smaller waves, but still bigger than normal";
1870 case 91 : return "Dust on streets, like in Texas. (day)";
1871 default : return "Unknown";
1872 }
1873 }
1874
1875function RespawnVehicles( rtime = 0 )
1876{
1877for( local veh, i = 1; i <= 1000; i++ )
1878{
1879veh = FindVehicle(i);
1880if( !veh ) continue;
1881if( rtime == 0 ) veh.Respawn();
1882else veh.RespawnTimer = rtime;
1883}
1884}
1885
1886SkinName <- [
1887 "Tommy Vercetti",
1888 "Cop",
1889 "SWAT",
1890 "FBI",
1891 "Army",
1892 "Paramedic",
1893 "Firefighter",
1894 "Golf Guy #1",
1895 "Tommy Vercetti",
1896 "Bum Lady #1",
1897 "Bum Lady #2",
1898 "Punk #1",
1899 "Lawyer",
1900 "Spanish Lady #1",
1901 "Spanish Lady #2",
1902 "Cool Guy #1",
1903 "Arabic Guy",
1904 "Beach Lady #1",
1905 "Beach Lady #2",
1906 "Beach Guy #1",
1907 "Beach Guy #2",
1908 "Office Lady #1",
1909 "Waitress #1",
1910 "Food Lady",
1911 "Prostitute #1",
1912 "Bum Lady #3",
1913 "Bum Guy #1",
1914 "Garbageman #1",
1915 "Taxi Driver #1",
1916 "Haitian #1",
1917 "Criminal #1",
1918 "Hood Lady",
1919 "Granny #1",
1920 "Businessman #1",
1921 "Church Guy",
1922 "Club Lady",
1923 "Church Lady",
1924 "Pimp",
1925 "Beach Lady #3",
1926 "Beach Guy #3",
1927 "Beach Lady #4",
1928 "Beach Guy #4",
1929 "Businessman #2",
1930 "Prostitute #2",
1931 "Bum Lady #4",
1932 "Bum Guy #2",
1933 "Haitian #2",
1934 "Construction Worker #1",
1935 "Punk #2",
1936 "Prostitute #3",
1937 "Granny #2",
1938 "Punk #3",
1939 "Businessman #3",
1940 "Spanish Lady #3",
1941 "Spanish Lady #4",
1942 "Cool Guy #2",
1943 "Businessman #4",
1944 "Beach Lady #5",
1945 "Beach Guy #5",
1946 "Beach Lady #6",
1947 "Beach Guy #6",
1948 "Construction Worker #2",
1949 "Golf Guy #2",
1950 "Golf Lady",
1951 "Golf Guy #3",
1952 "Beach Lady #7",
1953 "Beach Guy #7",
1954 "Office Lady #2",
1955 "Businessman #5",
1956 "Businessman #6",
1957 "Prostitute #2",
1958 "Bum Lady #4",
1959 "Bum Guy #3",
1960 "Spanish Guy",
1961 "Taxi Driver #2",
1962 "Gym Lady",
1963 "Gym Guy",
1964 "Skate Lady",
1965 "Skate Guy",
1966 "Shopper #1",
1967 "Shopper #2",
1968 "Tourist #1",
1969 "Tourist #2",
1970 "Cuban #1",
1971 "Cuban #2",
1972 "Haitian #3",
1973 "Haitian #4",
1974 "Shark #1",
1975 "Shark #2",
1976 "Diaz Guy #1",
1977 "Diaz Guy #2",
1978 "DBP Security #1",
1979 "DBP Security #2",
1980 "Biker #1",
1981 "Biker #2",
1982 "Vercetti Guy #1",
1983 "Vercetti Guy #2",
1984 "UndercoverCop #1",
1985 "UndercoverCop #2",
1986 "UndercoverCop #3",
1987 "UndercoverCop #4",
1988 "UndercoverCop #5",
1989 "UndercoverCop #6",
1990 "Rich Guy",
1991 "Cool Guy #3",
1992 "Prostitute #3",
1993 "Prostitute #4",
1994 "Diaz",
1995 "Love Fist #1",
1996 "Ken Rosenburg",
1997 "Candy Suxx",
1998 "Hilary",
1999 "Love Fist #2",
2000 "Phil",
2001 "Rockstar Guy",
2002 "Sonny",
2003 "Lance",
2004 "Mercedes",
2005 "Love Fist #3",
2006 "Alex Shrub",
2007 "Lance (Cop)",
2008 "Lance",
2009 "Cortez",
2010 "Love Fist #4",
2011 "Columbian Guy #1",
2012 "Hilary (Robber)",
2013 "Mercedes",
2014 "Cam",
2015 "Cam (Robber)",
2016 "Phil (One Arm)",
2017 "Phil (Robber)",
2018 "Cool Guy #4",
2019 "Pizza Man",
2020 "Taxi Driver #1",
2021 "Taxi Driver #2",
2022 "Sailor #1",
2023 "Sailor #2",
2024 "Sailor #3",
2025 "Chef",
2026 "Criminal #2",
2027 "French Guy",
2028 "Garbageman #2",
2029 "Haitian #5",
2030 "Waitress #2",
2031 "Sonny Guy #1",
2032 "Sonny Guy #2",
2033 "Sonny Guy #3",
2034 "Columbian Guy #2",
2035 "Haitian #6",
2036 "Beach Guy #8",
2037 "Garbageman #3",
2038 "Garbageman #4",
2039 "Garbageman #5",
2040 "Tranny",
2041 "Thug #5",
2042 "SpandEx Guy #1",
2043 "SpandEx Guy #2",
2044 "Stripper #1",
2045 "Stripper #2",
2046 "Stripper #3",
2047 "StoreClerk",
2048 "Tommy Vercetti",
2049 "Tommy with Suit",
2050 "Worker Tommy",
2051 "Golfer Tommy",
2052 "Cuban Tommy",
2053 "VCPD Tommy",
2054 "Bank Robber Tommy",
2055 "Street Tommy",
2056 "Mafia Tommy",
2057 "Jogger Tommy #1",
2058 "Jogger Tommy #2",
2059 "Guy With Suit #1",
2060 "Guy With Suit #3",
2061 "Prostitute #5",
2062 "Rico",
2063 "Prostitute #3",
2064 "Club Lady",
2065 "Prostitute #2",
2066 "Skull T-Shirt Guy",
2067 "Easter Egg Tommy",
2068 "Diaz Gangster #1",
2069 "Diaz Gangster #2",
2070 "Hood Lady",
2071 "Punk #1",
2072 "Tray Lady",
2073 "Kent Paul",
2074 "Taxi Driver #1",
2075 "Deformed Ken Rosenberg",
2076 "Deformed Woman",
2077 "Deformed Man",
2078 "DeformedCortez",
2079 "Deformed Lance Vance",
2080 "Thief #1",
2081 "Thief #2",
2082 "Thief #3",
2083 "Thief #4",
2084 "Theif #5",
2085 "Theif #6",
2086 "Theif #7",
2087 "The Amazing Spider-Man 2",
2088 "Nemesis",
2089 "Duke Nukem",
2090 "Sonic",
2091 "Franklin",
2092 "Trover",
2093 "Michael",
2094 "Niko",
2095 "Hitman",
2096 "Joker",
2097 "Miku Hatsune",
2098 "Naruto",
2099 "Kakashi",
2100 "Kakashi Model 2",
2101 "CJ",
2102 "Spongebob",
2103 "Sonic (Black Skin)",
2104 "Shana",
2105 "EVA",
2106 "Duck",
2107 "Chicken",
2108 "50 Cent",
2109 "Custom Skin 23",
2110 "Custom Skin 24",
2111 "Custom Skin 25",
2112 "Custom Skin 26",
2113 "Custom Skin 27",
2114 "Custom Skin 28",
2115 "Custom Skin 29",
2116 "Custom Skin 30",
2117 "Custom Skin 31",
2118 "Custom Skin 32",
2119 "Custom Skin 33",
2120 "Custom Skin 34",
2121 "Custom Skin 35",
2122 "Custom Skin 36",
2123 "Custom Skin 37",
2124 "Custom Skin 38",
2125 "Custom Skin 39",
2126 "Custom Skin 40",
2127 "Custom Skin 41",
2128 "Custom Skin 42",
2129 "Custom Skin 43",
2130 "Custom Skin 44",
2131 "Custom Skin 45",
2132 "Custom Skin 46",
2133 "Custom Skin 47",
2134 "Custom Skin 48",
2135 "Custom Skin 49",
2136 "Custom Skin 50"
2137 ];
2138
2139function GetSkinName( ID )
2140{
2141 try
2142 {
2143 return SkinName[ ID ];
2144 }
2145 catch( e )
2146 {
2147 return null;
2148 }
2149}
2150
2151function GetSkinID( NAME )
2152{
2153 foreach( idx, skin in SkinName )
2154 {
2155 if( skin.tolower().find( NAME.tolower() ) != null ) return idx;
2156 }
2157}
2158
2159function onClientScriptData( player )
2160{
2161 local string = Stream.ReadString( ),
2162 string2 = Stream.ReadString ( );
2163 print( string );
2164 print( string2 );
2165 switch( string )
2166 {
2167 case "SetDriveOnWater":
2168 if ( string2 == "true" ) SetDriveOnWater( true );
2169 else SetDriveOnWater( false );
2170 MessagePlayer( "Status : "+string2, player );
2171 break;
2172 case "SetShootInAir":
2173 if ( string2 == "true" ) SetShootInAir( true );
2174 else SetShootInAir( false );
2175 MessagePlayer( "Status : "+string2, player );
2176 break;
2177 case "SetShowNametags":
2178 if ( string2 == "true" ) SetWallglitch( true );
2179 else SetWallglitch( false );
2180 MessagePlayer( "Status : "+string2, player );
2181 break;
2182 case "SetShowOnRadar":
2183 if ( string2 == "true" ) SetWallglitch( true );
2184 else SetWallglitch( false );
2185 MessagePlayer( "Status : "+string2, player );
2186 break;
2187 case "SetStuntBike":
2188 if ( string2 == "true" ) SetWallglitch( true );
2189 else SetWallglitch( false );
2190 MessagePlayer( "Status : "+string2, player );
2191 break;
2192 case "SetShowOnlyTeamMarkers":
2193 if ( string2 == "true" ) SetWallglitch( true );
2194 else SetWallglitch( false );
2195 MessagePlayer( "Status : "+string2, player );
2196 break;
2197 case "SetTaxiBoostJump":
2198 if ( string2 == "true" ) SetWallglitch( true );
2199 else SetWallglitch( false );
2200 MessagePlayer( "Status : "+string2, player );
2201 break;
2202 case "SetWallglitch":
2203 if ( string2 == "true" ) SetWallglitch( true );
2204 else SetWallglitch( false );
2205 MessagePlayer( "Status : "+string2, player );
2206 break;
2207 case "SetGameModeName":
2208 SetGameModeName( string2 );
2209 MessagePlayer( "Game Mode Name : "+GetGameModeName(), player );
2210 break;
2211 case "SetGamespeed":
2212 SetGamespeed( string2.tofloat() );
2213 MessagePlayer( "Game Speed : "+GetGamespeed(), player );
2214 break;
2215 case "SetGravity":
2216 SetGravity( string2.tofloat() );
2217 MessagePlayer( "Gravity : "+GetGravity(), player );
2218 break;
2219 case "SetHour":
2220 SetHour( string2.tointeger() );
2221 MessagePlayer( "Game Hour : "+GetHour(), player );
2222 break;
2223 case "SetMinute":
2224 SetMinute( string2.tointeger() );
2225 MessagePlayer( "Game Minute : "+GetMinute(), player );
2226 break;
2227 case "SetKillDelay":
2228 SetKillDelay( string2.tointeger() );
2229 MessagePlayer( "Kill Delay : "+GetKillDelay(), player );
2230 break;
2231 case "SetMaxHeight":
2232 SetMaxHeight( string2.tointeger() );
2233 MessagePlayer( "Max Height : "+GetMaxHeight(), player );
2234 break;
2235 case "SetMaxPlayers":
2236 SetMaxPlayers( string2.tointeger() );
2237 MessagePlayer( "Max Players : "+GetMaxPlayers(), player );
2238 break;
2239 case "SetServerName":
2240 SetServerName( string2.tostring() );
2241 MessagePlayer( "Server Name : "+GetServerName(), player );
2242 break;
2243 case "SetPassword":
2244 SetPassword( string2.tostring() );
2245 MessagePlayer( "Server Password : "+GetPassword(), player );
2246 break;
2247 case "SetWaterLevel":
2248 SetWaterLevel( string2.tofloat() );
2249 MessagePlayer( "Water Level : "+GetWaterLevel(), player );
2250 break;
2251 case "SetTimeRate":
2252 SetTimeRate( string2.tointeger() );
2253 MessagePlayer( "Water Level : "+GetTimeRate(), player );
2254 break;
2255 }
2256}
2257
2258function GetWeaponName( weapon )
2259{
2260local wep = weapon;
2261if ( wep.tointeger() == 0 ) return "Fist";
2262if ( wep.tointeger() == 1 ) return "BrassKnuckle";
2263if ( wep.tointeger() == 2 ) return "ScrewDriver";
2264if ( wep.tointeger() == 3 ) return "GolfClub";
2265if ( wep.tointeger() == 4 ) return "NightStick";
2266if ( wep.tointeger() == 5 ) return "Knife";
2267if ( wep.tointeger() == 6 ) return "BaseballBat";
2268if ( wep.tointeger() == 7 ) return "Hammer";
2269if ( wep.tointeger() == 8 ) return "Cleaver";
2270if ( wep.tointeger() == 9 ) return "Machete";
2271if ( wep.tointeger() == 10 ) return "Katana";
2272if ( wep.tointeger() == 11 ) return "Chainsaw";
2273if ( wep.tointeger() == 12 ) return "Grenade";
2274if ( wep.tointeger() == 13 ) return "RemoteGrenade";
2275if ( wep.tointeger() == 14 ) return "TearGas";
2276if ( wep.tointeger() == 15 ) return "Molotov"
2277if ( wep.tointeger() == 16 ) return "Missile";
2278if ( wep.tointeger() == 17 ) return "Colt45";
2279if ( wep.tointeger() == 18 ) return "Python";
2280if ( wep.tointeger() == 19 ) return "Shotgun";
2281if ( wep.tointeger() == 20 ) return "Spaz";
2282if ( wep.tointeger() == 21 ) return "Stubby";
2283if ( wep.tointeger() == 22 ) return "Tec9";
2284if ( wep.tointeger() == 23 ) return "Uzi";
2285if ( wep.tointeger() == 24 ) return "Ingrams";
2286if ( wep.tointeger() == 25 ) return "MP5";
2287if ( wep.tointeger() == 26 ) return "M4";
2288if ( wep.tointeger() == 27 ) return "Ruger";
2289if ( wep.tointeger() == 28 ) return "SniperRifle";
2290if ( wep.tointeger() == 29 ) return "LaserScope";
2291if ( wep.tointeger() == 30 ) return "RocketLauncher";
2292if ( wep.tointeger() == 31 ) return "FlameThrower";
2293if ( wep.tointeger() == 32 ) return "M60";
2294if ( wep.tointeger() == 33 ) return "Minigun";
2295if ( wep.tointeger() == 35 ) return "HeliCannon";
2296if ( wep.tointeger() == 39 ) return "Vehicle";
2297if ( wep.tointeger() == 41 ) return "Explosion";
2298if ( wep.tointeger() == 42 ) return "Drive-By";
2299if ( wep.tointeger() == 60 ) return "Heli Blades";
2300}
2301
2302function CheckLoc( name )
2303{
2304local loc = GetSQLColumnData( QuerySQL( db, "SELECT Name FROM Locations WHERE Name='" + name + "'" ), 0 );
2305if ( loc ) return loc;
2306else return 0;
2307}
2308
2309function GetLocPos( loc )
2310{
2311if ( CheckLoc( loc ) )
2312{
2313local coords = GetSQLColumnData( QuerySQL( db, "SELECT Pos FROM Locations WHERE Name='" + loc + "'" ), 0 );
2314if ( coords ) return coords;
2315else return 0;
2316}
2317}
2318
2319function SaveLoc( player, name )
2320{
2321local LocPos = format("%.3f %.3f %.3f", player.Pos.x, player.Pos.y, player.Pos.z );
2322QuerySQL( db, "INSERT INTO Locations (Name, Pos, Creator) VALUES ( '" + name + "', '" + LocPos + "', '" + player.Name + "' )" );
2323MessagePlayer( "[#ffbb00]Location Name: "+name+" .", player );
2324Announce( "Location Saved!", player, 0 );
2325}
2326
2327function GotoLoc(pid,name)
2328{
2329local player = FindPlayer(pid);
2330if(player) {
2331if ( ( TimeGotoloc[ player.ID ] == true ) && ( player.IsSpawned ) )
2332{
2333if ( CheckLoc( name ) )
2334{
2335local pos = GetLocPos( name );
2336if ( pos )
2337{
2338local param = split( pos, " " );
2339player.Pos = Vector( param[ 0 ].tofloat(), param[ 1 ].tofloat(), param[ 2 ].tofloat() );
2340TimeGotoloc[ player.ID ] = false;
2341player.IsFrozen = false;
2342MessagePlayer( "[#ffbb00]Teleported Done To Location: "+name+" .", player );
2343Announce( "Teleport Success!", player, 0 );
2344}
2345else {
2346TimeGotoloc[ player.ID ] = false;
2347GotoPlr.Delete();
2348}
2349}
2350}
2351}
2352}
2353
2354function Fix(p)
2355{
2356local player = FindPlayer(p);
2357if (player) {
2358local veh = player.Vehicle;
2359if(veh) {
2360player.IsFrozen = false;
2361player.Vehicle.Fix();
2362MessagePlayer( "[#ffbb00]Your Vehice Has Been Fixed", player );
2363}
2364}
2365}
2366
2367function goto(player, plr)
2368{
2369player = FindPlayer( player );
2370plr = FindPlayer( plr );
2371if( player && plr )
2372{
2373Message( "[#25e805]Information: [#f2f2f2]" + player + " has teleported to " + plr + ".", player);
2374player.IsFrozen = false;
2375player.Pos = plr.Pos;
2376}
2377}
2378
2379function heal(p)
2380{
2381local player = FindPlayer(p);
2382if (player) {
2383player.IsFrozen = false;
2384player.Health = 100;
2385MessagePlayer( "[#ffbb00]You Have Been Healed.", player );
2386}
2387}
2388
2389function onPlayerJoin( player )
2390{
2391player.Angle=0.882001;
2392Message( "[#00de00]Information: [#fbf3f3]"+player.Name+" Has joined the server." );
2393Stats[ player.ID ] = PlayerClass();
2394GetInfo(player);
2395CheckBan(player);
2396}
2397
2398function onPlayerPart( player, reason )
2399{
2400if (Stats[ player.ID ].Log) SaveStats(player);
2401IsMuted[ player.ID ] = false;
2402}
2403
2404function onPlayerRequestSpawn(player)
2405{
2406 if (!Stats[ player.ID ].Reg) MessagePlayer("[#00de00]Information: [#fbf3f3]Please Register First.", player);
2407 else if (!Stats[ player.ID ].Log) MessagePlayer("[#00de00]Information: [#fbf3f3]Please Login First.", player);
2408 else return 1;
2409}
2410
2411function onPlayerDeath( player, reason )
2412{
2413Stats[ player.ID ].Deaths ++;
2414if ( Stats[ player.ID ].Cash >= 300 ) DecCash( player, 300 );
2415}
2416
2417function onPlayerKill( killer, player, reason, bodypart )
2418{
2419killer.Score ++;
2420if ( killer.Health <= 80 ) killer.Health += 20;
2421if ( reason == 6 ) player.Health = 100;
2422if (bodypart == BODYPART_HEAD) killer.Cash += 2000;
2423Stats[ killer.ID ].Kills ++;
2424IncCash( killer, 1000 );
2425Stats[ player.ID ].Deaths ++;
2426}
2427
2428 function onPlayerChat( player, text )
2429 {
2430 local MUTE_DIVIDE = 1000;
2431 if ( ( time() - antiSpamTime[ player.ID ] ) <= LIMT_REP_TIME ) {
2432 antiSpamWarnings[ player.ID ]++;
2433 if ( antiSpamWarnings[ player.ID ] >= LIMIT_REP_SPAM ) {
2434 if( !IsMuted[ player.ID ] ){
2435 IsMuted[ player.ID ] = true;
2436 Message(format("[#00de00]Information: [#fbf3f3]Auto-Muted: %s Reason: Spamming the Chat. Duration[ %d seconds ]",player.Name,MUTE_TIME/MUTE_DIVIDE) );
2437 NewTimer("autounmute",MUTE_TIME.tointeger(),1,player.ID);
2438 }
2439 }
2440 } else {
2441 antiSpamWarnings[ player.ID ] = 0;
2442 }
2443 antiSpamTime[ player.ID ] = time();
2444
2445 if( IsMuted[ player.ID] )
2446 {
2447 return 0;
2448 MessagePlayer("[#00de00]Information: [#fbf3f3]You are muted.",player);
2449 }
2450 if ( Stats[ player.ID ].Log == false )
2451 {
2452 MessagePlayer( "[#00de00]Information: [#fbf3f3]You must regsiter and login first.", player );
2453 return 0;
2454 }
2455 else{
2456 return 1;
2457 }
2458 }
2459 function onPlayerSpawn( player )
2460 {
2461 if ( Stats[ player.ID ].spawnwep )
2462 {
2463 player.SetWeapon( Stats[ player.ID ].wep1 , 9999 );
2464 player.SetWeapon( Stats[ player.ID ].wep2 , 9999 );
2465 player.SetWeapon( Stats[ player.ID ].wep3 , 9999 );
2466 player.SetWeapon( Stats[ player.ID ].wep4 , 9999 );
2467 player.SetWeapon( Stats[ player.ID ].wep5 , 9999 );
2468 player.SetWeapon( Stats[ player.ID ].wep6 , 9999 );
2469 player.SetWeapon( Stats[ player.ID ].wep7 , 9999 );
2470 player.SetWeapon( Stats[ player.ID ].wep8 , 9999 );
2471 }
2472 if ( !Stats[ player.ID ].spawnwep )
2473 {
2474 player.GiveWeapon( 10, 999999999 );
2475 player.GiveWeapon( 12, 999999999 );
2476 player.GiveWeapon( 17, 999999999 );
2477 player.GiveWeapon( 24, 999999999 );
2478 player.GiveWeapon( 26, 999999999 );
2479 player.GiveWeapon( 28, 999999999 );
2480 player.GiveWeapon( 36, 999999999 );
2481 }
2482 if ( Stats[ player.ID ].spawnloc ) player.Pos = Vector( Stats[ player.ID ].X, Stats[ player.ID ].Y, Stats[ player.ID ].Z );
2483 Message("[#00de00]Information: [#fbf3f3]"+player.Name+" Has Been Spawned." );
2484 }