· 8 years ago · Jan 15, 2018, 06:32 PM
1#include <a_samp>
2#include <a_mysql>
3#include <zcmd>
4#include <sscanf2>
5
6// %d - int - liczba
7// %f - float - liczba zmienno przecinkowa
8// bool - true/false
9// %s - ciÄ…g tekstowy
10// char - jedna literka
11
12// includy
13#include "lib\db.inc" // logowanie do bazy nie otwierac!!!!
14#include "lib\config.inc" // definicje
15#include "lib\command\user.inc" // komendy gracza
16#include "lib\command\admin.inc" // komendy admina
17#include "lib\vehicle.inc" // pojazdy
18#include "lib\key.inc" // klawisze
19#include "lib\dialogi.inc" // dialogi!
20#include "lib\damage.inc" // obrazenia, walki, strzelaniny
21#include "lib\connect.inc" // logowanie, rejestracja
22
23
24
25//main
26main()
27{
28 printf("\nSerwer zostal uruchomiony\n-------------\nWczytuje Dane\n\n");
29}
30
31
32
33public OnGameModeInit()
34{
35
36 AddCharModel(305, 20001, "lvpdpc2.dff", "lvpdpc2.txd");
37 AddCharModel(305, 20002, "lapdpd2.dff", "lapdpd2.txd");
38 AddCharModel(286, 20003, "agent.dff", "agent.txd");
39 AddCharModel(286, 20004, "swat.dff", "swat.txd");
40 AddCharModel(287, 20005, "csher.dff", "csher.txd");
41 AddCharModel(287, 20006, "sd.dff", "sd.txd");
42 AddCharModel(287, 20007, "sd2.dff", "sd2.txd");
43 AddCharModel(287, 20008, "swat2.dff", "swat2.txd");
44
45
46 new hour, minute, second;
47 gettime(hour, minute, second);
48
49 new Year, Month, Day;
50 getdate(Year, Month, Day);
51
52 printf("\nS: Mamy rok: %d | miesiac: %02d | dzien: %02d |\n", Year, Month, Day);
53 printf("\nS: Uruchamiam serwer o godzinie |%02d:%02d:%02d| \n", hour, minute, second);
54 printf("S: Nazwa serwera: '%s' , nazwa mapy: '%s' \n", SERVER_NAME, MAP_NAME);
55
56 printf("S: Wylaczylem domyslne animacje!");
57 UsePlayerPedAnims();
58 printf("S: Wylaczylem domyslne interiory!");
59 DisableInteriorEnterExits();
60 printf("S: Wylaczylem domyslne sklepy z bronia!");
61 AllowInteriorWeapons(false);
62 printf("S: Wylaczylem domyslne tagi nad nickiem!");
63 ShowNameTags(false);
64 printf("S: Wylaczylem domyslne markery!");
65 ShowPlayerMarkers(false);
66 printf("S: Wylaczylem domyslne bonusy za akrobatyke!\n");
67 EnableStuntBonusForAll(false);
68 SetWorldTime(hour + 1);
69 SetObjectsDefaultCameraCol(0);
70
71 //ManualVehicleEngineAndLights();
72 SetGameModeText(MAP_NAME);
73
74 AddPlayerClass(36, 144.1138, -83.7225, 1.5781, 49.8798, 0, 0, 0, 0, 0, 0);
75
76 AddStaticVehicle(402, 1814.2614,-1369.6233,15.0781, 0.0, 0, 0);
77 AddStaticVehicle(541, 1813.2614,-1369.6233,15.0781, 0.0, 0, 0);
78
79 g_Handle = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
80
81 mysql_function_query(g_Handle, "CREATE TABLE IF NOT EXISTS `users` ( \
82 `id` int(11) NOT NULL AUTO_INCREMENT, \
83 `name` varchar(24) NOT NULL, \
84 `pass` varchar(129) NOT NULL, \
85 `salt` varchar(30) NOT NULL, \
86 `health` float NULL, \
87 `armor` float NULL, \
88 `X` float NULL, \
89 `Y` float NULL, \
90 `Z` float NULL, \
91 `A` float NULL, \
92 `interior` int(2) NULL, \
93 `vw` int(11) NULL, \
94 `skin` int(3) NULL, \
95 `admin` int(1) NULL, \
96 PRIMARY KEY (`id`) \
97 )", false, "SendQuery", "");
98
99 mysql_function_query(g_Handle, "CREATE TABLE IF NOT EXISTS `vehicle` ( \
100 `id` int(11) NOT NULL AUTO_INCREMENT, \
101 `id_pojazdu` int NOT NULL, \
102 `id_ownera` int NOT NULL, \
103 `typ_ownera` int NOT NULL, \
104 `vSirene` int NOT NULL, \
105 `color1` int NOT NULL, \
106 `color2` int NOT NULL, \
107 `health` float NOT NULL, \
108 `PosX` float NOT NULL, \
109 `PosY` float NOT NULL, \
110 `PosZ` float NOT NULL, \
111 PRIMARY KEY (`id`) \
112 )", false, "SendQuery", "");
113
114
115
116// textdrawy
117 new Rok, Miesiac, Dzien;
118 getdate(Rok, Miesiac, Dzien);
119
120 new str[128];
121 format(str, sizeof(str), "%d/%d/%d", Dzien, Miesiac, Rok);
122
123 data = TextDrawCreate(547.000000, 7.933318, str);//tworzymy TextDraw, w miejsce X,Y podajemy położenie TextDraw'u w pixelach
124 TextDrawColor(data, -5963521);//ustawiamy jego kolor
125 TextDrawLetterSize(data, 0.286499, 1.156667);//ustawiamy szerokosc i wysokosc liter
126
127
128
129
130
131 return 1;
132}
133
134forward SendQuery();
135public SendQuery()
136{
137
138 // callback for queries that don't fetch data
139 return 1;
140}
141
142public OnGameModeExit()
143{
144 mysql_close(g_Handle);
145
146 printf("\nWylaczam serwer!");
147
148 new hour, minute, second;
149 gettime(hour, minute, second);
150
151 new Year, Month, Day;
152 getdate(Year, Month, Day);
153
154 printf("\nMamy rok: %d | miesiac: %02d | dzien: %02d |\n", Year, Month, Day);
155 printf("\nZamykamy serwer o godzinie |%02d:%02d:%02d| \n", hour, minute, second);
156 return 1;
157}
158
159
160public OnPlayerConnect(playerid)
161{
162 PlayerName(playerid);
163 printf("S: Lacze z '%s' , jego id to '%d' oraz ip '%d'", PlayerName(playerid), playerid, PlayerIp(playerid));
164 SetTimerEx("SafeOnPlayerConnect", 250, 0, "d", playerid);
165 PlayerIp(playerid);
166 return 1;
167}
168
169
170public OnPlayerRequestClass(playerid, classid)
171{
172
173 return 1;
174}
175
176
177
178public OnPlayerSpawn(playerid)
179{
180 PlayerName(playerid);
181 printf("S: Gracz '%s' polaczyl sie z serwerem, jego id to '%d'", PlayerName(playerid), playerid);
182
183 if(g_Logged[playerid] == 255) {
184 g_Logged[playerid] = 0;
185
186
187 SetPlayerCameraPos(playerid, 1815.2614,-1369.6233,15.0781);
188 SetPlayerCameraLookAt(playerid, 1815.2614,-1369.6233,15.0781);
189 }
190
191 if(g_Died[playerid]) {
192 SetCameraBehindPlayer(playerid);
193 SetPlayerPos(playerid, 1815.2614,-1369.6233,15.0781);
194 SetPlayerFacingAngle(playerid, 270.4365);
195 SetPlayerSkin(playerid, g_PlayerInfo[playerid][pSkin]);
196 }
197
198
199 TextDrawShowForPlayer(playerid, data);//pokazujemy graczowi TextDraw
200 return 1;
201}
202
203public OnPlayerDisconnect(playerid, reason)
204{
205 printf("S: Gracz '%s' o id '%d' wyszedl z serwera!", PlayerName(playerid), playerid );
206 printf("S: Zapisuje dane!\n");
207 SaveAccount(playerid);
208 return 1;
209}
210
211
212forward SafeOnPlayerConnect(playerid);
213public SafeOnPlayerConnect(playerid)
214{
215 g_Logged[playerid] = 255;
216 g_LogTries[playerid] = 0;
217 g_Died[playerid] = 0;
218
219 SpawnPlayer(playerid);
220 CheckAccount(playerid);
221 return 1;
222}
223
224
225forward OnAccountCheck(playerid);
226public OnAccountCheck(playerid)
227{
228 if(playerid != INVALID_PLAYER_ID) { // if the player is still connected
229
230 new rows, fields;
231 cache_get_data(rows, fields, g_Handle);
232
233 if(rows) {
234 g_PlayerInfo[playerid][pSQLid] = cache_get_row_int(0, 0, g_Handle);
235
236 cache_get_row(0, 1, g_PlayerInfo[playerid][pPass], g_Handle, 130); // whirlpool length + 1
237 cache_get_row(0, 2, g_PlayerInfo[playerid][pSalt], g_Handle, SALT_LENGTH+1);
238
239 ShowPlayerDialog(playerid, D_LOGIN, DIALOG_STYLE_PASSWORD, "{1564F5}Logowanie", "Wpisz haslo aby sie zalogowac!", "Zaloguj!", "Wyjdz!");
240 }
241
242 else {
243 ShowPlayerDialog(playerid, D_REGISTER, DIALOG_STYLE_PASSWORD, "{1564F5}Rejestracja", "Wpisz haslo aby sie zarejestrowac.", "Rejestruj", "Wyjdz");
244 }
245 }
246 return 1;
247}
248
249
250
251
252forward OnAccountLoad(playerid);
253public OnAccountLoad(playerid)
254{
255
256 SetCameraBehindPlayer(playerid);
257
258 new temp[40];
259 format(temp, sizeof(temp), "SERVER: Witaj %s", returnNameEx(playerid));
260 SendClientMessage(playerid, -1, temp);
261 printf("S: Gracz %s pomyslnie sie zalogowal, jego id to %d", PlayerName(playerid), playerid );
262
263
264 g_PlayerInfo[playerid][pHealth] = cache_get_row_float(0, 4, g_Handle),
265 g_PlayerInfo[playerid][pArmor] = cache_get_row_float(0, 5, g_Handle),
266 g_PlayerInfo[playerid][pPosX] = cache_get_row_float(0, 6, g_Handle),
267 g_PlayerInfo[playerid][pPosY] = cache_get_row_float(0, 7, g_Handle),
268 g_PlayerInfo[playerid][pPosZ] = cache_get_row_float(0, 8, g_Handle),
269 g_PlayerInfo[playerid][pPosA] = cache_get_row_float(0, 9, g_Handle),
270 g_PlayerInfo[playerid][pInterior] = cache_get_row_int(0, 10, g_Handle),
271 g_PlayerInfo[playerid][pVirtualWorld] = cache_get_row_int(0, 11, g_Handle),
272 g_PlayerInfo[playerid][pSkin] = cache_get_row_int(0, 12, g_Handle);
273 g_PlayerInfo[playerid][pAdmin] = cache_get_row_int(0, 13, g_Handle);
274
275 SetPlayerHealth(playerid, g_PlayerInfo[playerid][pHealth]);
276 SetPlayerPos(playerid, g_PlayerInfo[playerid][pPosX], g_PlayerInfo[playerid][pPosY], g_PlayerInfo[playerid][pPosZ]);
277 SetPlayerFacingAngle(playerid, g_PlayerInfo[playerid][pPosA]);
278 SetPlayerInterior(playerid, g_PlayerInfo[playerid][pInterior]);
279 SetPlayerVirtualWorld(playerid, g_PlayerInfo[playerid][pVirtualWorld]);
280 SetPlayerSkin(playerid, g_PlayerInfo[playerid][pSkin]);
281 SetPlayerArmour(playerid, g_PlayerInfo[playerid][pArmor]);
282 return 1;
283}
284
285
286forward OnAccountCreate(playerid);
287public OnAccountCreate(playerid)
288{
289 g_PlayerInfo[playerid][pSQLid] = cache_insert_id();
290 return 1;
291}
292
293
294
295CMD:hp(playerid, params[])
296{
297
298 GivePlayerMoney(playerid, 5000);
299 SetPlayerHealth(playerid, 100.0);
300 SendClientMessage(playerid, COLOR_GREEN, "Kupiles max hp! (5000$)");
301 return 1;
302}
303
304CMD:stats(playerid, params[])
305{
306 new string[2048],
307 Float:health,
308 Float:armor,
309 posX,
310 posY,
311 posZ;
312 GetPlayerHealth(playerid, health);
313 GetPlayerArmour(playerid, armor);
314 GetPlayerPos(playerid, Float:posX, Float:posY, Float:posZ);
315
316 format(string, sizeof(string)," Twoje IP:{379BFF}\t%s\n UID postaci:{379BFF}\t%d \n{FFFFFF} Nick:{379BFF}\t%s \n {FFFFFF}Zycie:{379BFF}\t%f \n {FFFFFF}Kamizelka:{379BFF}\t%f \n {FFFFFF}Virtual World:{379BFF}\t%d \n {FFFFFF}Skin:{379BFF}\t%d \n {FFFFFF}Admin:{379BFF}\t%d \n {FFFFFF}Pozycja:{379BFF}\t%f, %f, %f \n",
317
318 PlayerIp(playerid),
319 g_PlayerInfo[playerid][pSQLid],
320 PlayerName(playerid),
321 health,
322 armor,
323 g_PlayerInfo[playerid][pVirtualWorld],
324 g_PlayerInfo[playerid][pSkin],
325 g_PlayerInfo[playerid][pAdmin],
326 posX,
327 posY,
328 posZ
329 );
330 ShowPlayerDialog(playerid, DIALOG_STATS,DIALOG_STYLE_TABLIST,"Statystyki gracza:", string, "Okej","");
331 printf("Wyswietlam statystyki graczowi o id '%d' jego nick to '%s'\n", playerid, PlayerName(playerid) );
332 return 1;
333}
334
335CMD:skok(playerid, params[])
336{
337 new Float:X, Float:Y, Float:Z;
338 GetPlayerPos(playerid, X, Y, Z);
339 SetPlayerPos(playerid, X, Y, Z+10);
340
341 return 1;
342}
343
344
345
346CMD:v(playerid, params[])
347{
348 if(!IsPlayerInAnyVehicle(playerid))
349 {
350 SendClientMessage(playerid, COLOR_RED, "Nie znajdujesz sie w pojezdzie!");
351 } else {
352 ShowPlayerDialog(playerid, D_VEHICLE, DIALOG_STYLE_LIST, "{1564F5}Panel Pojazdu - Wybierz!", "1. Informacje pojazdu \n2. Test \n3. Test", "Wybierz!", "Wyjdz!");
353 }
354 return 1;
355}
356
357
358
359
360public OnPlayerCommandReceived(playerid, cmdtext[])
361{
362 if(GetPVarInt(playerid, "JAIL") == 1)
363 {
364 SendClientMessage(playerid, COLOR_BLUE, "Jesteś w więzieniu, nie możesz używać komend!");
365 return 0;
366 }
367 return 1;
368}
369
370public OnPlayerCommandPerformed(playerid, cmdtext[], success)
371{
372 if(!success)
373 {
374 ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Podana komenda nie istnieje!", "Ok", "");
375 return 1;
376 }
377 return 1;
378}
379
380
381native WP_Hash(buffer[], len, const str[]);
382
383new bool:IsOnAdminDuty[MAX_PLAYERS] = false;
384
385// dane serwera
386#define SERVER_NAME "Krystian RP"
387#define MAP_NAME "Krystian RP v1.0"
388#define WEB_URL "www.wp.pl"
389
390// dialogi!!!
391
392
393enum e_pInfo
394{
395 pSQLid,
396 pPass[129],
397 pSalt[30],
398 Float:pHealth,
399 Float:pArmor,
400 Float:pPosX,
401 Float:pPosY,
402 Float:pPosZ,
403 Float:pPosA,
404 pInterior,
405 pVirtualWorld,
406 pSkin,
407 pAdmin
408}
409
410enum e_vehicle
411{
412 vSQLid,
413 vid_pojazdu,
414 vid_ownera,
415 vtyp_ownera,
416 vsirene,
417 vcolor1,
418 vcolo2,
419 vhealth,
420 vPosX,
421 vPosY,
422 vPosZ
423}
424new
425 g_PlayerInfo[MAX_PLAYERS][e_pInfo],
426 //VehicleData[MAX_VEHICLES][e_vehicle],
427 g_Logged[MAX_PLAYERS],
428 g_LogTries[MAX_PLAYERS],
429 g_Died[MAX_PLAYERS],
430 g_Handle;
431
432
433#define MAX_LOG_TRIES (4)
434#define MAX_PASS_LENGTH (40)
435#define SALT_LENGTH (30)
436
437/* Used for position arrays */
438#define posArr{%0} %0[0], %0[1], %0[2]
439#define posArrEx{%0} %0[0], %0[1], %0[2], %0[3]
440
441//-----------------------------------------------------
442
443new Text: data;
444
445//-----------------------------------------------------
446
447/* Credits to RyDeR` */
448stock randomString(strDest[], strLen = 30)
449{
450 while(strLen--)
451 strDest[strLen] = random(2) ? (random(26) + (random(2) ? 'a' : 'A')) : (random(10) + '0');
452}
453
454
455// dialogi
456
457
458#define DIALOG_STATS 5
459
460
461#define D_LOGIN 6
462#define D_REGISTER 7
463
464#define D_ADMINS 8
465
466#define D_VEHICLE 9
467
468
469// Colors
470#define COLOR_WHITE 0xFFFFFFFF
471#define COLOR_BLACK 0x000000FF
472#define COLOR_BROWN 0x8F4747FF
473#define COLOR_KREM 0xFF8080FF
474#define COLOR_SAY 0x2986CEFF
475#define COLOR_GREY 0xAFAFAFAA
476#define COLOR_SYSGREY 0xC6BEBDFF
477#define COLOR_GREEN 0x33AA33AA
478#define COLOR_RED 0xAA3333AA
479#define COLOR_LIGHTRED 0xFF6347AA
480#define COLOR_YELLOW 0xFFFF00AA
481#define COLOR_BLUE 0x0000BBAA
482#define COLOR_LIGHTBLUE 0x33CCFFFF
483#define COLOR_ORANGE 0xFF9900AA
484#define COLOR_DARKRED 0xAA993333
485#define COLOR_GREEN 0x33AA33AA
486#define COLOR_RED 0xAA3333AA
487#define COLOR_YELLOW 0xFFFF00AA
488#define COLOR_PINK 0xFF66FFAA
489#define COLOR_BLUE 0x0000BBAA
490#define COLOR_ORANGE 0xFF9900AA
491#define COLOR_VIOLET 0x8000FFFF
492#define COLOR_BROWN 0x8F4747FF
493#define COLOR_DARKGREY 0x808080FF
494#define COLOR_BLACK 0x000000FF
495#define COLOR_DARKGREEN 0x0D731FFF
496#define COLOR_DARKBLUE 0x2010E0FF
497#define COLOR_DARKBROWN 0x530000FF
498#define COLOR_DARKVIOLET 0x400040FF
499#define COLOR_DARKYELLOW 0x808000FF
500#define COLOR_DARKPINK 0x400040FF
501#define COLOR_KREM 0xFF8080FF
502#define COLOR_LIGHTGREEN 0x00FF00FF
503#define COLOR_LIGHTPINK 0xFF80FFFF
504#define COLOR_PURPLE 0xC2A2DAFF
505#define COLOR_PURPLE2 0xE0EA64FF
506
507#define COLOR_DO 0x9A9CCDFF
508
509#define COLOR_BUSINESS 0x8A614DFF
510#define COLOR_ORG 0x70B8B8FF
511#define COLOR_FACTION 0x8A8AFFFF
512#define COLOR_DEPARTMENT 0x3DF5FFFF // 3DFF9E
513
514#define COLOR_RADIO 0x0077FFFF
515
516#define COLOR_ADMIN 0xEEE8AAFF
517#define COLOR_SUPPORT 0x44D6FFFF
518
519#define COLOR_SEND_PW 0xFFC973FF
520#define COLOR_GOT_PW 0xFDAE33FF
521
522
523
524
525
526
527stock returnName(playerid)
528{
529 new name[24];
530 GetPlayerName(playerid, name, 24);
531 return name;
532}
533
534stock returnNameEx(playerid)
535{
536 new name[24];
537 GetPlayerName(playerid, name, 24);
538
539 for(new x=0; x<24; x++) {
540 if(name[x] == '_') {
541 name[x] = ' ';
542 }
543 }
544
545 return name;
546}
547
548stock clearScreen(playerid)
549{
550 for(new i; i<50; i++) {
551 SendClientMessage(playerid, -1, "");
552 }
553 return 1;
554}
555
556stock escape(string[])
557{
558 new esc_string[512];
559
560 mysql_real_escape_string(string, esc_string, g_Handle, sizeof(esc_string));
561 return esc_string;
562}
563
564stock PlayerName(playerid)
565{
566new player_name[25];
567GetPlayerName(playerid, player_name, sizeof(player_name));
568return player_name;
569}
570
571
572
573stock CheckAccount(playerid)
574{
575 new query[82];
576
577 format(query, sizeof(query), "SELECT id, pass, salt FROM `users` WHERE `name` = '%s' LIMIT 1", PlayerName(playerid));
578 mysql_function_query(g_Handle, query, true, "OnAccountCheck", "d", playerid);
579 printf("S: Sprawdzam konto gracza: %s",PlayerName(playerid) );
580 return 1;
581}
582
583stock LoadAccount(playerid)
584{
585 new query[128];
586
587 format(query, sizeof(query), "SELECT * FROM `users` WHERE `id` = %d", g_PlayerInfo[playerid][pSQLid]);
588 mysql_function_query(g_Handle, query, true, "OnAccountLoad", "d", playerid);
589}
590
591stock CreateAccount(playerid, salt[], pass[129])
592{
593 new query[240];
594 format(query, sizeof(query), "INSERT INTO `users` (name, salt, pass) VALUES (\'%s\', \'%s\', \'%s\')",
595 returnName(playerid),
596 salt,
597 pass
598 );
599 printf("S: Pomyslnie zarejestrowalam nowego uzytkownika: %s",PlayerName(playerid) );
600 mysql_function_query(g_Handle, query, false, "OnAccountCreate", "d", playerid);
601}
602
603stock SaveAccount(playerid)
604{
605 new
606 query[300],
607 Float:pos[4],
608 Float:health,
609 Float:armour;
610 new skin = GetPlayerCustomSkin(playerid);
611
612 GetPlayerPos(playerid, posArr{pos});
613 GetPlayerFacingAngle(playerid, pos[3]);
614 GetPlayerHealth(playerid, health);
615 GetPlayerArmour(playerid, armour);
616
617
618 format(query, sizeof(query), "UPDATE `users` SET health = %.1f, armor = %.1f, X = %.2f, Y = %.2f, Z = %.2f, A = %.2f, interior = %d, vw = %d, skin = %d, admin = %d WHERE `id` = %d",
619 health,
620 armour,
621 posArrEx{pos},
622 GetPlayerInterior(playerid),
623 GetPlayerVirtualWorld(playerid),
624 skin,
625 g_PlayerInfo[playerid][pAdmin],
626 g_PlayerInfo[playerid][pSQLid]
627 );
628 printf("S: Zapisalam poprawnie konto gracza: %s.",PlayerName(playerid) );
629 mysql_function_query(g_Handle, query, false, "SendQuery", "");
630 return 1;
631}
632
633stock PlayerIp(playerid)
634{
635 new plrIP[16];
636 GetPlayerIp(playerid, plrIP, sizeof(plrIP));
637 return plrIP;
638}
639
640CMD:kick(playerid, params[])
641{
642 if(!(g_PlayerInfo[playerid][pAdmin] > 1))
643 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
644
645 if(!(IsOnAdminDuty[playerid] == true))
646 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
647
648 new player,//zmienna z id gracza którego chcemy wyrzucić
649 powod[64];//tablica z powodem wyrzucenia
650 new nick2[24]; // nick admina
651 new nick3[24]; // nick wyrzucanego
652 GetPlayerName(playerid, nick2, sizeof(nick2));
653 GetPlayerName(player, nick3, sizeof(nick3));
654
655 if(sscanf(params, "rs[64]", player, powod))//to wytłumacze poza kodem niżej
656 return SendClientMessage(playerid, COLOR_GREEN, "/kick (id) (powód)");//jeżeli gracz nic nie wpisze,
657
658 if(!IsPlayerConnected(player))
659 return SendClientMessage(playerid, COLOR_RED, "Ten gracz nie jest podłączony!");
660
661 new string[64];
662 format(string, sizeof(string), "Gracz '%s' zostal wyrzucony z serwera przez admina '%s' z powodu '%s'!", nick3, nick2, powod);
663 printf("Gracz '%s', zostal wyrzucony z serwera przez gracza '%s' powodem '%s'", nick3, nick2, powod );
664 Kick(player);//wyrzucamy gracza
665 return 1;
666}
667
668
669CMD:setskin(playerid, params[])
670{
671 if(!(g_PlayerInfo[playerid][pAdmin] > 2))
672 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
673
674 if(!(IsOnAdminDuty[playerid] == true))
675 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
676
677 new playa,
678 skin_id,
679 string[64];
680
681 if(sscanf(params, "dd", playa, skin_id))
682 return SendClientMessage(playerid, COLOR_RED, "/skin [id] [skin]");
683
684 if(!IsPlayerConnected(playa))
685 return SendClientMessage(playerid, COLOR_RED, "Ten gracz nie jest podlaczony!");
686
687
688
689 SetPlayerSkin(playa, skin_id);
690
691
692 format(string, sizeof(string), "Pomyslnie nadales graczowi %d skin %d", playa, skin_id);
693 SendClientMessage(playerid, COLOR_GREEN, string);
694
695
696 return 1;
697}
698
699
700
701CMD:gun(playerid, params[])
702{
703 if(!(g_PlayerInfo[playerid][pAdmin] > 3))
704 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
705
706 if(!(IsOnAdminDuty[playerid] == true))
707 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
708
709 new gun_id,
710 ammo,
711 string[64];
712 if(sscanf(params, "dd", gun_id, ammo))
713 return SendClientMessage(playerid, COLOR_RED, "/gun [bron] [amunicja]");
714
715 if(!( gun_id >= 22 && gun_id <= 34))
716 return SendClientMessage(playerid, COLOR_RED, "Bron w przedziale od 22 do 34");
717
718 format(string, sizeof(string), "Pomyslnie nadales bron %d i amunicje %d", gun_id, ammo);
719 SendClientMessage(playerid, COLOR_GREEN, string);
720
721 GivePlayerWeapon(playerid, gun_id, ammo);
722 return 1;
723}
724
725CMD:sethp(playerid, params[])
726{
727 if(!(g_PlayerInfo[playerid][pAdmin] > 3))
728 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
729
730 if(!(IsOnAdminDuty[playerid] == true))
731 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
732
733 new player,
734 health,
735 string[64];
736
737 if(sscanf(params, "dd", player, health))
738 return SendClientMessage(playerid, COLOR_RED, "/sethp [id gracza] [hp]");
739
740 if(!( health >= 0 && health <= 110))
741 return SendClientMessage(playerid, COLOR_RED, "Bron w przedziale od 0 do 110");
742
743 format(string, sizeof(string), "Pomyslnie nadales %d hp graczowi %d", health, player);
744 SendClientMessage(playerid, COLOR_GREEN, string);
745
746 SetPlayerHealth(player, health);
747
748
749 return 1;
750}
751
752CMD:tpto(playerid, params[])
753{
754 if(!(g_PlayerInfo[playerid][pAdmin] > 2))
755 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
756
757 if(!(IsOnAdminDuty[playerid] == true))
758 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
759
760 new player,
761 Float:posX,
762 Float:posY,
763 Float:posZ,
764 string[64];
765
766 if(sscanf(params, "d", player))
767 return SendClientMessage(playerid, COLOR_RED, "/tpto [id gracza]");
768
769 if(!IsPlayerConnected(player))
770 return SendClientMessage(playerid, COLOR_RED, "Ten gracz nie jest podlaczony!");
771
772 GetPlayerPos(player, posX, posY, posZ);
773 SetPlayerPos(playerid, posX, posY, posZ);
774
775 format(string, sizeof(string), "Pomyslnie teleportowales sie do gracza %d", player);
776 SendClientMessage(playerid, COLOR_GREEN, string);
777 return 1;
778}
779
780CMD:tp(playerid, params[])
781{
782 if(!(g_PlayerInfo[playerid][pAdmin] > 2))
783 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
784
785 if(!(IsOnAdminDuty[playerid] == true))
786 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
787
788 new player,
789 playa,
790 Float:posX,
791 Float:posY,
792 Float:posZ;
793
794 if(sscanf(params, "dd", player, playa))
795 return SendClientMessage(playerid, COLOR_RED, "/tp [id gracza] [id gracza]");
796
797 if(!IsPlayerConnected(player))
798 return SendClientMessage(playerid, COLOR_RED, "Gracz o pierwszym id nie jest zalogowany!");
799
800 if(!IsPlayerConnected(playa))
801 return SendClientMessage(playerid, COLOR_RED, "Gracz o drugim id nie jest zalogowany!");
802
803 GetPlayerPos(playa, posX, posY, posZ);
804 SetPlayerPos(player, posX, posY, posZ);
805
806
807 return 1;
808}
809
810
811
812
813
814CMD:duty(playerid,params[]) // Onduty
815{
816 if(!(g_PlayerInfo[playerid][pAdmin] > 3))
817 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
818
819 if(IsOnAdminDuty[playerid] == false)
820 {
821 IsOnAdminDuty[playerid] = true;
822 new dstring[124];
823 format(dstring,sizeof(dstring),"Administrator '%s' wchodzi na sluzbe.", PlayerName(playerid));
824 SendClientMessageToAll(-1,dstring);
825 }else if (IsOnAdminDuty[playerid] == true)
826 {
827 IsOnAdminDuty[playerid] = false;
828 new dstring[124];
829 format(dstring,sizeof(dstring),"Administrator '%s' schodzi ze sluzby.", PlayerName(playerid));
830 SendClientMessageToAll(-1,dstring);
831 }
832 return 1;
833}
834
835CMD:gmx(playerid, params[])
836{
837 if(!(g_PlayerInfo[playerid][pAdmin] > 5))
838 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
839
840 if(!(IsOnAdminDuty[playerid] == true))
841 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
842
843 SendClientMessageToAll(COLOR_RED, "Restart");
844 SaveAccount(playerid);
845 SendRconCommand("gmx");
846
847 return 1;
848}
849
850
851CMD:off(playerid, params[])
852{
853 if(!(g_PlayerInfo[playerid][pAdmin] > 5))
854 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
855
856 if(!(IsOnAdminDuty[playerid] == true))
857 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
858
859 SendClientMessageToAll(COLOR_RED, "Serwer Wylaczony!");
860 SaveAccount(playerid);
861 SendRconCommand("off");
862
863 return 1;
864}
865
866
867CMD:alevel(playerid, params[])
868{
869 new string[300],
870 player,
871 level;
872
873 if(!(g_PlayerInfo[playerid][pAdmin] > 5))
874 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
875
876 if(!(IsOnAdminDuty[playerid] == true))
877 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
878
879 if(sscanf(params, "dd", player, level))
880 return SendClientMessage(playerid, COLOR_RED, "/alevel [id gracza] [level 0-6]");
881
882 if(level>=0&&level<=6)
883 {
884
885
886 format(string, sizeof(string), "UPDATE `users` SET admin = %d WHERE `id` = %d",
887 level,
888 g_PlayerInfo[player][pSQLid]
889 );
890
891 mysql_function_query(g_Handle, string, false, "SendQuery", "");
892
893 printf("Level admina gracza '%d' zostala zemieniona przez gracza '%d' na level '%d' ", player, playerid, level);
894
895 return 1;
896 } else {
897 SendClientMessage(playerid, COLOR_RED, "Podales zly zakres, od 0 do 6 wlacznie!");
898 }
899
900 return 1;
901}
902
903CMD:apojazd(playerid, params[])
904{
905 if(!(g_PlayerInfo[playerid][pAdmin] > 3))
906 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Brak uprawnien do uzycia komendy!", "Ok", "");
907
908 if(!(IsOnAdminDuty[playerid] == true))
909 return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Blad!", "Nie jestes na duty!", "Ok", "");
910
911 new idpojazdu,
912 kolor1,
913 kolor2,
914 Float:X,
915 Float:Y,
916 Float:Z,
917 query[512];
918
919 if(sscanf(params, "ddd", idpojazdu, kolor1, kolor2))
920 return SendClientMessage(playerid, COLOR_RED, "/apojazd [id pojazdu] [kolor1] [kolor2]");
921
922 GetPlayerPos(playerid, Float:X, Float:Y, Float:Z);
923
924 AddStaticVehicle(idpojazdu, Float:X, Float:Y+5, Float:Z, 0, kolor1, kolor2);
925
926 format(query, sizeof(query), "INSERT INTO `vehicle` (id_pojazdu, id_ownera, typ_ownera, vSirene, color1, color2, PosX, PosY, PosZ) VALUES (\'%d\', \'%d\', \'%d\', \'%d\',\'%f\', \'%f\', \'%f\', \'%f\', \'%f\')",
927 idpojazdu,
928 playerid,
929 2,
930 1,
931 kolor1,
932 kolor1,
933 Float:X,
934 Float:Y,
935 Float:Z
936 );
937 mysql_function_query(g_Handle, query, false, "SendQuery", "");
938
939 printf("Gracz id '%d' stworzyl pojazd o id '%d' ",playerid, idpojazdu );
940 return 1;
941}
942
943
944CMD:jail(playerid, params[])
945{
946 new player,
947 reason[254];
948
949 if(sscanf(params, "ds", player, reason))
950 return SendClientMessage(playerid, COLOR_SYSGREY, "TIP: Uzyj /v [info,zaparkuj]");
951
952
953
954 return 1;
955}