· 6 years ago · Apr 30, 2019, 11:08 PM
1#include <a_samp>
2#include <a_mysql>
3#include <streamer>
4#include <zcmd>
5#include <sscanf2>
6
7#define WORLD_LOGIN 5
8
9//kolorki cmd
10
11//CZAT GLOBLANY
12
13#define COLOR_RED 0xEC0029FF
14#define COLOR_LIGHT_GREY 0xC0C0C0FF
15#define COLOR_BLACK 0x000000FF
16#define COLOR_PINKY 0xFF80FFFF
17#define COLOR_YELLOW 0xFFFF00FF
18#define COLOR_ORANGE 0xFF8000FF
19//KOMENDA DO
20
21#define COLOR_PURPLE_DARK 0x8080C0FF
22#define COLOR_MORSKI 0x408080FF
23main(){}
24
25native WP_Hash(buffer[], len, const str[]);
26//Forwardy
27forward bool:IsStrValid(const string[]);
28
29//Ustawienia
30#define MONEY_MONEY_START 6500
31#define PRESSED(%O) \
32//Dialogi
33#define REGISTER1_DIALOG 0
34#define LOGIN_DIALOG 1
35#define REGISTER2_DIALOG 2
36#define REGISTER3_DIALOG 3
37
38//Definicje
39#define SKRYPT_NAME "Najlepszy Polski Serwer"
40#define SKRYPT_VERSJA "V1.0.0"
41#define INFO_STRING "{008080}[INFO]{C0C0C0}: "
42#define ERROR_STRING "{FF0000}[BÅÄ„D]{800000}: "
43
44#define MAX_ENTRACES 100
45
46#define GENDER_MALE 0
47#define GENDER_FEMALE 1
48
49#define MAX_BRAMY 10
50new brama[MAX_BRAMY];
51new bool:OtwartaCzyZamknieta[MAX_BRAMY];
52
53 //textdrawy
54new Text:SkinSelector_Title;
55new Text:SkinSelector_Right;
56new Text:SkinSelector_Left;
57new Text:SkinSelector_Accept;
58new Text:pasekstanu;
59new Text:czas;
60new Text:data;
61new Text:Tday;
62new Text:skinnr;
63new Text:loginscreen;
64new Text:loginbutton;
65new Text:registerbutton;
66
67//eNUMY
68enum DataPlayer
69{
70 bool:LoggedIn,
71 bool:ShowMouse,
72 bool:IsFreezed,
73 bool:FirstSpawn,
74 Cache:Cache_ID,
75 UID,
76 Password[129],
77 Age,
78 Lvl,
79 Gender,
80 IDSkin,
81 Money,
82 AdminLV,
83 Float:LastPos[4],
84 Linterior,
85 LVW,
86 Float:HP,
87 Float:Armour,
88
89 //Wybierałka
90 SelectedIDSkin
91};
92
93new entranceindex;
94enum EntranceData
95{
96 bool:e_freeze,
97 Float:e_posx,
98 Float:e_posy,
99 Float:e_posz,
100 Float:e_rotation,
101 e_interior,
102 e_vw,
103 e_conid
104};
105new Entrance[MAX_ENTRACES][EntranceData];
106
107new Player[MAX_PLAYERS][DataPlayer];
108new MySQL:SQL_ID;
109 //Zmienne Globalne
110new Skins_Male[][] = {20001, 20002, 20003, 20004, 20009, 20010, 20011, 20012, 20013, 20014, 20015, 20017, 20018, 20019, 20022, 20024, 0, 1, 2, 3, 4, 5, 6, 7, 8, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 57, 58, 59, 60, 61, 62, 66, 67, 68, 70, 71, 72, 73, 74, 78, 79, 80, 81, 82, 83, 84, 86, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 132, 133, 134, 135, 136, 137, 142, 143, 144, 146, 147, 149, 153, 154, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 200, 202, 203, 204, 206, 208, 209, 210, 212, 213, 220, 221, 222, 223, 227, 228, 229, 230, 234, 235, 236, 239, 240, 241, 242, 247, 248, 249, 250, 252, 253, 254, 255, 258, 259, 260, 261, 262, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 301, 302, 303, 304, 305, 310, 311}; //Facety
111new Skins_Female[][] = { 20005, 20006, 20007,20008, 20016, 20020, 20021, 20023, 20025, 20026, 20027, 10, 11, 12, 13, 31, 38, 39, 40, 41, 53, 54, 55, 56, 63, 64, 65,69,75, 76, 77, 85, 87, 88, 89, 90, 91, 92, 93, 129, 130, 131,138, 139, 140, 141, 145, 148, 150, 151, 152, 157, 169, 172, 178, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 205, 207, 211, 214, 215, 216, 217, 218, 219, 224, 225, 226, 231, 232, 233, 237, 238, 243, 244, 245, 246, 251, 256, 257, 263, 298, 306, 307, 308, 309}; //Babsztyle
112
113new day, month, year;
114new Hour, Minute;
115public OnGameModeInit()
116{
117 UsePlayerPedAnims();
118 DestroyAllDynamicObjects();
119 printf("Gamemode %s %s ® by Kreto Wystartował", SKRYPT_NAME, SKRYPT_VERSJA);
120 AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
121 if(MySQL_Init())
122 {
123 //Wczytywanie
124 MySQL_SetUpTables();
125 CreateGlobalTD();
126 ZaladujDate();
127 ZaladujCzas();
128 new days, months, years;
129 GetWeekDay(days, months, years);
130 //Timer
131 SetTimer("SecondUpdate", 1000, true);
132
133 //Ustawienia
134 DisableInteriorEnterExits();
135 EnableStuntBonusForAll(false);
136 SetGameModeText("Powiew Świeżości 03DL");
137
138 //mapicon
139
140 CreateDynamicMapIcon(2324.3040, -1135.8479, 1051.3047, 37, 0, 0, 0, -1, 500, MAPICON_GLOBAL, -1, 0);
141
142
143 //Wejścia/Wyjścia
144 ConnectEntrances(
145 CreateEntrance("UrzÄ…d Miasta w Los Santos", 1219.2979, -1812.3729, 16.5938, 177.8039, 0, 0, -1, 62, false),
146 CreateEntrance("Urząd Miasta w Los Santos - Wyjście", 384.80864,173.804992,1008.382812, 90.0, 3, 1, -1, -1, false));
147
148 ConnectEntrances(
149 CreateEntrance("UrzÄ…d Miasta w San Fierro", -2765.3870, 375.6902, 6.3359, 269.3221, 0, 0, -1, 61, false),
150 CreateEntrance("Urząd Miasta w San Fierro - Wyjście", 384.80864,173.804992,1008.382812, 90.0, 3, 2, -1, -1, false));
151
152 ConnectEntrances(
153 CreateEntrance("UrzÄ…d Miasta w Las Venturas", 2633.6101, 1823.1554, 11.0161, 80.6707, 0, 0,-1, 58, false),
154 CreateEntrance("Urząd Miasta w Las Venturas - Wyjście", 384.80864,173.804992,1008.382812, 90.0, 3, 3, -1, -1, false));
155
156 printf("Gamemode %s %s ® by Kreto działa\n", SKRYPT_NAME, SKRYPT_VERSJA);
157 }
158 else
159 {
160 print("Brak połączenia z bazą danych.");
161 }
162 StworzBrame();
163 return 1;
164
165}
166
167
168public OnPlayerFinishedDownloading(playerid, virtualworld)
169{
170 if(GetPlayerVirtualWorld(playerid) == WORLD_LOGIN)
171 {
172 TextDrawShowForPlayer(playerid, loginscreen);
173 TextDrawShowForPlayer(playerid, loginbutton);
174 TextDrawShowForPlayer(playerid, registerbutton);
175 ClearPlayerChat(playerid);
176 SetSpawnInfo(playerid, NO_TEAM, 0, 1248.2993,-1563.6338,12.6017, 186.4331, 0, 0, 0, 0, 0, 0);
177 }
178 return 1;
179}
180
181public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
182{
183 if(newkeys & KEY_SECONDARY_ATTACK)
184 {
185 if(!IsPlayerInAnyVehicle(playerid))
186 {
187 if(Player[playerid][IsFreezed] == false)
188 {
189 new p_vw = GetPlayerVirtualWorld(playerid);
190 new p_int = GetPlayerInterior(playerid);
191 for(new i; i < entranceindex; i++)
192 {
193 if(IsPlayerInRangeOfPoint(playerid, 1.0, Entrance[i][e_posx],Entrance[i][e_posy],Entrance[i][e_posz]) && Entrance[i][e_interior] == p_int && Entrance[i][e_vw] == p_vw)
194 {
195 new conid = Entrance[i][e_conid];
196 SetPlayerPos(playerid, Entrance[conid][e_posx],Entrance[conid][e_posy], Entrance[conid][e_posz]);
197 SetPlayerFacingAngle(playerid, Entrance[conid][e_rotation]);
198 SetPlayerInterior(playerid, Entrance[conid][e_interior]);
199 SetPlayerVirtualWorld(playerid, Entrance[conid][e_vw]);
200 SetCameraBehindPlayer(playerid);
201 if(Entrance[conid][e_freeze])
202 FreezePlayer(playerid, 3000, "Wczytywanie");
203 break;
204 }
205 }
206 }
207 }
208
209 }
210 if(newkeys & KEY_YES)
211 {
212 for(new i; i < MAX_BRAMY; i++)
213 {
214 new Float:pos[3];
215 GetDynamicObjectPos(i, pos[0], pos[1], pos[2]);
216
217 if(IsPlayerInRangeOfPoint(playerid, 15.0, pos[0], pos[1], pos[2]))
218 {
219 if(!IsDynamicObjectMoving(i))
220 {
221 if(OtwartaCzyZamknieta[i] == true)
222 {
223 MoveDynamicObject(i, pos[0], pos[1], pos[2]+8.0, 6.0, -7.8, 2.9, 24.7);
224 GameTextForPlayer(playerid, "~y~brama ~w~closed", 3000, 6);
225 OtwartaCzyZamknieta[i] = false;
226 }
227 else
228 {
229 MoveDynamicObject(i, pos[0], pos[1], pos[2]-8.0, 6.0, -27.8, 2.9, 24.7);
230 GameTextForPlayer(playerid, "~p~brama ~g~open", 3000, 6);
231 OtwartaCzyZamknieta[i] = true;
232 }
233
234 }
235 break;
236 }
237 }
238 }
239 return 1;
240}
241
242
243
244public OnPlayerText(playerid, text[])
245{
246 new message[258];
247 format(message, sizeof message, "%s [%i] {FFFF00}mówi: {FFFFFF}%s", PlayerName(playerid), playerid, text);
248 SendClientMessageInRange(playerid, COLOR_ORANGE, 1550.0, message);
249 return 0;
250}
251
252public OnGameModeExit()
253{
254 mysql_close(SQL_ID);
255 UsunBramy();
256 return 1;
257}
258
259
260public OnPlayerDeath(playerid, killerid, reason)
261{
262 GameTextForPlayer( playerid, " Nie Zyjesz !! ",5000,3);
263 SendClientMessage(playerid, -1, INFO_STRING"ZGINÄ„ÅEÅš");
264 SendDeathMessageToPlayer(playerid, killerid, playerid, reason);
265 GameTextForPlayer( killerid, " Ty zwyrolu !! ",5000,3);
266 printf("[[debug] Player %d zabił gracza %d reason id %d ",playerid, killerid, reason );
267
268 if(killerid == INVALID_PLAYER_ID) //Sprawdzenie, czy gracz popełnił samobójstwo.
269 {
270 SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
271 }
272 else
273 {
274 SendDeathMessage(killerid, playerid, reason);
275 }
276
277 return 1;
278}
279
280public OnPlayerRequestClass(playerid, classid)
281{
282 SpawnPlayer(playerid);
283 return 1;
284}
285
286public OnPlayerConnect(playerid)
287{
288 SendDeathMessage(INVALID_PLAYER_ID,playerid, 200);
289 SetPlayerVirtualWorld(playerid, WORLD_LOGIN);
290 return 1;
291}
292
293public OnPlayerDisconnect(playerid, reason)
294{
295 SendDeathMessage(INVALID_PLAYER_ID,playerid,201);
296 new query[258];
297 if(Player[playerid][LoggedIn])
298 {
299 SaveAccount(playerid);
300 mysql_format(SQL_ID, query, sizeof query, "UPDATE players_accounts SET lastonline = NOW() WHERE uid = %i", Player[playerid][UID]);
301 mysql_tquery(SQL_ID, query);
302 }
303 ResetPlayerData(playerid);
304 return 1;
305}
306
307public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
308{
309 switch(dialogid)
310 {
311 case LOGIN_DIALOG: //Login playersa
312 {
313 if(response)
314 {
315 if(strlen(inputtext) && IsStrValid(inputtext))
316 {
317 new buff[129], query[258];
318 WP_Hash(buff, 129, inputtext);
319 if(strcmp(Player[playerid][Password], buff, true) == 0)
320 {
321 // Hasło poprawne
322 AssignPlayerData(playerid); // odczyt z bazy danych
323 Player[playerid][LoggedIn] = true;
324 Player[playerid][FirstSpawn] = true;
325 ResetPlayerMoney(playerid);
326 GivePlayerMoney(playerid, Player[playerid][Money]);
327 SetPlayerScore(playerid, Player[playerid][Lvl]);
328 SetSpawnInfo(playerid, NO_TEAM, Player[playerid][IDSkin], 1248.2993,-1563.6338,12.6017, 186.4331, 0, 0, 0, 0, 0, 0);
329 SetPlayerInterior(playerid, 12);
330 TogglePlayerControllable(playerid, 1);
331 SpawnPlayer(playerid);
332 ClearPlayerChat(playerid);
333 SendClientMessage(playerid, -1, INFO_STRING"Logowanie udane. Życzymy pomyślnej gry !");
334 new ip[18];
335 GetPlayerIp(playerid, ip, 18);
336 mysql_format(SQL_ID, query, sizeof query, "UPDATE players_accounts SET lastip = '%s', lastonline = NOW() WHERE uid = %i", ip, Player[playerid][UID]);
337 mysql_tquery(SQL_ID, query);
338 }
339 else
340 {
341 // hasło błędne
342 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
343 SendClientMessage(playerid, -1, ERROR_STRING"Hasło nieprawidłowe. Spróbuj ponownie!");
344 }
345 //nic nie wpisane
346 }
347 else
348 {
349 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
350 SendClientMessage(playerid, -1, ERROR_STRING"Nie wprowadzono hasła! Spróbuj ponownie!");
351 }
352 }
353 else KickEX(playerid);
354 }
355 case REGISTER3_DIALOG: // Rejestracja wiek
356 {
357 if(response)
358 {
359 if(IsNumeric(inputtext) && strlen(inputtext) == 2 && strval(inputtext) >= 13 && strval(inputtext) <= 30 )
360 {
361 Player[playerid][Age] = strval(inputtext);
362 Player[playerid][Age] = strval(inputtext);
363 SetPlayerPos(playerid, 2324.3662, -1148.7382, 1050.7101);
364 SetPlayerInterior(playerid, 12);
365 SetPlayerFacingAngle(playerid, 359.6589);
366 InterpolateCameraPos(playerid, 2324.4150, -1138.6611, 1051.4922, 2324.3513, -1144.7060, 1050.7031, 5000, CAMERA_CUT);
367 InterpolateCameraLookAt(playerid, 2324.3662, -1148.7382, 1050.7101, 2324.3513, -1144.7360, 1050.7031, 5000, CAMERA_CUT);
368 Player[playerid][SelectedIDSkin] = 0;
369 new sskin = Player[playerid][SelectedIDSkin];
370 if(Player[playerid][Gender] == GENDER_MALE)
371 {
372 SetPlayerSkin(playerid, Skins_Male[sskin][0]);
373 Player[playerid][IDSkin] = Skins_Male[sskin][0];
374 }
375 else
376 {
377 SetPlayerSkin(playerid, Skins_Female[sskin][0]);
378 Player[playerid][IDSkin] = Skins_Female[sskin][0];
379 }
380 TextDrawHideForPlayer(playerid, loginscreen);
381 TextDrawHideForPlayer(playerid, loginbutton);
382 TextDrawHideForPlayer(playerid, registerbutton);
383 TextDrawShowForPlayer(playerid, SkinSelector_Title);
384 TextDrawShowForPlayer(playerid, skinnr);
385 TextDrawShowForPlayer(playerid, SkinSelector_Accept);
386 TextDrawShowForPlayer(playerid, SkinSelector_Right);
387 TextDrawShowForPlayer(playerid, SkinSelector_Left);
388 }
389 else
390 {
391 ShowPlayerDialog(playerid, REGISTER3_DIALOG, DIALOG_STYLE_INPUT, "Rejestracja", "Podaj swój wiek", "Akceptuj", "Opuść Serwer");
392 SendClientMessage(playerid, -1, ERROR_STRING"Żeby zagrać musisz mieć 13-30 lat!");
393 }
394 }
395 else KickEX(playerid);
396 }
397 case REGISTER2_DIALOG: // Rejestracja wybór Gender
398 { TextDrawShowForPlayer(playerid, loginscreen);
399 TextDrawShowForPlayer(playerid, loginbutton);
400 TextDrawShowForPlayer(playerid, registerbutton);
401 Player[playerid][Gender] = response;
402 ShowPlayerDialog(playerid, REGISTER3_DIALOG, DIALOG_STYLE_INPUT, "Rejestracja", "Podaj swój wiek", "Akceptuj", "Opuść Serwer");
403 }
404 case REGISTER1_DIALOG: //zAKÅADNIE KONTA
405 {
406 if(response)
407 {
408 if(strlen(inputtext) >= 8 && IsStrValid(inputtext))
409 {
410 WP_Hash(Player[playerid][Password], 129, inputtext);
411 ShowPlayerDialog(playerid, REGISTER2_DIALOG, DIALOG_STYLE_MSGBOX, "Rejestracja", "Wybierz swoją przynależność sexualną.", "Kobieta", "Mężczyzna");
412 }
413 else
414 { TextDrawShowForPlayer(playerid, loginscreen);
415 TextDrawShowForPlayer(playerid, loginbutton);
416 TextDrawShowForPlayer(playerid, registerbutton);
417 ShowPlayerDialog(playerid, REGISTER1_DIALOG, DIALOG_STYLE_PASSWORD, "REJESTRACJA", "Aby zagrać na serwerze, prosimy stwórz konto. \n\tHasło proszę wpisać poniżej", "Akceptuj", "Anuluj");
418 SendClientMessage(playerid, -1, ERROR_STRING"Hasło powinno zawierać min. 8 zanków, nie może zawierać przerw ani znaków specjalnych!!");
419 }
420 }
421 else KickEX(playerid);
422 }
423
424 }
425 return 0;
426}
427
428public OnPlayerClickTextDraw(playerid, Text:clickedid)
429{
430 if(clickedid == loginbutton)
431 {
432 new ip[18], query[256];
433 GetPlayerIp(playerid, ip, 18);
434 mysql_format(SQL_ID, query, sizeof query, "SELECT * FROM players_accounts WHERE Login = '%s' LIMIT 1", PlayerName(playerid));
435 mysql_tquery(SQL_ID, query, "OnAccountCheck", "iss", playerid, ip, PlayerName(playerid));
436 }
437
438 if(clickedid == registerbutton)
439 {
440 new ip[18], query[256];
441 GetPlayerIp(playerid, ip, 18);
442 mysql_format(SQL_ID, query, sizeof query, "SELECT * FROM players_accounts WHERE Login = '%s' LIMIT 1", PlayerName(playerid));
443 mysql_tquery(SQL_ID, query, "OnAccountCheck", "iss", playerid, ip, PlayerName(playerid));
444 }
445
446 if(clickedid == SkinSelector_Right) //Wybor postaci nastepna postac
447 {
448 if(Player[playerid][Gender] == GENDER_MALE) //Mezczyzni
449 {
450 if(Player[playerid][SelectedIDSkin] == (sizeof Skins_Male - 1))
451 Player[playerid][SelectedIDSkin] = 0;
452 else
453 Player[playerid][SelectedIDSkin]++;
454 new sskin = Player[playerid][SelectedIDSkin];
455 SetPlayerSkin(playerid, Skins_Male[sskin][0]);
456 Player[playerid][IDSkin] = Skins_Male[sskin][0];
457 }
458 else //Kobiety
459 {
460 if(Player[playerid][SelectedIDSkin] == (sizeof Skins_Female - 1))
461 Player[playerid][SelectedIDSkin] = 0;
462 else
463 Player[playerid][SelectedIDSkin]++;
464 new sskin = Player[playerid][SelectedIDSkin];
465 SetPlayerSkin(playerid, Skins_Female[sskin][0]);
466 Player[playerid][IDSkin] = Skins_Female[sskin][0];
467 }
468 }
469 if(clickedid == SkinSelector_Left) //Wybor postaci poprzednia postac
470 {
471 if(Player[playerid][Gender] == GENDER_MALE) //Mezczyzni
472 {
473 if(Player[playerid][SelectedIDSkin] == 0)
474 Player[playerid][SelectedIDSkin] = (sizeof Skins_Male - 1);
475 else
476 Player[playerid][SelectedIDSkin]--;
477 new sskin = Player[playerid][SelectedIDSkin];
478 SetPlayerSkin(playerid, Skins_Male[sskin][0]);
479 Player[playerid][IDSkin] = Skins_Male[sskin][0];
480 }
481 else //Kobiety
482 {
483 if(Player[playerid][SelectedIDSkin] == 0)
484 Player[playerid][SelectedIDSkin] = (sizeof Skins_Female - 1);
485 else
486 Player[playerid][SelectedIDSkin]--;
487 new sskin = Player[playerid][SelectedIDSkin];
488 SetPlayerSkin(playerid, Skins_Female[sskin][0]);
489 Player[playerid][IDSkin] = Skins_Female[sskin][0];
490 }
491 }
492 if(clickedid == SkinSelector_Accept)
493 {
494 TextDrawHideForPlayer(playerid, SkinSelector_Title);
495 TextDrawHideForPlayer(playerid, skinnr);
496 TextDrawHideForPlayer(playerid, SkinSelector_Accept);
497 TextDrawHideForPlayer(playerid, SkinSelector_Right);
498 TextDrawHideForPlayer(playerid, SkinSelector_Left);
499 TextDrawHideForPlayer(playerid, loginscreen);
500 TextDrawHideForPlayer(playerid, loginbutton);
501 TextDrawHideForPlayer(playerid, registerbutton);
502 CreateAccount(playerid);
503 TogglePlayerSpectating(playerid, false);
504 SetCameraBehindPlayer(playerid);
505 TogglePlayerControllable(playerid, true);
506 }
507 return 1;
508}
509public OnPlayerUpdate(playerid)
510{
511
512 return 1;
513}
514
515public OnPlayerSpawn(playerid)
516{
517 if(Player[playerid][LoggedIn] == false)
518 {
519 // nie zalogowany
520 SetPlayerSkin(playerid, GetRandomSkin());
521 SetPlayerInterior(playerid, 12);
522 SetPlayerPos(playerid, 2324.3040, -1135.8479, 1051.3047);
523 SetPlayerFacingAngle(playerid, 180.2658);
524 SetPlayerVirtualWorld(playerid, 50 + playerid);
525 SetPlayerCameraPos(playerid, 2324.5247, -1138.4045, 1050.4990);
526 SetPlayerCameraLookAt(playerid, 2324.3040, -1135.8479, 1051.3047);
527 TogglePlayerControllable(playerid, false);
528 ShowPlayerMouse(playerid, true);
529 }
530 else
531 {
532 TextDrawShowForPlayer(playerid, czas);
533 TextDrawShowForPlayer(playerid, data);
534 TextDrawShowForPlayer(playerid, Tday);
535 TextDrawShowForPlayer(playerid, pasekstanu);
536 //zalogowany
537 if(Player[playerid][FirstSpawn] && Player[playerid][LastPos] != 0)
538 {
539 SetPlayerPos(playerid, Player[playerid][LastPos][0], Player[playerid][LastPos][1], Player[playerid][LastPos][2]);
540 SetPlayerFacingAngle(playerid, Player[playerid][LastPos][3]);
541 SetPlayerInterior(playerid, Player[playerid][Linterior]);
542 SetPlayerVirtualWorld(playerid, Player[playerid][LVW]);
543 SetPlayerHealth(playerid, Player[playerid][HP]);
544 SetPlayerArmour(playerid, Player[playerid][Armour]);
545 }
546 else
547 {
548 SetPlayerInterior(playerid, 0);
549 SetPlayerVirtualWorld(playerid, 0);
550 }
551 SetPlayerSkin(playerid, Player[playerid][IDSkin]);
552 TogglePlayerControllable(playerid, true);
553 SetCameraBehindPlayer(playerid);
554 ShowPlayerMouse(playerid, false);
555 Player[playerid][FirstSpawn] = false;
556 TextDrawHideForPlayer(playerid, loginscreen);
557 TextDrawHideForPlayer(playerid, loginbutton);
558 TextDrawHideForPlayer(playerid, registerbutton);
559 TogglePlayerSpectating(playerid, false);
560 SetCameraBehindPlayer(playerid);
561 TogglePlayerControllable(playerid, true);
562 }
563 return 1;
564}
565
566//CALLBACK MYSQL
567forward OnAccountCreate(playerid);
568public OnAccountCreate(playerid)
569{
570 SendClientMessage(playerid, -1, INFO_STRING"Gratuluję! Twoje Konto zostało pomyślnie stworzone.Życzymy udanej gry, Administracja serwera.");
571
572 SetPlayerPos(playerid, 1223.1229,-1814.7272,16.5938); //ustaw koordynaty
573 SetPlayerVirtualWorld(playerid, 0);
574 SetPlayerInterior(playerid, 0);
575 SetCameraBehindPlayer(playerid);
576 TogglePlayerControllable(playerid, true);
577 ShowPlayerMouse(playerid, false);
578 return 1;
579}
580
581forward OnAccountCheck(playerid, ip[], name[]);
582public OnAccountCheck (playerid, ip[], name[])
583{
584 if(!IsPlayerConnected(playerid))
585 return 1;
586 new tmpip[18];
587 GetPlayerIp(playerid, tmpip, 18);
588 if(strcmp(ip, tmpip, true) != 0 && strcmp(name, PlayerName(playerid)) != 0)
589 return KickEX(playerid);
590 if(cache_num_rows() > 0)
591 {
592 //konto odnalezione
593 cache_get_value(0, "password", Player[playerid][Password], 129);
594 Player[playerid][Cache_ID] = cache_save();
595 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
596 }
597 else
598 {
599 //Konton nie odnalezione
600 ShowPlayerDialog(playerid, REGISTER1_DIALOG, DIALOG_STYLE_PASSWORD, "REJESTRACJA", "Aby zagrać na serwerze, prosimy stwórz konto. \n\tHasło proszę wpisać poniżej", "Akceptuj", "Anuluj");
601 }
602 return 1;
603}
604
605stock ZaladujDate()
606{
607 getdate(year, month, day);
608
609 new string[32];
610 format(string, sizeof string, "%02d/%02d/%d", day, month, year);
611 TextDrawSetString(data, string);
612 return 1;
613}
614
615stock ZaladujCzas()
616{ new Second;
617 gettime(Hour, Minute, Second);
618
619 new string[32];
620 format(string, sizeof string,"%02d:%02d:%02d", Hour, Minute, Second);
621 TextDrawSetString(czas, string);
622 return 1;
623}
624
625stock IsNumeric(const string[])
626{
627 for (new i = 0, j = strlen(string); i < j; i++)
628 {
629 if (string[i] > '9' || string[i] < '0') return 0;
630 }
631 return 1;
632}
633
634stock bool:IsStrValid(const string[])
635{
636 new num;
637 new len = strlen(string);
638 for(new i; i < len; i++)
639 switch(string[i])
640 {
641 case 'A'..'Z':num++;
642 case 'a'..'z':num++;
643 case '0'..'9':num++;
644 }
645 if(num == len) return true;
646 else return false;
647}
648
649//Timery
650
651
652forward UnFreezePlayer(playerid);
653public UnFreezePlayer(playerid)
654{
655 Player[playerid][IsFreezed] = false;
656 TogglePlayerControllable(playerid, true);
657 return 1;
658}
659
660forward DelayKick(playerid);
661public DelayKick(playerid)
662 return Kick(playerid);
663
664forward SecondUpdate();
665public SecondUpdate()
666{
667 ZaladujCzas();
668
669 for(new playerid, j = GetPlayerPoolSize(); playerid <= j; playerid++)
670 {
671 if(IsPlayerConnected(playerid))
672 {
673 if(Player[playerid][ShowMouse])
674 {
675 ShowPlayerMouse(playerid, true);
676 }
677 }
678 }
679 return 1;
680}
681
682
683 //CMD
684CMD:ooc(playerid, params[])
685{
686 new message[128], string[192];
687 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{008040}UŻYJ: /OOC [Wiadomość dla czatu globalnego]");
688 else
689 {
690 format(string, sizeof string, "OOC | %s [%i]: %s", PlayerName(playerid), playerid, message);
691 SendClientMessageToAll(COLOR_PINKY, string);
692 }
693 return 1;
694}
695
696
697CMD:krzycz(playerid, params[])
698{
699 new message[128], string[192];
700 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{FF8040}UŻYJ: /krzycz [Wiadomość]");
701 else
702 {
703 format(string, sizeof string, "%s [%i] krzczy! : %s", PlayerName(playerid), playerid, message);
704 SendClientMessageInRange(playerid, COLOR_LIGHT_GREY, 35.0, string);
705 }
706 return 1;
707}
708
709
710CMD:me(playerid, params[])
711{
712 new message[128], string[192];
713 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{80FF80}UŻYJ: /me[Czynność]");
714 else
715 {
716 format(string, sizeof string, "* %s %s", PlayerName(playerid), message);
717 SendClientMessageInRange(playerid, COLOR_PURPLE_DARK, 60.0, string);
718 }
719 return 1;
720}
721
722
723
724
725CMD:do(playerid, params[])
726{
727 new message[128], string[192];
728 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{804040}UŻYJ: /do[Opis Sytuacji]");
729 else
730 {
731 format(string, sizeof string, "[%i] ( %s )", playerid, message);
732 SendClientMessageInRange(playerid, COLOR_MORSKI, 80.0, string);
733 }
734 return 1;
735}
736
737
738
739//STOCKI
740
741stock GetWeekDay(days=0, months=0, years=0) //By yom
742{
743 if (!days)
744 getdate(years, months, days);
745
746 new
747 weekday_str[15],
748 j,
749 e
750 ;
751
752 if (month <= 2)
753 {
754 month += 12;
755 --year;
756 }
757
758 j = year % 100;
759 e = year / 100;
760
761 switch ((day + (month+1)*26/10 + j + j/4 + e/4 - 2*e) % 7)
762 {
763 case 0: weekday_str = "Sobota";
764 case 1: weekday_str = "Niedziela";
765 case 2: weekday_str = "Poniedziałek";
766 case 3: weekday_str = "Wtorek";
767 case 4: weekday_str = "Åšroda";
768 case 5: weekday_str = "Czwartek";
769 case 6: weekday_str = "PiÄ…tek";
770 }
771
772 return weekday_str;
773}
774
775
776stock StworzBrame()
777{
778 brama[0] = CreateDynamicObject(2990, 1003.76, -643.771, 124.317, 1.0, 0.5, 29.4, -1, -1, -1, STREAMER_OBJECT_SD, STREAMER_OBJECT_DD, -1, 0);
779 return 1;
780}
781
782stock UsunBramy()
783{
784 for(new i; i < sizeof brama; i++)
785 DestroyDynamicObject(i);
786 return 1;
787}
788
789stock SendClientMessageInRange(playerid, color, Float:range, text[])
790{
791 new Float:x, Float:y, Float:z;
792 GetPlayerPos(playerid, x, y, z);
793 for(new i, j = GetPlayerPoolSize(); i <= j; i++)
794 {
795 if(IsPlayerConnected(i))
796 {
797 if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
798 {
799 if(IsPlayerInRangeOfPoint(i, range, x, y, z))
800 {
801 SendClientMessage(i, color, text);
802 }
803 }
804 }
805 }
806 return 1;
807}
808
809
810stock ConnectEntrances(id1, id2)
811{
812 Entrance[id1][e_conid] = id2;
813 Entrance[id2][e_conid] = id1;
814 return 1;
815}
816
817stock FreezePlayer(playerid, interval, text[])
818{
819 new string[128];
820 format(string, sizeof string, "~p~%s", text);
821 TogglePlayerControllable(playerid, false);
822 SetTimerEx("UnFreeze", interval, false, "i", playerid);
823 GameTextForPlayer(playerid, string, interval, 6);
824 Player[playerid][IsFreezed] = true;
825 return 1;
826}
827
828
829stock CreateEntrance(const name[], Float:x, Float:y, Float:z, Float:rotacja, interior, virtualworld, pickupid = -1, mapiconid = -1, bool:freezeplayer = false)
830{
831 new string[128];
832 new entid =entranceindex;
833 Entrance[entid][e_posx] = x;
834 Entrance[entid][e_posy] = y;
835 Entrance[entid][e_posz] = z;
836 Entrance[entid][e_rotation] = rotacja;
837 Entrance[entid][e_interior] = interior;
838 Entrance[entid][e_vw] = virtualworld;
839 Entrance[entid][e_freeze] = freezeplayer;
840 if(pickupid == -1)
841 {
842 pickupid = 1318;
843 if(mapiconid != -1)
844 CreateDynamicMapIcon(x, y, z, mapiconid, 0, virtualworld, interior, -1, 800, MAPICON_GLOBAL, -1, 0);
845 CreateDynamicPickup(pickupid, 1, x, y, z, virtualworld, interior);
846 format(string,sizeof string, "{F3DC3A}%s\n{FFFFFF}Aby wejść wciśnij : {D34BF5}ENTER", name);
847 CreateDynamic3DTextLabel(string, -1, x, y, z, 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, virtualworld, interior, -1, 15);
848 entranceindex++;
849 }
850 return entid;
851}
852
853stock GetRandomSkin()
854{
855 new rgender = random(2);
856 if(rgender == 1)
857 {
858 new rand = random(sizeof Skins_Male);
859 return Skins_Male[rand][0];
860 }
861 else if(rgender == 0)
862 {
863 new rand = random(sizeof Skins_Female);
864 return Skins_Female[rand][0];
865 }
866 return 0;
867}
868
869
870stock KickEX(playerid, delay = 1000)
871 return SetTimerEx("DelayKick", delay, false, "i", playerid);
872
873stock AssignPlayerData(playerid)
874{
875 cache_set_active(Player[playerid][Cache_ID]);
876
877 cache_get_value_int(0, "uid", Player[playerid][UID]);
878 cache_get_value_int(0, "IDSkina", Player[playerid][IDSkin]);
879 cache_get_value_int(0, "money", Player[playerid][Money]);
880 cache_get_value_int(0, "gender", Player[playerid][Gender]);
881 cache_get_value_int(0, "age", Player[playerid][Age]);
882 cache_get_value_int(0, "lvl", Player[playerid][Lvl]);
883 cache_get_value_int(0, "admin_lv", Player[playerid][AdminLV]);
884
885 cache_get_value_float(0, "lastposx",Player[playerid][LastPos][0]);
886 cache_get_value_float(0, "lastposy",Player[playerid][LastPos][1]);
887 cache_get_value_float(0, "lastposz",Player[playerid][LastPos][2]);
888 cache_get_value_float(0, "lastposrot",Player[playerid][LastPos][3]);
889 cache_get_value_int(0, "linterior",Player[playerid][Linterior]);
890 cache_get_value_int(0, "lvw",Player[playerid][LVW]);
891 cache_get_value_float(0, "hp",Player[playerid][HP]);
892 cache_get_value_float(0, "armour",Player[playerid][Armour]);
893
894 cache_delete(Player[playerid][Cache_ID]);
895 Player[playerid][Cache_ID] = MYSQL_INVALID_CACHE;
896 return 1;
897}
898
899stock ResetPlayerData(playerid)
900{
901 if(cache_is_valid(Player[playerid][Cache_ID]))
902 {
903 cache_delete(Player[playerid][Cache_ID]);
904 Player[playerid][Cache_ID] = MYSQL_INVALID_CACHE;
905 }
906 static const null_players[DataPlayer];
907 Player[playerid] = null_players;
908 return 1;
909}
910
911stock PlayerName(playerid)
912{
913 new name[MAX_PLAYER_NAME];
914 GetPlayerName(playerid, name, sizeof name);
915 return name;
916}
917
918forward ShowPlayerMouse(playerid, bool:show);
919public ShowPlayerMouse(playerid, bool:show)
920{
921 if(show)
922 {
923 SelectTextDraw(playerid, 0xFF0000FF);
924 Player[playerid][ShowMouse] = true;
925 }
926 else
927 {
928 CancelSelectTextDraw(playerid);
929 Player[playerid][ShowMouse] = false;
930 }
931 return 1;
932}
933
934stock ClearPlayerChat(playerid)
935{
936 for(new i; i < 15; i++)
937 SendClientMessage(playerid, -1, " ");
938 return 1;
939}
940
941 stock SaveAccount(playerid)
942 {
943 new query[258];
944 new Float:tempPos[4], Float:hp, Float:armour;
945 GetPlayerHealth(playerid, hp);
946 GetPlayerArmour(playerid, armour);
947 GetPlayerPos(playerid, tempPos[0], tempPos[1], tempPos[2]);
948 GetPlayerFacingAngle(playerid, tempPos[3]);
949 if(hp > 100 && !IsPlayerAdmin(playerid)) hp = 100;
950 if(armour > 100) armour = 100;
951 mysql_format(SQL_ID, query, sizeof query, "UPDATE players_accounts SET money =%i, IDSkina = %i, lvl = %i, lastposx = %f, lastposy = %f, lastposz = %f, \
952 lastposrot = %f, linterior = %i, lvw = %i, hp = %f, armour = %f WHERE uid = %i",
953 GetPlayerMoney(playerid),
954 Player[playerid][IDSkin],
955 GetPlayerScore(playerid),
956 tempPos[0], tempPos[1], tempPos[2], tempPos[3],
957 GetPlayerInterior(playerid),
958 GetPlayerVirtualWorld(playerid),
959 hp,armour,
960 Player[playerid][UID]);
961 mysql_tquery(SQL_ID, query);
962 return 1;
963 }
964
965 stock CreateAccount(playerid)
966{
967 new query[258], string[258];
968 strcat(query, "INSERT INTO players_accounts(");
969 //
970 strcat(query, "Login, ");
971 strcat(query, "password, ");
972 strcat(query, "IDSkina, ");
973 strcat(query, "age, ");
974 strcat(query, "gender, ");
975 strcat(query, "money");
976 //
977 strcat(query, ")VALUES(");
978 //
979 format(string, 258, "'%s',",PlayerName(playerid));
980 strcat(query,string);
981 format(string, 258, "'%s',",Player[playerid][Password]);
982 strcat(query,string);
983 format(string, 258, "'%i',",Player[playerid][IDSkin]);
984 strcat(query,string);
985 format(string, 258, "'%i',",Player[playerid][Age]);
986 strcat(query,string);
987 format(string, 258, "'%i',",Player[playerid][Gender]);
988 strcat(query,string);
989 format(string, 258, "'%i'",MONEY_MONEY_START);
990 strcat(query,string);
991 //
992 strcat(query,")");
993 mysql_tquery(SQL_ID, query, "OnAccountCreate", "i", playerid);
994 return 1;
995}
996
997stock MySQL_SetUpTables ()
998{
999 mysql_tquery(SQL_ID, " CREATE TABLE IF NOT EXISTS `Players Accounts` ( \
1000 `uid` INT(11) NOT NULL AUTO_INCREMENT, \
1001 `Login` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
1002 `password` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
1003 `ID Skina` INT(11) NOT NULL, \
1004 `money` INT(11) NOT NULL DEFAULT '0', \
1005 `gender` INT(11) NOT NULL, \
1006 `age` INT(11) NOT NULL, \
1007 `lvl` INT(11) NOT NULL DEFAULT '1', \
1008 `admin lv` INT(11) NOT NULL DEFAULT '0', \
1009 `lastip` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
1010 `lastonline` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
1011 `createdate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
1012 PRIMARY KEY (`uid`))");
1013 return 1;
1014}
1015
1016stock MySQL_Init()
1017{
1018 mysql_log();
1019 SQL_ID = mysql_connect_file("mysql.ini");
1020 if(SQL_ID == MYSQL_INVALID_HANDLE ||mysql_errno(SQL_ID) != 0)
1021 {
1022 print("[MYSQL - BLAD] Nie można było połączyć się z bazą danych! Serwer wyłączony ..!");
1023 SendRconCommand("exit");
1024 return 0;
1025 }
1026 print("[MYSQL] Połączenie z bazą danych zostało nawiązane!");
1027 return 1;
1028}
1029
1030// Stock TD
1031
1032stock CreateGlobalTD()
1033{
1034 SkinSelector_Title = TextDrawCreate(232.000000, -5.000000, "mdl-1001:skin");
1035 TextDrawFont(SkinSelector_Title, 4);
1036 TextDrawLetterSize(SkinSelector_Title, 0.600000, 2.000000);
1037 TextDrawTextSize(SkinSelector_Title, 187.000000, 102.500000);
1038 TextDrawSetOutline(SkinSelector_Title, 1);
1039 TextDrawSetShadow(SkinSelector_Title, 0);
1040 TextDrawAlignment(SkinSelector_Title, 1);
1041 TextDrawColor(SkinSelector_Title, -1);
1042 TextDrawBackgroundColor(SkinSelector_Title, 255);
1043 TextDrawBoxColor(SkinSelector_Title, 50);
1044 TextDrawUseBox(SkinSelector_Title, 1);
1045 TextDrawSetProportional(SkinSelector_Title, 1);
1046 TextDrawSetSelectable(SkinSelector_Title, 0);
1047
1048 SkinSelector_Right = TextDrawCreate(420.000000, 287.000000, "mdl-1001:prawo");
1049 TextDrawFont(SkinSelector_Right, 4);
1050 TextDrawLetterSize(SkinSelector_Right, 0.600000, 2.000000);
1051 TextDrawTextSize(SkinSelector_Right, 172.000000, 75.000000);
1052 TextDrawSetOutline(SkinSelector_Right, 1);
1053 TextDrawSetShadow(SkinSelector_Right, 0);
1054 TextDrawAlignment(SkinSelector_Right, 1);
1055 TextDrawColor(SkinSelector_Right, -1);
1056 TextDrawBackgroundColor(SkinSelector_Right, 255);
1057 TextDrawBoxColor(SkinSelector_Right, 50);
1058 TextDrawUseBox(SkinSelector_Right, 1);
1059 TextDrawSetProportional(SkinSelector_Right, 1);
1060 TextDrawSetSelectable(SkinSelector_Right, 1);
1061
1062 SkinSelector_Left = TextDrawCreate(112.000000, 285.000000, "mdl-1001:lewo");
1063 TextDrawFont(SkinSelector_Left, 4);
1064 TextDrawLetterSize(SkinSelector_Left, 0.600000, 2.000000);
1065 TextDrawTextSize(SkinSelector_Left, 172.000000, 75.000000);
1066 TextDrawSetOutline(SkinSelector_Left, 1);
1067 TextDrawSetShadow(SkinSelector_Left, 0);
1068 TextDrawAlignment(SkinSelector_Left, 1);
1069 TextDrawColor(SkinSelector_Left, -1);
1070 TextDrawBackgroundColor(SkinSelector_Left, 255);
1071 TextDrawBoxColor(SkinSelector_Left, 50);
1072 TextDrawUseBox(SkinSelector_Left, 1);
1073 TextDrawSetProportional(SkinSelector_Left, 1);
1074 TextDrawSetSelectable(SkinSelector_Left, 1);
1075
1076 SkinSelector_Accept = TextDrawCreate(286.000000, 271.000000, "mdl-1001:wybierz");
1077 TextDrawFont(SkinSelector_Accept, 4);
1078 TextDrawLetterSize(SkinSelector_Accept, 0.600000, 2.000000);
1079 TextDrawTextSize(SkinSelector_Accept, 133.500000, 99.000000);
1080 TextDrawSetOutline(SkinSelector_Accept, 1);
1081 TextDrawSetShadow(SkinSelector_Accept, 0);
1082 TextDrawAlignment(SkinSelector_Accept, 1);
1083 TextDrawColor(SkinSelector_Accept, -1);
1084 TextDrawBackgroundColor(SkinSelector_Accept, 255);
1085 TextDrawBoxColor(SkinSelector_Accept, 50);
1086 TextDrawUseBox(SkinSelector_Accept, 1);
1087 TextDrawSetProportional(SkinSelector_Accept, 1);
1088 TextDrawSetSelectable(SkinSelector_Accept, 1);
1089
1090
1091 skinnr = TextDrawCreate(429.000000, 20.000000, "0");
1092 TextDrawFont(skinnr, 3);
1093 TextDrawLetterSize(skinnr, 0.941666, 4.449998);
1094 TextDrawTextSize(skinnr, 400.000000, 17.000000);
1095 TextDrawSetOutline(skinnr, 1);
1096 TextDrawSetShadow(skinnr, 0);
1097 TextDrawAlignment(skinnr, 1);
1098 TextDrawColor(skinnr, -1);
1099 TextDrawBackgroundColor(skinnr, 255);
1100 TextDrawBoxColor(skinnr, 50);
1101 TextDrawUseBox(skinnr, 0);
1102 TextDrawSetProportional(skinnr, 1);
1103 TextDrawSetSelectable(skinnr, 0);
1104
1105 pasekstanu = TextDrawCreate(451.000000, 422.000000, "ID:0 PING: 14 XP: 150/1840 LVL: 15");
1106 TextDrawFont(pasekstanu, 3);
1107 TextDrawLetterSize(pasekstanu, 0.299997, 1.649999);
1108 TextDrawTextSize(pasekstanu, 12.000000, 640.000000);
1109 TextDrawSetOutline(pasekstanu, 0);
1110 TextDrawSetShadow(pasekstanu, 0);
1111 TextDrawAlignment(pasekstanu, 2);
1112 TextDrawColor(pasekstanu, -3841);
1113 TextDrawBackgroundColor(pasekstanu, 852308735);
1114 TextDrawBoxColor(pasekstanu, 101);
1115 TextDrawUseBox(pasekstanu, 0);
1116 TextDrawSetProportional(pasekstanu, 1);
1117 TextDrawSetSelectable(pasekstanu, 0);
1118
1119
1120 loginscreen = TextDrawCreate(0.000000, -2.000000, "mdl-1000:logowanie samp");
1121 TextDrawFont(loginscreen, 4);
1122 TextDrawLetterSize(loginscreen, 0.600000, 2.000000);
1123 TextDrawTextSize(loginscreen, 641.500000, 453.500000);
1124 TextDrawSetOutline(loginscreen, 1);
1125 TextDrawSetShadow(loginscreen, 0);
1126 TextDrawAlignment(loginscreen, 1);
1127 TextDrawColor(loginscreen, -1);
1128 TextDrawBackgroundColor(loginscreen, 255);
1129 TextDrawBoxColor(loginscreen, 50);
1130 TextDrawUseBox(loginscreen, 1);
1131 TextDrawSetProportional(loginscreen, 1);
1132 TextDrawSetSelectable(loginscreen, 0);
1133
1134 loginbutton = TextDrawCreate(121.000000, 219.000000, "mdl-1000:loginbutton");
1135 TextDrawFont(loginbutton, 4);
1136 TextDrawLetterSize(loginbutton, 0.600000, 2.000000);
1137 TextDrawTextSize(loginbutton, 130.500000, 84.000000);
1138 TextDrawSetOutline(loginbutton, 1);
1139 TextDrawSetShadow(loginbutton, 0);
1140 TextDrawAlignment(loginbutton, 1);
1141 TextDrawColor(loginbutton, -1);
1142 TextDrawBackgroundColor(loginbutton, 255);
1143 TextDrawBoxColor(loginbutton, 50);
1144 TextDrawUseBox(loginbutton, 1);
1145 TextDrawSetProportional(loginbutton, 1);
1146 TextDrawSetSelectable(loginbutton, 1);
1147
1148 registerbutton = TextDrawCreate(162.000000, 269.000000, "mdl-1000:registerbutton");
1149 TextDrawFont(registerbutton, 4);
1150 TextDrawLetterSize(registerbutton, 0.600000, 2.000000);
1151 TextDrawTextSize(registerbutton, 128.000000, 91.500000);
1152 TextDrawSetOutline(registerbutton, 1);
1153 TextDrawSetShadow(registerbutton, 0);
1154 TextDrawAlignment(registerbutton, 1);
1155 TextDrawColor(registerbutton, -1);
1156 TextDrawBackgroundColor(registerbutton, 255);
1157 TextDrawBoxColor(registerbutton, 50);
1158 TextDrawUseBox(registerbutton, 1);
1159 TextDrawSetProportional(registerbutton, 1);
1160 TextDrawSetSelectable(registerbutton, 1);
1161
1162 czas = TextDrawCreate(583.000000, 20.000000, "00:00");
1163 TextDrawFont(czas, 2);
1164 TextDrawLetterSize(czas, 0.554166, 2.449999);
1165 TextDrawTextSize(czas, 400.000000, 17.000000);
1166 TextDrawSetOutline(czas, 2);
1167 TextDrawSetShadow(czas, 0);
1168 TextDrawAlignment(czas, 2);
1169 TextDrawColor(czas, -1);
1170 TextDrawBackgroundColor(czas, 255);
1171 TextDrawBoxColor(czas, 50);
1172 TextDrawUseBox(czas, 0);
1173 TextDrawSetProportional(czas, 1);
1174 TextDrawSetSelectable(czas, 0);
1175
1176 data = TextDrawCreate(335.000000, 3.000000, "00/00/0000");
1177 TextDrawFont(data, 1);
1178 TextDrawLetterSize(data, 0.600000, 2.000000);
1179 TextDrawTextSize(data, 400.000000, 17.000000);
1180 TextDrawSetOutline(data, 1);
1181 TextDrawSetShadow(data, 0);
1182 TextDrawAlignment(data, 1);
1183 TextDrawColor(data, -1061109505);
1184 TextDrawBackgroundColor(data, 255);
1185 TextDrawBoxColor(data, 50);
1186 TextDrawUseBox(data, 0);
1187 TextDrawSetProportional(data, 1);
1188 TextDrawSetSelectable(data, 0);
1189
1190 Tday = TextDrawCreate(485.000000, 4.000000, "PON");
1191 TextDrawFont(Tday, 2);
1192 TextDrawLetterSize(Tday, 0.600000, 2.000000);
1193 TextDrawTextSize(Tday, 400.000000, 17.000000);
1194 TextDrawSetOutline(Tday, 1);
1195 TextDrawSetShadow(Tday, 0);
1196 TextDrawAlignment(Tday, 1);
1197 TextDrawColor(Tday, -2016478465);
1198 TextDrawBackgroundColor(Tday, 255);
1199 TextDrawBoxColor(Tday, 50);
1200 TextDrawUseBox(Tday, 0);
1201 TextDrawSetProportional(Tday, 1);
1202 TextDrawSetSelectable(Tday, 0);
1203 new string[25];
1204 format(string, sizeof string, "%s", GetWeekDay());
1205 return 1;
1206}