· 6 years ago · May 02, 2019, 12:58 PM
1#include <a_samp>
2#include <a_mysql>
3#include <streamer>
4#include <zcmd>
5#include <sscanf2>
6#include <foreach>
7
8#define WORLD_LOGIN 5
9#define FIX_CAR_COST -100
10
11new Text3D:Nick[MAX_PLAYERS];
12#define COLOR_WHITE 0xFFFFFFFF
13
14//CZAT GLOBLANY
15
16#define COLOR_RED 0xEC0029FF
17#define COLOR_LIGHT_GREY 0xC0C0C0FF
18#define COLOR_BLACK 0x000000FF
19#define COLOR_PINKY 0xFF80FFFF
20#define COLOR_YELLOW 0xFFFF00FF
21#define COLOR_ORANGE 0xFF8000FF
22#define COLOR_WHITE 0xFFFFFFFF
23//KOMENDA DO
24
25#define COLOR_PURPLE_DARK 0x8080C0FF
26#define COLOR_MORSKI 0x408080FF
27main(){}
28
29native WP_Hash(buffer[], len, const str[]);
30//Forwardy
31forward bool:IsStrValid(const string[]);
32forward RspTimer1();
33forward RspTimer2();
34//Ustawienia
35#define MONEY_MONEY_START 10000
36#define PRESSED(%O) \
37//Dialogi
38#define REGISTER1_DIALOG 0
39#define LOGIN_DIALOG 1
40#define REGISTER2_DIALOG 2
41#define REGISTER3_DIALOG 3
42#define DIALOG_KOMENDY 4
43#define DIALOG_KOMENDY_RCON 5
44#define DIALOG_KOMENDY_RCON2 6
45//Definicje
46#define SKRYPT_NAME "Najlepszy Polski Serwer"
47#define SKRYPT_VERSJA "V1.0.0"
48#define INFO_STRING "{008080}[INFO]{C0C0C0}: "
49#define ERROR_STRING "{FF0000}[BÅÄ„D]{800000}: "
50
51#define MAX_ENTRACES 100
52
53
54
55#define GENDER_MALE 0
56#define GENDER_FEMALE 1
57new Text:box;
58new Text:baner;
59new Text:Belt[6]; // paski
60new Text:Textura[2]; // tekstury
61new Text:Date; // TD z data
62new Text:Online; // TD z graczami online
63new PlayerText:Belt_Player[5][MAX_PLAYERS];
64new z1, z2, z3; // rok, miesiąc, dzień
65new td_string[50];
66
67#define TIME_ONLINE 0
68#define PLAYER_ID 1
69#define PLAYER_NAME 2
70#define PLAYER_MONEY 3
71#define PLAYER_SCORE 4
72
73#define TIMER_MIN 1 // czas odświeżania (w minutach)
74
75forward Refresh(playerid);
76
77#define MAX_BRAMY 100
78new brama[MAX_BRAMY];
79new bool:OtwartaCzyZamknieta[MAX_BRAMY];
80
81 //textdrawy
82new Text:SkinSelector_Title;
83new Text:SkinSelector_Right;
84new Text:SkinSelector_Left;
85new Text:SkinSelector_Accept;
86new Text:czas;
87new Text:data;
88new Text:Tday;
89new Text:skinnr;
90new Text:loginscreen;
91new Text:loginbutton;
92new Text:registerbutton;
93
94
95//eNUMY
96enum DataPlayer
97{
98 bool:LoggedIn,
99 bool:RegisteredIn,
100 bool:ShowMouse,
101 bool:IsFreezed,
102 bool:FirstSpawn,
103 Cache:Cache_ID,
104 UID,
105 Password[129],
106 Age,
107 Lvl,
108 Gender,
109 IDSkin,
110 Money,
111 AdminLV,
112 Float:LastPos[4],
113 Linterior,
114 LVW,
115 Float:HP,
116 Float:Armour,
117
118 //Wybierałka
119 SelectedIDSkin
120};
121
122new entranceindex;
123enum EntranceData
124{
125 bool:e_freeze,
126 Float:e_posx,
127 Float:e_posy,
128 Float:e_posz,
129 Float:e_rotation,
130 e_interior,
131 e_vw,
132 e_conid
133};
134new Entrance[MAX_ENTRACES][EntranceData];
135
136new Player[MAX_PLAYERS][DataPlayer];
137new MySQL:SQL_ID;
138 //Zmienne Globalne
139new Skins_Male[][] = {20001, 20002, 20003, 20004, 20009, 20010, 20011, 20012, 20013, 20014, 20015, 20017, 20018, 20019, 20022, 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
140new Skins_Female[][] = { 20005, 20006, 20007,20008, 20016, 20020, 20021, 20023, 20024, 20025, 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
141
142
143new day, month, year;
144new Hour, Minute;
145
146new VehicleName[212][] =
147{
148 "Landstalker", "Bravura", "Buffalo", "Linerunner", "Pereniel", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
149 "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Mr Whoopee", "BF Injection",
150 "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
151 "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
152 "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider",
153 "Glendale", "Oceanic", "Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR3 50", "Walton", "Regina",
154 "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood",
155 "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
156 "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropdust", "Stunt", "Tanker", "RoadTrain",
157 "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck",
158 "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover",
159 "Sadler", "Firetruck", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster A",
160 "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight", "Trailer",
161 "Kart", "Mower", "Duneride", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "Newsvan", "Tug", "Trailer A", "Emperor",
162 "Wayfarer", "Euros", "Hotdog", "Club", "Trailer B", "Trailer C", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)",
163 "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T. Van", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A", "Luggage Trailer B",
164 "Stair Trailer", "Boxville", "Farm Plow", "Utility Trailer"
165};
166
167public OnPlayerCommandPerformed(playerid, cmdtext[], success)
168{
169 for(new i; i < sizeof VehicleName; i++)
170 {
171 new command[12];
172 format(command, sizeof command, "/%s", VehicleName[i]);
173 if(strcmp(cmdtext, command, true) == 0)
174 {
175 if(IsPlayerInAnyVehicle(playerid))
176 {
177 new vehid = GetPlayerVehicleID(playerid);
178 DestroyVehicle(vehid);
179
180 new modelid = GetPlayerVehicleIDFromString(VehicleName[i]);
181
182 if(modelid == 425 || modelid == 520 || modelid == 432 || modelid == 601)
183 {
184 if(IsPlayerAdmin(playerid))
185 {
186 new string[16];
187 format(string, sizeof string, "~g~~h~%s", VehicleName[i]);
188 GameTextForPlayer(playerid, string, -1, 1);
189
190 new Float:coords[3];
191 GetPlayerPos(playerid, coords[0], coords[1], coords[2]);
192 CreateVehiclePlayer(playerid, modelid, coords[0], coords[1], coords[2]);
193 }
194 else SendClientMessage(playerid, -1, ERROR_STRING"Chciałoby się Co ??");
195 }
196 else
197 {
198 new string[16];
199 format(string, sizeof string, "~g~~h~%s", VehicleName[i]);
200 GameTextForPlayer(playerid, string, -1, 1);
201
202 new Float:coords[3];
203 GetPlayerPos(playerid, coords[0], coords[1], coords[2]);
204 CreateVehiclePlayer(playerid, modelid, coords[0], coords[1], coords[2]);
205 }
206 }
207 else
208 {
209 new modelid = GetPlayerVehicleIDFromString(VehicleName[i]);
210
211 if(modelid == 425 || modelid == 520 || modelid == 432 || modelid == 601)
212 {
213 if(IsPlayerAdmin(playerid))
214 {
215 new string[16];
216 format(string, sizeof string, "~g~~h~%s", VehicleName[i]);
217 GameTextForPlayer(playerid, string, -1, 1);
218
219 new Float:coords[3];
220 GetPlayerPos(playerid, coords[0], coords[1], coords[2]);
221 CreateVehiclePlayer(playerid, modelid, coords[0], coords[1], coords[2]);
222 }
223 else SendClientMessage(playerid, -1, ERROR_STRING"Chciałoby się Co ??");
224 }
225 else
226 {
227 new string[16];
228 format(string, sizeof string, "~g~~h~%s", VehicleName[i]);
229 GameTextForPlayer(playerid, string, -1, 1);
230
231 new Float:coords[3];
232 GetPlayerPos(playerid, coords[0], coords[1], coords[2]);
233 CreateVehiclePlayer(playerid, modelid, coords[0], coords[1] + 10, coords[2]);
234 }
235 }
236 break;
237 }
238 }
239 return 1;
240}
241
242public OnPlayerCommandText(playerid, cmdtext[])
243{
244 return SendClientMessage(playerid, -1 , INFO_STRING"Komenda taka jak %s nie istnieje");
245}
246
247public OnVehicleDeath(vehicleid, killerid)
248{
249 DestroyVehicle(vehicleid);
250 return 1;
251}
252
253public Refresh(playerid)
254{
255 return 1;
256}
257
258public OnGameModeInit()
259{
260 UsePlayerPedAnims();
261 DestroyAllDynamicObjects();
262 printf("Gamemode %s %s ® by Kreto Wystartował", SKRYPT_NAME, SKRYPT_VERSJA);
263 AddPlayerClass(0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
264 ShowNameTags( 0 );
265 if(MySQL_Init())
266 {
267 //Wczytywanie
268 MySQL_SetUpTables();
269 CreateGlobalTD();
270 ZaladujDate();
271 ZaladujCzas();
272 new days, months, years;
273 GetWeekDay(days, months, years);
274 //Timer
275 SetTimer("SecondUpdate", 1000, true);
276
277 SetTimer("RspTimer1", 60000, false); //60000 milisekund to 1 minuta.
278 SetTimer("RspTimer2", 3600000, false); //3600000 milisekund to 1 godzina.
279
280 //Ustawienia
281 DisableInteriorEnterExits();
282 EnableStuntBonusForAll(true);
283 SetGameModeText("All-In-One");
284
285 //mapicon
286
287 CreateDynamicMapIcon(2324.3040, -1135.8479, 1051.3047, 37, 0, 0, 0, -1, 500, MAPICON_GLOBAL, -1, 0);
288
289
290 //Wejścia/Wyjścia
291 ConnectEntrances(
292 CreateEntrance("UrzÄ…d Miasta w Los Santos", 1219.2979, -1812.3729, 16.5938, 177.8039, 0, 0, -1, 62, false),
293 CreateEntrance("Urząd Miasta w Los Santos - Wyjście", 384.80864,173.804992,1008.382812, 90.0, 3, 1, -1, -1, false));
294
295 ConnectEntrances(
296 CreateEntrance("UrzÄ…d Miasta w San Fierro", -2765.3870, 375.6902, 6.3359, 269.3221, 0, 0, -1, 61, false),
297 CreateEntrance("Urząd Miasta w San Fierro - Wyjście", 384.80864,173.804992,1008.382812, 90.0, 3, 2, -1, -1, false));
298
299 ConnectEntrances(
300 CreateEntrance("UrzÄ…d Miasta w Las Venturas", 2633.6101, 1823.1554, 11.0161, 80.6707, 0, 0,-1, 58, false),
301 CreateEntrance("Urząd Miasta w Las Venturas - Wyjście", 384.80864,173.804992,1008.382812, 90.0, 3, 3, -1, -1, false));
302
303 printf("Gamemode %s %s ® by Kreto działa\n", SKRYPT_NAME, SKRYPT_VERSJA);
304 }
305 else
306 {
307 print("Brak połączenia z bazą danych.");
308 }
309 StworzBrame();
310 return 1;
311}
312
313
314public RspTimer1()
315{
316new playerid;
317Respekt(playerid, 1);//Funkcja dajÄ…ca graczowi 1 pkt. respektu co minutÄ™.
318}
319
320public RspTimer2()
321{
322new playerid;
323Respekt(playerid, 100);//Funkcja dajÄ…ca graczowi 100 pkt. respektu co godzinÄ™.
324}
325
326public OnPlayerFinishedDownloading(playerid, virtualworld)
327{
328 if(GetPlayerVirtualWorld(playerid) == WORLD_LOGIN)
329 {
330 TextDrawShowForPlayer(playerid, loginscreen);
331 TextDrawShowForPlayer(playerid, loginbutton);
332 TextDrawShowForPlayer(playerid, registerbutton);
333 ClearPlayerChat(playerid);
334 SetSpawnInfo(playerid, NO_TEAM, 0, 1248.2993,-1563.6338,12.6017, 186.4331, 0, 0, 0, 0, 0, 0);
335 }
336 return 1;
337}
338
339public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
340{
341 if(newkeys & KEY_SECONDARY_ATTACK)
342 {
343 if(!IsPlayerInAnyVehicle(playerid))
344 {
345 if(Player[playerid][IsFreezed] == false)
346 {
347 new p_vw = GetPlayerVirtualWorld(playerid);
348 new p_int = GetPlayerInterior(playerid);
349 for(new i; i < entranceindex; i++)
350 {
351 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)
352 {
353 new conid = Entrance[i][e_conid];
354 SetPlayerPos(playerid, Entrance[conid][e_posx],Entrance[conid][e_posy], Entrance[conid][e_posz]);
355 SetPlayerFacingAngle(playerid, Entrance[conid][e_rotation]);
356 SetPlayerInterior(playerid, Entrance[conid][e_interior]);
357 SetPlayerVirtualWorld(playerid, Entrance[conid][e_vw]);
358 SetCameraBehindPlayer(playerid);
359 if(Entrance[conid][e_freeze])
360 FreezePlayer(playerid, 3000, "Wczytywanie");
361 break;
362 }
363 }
364 }
365 }
366
367 }
368 if(newkeys & KEY_YES)
369 {
370 for(new i; i < MAX_BRAMY; i++)
371 {
372 new Float:pos[3];
373 GetDynamicObjectPos(i, pos[0], pos[1], pos[2]);
374
375 if(IsPlayerInRangeOfPoint(playerid, 15.0, pos[0], pos[1], pos[2]))
376 {
377 if(!IsDynamicObjectMoving(i))
378 {
379 if(OtwartaCzyZamknieta[i] == true)
380 {
381 MoveDynamicObject(i, pos[0], pos[1], pos[2]+8.0, 6.0, -7.8, 2.9, 24.7);
382 GameTextForPlayer(playerid, "~y~brama ~w~closed", 3000, 6);
383 OtwartaCzyZamknieta[i] = false;
384 }
385 else
386 {
387 MoveDynamicObject(i, pos[0], pos[1], pos[2]-8.0, 6.0, -27.8, 2.9, 24.7);
388 GameTextForPlayer(playerid, "~p~brama ~g~open", 3000, 6);
389 OtwartaCzyZamknieta[i] = true;
390 }
391
392 }
393 break;
394 }
395 }
396 }
397 return 1;
398}
399
400
401
402public OnPlayerText(playerid, text[])
403{
404 new message[258];
405 format(message, sizeof message, "%s [%i] {FFFF00}mówi: {FFFFFF}%s", PlayerName(playerid), playerid, text);
406 SendClientMessageInRange(playerid, COLOR_ORANGE, 1550.0, message);
407 return 0;
408}
409
410public OnGameModeExit()
411{
412 mysql_close(SQL_ID);
413 UsunBramy();
414 return 1;
415}
416
417
418public OnPlayerDeath(playerid, killerid, reason)
419{
420 GameTextForPlayer( playerid, " Nie Zyjesz !! ",5000,3);
421 SendClientMessage(playerid, -1, INFO_STRING"ZGINÄ„ÅEÅš");
422 SendDeathMessageToPlayer(playerid, killerid, playerid, reason);
423 GameTextForPlayer( killerid, " Ty zwyrolu !! ",5000,3);
424 printf("[[debug] Player %d zabił gracza %d reason id %d ",playerid, killerid, reason );
425
426 if(killerid == INVALID_PLAYER_ID) //Sprawdzenie, czy gracz popełnił samobójstwo.
427 {
428 SendDeathMessage(INVALID_PLAYER_ID, playerid, reason);
429 }
430 else
431 {
432 SendDeathMessage(killerid, playerid, reason);
433 }
434
435 return 1;
436}
437
438public OnPlayerRequestClass(playerid, classid)
439{
440 SpawnPlayer(playerid);
441 return 1;
442}
443
444public OnPlayerConnect(playerid)
445{
446 Nick[playerid] = Create3DTextLabel(pName(playerid), COLOR_WHITE, 30.0, 40.0, 50.0, 30.0, 0, 0);
447 SendDeathMessage(INVALID_PLAYER_ID,playerid, 200);
448 SetPlayerVirtualWorld(playerid, WORLD_LOGIN);
449 SetPVarInt(playerid, "oTime", gettime()); // zapisujemy czas uniksowy
450 /* TWORZENIE TD GRACZA */
451 Belt_Player[TIME_ONLINE][playerid] = CreatePlayerTextDraw(playerid, 307.000000, 419.000000, "00~y~h ~w~00~y~min");
452 PlayerTextDrawBackgroundColor(playerid, Belt_Player[TIME_ONLINE][playerid], 255);
453 PlayerTextDrawFont(playerid, Belt_Player[TIME_ONLINE][playerid], 1);
454 PlayerTextDrawLetterSize(playerid, Belt_Player[TIME_ONLINE][playerid], 0.209999, 1.000000);
455 PlayerTextDrawColor(playerid, Belt_Player[TIME_ONLINE][playerid], -1);
456 PlayerTextDrawSetOutline(playerid, Belt_Player[TIME_ONLINE][playerid], 0);
457 PlayerTextDrawSetProportional(playerid, Belt_Player[TIME_ONLINE][playerid], 1);
458 PlayerTextDrawSetShadow(playerid, Belt_Player[TIME_ONLINE][playerid], 1);
459
460 Belt_Player[PLAYER_ID][playerid] = CreatePlayerTextDraw(playerid, 312.000000, 436.000000, "ID: ~y~0");
461 PlayerTextDrawBackgroundColor(playerid, Belt_Player[PLAYER_ID][playerid], 255);
462 PlayerTextDrawFont(playerid, Belt_Player[PLAYER_ID][playerid], 1);
463 PlayerTextDrawLetterSize(playerid, Belt_Player[PLAYER_ID][playerid], 0.240000, 0.899999);
464 PlayerTextDrawColor(playerid, Belt_Player[PLAYER_ID][playerid], -1);
465 PlayerTextDrawSetOutline(playerid, Belt_Player[PLAYER_ID][playerid], 0);
466 PlayerTextDrawSetProportional(playerid, Belt_Player[PLAYER_ID][playerid], 1);
467 PlayerTextDrawSetShadow(playerid, Belt_Player[PLAYER_ID][playerid], 1);
468
469 Belt_Player[PLAYER_NAME][playerid] = CreatePlayerTextDraw(playerid, 367.000000, 436.000000, "Nick: ---");
470 PlayerTextDrawBackgroundColor(playerid, Belt_Player[PLAYER_NAME][playerid], 255);
471 PlayerTextDrawFont(playerid, Belt_Player[PLAYER_NAME][playerid], 1);
472 PlayerTextDrawLetterSize(playerid, Belt_Player[PLAYER_NAME][playerid], 0.240000, 0.899999);
473 PlayerTextDrawColor(playerid, Belt_Player[PLAYER_NAME][playerid], -1);
474 PlayerTextDrawSetOutline(playerid, Belt_Player[PLAYER_NAME][playerid], 0);
475 PlayerTextDrawSetProportional(playerid, Belt_Player[PLAYER_NAME][playerid], 1);
476 PlayerTextDrawSetShadow(playerid, Belt_Player[PLAYER_NAME][playerid], 1);
477
478 Belt_Player[PLAYER_MONEY][playerid] = CreatePlayerTextDraw(playerid, 211.000000, 436.000000, "Pieniedzy: ~y~0");
479 PlayerTextDrawBackgroundColor(playerid, Belt_Player[PLAYER_MONEY][playerid], 255);
480 PlayerTextDrawFont(playerid, Belt_Player[PLAYER_MONEY][playerid], 1);
481 PlayerTextDrawLetterSize(playerid, Belt_Player[PLAYER_MONEY][playerid], 0.240000, 0.899999);
482 PlayerTextDrawColor(playerid, Belt_Player[PLAYER_MONEY][playerid], -1);
483 PlayerTextDrawSetOutline(playerid, Belt_Player[PLAYER_MONEY][playerid], 0);
484 PlayerTextDrawSetProportional(playerid, Belt_Player[PLAYER_MONEY][playerid], 1);
485 PlayerTextDrawSetShadow(playerid, Belt_Player[PLAYER_MONEY][playerid], 1);
486
487 Belt_Player[PLAYER_SCORE][playerid] = CreatePlayerTextDraw(playerid, 432.000000, 436.000000, "Respekt: ~y~0");
488 PlayerTextDrawBackgroundColor(playerid, Belt_Player[PLAYER_SCORE][playerid], 255);
489 PlayerTextDrawFont(playerid, Belt_Player[PLAYER_SCORE][playerid], 1);
490 PlayerTextDrawLetterSize(playerid, Belt_Player[PLAYER_SCORE][playerid], 0.240000, 0.899999);
491 PlayerTextDrawColor(playerid, Belt_Player[PLAYER_SCORE][playerid], -1);
492 PlayerTextDrawSetOutline(playerid, Belt_Player[PLAYER_SCORE][playerid], 0);
493 PlayerTextDrawSetProportional(playerid, Belt_Player[PLAYER_SCORE][playerid], 1);
494 PlayerTextDrawSetShadow(playerid, Belt_Player[PLAYER_SCORE][playerid], 1);
495 /* KONIEC TWORZENIE TD GRACZA */
496
497 /* WYSWIETLANIE TD */
498 TextDrawShowForPlayer(playerid, Date);
499 TextDrawShowForPlayer(playerid, Online);
500 TextDrawShowForPlayer(playerid, Textura[0]);
501 TextDrawShowForPlayer(playerid, Textura[1]);
502 TextDrawShowForPlayer(playerid, Belt[0]);
503 TextDrawShowForPlayer(playerid, Belt[1]);
504 TextDrawShowForPlayer(playerid, Belt[2]);
505 TextDrawShowForPlayer(playerid, Belt[3]);
506 TextDrawShowForPlayer(playerid, Belt[4]);
507 TextDrawShowForPlayer(playerid, Belt[5]);
508 PlayerTextDrawShow(playerid, Belt_Player[TIME_ONLINE][playerid]);
509 PlayerTextDrawShow(playerid, Belt_Player[PLAYER_ID][playerid]);
510 PlayerTextDrawShow(playerid, Belt_Player[PLAYER_NAME][playerid]);
511 PlayerTextDrawShow(playerid, Belt_Player[PLAYER_MONEY][playerid]);
512 PlayerTextDrawShow(playerid, Belt_Player[PLAYER_SCORE][playerid]);
513 /* KONIEC WYSWIETLANIA TD */
514
515 /* FORMATOWANIE NICKU, ID GRACZA i DATY*/
516 new name[MAX_PLAYER_NAME];
517 GetPlayerName(playerid, name, MAX_PLAYER_NAME);
518 strins(name,"Nick: ~y~",0);
519 PlayerTextDrawSetString(playerid, Belt_Player[PLAYER_NAME][playerid], name);
520
521 format(td_string, sizeof(td_string), "ID: ~y~%d",playerid);
522 PlayerTextDrawSetString(playerid, Belt_Player[PLAYER_ID][playerid], td_string);
523
524 getdate(z1, z2, z3);
525 format(td_string, sizeof(td_string), "~y~%02d~w~/%02d/%d~r~r", z3, z2, z1);
526 TextDrawSetString(Date, td_string);
527 z1 = 0, z2 = 0, z3 = 0;
528 return 1;
529}
530
531public OnPlayerDisconnect(playerid, reason)
532{
533 SendDeathMessage(INVALID_PLAYER_ID,playerid,201);
534 new query[258];
535 if(Player[playerid][LoggedIn])
536 {
537 SaveAccount(playerid);
538 mysql_format(SQL_ID, query, sizeof query, "UPDATE players_accounts SET lastonline = NOW() WHERE uid = %i", Player[playerid][UID]);
539 mysql_tquery(SQL_ID, query);
540 }
541 ResetPlayerData(playerid);
542 Delete3DTextLabel(Text3D:Nick[playerid]); //przy wyjściu z serwera usuwa textdrawa
543 return 1;
544}
545
546public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
547{
548 switch(dialogid)
549 {
550 case LOGIN_DIALOG: //Login playersa
551 {
552 if(response)
553 {
554 if(strlen(inputtext) && IsStrValid(inputtext))
555 {
556 new buff[129], query[258];
557 WP_Hash(buff, 129, inputtext);
558 if(strcmp(Player[playerid][Password], buff, true) == 0)
559 {
560 // Hasło poprawne
561 AssignPlayerData(playerid); // odczyt z bazy danych
562 Player[playerid][LoggedIn] = true;
563 Player[playerid][FirstSpawn] = true;
564 ResetPlayerMoney(playerid);
565 GivePlayerMoney(playerid, Player[playerid][Money]);
566 SetPlayerScore(playerid, Player[playerid][Lvl]);
567 SetSpawnInfo(playerid, NO_TEAM, Player[playerid][IDSkin], 1248.2993,-1563.6338,12.6017, 186.4331, 0, 0, 0, 0, 0, 0);
568 SetPlayerInterior(playerid, 12);
569 TogglePlayerControllable(playerid, 1);
570 SpawnPlayer(playerid);
571 ClearPlayerChat(playerid);
572 SendClientMessage(playerid, -1, INFO_STRING"Logowanie udane. Życzymy pomyślnej gry !");
573 new ip[18];
574 GetPlayerIp(playerid, ip, 18);
575 mysql_format(SQL_ID, query, sizeof query, "UPDATE players_accounts SET lastip = '%s', lastonline = NOW() WHERE uid = %i", ip, Player[playerid][UID]);
576 mysql_tquery(SQL_ID, query);
577 }
578 else
579 {
580 // hasło błędne
581 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
582 SendClientMessage(playerid, -1, ERROR_STRING"Hasło nieprawidłowe. Spróbuj ponownie!");
583 }
584 }
585 else
586 {
587 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
588 SendClientMessage(playerid, -1, ERROR_STRING"Nie wprowadzono hasła! Spróbuj ponownie!");
589 }
590 }
591 else KickEX(playerid);
592
593 }
594 case REGISTER3_DIALOG: // Rejestracja wiek
595 {
596 if(response)
597 {
598 if(IsNumeric(inputtext) && strlen(inputtext) == 2 && strval(inputtext) >= 13 && strval(inputtext) <= 30 )
599 {
600 Player[playerid][Age] = strval(inputtext);
601 Player[playerid][Age] = strval(inputtext);
602 SetPlayerPos(playerid, 2324.3662, -1148.7382, 1050.7101);
603 SetPlayerInterior(playerid, 12);
604 SetPlayerFacingAngle(playerid, 359.6589);
605 InterpolateCameraPos(playerid, 2324.4150, -1138.6611, 1051.4922, 2324.3513, -1144.7060, 1050.7031, 5000, CAMERA_CUT);
606 InterpolateCameraLookAt(playerid, 2324.3662, -1148.7382, 1050.7101, 2324.3513, -1144.7360, 1050.7031, 5000, CAMERA_CUT);
607 Player[playerid][SelectedIDSkin] = 0;
608 new sskin = Player[playerid][SelectedIDSkin];
609 if(Player[playerid][Gender] == GENDER_MALE)
610 {
611 SetPlayerSkin(playerid, Skins_Male[sskin][0]);
612 Player[playerid][IDSkin] = Skins_Male[sskin][0];
613 }
614 else
615 {
616 SetPlayerSkin(playerid, Skins_Female[sskin][0]);
617 Player[playerid][IDSkin] = Skins_Female[sskin][0];
618 }
619 TextDrawHideForPlayer(playerid, loginscreen);
620 TextDrawHideForPlayer(playerid, loginbutton);
621 TextDrawHideForPlayer(playerid, registerbutton);
622 TextDrawShowForPlayer(playerid, SkinSelector_Title);
623 TextDrawShowForPlayer(playerid, skinnr);
624 TextDrawShowForPlayer(playerid, SkinSelector_Accept);
625 TextDrawShowForPlayer(playerid, SkinSelector_Right);
626 TextDrawShowForPlayer(playerid, SkinSelector_Left);
627 }
628 else
629 {
630 ShowPlayerDialog(playerid, REGISTER3_DIALOG, DIALOG_STYLE_INPUT, "Rejestracja", "Podaj swój wiek", "Akceptuj", "Opuść Serwer");
631 SendClientMessage(playerid, -1, ERROR_STRING"Żeby zagrać musisz mieć 13-30 lat!");
632 }
633 }
634 else KickEX(playerid);
635 }
636 case REGISTER2_DIALOG: // Rejestracja wybór Gender
637 { TextDrawShowForPlayer(playerid, loginscreen);
638 TextDrawShowForPlayer(playerid, loginbutton);
639 TextDrawShowForPlayer(playerid, registerbutton);
640 Player[playerid][Gender] = response;
641 ShowPlayerDialog(playerid, REGISTER3_DIALOG, DIALOG_STYLE_INPUT, "Rejestracja", "Podaj swój wiek", "Akceptuj", "Opuść Serwer");
642 }
643 case REGISTER1_DIALOG: //ZAKÅADNIE KONTA
644 {
645 if(response)
646 {
647 if(strlen(inputtext) >= 8 && IsStrValid(inputtext))
648 {
649 WP_Hash(Player[playerid][Password], 129, inputtext);
650 ShowPlayerDialog(playerid, REGISTER2_DIALOG, DIALOG_STYLE_MSGBOX, "Rejestracja", "Wybierz swoją przynależność sexualną.", "Kobieta", "Mężczyzna");
651 }
652 }
653 else
654 { TextDrawShowForPlayer(playerid, loginscreen);
655 TextDrawShowForPlayer(playerid, loginbutton);
656 TextDrawShowForPlayer(playerid, registerbutton);
657 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");
658 SendClientMessage(playerid, -1, ERROR_STRING"Hasło powinno zawierać min. 8 zanków, nie może zawierać przerw ani znaków specjalnych!!");
659 }
660 else KickEX(playerid);
661 }
662 return 1;
663}
664
665public OnPlayerClickTextDraw(playerid, Text:clickedid)
666{
667 if(clickedid == loginbutton)
668 {
669 new ip[18], query[256];
670 GetPlayerIp(playerid, ip, 18);
671 mysql_format(SQL_ID, query, sizeof query, "SELECT * FROM players_accounts WHERE Login = '%s' LIMIT 1", PlayerName(playerid));
672 mysql_tquery(SQL_ID, query, "OnAccountCheck", "iss", playerid, ip, PlayerName(playerid));
673 }
674
675 if(clickedid == registerbutton)
676 {
677 new ip[18], query[256];
678 GetPlayerIp(playerid, ip, 18);
679 mysql_format(SQL_ID, query, sizeof query, "SELECT * FROM players_accounts WHERE Login = '%s' LIMIT 1", PlayerName(playerid));
680 mysql_tquery(SQL_ID, query, "OnAccountCheck", "iss", playerid, ip, PlayerName(playerid));
681 }
682
683 if(clickedid == SkinSelector_Right) //Wybor postaci nastepna postac
684 {
685 if(Player[playerid][Gender] == GENDER_MALE) //Mezczyzni
686 {
687 if(Player[playerid][SelectedIDSkin] == (sizeof Skins_Male - 1))
688 Player[playerid][SelectedIDSkin] = 0;
689 else
690 Player[playerid][SelectedIDSkin]++;
691 new sskin = Player[playerid][SelectedIDSkin];
692 SetPlayerSkin(playerid, Skins_Male[sskin][0]);
693 Player[playerid][IDSkin] = Skins_Male[sskin][0];
694 }
695 else //Kobiety
696 {
697 if(Player[playerid][SelectedIDSkin] == (sizeof Skins_Female - 1))
698 Player[playerid][SelectedIDSkin] = 0;
699 else
700 Player[playerid][SelectedIDSkin]++;
701 new sskin = Player[playerid][SelectedIDSkin];
702 SetPlayerSkin(playerid, Skins_Female[sskin][0]);
703 Player[playerid][IDSkin] = Skins_Female[sskin][0];
704 }
705 }
706 if(clickedid == SkinSelector_Left) //Wybor postaci poprzednia postac
707 {
708 if(Player[playerid][Gender] == GENDER_MALE) //Mezczyzni
709 {
710 if(Player[playerid][SelectedIDSkin] == 0)
711 Player[playerid][SelectedIDSkin] = (sizeof Skins_Male - 1);
712 else
713 Player[playerid][SelectedIDSkin]--;
714 new sskin = Player[playerid][SelectedIDSkin];
715 SetPlayerSkin(playerid, Skins_Male[sskin][0]);
716 Player[playerid][IDSkin] = Skins_Male[sskin][0];
717 }
718 else //Kobiety
719 {
720 if(Player[playerid][SelectedIDSkin] == 0)
721 Player[playerid][SelectedIDSkin] = (sizeof Skins_Female - 1);
722 else
723 Player[playerid][SelectedIDSkin]--;
724 new sskin = Player[playerid][SelectedIDSkin];
725 SetPlayerSkin(playerid, Skins_Female[sskin][0]);
726 Player[playerid][IDSkin] = Skins_Female[sskin][0];
727 }
728 }
729 if(clickedid == SkinSelector_Accept)
730 {
731 TextDrawHideForPlayer(playerid, SkinSelector_Title);
732 TextDrawHideForPlayer(playerid, skinnr);
733 TextDrawHideForPlayer(playerid, SkinSelector_Accept);
734 TextDrawHideForPlayer(playerid, SkinSelector_Right);
735 TextDrawHideForPlayer(playerid, SkinSelector_Left);
736 TextDrawHideForPlayer(playerid, loginscreen);
737 TextDrawHideForPlayer(playerid, loginbutton);
738 TextDrawHideForPlayer(playerid, registerbutton);
739 CreateAccount(playerid);
740 TogglePlayerSpectating(playerid, false);
741 SetCameraBehindPlayer(playerid);
742 TogglePlayerControllable(playerid, true);
743 }
744 return 1;
745}
746public OnPlayerUpdate(playerid)
747{
748
749 return 1;
750}
751
752public OnPlayerSpawn(playerid)
753{
754
755 Attach3DTextLabelToPlayer(Nick[playerid], playerid, 0.0, 0.0, 0.2);
756 if(Player[playerid][LoggedIn] == false)
757 {
758 // nie zalogowany
759 SetPlayerSkin(playerid, GetRandomSkin());
760 SetPlayerInterior(playerid, 12);
761 SetPlayerPos(playerid, 2324.3040, -1135.8479, 1051.3047);
762 SetPlayerFacingAngle(playerid, 180.2658);
763 SetPlayerVirtualWorld(playerid, 50 + playerid);
764 SetPlayerCameraPos(playerid, 2324.5247, -1138.4045, 1050.4990);
765 SetPlayerCameraLookAt(playerid, 2324.3040, -1135.8479, 1051.3047);
766 TogglePlayerControllable(playerid, false);
767 ShowPlayerMouse(playerid, true);
768 if(Player[playerid][RegisteredIn] == true)
769 {
770 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
771 TextDrawShowForPlayer(playerid,Tday);
772 TextDrawShowForPlayer(playerid,czas);
773 TextDrawShowForPlayer(playerid,box);
774 TextDrawShowForPlayer(playerid,baner);
775 SpawnPlayer(playerid);
776 }
777 }
778 else
779 {
780 //zalogowany
781 if(Player[playerid][FirstSpawn] && Player[playerid][LastPos] != 0)
782 {
783 SetPlayerPos(playerid, Player[playerid][LastPos][0], Player[playerid][LastPos][1], Player[playerid][LastPos][2]);
784 SetPlayerFacingAngle(playerid, Player[playerid][LastPos][3]);
785 SetPlayerInterior(playerid, Player[playerid][Linterior]);
786 SetPlayerVirtualWorld(playerid, Player[playerid][LVW]);
787 SetPlayerHealth(playerid, Player[playerid][HP]);
788 SetPlayerArmour(playerid, Player[playerid][Armour]);
789 }
790 else
791 {
792 SetPlayerInterior(playerid, 0);
793 SetPlayerVirtualWorld(playerid, 0);
794 }
795 SetPlayerSkin(playerid, Player[playerid][IDSkin]);
796 TogglePlayerControllable(playerid, true);
797 SetCameraBehindPlayer(playerid);
798 ShowPlayerMouse(playerid, false);
799 Player[playerid][FirstSpawn] = false;
800 TextDrawHideForPlayer(playerid, loginscreen);
801 TextDrawHideForPlayer(playerid, loginbutton);
802 TextDrawHideForPlayer(playerid, registerbutton);
803 TogglePlayerSpectating(playerid, false);
804 SetCameraBehindPlayer(playerid);
805 TogglePlayerControllable(playerid, true);
806 TextDrawShowForPlayer(playerid, czas);
807 TextDrawShowForPlayer(playerid, Tday);
808 TextDrawShowForPlayer(playerid, baner);
809 TextDrawShowForPlayer(playerid, box);
810 TextDrawShowForPlayer(playerid,Date);
811 TextDrawShowForPlayer(playerid,Textura[0]);
812 TextDrawShowForPlayer(playerid,Textura[1]);
813 TextDrawShowForPlayer(playerid,Belt[5]);
814 TextDrawShowForPlayer(playerid,Belt[4]);
815 TextDrawShowForPlayer(playerid,Belt[3]);
816 TextDrawShowForPlayer(playerid,Belt[2]);
817 TextDrawShowForPlayer(playerid,Belt[1]);
818 TextDrawShowForPlayer(playerid,Belt[0]);
819 }
820 return 1;
821}
822
823//CALLBACK MYSQL
824
825forward td_refresh();
826public td_refresh()
827{
828 /* ODSWIEZANIE GRACZY ONLINE */
829 format(td_string, sizeof(td_string), "Online: ~y~%d", Iter_Count(Player));
830 TextDrawSetString(Online, td_string);
831
832 foreach (new playerid : Player)
833 {
834 z1 = gettime() - GetPVarInt(playerid, "oTime");
835 z2 = z1/60;
836 z3 = z1/3600;
837
838 /* ODSWIEZANIE CZASU GRY */
839 format(td_string, sizeof(td_string), "%02d~y~h ~w~%02d~y~min", z3, z2);
840 PlayerTextDrawSetString(playerid, Belt_Player[TIME_ONLINE][playerid], td_string);
841
842 /* ODSWIEZANIE PIENIEDZY */
843 format(td_string, sizeof(td_string), "Pieniedzy: ~y~%d~w~$", GetPlayerMoney(playerid));
844 PlayerTextDrawSetString(playerid, Belt_Player[PLAYER_MONEY][playerid], td_string);
845
846 /* ODSWIEZANIE SCORE */
847 format(td_string, sizeof(td_string), "Respekt: ~y~%d", GetPlayerScore(playerid));
848 PlayerTextDrawSetString(playerid, Belt_Player[PLAYER_SCORE][playerid], td_string);
849 }
850 return 1;
851}
852
853forward OnAccountCreate(playerid);
854public OnAccountCreate(playerid)
855{
856 SendClientMessage(playerid, -1, INFO_STRING"Gratuluję! Twoje Konto zostało pomyślnie stworzone.Życzymy udanej gry, Administracja serwera.");
857
858 SetPlayerPos(playerid, 1223.1229,-1814.7272,16.5938); //ustaw koordynaty
859 SetPlayerVirtualWorld(playerid, 0);
860 SetPlayerInterior(playerid, 0);
861 SetCameraBehindPlayer(playerid);
862 TogglePlayerControllable(playerid, true);
863 ShowPlayerMouse(playerid, false);
864 return 1;
865}
866
867forward OnAccountCheck(playerid, ip[], name[]);
868public OnAccountCheck (playerid, ip[], name[])
869{
870 if(!IsPlayerConnected(playerid))
871 return 1;
872 new tmpip[18];
873 GetPlayerIp(playerid, tmpip, 18);
874 if(strcmp(ip, tmpip, true) != 0 && strcmp(name, PlayerName(playerid)) != 0)
875 return KickEX(playerid);
876 if(cache_num_rows() > 0)
877 {
878 //konto odnalezione
879 cache_get_value(0, "password", Player[playerid][Password], 129);
880 Player[playerid][Cache_ID] = cache_save();
881 ShowPlayerDialog(playerid, LOGIN_DIALOG, DIALOG_STYLE_PASSWORD, "Logowanie", "Znaleźliśmy rejestrację Twojego konta. \n\tPodaj hasło aby zagrać.", "Logowanie", "Opuść Serwer");
882 }
883 else
884 {
885 //Konton nie odnalezione
886 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");
887 }
888 return 1;
889}
890
891stock ZaladujDate()
892{
893 getdate(year, month, day);
894
895 new string[32];
896 format(string, sizeof string, "%02d/%02d/%d", day, month, year);
897 TextDrawSetString(data, string);
898 return 1;
899}
900
901stock ZaladujCzas()
902{ new Second;
903 gettime(Hour, Minute, Second);
904
905 new string[32];
906 format(string, sizeof string,"%02d:%02d:%02d", Hour, Minute, Second);
907 TextDrawSetString(czas, string);
908 format(string, sizeof string, "%s", GetWeekDay());
909 TextDrawSetString(Tday, string);
910 return 1;
911}
912
913stock IsNumeric(const string[])
914{
915 for (new i = 0, j = strlen(string); i < j; i++)
916 {
917 if (string[i] > '9' || string[i] < '0') return 0;
918 }
919 return 1;
920}
921
922stock bool:IsStrValid(const string[])
923{
924 new num;
925 new len = strlen(string);
926 for(new i; i < len; i++)
927 switch(string[i])
928 {
929 case 'A'..'Z':num++;
930 case 'a'..'z':num++;
931 case '0'..'9':num++;
932 }
933 if(num == len) return true;
934 else return false;
935}
936
937//Timery
938
939
940forward UnFreezePlayer(playerid);
941public UnFreezePlayer(playerid)
942{
943 Player[playerid][IsFreezed] = false;
944 TogglePlayerControllable(playerid, true);
945 return 1;
946}
947
948forward DelayKick(playerid);
949public DelayKick(playerid)
950 return Kick(playerid);
951
952forward SecondUpdate();
953public SecondUpdate()
954{
955 ZaladujCzas();
956
957 for(new playerid, j = GetPlayerPoolSize(); playerid <= j; playerid++)
958 {
959 if(IsPlayerConnected(playerid))
960 {
961 if(Player[playerid][ShowMouse])
962 {
963 ShowPlayerMouse(playerid, true);
964 }
965 }
966 }
967 return 1;
968}
969
970
971 //CMD
972
973CMD:kolorpojazdu(playerid, params[])
974{
975 if(IsPlayerInAnyVehicle(playerid))
976 {
977 new color1, color2;
978 if(sscanf(params, "ii", color1, color2) == 0)
979 {
980 new vehicleid = GetPlayerVehicleID(playerid);
981 ChangeVehicleColor(vehicleid, color1, color2);
982 SendClientMessage(playerid, -1, "Kolor pojazdu został zmieniony!");
983 }
984 else SendClientMessage(playerid, -1, ERROR_STRING"Użyj: /kolorpojazdu [id koloru]");
985 }
986 else SendClientMessage(playerid, -1, ERROR_STRING"Nie jesteś w żadnym pojeździe.");
987 return 1;
988}
989
990CMD:napraw(playerid, params[])
991{
992 if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "Nie jesteś aktualnie w pojeździe !");
993 if(GetPlayerMoney(playerid) >= 100)
994 {
995 new vid = GetPlayerVehicleID(playerid); // zmienna pobierajÄ…ca ID pojazdu gracza
996 RepairVehicle(vid); // naprawia pojazd
997 GivePlayerMoney(playerid, FIX_CAR_COST); // Zabiera 100 za naprawÄ™
998 SendClientMessage(playerid, -1, INFO_STRING"Twój pojazd został naprawiony kosztem 100$ !"); //wiadomość o zabraniu 100$ i naprawie auta
999 }
1000 else
1001 {
1002 SendClientMessage(playerid, -1, ERROR_STRING"Nie masz hajsów na naprawę !");
1003 }
1004 return 1;
1005}
1006
1007CMD:ooc(playerid, params[])
1008{
1009 new message[128], string[192];
1010 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{008040}UŻYJ: /OOC [Wiadomość dla czatu globalnego]");
1011 else
1012 {
1013 format(string, sizeof string, "OOC | %s [%i]: %s", PlayerName(playerid), playerid, message);
1014 SendClientMessageToAll(COLOR_WHITE, string);
1015 }
1016 return 1;
1017}
1018
1019
1020CMD:krzycz(playerid, params[])
1021{
1022 new message[128], string[192];
1023 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{FF8040}UŻYJ: /krzycz [Wiadomość]");
1024 else
1025 {
1026 format(string, sizeof string, "%s [%i] krzczy! : %s", PlayerName(playerid), playerid, message);
1027 SendClientMessageInRange(playerid, COLOR_LIGHT_GREY, 35.0, string);
1028 }
1029 return 1;
1030}
1031
1032
1033CMD:me(playerid, params[])
1034{
1035 new message[128], string[192];
1036 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{80FF80}UŻYJ: /me[Czynność]");
1037 else
1038 {
1039 format(string, sizeof string, "* %s %s", PlayerName(playerid), message);
1040 SendClientMessageInRange(playerid, COLOR_PURPLE_DARK, 60.0, string);
1041 }
1042 return 1;
1043}
1044
1045
1046
1047
1048CMD:do(playerid, params[])
1049{
1050 new message[128], string[192];
1051 if(sscanf(params, "s[128]", message)) SendClientMessage(playerid, -1, "{804040}UŻYJ: /do[Opis Sytuacji]");
1052 else
1053 {
1054 format(string, sizeof string, "[%i] ( %s )", playerid, message);
1055 SendClientMessageInRange(playerid, COLOR_MORSKI, 80.0, string);
1056 }
1057 return 1;
1058}
1059
1060CMD:komendy(playerid, params[])
1061{
1062
1063
1064strcat(commands, "{80FF00}/radio {FFFFFF}- włączamy sobie radio (działa nawet po wyjśćiu z pojazdu)\n");
1065strcat(commands, "{80FF00}/nazwa pojazdu [/infernus] {FFFFFF}- spawn auta Infernus (prawie wszystkie pojazdy)\n");
1066strcat(commands, "{80FF00}/kolorpojazdu [0-255] {FFFFFF}- zmienia kolor pojazdu [/kolorpojazdu 20 0]\n");
1067strcat(commands, "{80FF00}/napraw {FFFFFF}- naprawia twój pojazd za $100\n");
1068strcat(commands, "{80FF00}/OOC [Wiadomość dla czatu globalnego] {FFFFFF}- czat globalny\n");
1069strcat(commands, "{80FF00}/krzycz [Wiadomość] {FFFFFF}- krzyczysz \n");
1070strcat(commands, "{80FF00}/do[Opis Sytuacji] {FFFFFF}- opis sytuacji\n");
1071strcat(commands, "{80FF00}/me[Czynność] {FFFFFF}- opis czynności\n");
1072strcat(commands, "{80FF00}/napijsie {FFFFFF}- animacja picia (dla systemu potrzeb)\n");
1073strcat(commands, "{80FF00}/zjedz {FFFFFF}- animacja jedzenia (dla systemu potrzeb)\n");
1074strcat(commands, "{80FF00}/kupa {FFFFFF}- robisz kupe (dla systemu potrzeb)\n");
1075strcat(commands, "{80FF00}/wytrzyjtylek {FFFFFF}- wiadomo..\n");
1076strcat(commands, "{80FF00}/sikaj {FFFFFF}- animacja sikania\n");
1077ShowPlayerDialog(playerid, DIALOG_KOMENDY, DIALOG_STYLE_MSGBOX, "Komendy Graczy na Serwerze", commands , "Dalej", "Wyjdź");
1078return 1;
1079}
1080
1081
1082CMD:rkomendy(playerid, params[])
1083{
1084
1085
1086strcat(commands, "{B40C46}/hydra {FFFFFF}spawn odrzutowca Hydra\n");
1087strcat(commands, "{B40C46}/hunter {FFFFFF}- spawn helikoptera Hunter\n");
1088strcat(commands, "{B40C46}/rhino {FFFFFF}- spawn czołgu Rhino\n");
1089strcat(commands, "{B40C46}/naskick [ID Gracza] [powód] {FFFFFF}- kickasz gracza o ID z powodem\n");
1090strcat(commands, "{B40C46}/naskickall {FFFFFF}- kickasz wszystkich\n");
1091strcat(commands, "{B40C46}/nasban [ID Gracza] [powód] {FFFFFF}- ban dla gracza o ID z powodem \n");
1092strcat(commands, "{B40C46}/nasbanall {FFFFFF}- ban dla wszystkich\n");
1093strcat(commands, "{B40C46}/killp [ID gracza] {FFFFFF}- zabijasz danego gracza\n");
1094strcat(commands, "{B40C46}/killall {FFFFFF}- zabijasz wszystkich\n");
1095strcat(commands, "{B40C46}/freeze [ID gracza] {FFFFFF}- zamrażasz gracza\n");
1096strcat(commands, "{B40C46}/unfreeze [ID gracza] {FFFFFF}- odmrażasz gracza\n");
1097strcat(commands, "{B40C46}/freezeall {FFFFFF}- zamrażasz wszystkich\n");
1098strcat(commands, "{B40C46}/unfreezeall {FFFFFF}- odmrażasz wszystkich\n");
1099strcat(commands, "{B40C46}/unfreezeme{FFFFFF}- odmrazasz siebie po zastosowaniu /freezeall\n");
1100strcat(commands, "{B40C46}/komenda {FFFFFF}- opis komendy\n");
1101strcat(commands, "{B40C46}/komenda2 {FFFFFF}- opis komendy\n");
1102strcat(commands, "{B40C46}/komenda3 {FFFFFF}- opis komendy\n");
1103strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1104strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1105strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1106strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1107strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1108strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1109strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1110strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1111strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1112strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1113strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1114strcat(commands, "{B40C46}/komenda {FFFFFF}- opis komendy\n");
1115strcat(commands, "{B40C46}/komenda2 {FFFFFF}- opis komendy\n");
1116strcat(commands, "{B40C46}/komenda3 {FFFFFF}- opis komendy\n");
1117ShowPlayerDialog(playerid,DIALOG_KOMENDY_RCON, DIALOG_STYLE_MSGBOX, "Komendy Administracyjne ", commands , "Dalej", "Wyjdź");
1118return 1;
1119
1120CMD:rkomendy2(playerid, params[])
1121{
1122
1123strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n"); // ostatnia możliwa ucina
1124strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1125strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1126strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1127strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1128strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1129strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1130strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1131strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1132strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1133strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1134strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1135strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1136strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1137strcat(commands, "{B40C46}/komenda {FFFFFF}- opis komendy\n");
1138strcat(commands, "{B40C46}/komenda2 {FFFFFF}- opis komendy\n");
1139strcat(commands, "{B40C46}/komenda3 {FFFFFF}- opis komendy\n");
1140strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1141strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1142strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1143strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1144strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1145strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1146strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1147strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1148strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1149strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1150strcat(commands, "{B40C46}/komenda4 {FFFFFF}- opis komendy\n");
1151ShowPlayerDialog(playerid,DIALOG_KOMENDY_RCON2, DIALOG_STYLE_MSGBOX, "Komendy Administracyjne cz2", commands , "Dalej", "Wyjdź");
1152return 1;
1153}
1154
1155//STOCKI
1156
1157
1158stock pName(playerid)
1159{
1160new name[MAX_PLAYER_NAME];
1161GetPlayerName(playerid, name, MAX_PLAYER_NAME);
1162return name;
1163}
1164
1165stock Respekt(playerid,score) SetPlayerScore(playerid,GetPlayerScore(playerid) + score);
1166
1167
1168stock CreateVehiclePlayer(playerid, modelid, Float:X, Float:Y, Float:Z)
1169{
1170 new vehicleid = CreateVehicle(modelid, X, Y, Z, 0.0, 0, 0, -1, 0);
1171 PutPlayerInVehicle(playerid, vehicleid, 0);
1172 return 1;
1173}
1174
1175stock GetPlayerVehicleIDFromString(vName[])
1176{
1177 for(new x; x != 211; x++) if(strfind(VehicleName[x], vName, true) != -1) return x + 400;
1178 return INVALID_VEHICLE_ID;
1179}
1180
1181stock GetWeekDay(days=0, months=0, years=0)
1182{
1183 if (!days)
1184 getdate(years, months, days);
1185
1186 new
1187 weekday_str[15],
1188 j,
1189 e
1190 ;
1191
1192 if (month <= 2)
1193 {
1194 month += 12;
1195 --year;
1196 }
1197
1198 j = year % 100;
1199 e = year / 100;
1200
1201 switch ((day + (month+1)*26/10 + j + j/4 + e/4 - 2*e) % 7)
1202 {
1203 case 0: weekday_str = "Sobota";
1204 case 1: weekday_str = "Niedziela";
1205 case 2: weekday_str = "Poniedzialek";
1206 case 3: weekday_str = "Wtorek";
1207 case 4: weekday_str = "Sroda";
1208 case 5: weekday_str = "Czwartek";
1209 case 6: weekday_str = "Piatek";
1210 }
1211
1212 return weekday_str;
1213}
1214
1215
1216stock StworzBrame()
1217{
1218 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);
1219 return 1;
1220}
1221
1222stock UsunBramy()
1223{
1224 for(new i; i < sizeof brama; i++)
1225 DestroyDynamicObject(i);
1226 return 1;
1227}
1228
1229stock SendClientMessageInRange(playerid, color, Float:range, text[])
1230{
1231 new Float:x, Float:y, Float:z;
1232 GetPlayerPos(playerid, x, y, z);
1233 for(new i, j = GetPlayerPoolSize(); i <= j; i++)
1234 {
1235 if(IsPlayerConnected(i))
1236 {
1237 if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
1238 {
1239 if(IsPlayerInRangeOfPoint(i, range, x, y, z))
1240 {
1241 SendClientMessage(i, color, text);
1242 }
1243 }
1244 }
1245 }
1246 return 1;
1247}
1248
1249
1250stock ConnectEntrances(id1, id2)
1251{
1252 Entrance[id1][e_conid] = id2;
1253 Entrance[id2][e_conid] = id1;
1254 return 1;
1255}
1256
1257stock FreezePlayer(playerid, interval, text[])
1258{
1259 new string[128];
1260 format(string, sizeof string, "~p~%s", text);
1261 TogglePlayerControllable(playerid, false);
1262 SetTimerEx("UnFreeze", interval, false, "i", playerid);
1263 GameTextForPlayer(playerid, string, interval, 6);
1264 Player[playerid][IsFreezed] = true;
1265 return 1;
1266}
1267
1268
1269stock CreateEntrance(const name[], Float:x, Float:y, Float:z, Float:rotacja, interior, virtualworld, pickupid = -1, mapiconid = -1, bool:freezeplayer = false)
1270{
1271 new string[128];
1272 new entid =entranceindex;
1273 Entrance[entid][e_posx] = x;
1274 Entrance[entid][e_posy] = y;
1275 Entrance[entid][e_posz] = z;
1276 Entrance[entid][e_rotation] = rotacja;
1277 Entrance[entid][e_interior] = interior;
1278 Entrance[entid][e_vw] = virtualworld;
1279 Entrance[entid][e_freeze] = freezeplayer;
1280 if(pickupid == -1)
1281 {
1282 pickupid = 1318;
1283 if(mapiconid != -1)
1284 CreateDynamicMapIcon(x, y, z, mapiconid, 0, virtualworld, interior, -1, 800, MAPICON_GLOBAL, -1, 0);
1285 CreateDynamicPickup(pickupid, 1, x, y, z, virtualworld, interior);
1286 format(string,sizeof string, "{F3DC3A}%s\n{FFFFFF}Aby wejść wciśnij : {D34BF5}ENTER", name);
1287 CreateDynamic3DTextLabel(string, -1, x, y, z, 15, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, virtualworld, interior, -1, 15);
1288 entranceindex++;
1289 }
1290 return entid;
1291}
1292
1293stock GetRandomSkin()
1294{
1295 new rgender = random(2);
1296 if(rgender == 1)
1297 {
1298 new rand = random(sizeof Skins_Male);
1299 return Skins_Male[rand][0];
1300 }
1301 else if(rgender == 0)
1302 {
1303 new rand = random(sizeof Skins_Female);
1304 return Skins_Female[rand][0];
1305 }
1306 return 0;
1307}
1308
1309
1310stock KickEX(playerid, delay = 1000)
1311 return SetTimerEx("DelayKick", delay, false, "i", playerid);
1312
1313stock AssignPlayerData(playerid)
1314{
1315 cache_set_active(Player[playerid][Cache_ID]);
1316
1317 cache_get_value_int(0, "uid", Player[playerid][UID]);
1318 cache_get_value_int(0, "IDSkina", Player[playerid][IDSkin]);
1319 cache_get_value_int(0, "money", Player[playerid][Money]);
1320 cache_get_value_int(0, "gender", Player[playerid][Gender]);
1321 cache_get_value_int(0, "age", Player[playerid][Age]);
1322 cache_get_value_int(0, "lvl", Player[playerid][Lvl]);
1323 cache_get_value_int(0, "admin_lv", Player[playerid][AdminLV]);
1324
1325 cache_get_value_float(0, "lastposx",Player[playerid][LastPos][0]);
1326 cache_get_value_float(0, "lastposy",Player[playerid][LastPos][1]);
1327 cache_get_value_float(0, "lastposz",Player[playerid][LastPos][2]);
1328 cache_get_value_float(0, "lastposrot",Player[playerid][LastPos][3]);
1329 cache_get_value_int(0, "linterior",Player[playerid][Linterior]);
1330 cache_get_value_int(0, "lvw",Player[playerid][LVW]);
1331 cache_get_value_float(0, "hp",Player[playerid][HP]);
1332 cache_get_value_float(0, "armour",Player[playerid][Armour]);
1333
1334 cache_delete(Player[playerid][Cache_ID]);
1335 Player[playerid][Cache_ID] = MYSQL_INVALID_CACHE;
1336 return 1;
1337}
1338
1339stock ResetPlayerData(playerid)
1340{
1341 if(cache_is_valid(Player[playerid][Cache_ID]))
1342 {
1343 cache_delete(Player[playerid][Cache_ID]);
1344 Player[playerid][Cache_ID] = MYSQL_INVALID_CACHE;
1345 }
1346 static const null_players[DataPlayer];
1347 Player[playerid] = null_players;
1348 return 1;
1349}
1350
1351stock PlayerName(playerid)
1352{
1353 new name[MAX_PLAYER_NAME];
1354 GetPlayerName(playerid, name, sizeof name);
1355 return name;
1356}
1357
1358forward ShowPlayerMouse(playerid, bool:show);
1359public ShowPlayerMouse(playerid, bool:show)
1360{
1361 if(show)
1362 {
1363 SelectTextDraw(playerid, 0xFF0000FF);
1364 Player[playerid][ShowMouse] = true;
1365 }
1366 else
1367 {
1368 CancelSelectTextDraw(playerid);
1369 Player[playerid][ShowMouse] = false;
1370 }
1371 return 1;
1372}
1373
1374stock ClearPlayerChat(playerid)
1375{
1376 for(new i; i < 15; i++)
1377 SendClientMessage(playerid, -1, " ");
1378 return 1;
1379}
1380
1381 stock SaveAccount(playerid)
1382 {
1383 new query[258];
1384 new Float:tempPos[4], Float:hp, Float:armour;
1385 GetPlayerHealth(playerid, hp);
1386 GetPlayerArmour(playerid, armour);
1387 GetPlayerPos(playerid, tempPos[0], tempPos[1], tempPos[2]);
1388 GetPlayerFacingAngle(playerid, tempPos[3]);
1389 if(hp > 100 && !IsPlayerAdmin(playerid)) hp = 100;
1390 if(armour > 100&& !IsPlayerAdmin(playerid)) armour = 100;
1391 mysql_format(SQL_ID, query, sizeof query, "UPDATE players_accounts SET money =%i, IDSkina = %i, lvl = %i, lastposx = %f, lastposy = %f, lastposz = %f, \
1392 lastposrot = %f, linterior = %i, lvw = %i, hp = %f, armour = %f WHERE uid = %i",
1393 GetPlayerMoney(playerid),
1394 Player[playerid][IDSkin],
1395 GetPlayerScore(playerid),
1396 tempPos[0], tempPos[1], tempPos[2], tempPos[3],
1397 GetPlayerInterior(playerid),
1398 GetPlayerVirtualWorld(playerid),
1399 hp,armour,
1400 Player[playerid][UID]);
1401 mysql_tquery(SQL_ID, query);
1402 return 1;
1403 }
1404
1405 stock CreateAccount(playerid)
1406{
1407 new query[258], string[258];
1408 strcat(query, "INSERT INTO players_accounts(");
1409 //
1410 strcat(query, "Login, ");
1411 strcat(query, "password, ");
1412 strcat(query, "IDSkina, ");
1413 strcat(query, "age, ");
1414 strcat(query, "gender, ");
1415 strcat(query, "money");
1416 //
1417 strcat(query, ")VALUES(");
1418 //
1419 format(string, 258, "'%s',",PlayerName(playerid));
1420 strcat(query,string);
1421 format(string, 258, "'%s',",Player[playerid][Password]);
1422 strcat(query,string);
1423 format(string, 258, "'%i',",Player[playerid][IDSkin]);
1424 strcat(query,string);
1425 format(string, 258, "'%i',",Player[playerid][Age]);
1426 strcat(query,string);
1427 format(string, 258, "'%i',",Player[playerid][Gender]);
1428 strcat(query,string);
1429 format(string, 258, "'%i'",MONEY_MONEY_START);
1430 strcat(query,string);
1431 //
1432 strcat(query,")");
1433 mysql_tquery(SQL_ID, query, "OnAccountCreate", "i", playerid);
1434 return 1;
1435}
1436
1437stock MySQL_SetUpTables ()
1438{
1439 mysql_tquery(SQL_ID, " CREATE TABLE IF NOT EXISTS `Players Accounts` ( \
1440 `uid` INT(11) NOT NULL AUTO_INCREMENT, \
1441 `Login` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
1442 `password` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
1443 `ID Skina` INT(11) NOT NULL, \
1444 `money` INT(11) NOT NULL DEFAULT '0', \
1445 `gender` INT(11) NOT NULL, \
1446 `age` INT(11) NOT NULL, \
1447 `lvl` INT(11) NOT NULL DEFAULT '1', \
1448 `admin lv` INT(11) NOT NULL DEFAULT '0', \
1449 `lastip` TEXT NOT NULL COLLATE 'utf8_polish_ci', \
1450 `lastonline` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
1451 `createdate` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, \
1452 PRIMARY KEY (`uid`))");
1453 return 1;
1454}
1455
1456stock MySQL_Init()
1457{
1458 mysql_log();
1459 SQL_ID = mysql_connect_file("mysql.ini");
1460 if(SQL_ID == MYSQL_INVALID_HANDLE ||mysql_errno(SQL_ID) != 0)
1461 {
1462 print("[MYSQL - BLAD] Nie można było połączyć się z bazą danych! Serwer wyłączony ..!");
1463 SendRconCommand("exit");
1464 return 0;
1465 }
1466 print("[MYSQL] Połączenie z bazą danych zostało nawiązane!");
1467 return 1;
1468}
1469
1470// Stock TD
1471
1472stock CreateGlobalTD()
1473{
1474 SkinSelector_Title = TextDrawCreate(232.000000, -5.000000, "mdl-1001:skin");
1475 TextDrawFont(SkinSelector_Title, 4);
1476 TextDrawLetterSize(SkinSelector_Title, 0.600000, 2.000000);
1477 TextDrawTextSize(SkinSelector_Title, 187.000000, 102.500000);
1478 TextDrawSetOutline(SkinSelector_Title, 1);
1479 TextDrawSetShadow(SkinSelector_Title, 0);
1480 TextDrawAlignment(SkinSelector_Title, 1);
1481 TextDrawColor(SkinSelector_Title, -1);
1482 TextDrawBackgroundColor(SkinSelector_Title, 255);
1483 TextDrawBoxColor(SkinSelector_Title, 50);
1484 TextDrawUseBox(SkinSelector_Title, 1);
1485 TextDrawSetProportional(SkinSelector_Title, 1);
1486 TextDrawSetSelectable(SkinSelector_Title, 0);
1487
1488 SkinSelector_Right = TextDrawCreate(420.000000, 287.000000, "mdl-1001:prawo");
1489 TextDrawFont(SkinSelector_Right, 4);
1490 TextDrawLetterSize(SkinSelector_Right, 0.600000, 2.000000);
1491 TextDrawTextSize(SkinSelector_Right, 172.000000, 75.000000);
1492 TextDrawSetOutline(SkinSelector_Right, 1);
1493 TextDrawSetShadow(SkinSelector_Right, 0);
1494 TextDrawAlignment(SkinSelector_Right, 1);
1495 TextDrawColor(SkinSelector_Right, -1);
1496 TextDrawBackgroundColor(SkinSelector_Right, 255);
1497 TextDrawBoxColor(SkinSelector_Right, 50);
1498 TextDrawUseBox(SkinSelector_Right, 1);
1499 TextDrawSetProportional(SkinSelector_Right, 1);
1500 TextDrawSetSelectable(SkinSelector_Right, 1);
1501
1502 SkinSelector_Left = TextDrawCreate(112.000000, 285.000000, "mdl-1001:lewo");
1503 TextDrawFont(SkinSelector_Left, 4);
1504 TextDrawLetterSize(SkinSelector_Left, 0.600000, 2.000000);
1505 TextDrawTextSize(SkinSelector_Left, 172.000000, 75.000000);
1506 TextDrawSetOutline(SkinSelector_Left, 1);
1507 TextDrawSetShadow(SkinSelector_Left, 0);
1508 TextDrawAlignment(SkinSelector_Left, 1);
1509 TextDrawColor(SkinSelector_Left, -1);
1510 TextDrawBackgroundColor(SkinSelector_Left, 255);
1511 TextDrawBoxColor(SkinSelector_Left, 50);
1512 TextDrawUseBox(SkinSelector_Left, 1);
1513 TextDrawSetProportional(SkinSelector_Left, 1);
1514 TextDrawSetSelectable(SkinSelector_Left, 1);
1515
1516 SkinSelector_Accept = TextDrawCreate(286.000000, 271.000000, "mdl-1001:wybierz");
1517 TextDrawFont(SkinSelector_Accept, 4);
1518 TextDrawLetterSize(SkinSelector_Accept, 0.600000, 2.000000);
1519 TextDrawTextSize(SkinSelector_Accept, 133.500000, 99.000000);
1520 TextDrawSetOutline(SkinSelector_Accept, 1);
1521 TextDrawSetShadow(SkinSelector_Accept, 0);
1522 TextDrawAlignment(SkinSelector_Accept, 1);
1523 TextDrawColor(SkinSelector_Accept, -1);
1524 TextDrawBackgroundColor(SkinSelector_Accept, 255);
1525 TextDrawBoxColor(SkinSelector_Accept, 50);
1526 TextDrawUseBox(SkinSelector_Accept, 1);
1527 TextDrawSetProportional(SkinSelector_Accept, 1);
1528 TextDrawSetSelectable(SkinSelector_Accept, 1);
1529
1530
1531 skinnr = TextDrawCreate(429.000000, 20.000000, "0");
1532 TextDrawFont(skinnr, 3);
1533 TextDrawLetterSize(skinnr, 0.941666, 4.449998);
1534 TextDrawTextSize(skinnr, 400.000000, 17.000000);
1535 TextDrawSetOutline(skinnr, 1);
1536 TextDrawSetShadow(skinnr, 0);
1537 TextDrawAlignment(skinnr, 1);
1538 TextDrawColor(skinnr, -1);
1539 TextDrawBackgroundColor(skinnr, 255);
1540 TextDrawBoxColor(skinnr, 50);
1541 TextDrawUseBox(skinnr, 0);
1542 TextDrawSetProportional(skinnr, 1);
1543 TextDrawSetSelectable(skinnr, 0);
1544
1545 loginscreen = TextDrawCreate(0.000000, -2.000000, "mdl-1000:logowanie samp");
1546 TextDrawFont(loginscreen, 4);
1547 TextDrawLetterSize(loginscreen, 0.600000, 2.000000);
1548 TextDrawTextSize(loginscreen, 641.500000, 453.500000);
1549 TextDrawSetOutline(loginscreen, 1);
1550 TextDrawSetShadow(loginscreen, 0);
1551 TextDrawAlignment(loginscreen, 1);
1552 TextDrawColor(loginscreen, -1);
1553 TextDrawBackgroundColor(loginscreen, 255);
1554 TextDrawBoxColor(loginscreen, 50);
1555 TextDrawUseBox(loginscreen, 1);
1556 TextDrawSetProportional(loginscreen, 1);
1557 TextDrawSetSelectable(loginscreen, 0);
1558
1559 loginbutton = TextDrawCreate(121.000000, 219.000000, "mdl-1000:loginbutton");
1560 TextDrawFont(loginbutton, 4);
1561 TextDrawLetterSize(loginbutton, 0.600000, 2.000000);
1562 TextDrawTextSize(loginbutton, 130.500000, 84.000000);
1563 TextDrawSetOutline(loginbutton, 1);
1564 TextDrawSetShadow(loginbutton, 0);
1565 TextDrawAlignment(loginbutton, 1);
1566 TextDrawColor(loginbutton, -1);
1567 TextDrawBackgroundColor(loginbutton, 255);
1568 TextDrawBoxColor(loginbutton, 50);
1569 TextDrawUseBox(loginbutton, 1);
1570 TextDrawSetProportional(loginbutton, 1);
1571 TextDrawSetSelectable(loginbutton, 1);
1572
1573 registerbutton = TextDrawCreate(162.000000, 269.000000, "mdl-1000:registerbutton");
1574 TextDrawFont(registerbutton, 4);
1575 TextDrawLetterSize(registerbutton, 0.600000, 2.000000);
1576 TextDrawTextSize(registerbutton, 128.000000, 91.500000);
1577 TextDrawSetOutline(registerbutton, 1);
1578 TextDrawSetShadow(registerbutton, 0);
1579 TextDrawAlignment(registerbutton, 1);
1580 TextDrawColor(registerbutton, -1);
1581 TextDrawBackgroundColor(registerbutton, 255);
1582 TextDrawBoxColor(registerbutton, 50);
1583 TextDrawUseBox(registerbutton, 1);
1584 TextDrawSetProportional(registerbutton, 1);
1585 TextDrawSetSelectable(registerbutton, 1);
1586
1587 czas = TextDrawCreate(583.000000, 20.000000, "00:00");
1588 TextDrawFont(czas, 2);
1589 TextDrawLetterSize(czas, 0.554166, 2.449999);
1590 TextDrawTextSize(czas, 400.000000, 17.000000);
1591 TextDrawSetOutline(czas, 2);
1592 TextDrawSetShadow(czas, 0);
1593 TextDrawAlignment(czas, 2);
1594 TextDrawColor(czas, -1);
1595 TextDrawBackgroundColor(czas, 255);
1596 TextDrawBoxColor(czas, 50);
1597 TextDrawUseBox(czas, 0);
1598 TextDrawSetProportional(czas, 1);
1599 TextDrawSetSelectable(czas, 0);
1600
1601 data = TextDrawCreate(335.000000, 3.000000, "00/00/0000");
1602 TextDrawFont(data, 1);
1603 TextDrawLetterSize(data, 0.600000, 2.000000);
1604 TextDrawTextSize(data, 400.000000, 17.000000);
1605 TextDrawSetOutline(data, 1);
1606 TextDrawSetShadow(data, 0);
1607 TextDrawAlignment(data, 1);
1608 TextDrawColor(data, -1061109505);
1609 TextDrawBackgroundColor(data, 255);
1610 TextDrawBoxColor(data, 50);
1611 TextDrawUseBox(data, 0);
1612 TextDrawSetProportional(data, 1);
1613 TextDrawSetSelectable(data, 0);
1614
1615 Tday = TextDrawCreate(485.000000, 4.000000, "PON");
1616 TextDrawFont(Tday, 2);
1617 TextDrawLetterSize(Tday, 0.600000, 2.000000);
1618 TextDrawTextSize(Tday, 400.000000, 17.000000);
1619 TextDrawSetOutline(Tday, 1);
1620 TextDrawSetShadow(Tday, 0);
1621 TextDrawAlignment(Tday, 1);
1622 TextDrawColor(Tday, -2016478465);
1623 TextDrawBackgroundColor(Tday, 255);
1624 TextDrawBoxColor(Tday, 50);
1625 TextDrawUseBox(Tday, 0);
1626 TextDrawSetProportional(Tday, 1);
1627 TextDrawSetSelectable(Tday, 0);
1628
1629 SetTimer("td_refresh", TIMER_MIN * 60 * 1000, true);
1630 /* TWORZENIE TD */
1631 Belt[0] = TextDrawCreate(642.000000, 442.000000, "_");
1632 TextDrawBackgroundColor(Belt[0], 255);
1633 TextDrawFont(Belt[0], 1);
1634 TextDrawLetterSize(Belt[0], 0.500000, 0.500000);
1635 TextDrawColor(Belt[0], -1);
1636 TextDrawSetOutline(Belt[0], 0);
1637 TextDrawSetProportional(Belt[0], 1);
1638 TextDrawSetShadow(Belt[0], 1);
1639 TextDrawUseBox(Belt[0], 1);
1640 TextDrawBoxColor(Belt[0], 255);
1641 TextDrawTextSize(Belt[0], -2.000000, -3.000000);
1642
1643 Belt[1] = TextDrawCreate(642.000000, 434.000000, "_");
1644 TextDrawBackgroundColor(Belt[1], 255);
1645 TextDrawFont(Belt[1], 1);
1646 TextDrawLetterSize(Belt[1], 0.500000, 0.500000);
1647 TextDrawColor(Belt[1], -1);
1648 TextDrawSetOutline(Belt[1], 0);
1649 TextDrawSetProportional(Belt[1], 1);
1650 TextDrawSetShadow(Belt[1], 1);
1651 TextDrawUseBox(Belt[1], 1);
1652 TextDrawBoxColor(Belt[1], 572661616);
1653 TextDrawTextSize(Belt[1], -2.000000, -3.000000);
1654
1655 Textura[0] = TextDrawCreate(290.000000, 415.000000, "LD_POKE:cd9s");
1656 TextDrawBackgroundColor(Textura[0], 255);
1657 TextDrawFont(Textura[0], 4);
1658 TextDrawLetterSize(Textura[0], 0.500000, 1.000000);
1659 TextDrawColor(Textura[0], 64);
1660 TextDrawSetOutline(Textura[0], 0);
1661 TextDrawSetProportional(Textura[0], 1);
1662 TextDrawSetShadow(Textura[0], 1);
1663 TextDrawUseBox(Textura[0], 1);
1664 TextDrawBoxColor(Textura[0], 255);
1665 TextDrawTextSize(Textura[0], 62.000000, 99.000000);
1666
1667 Textura[1] = TextDrawCreate(293.000000, 418.000000, "ld_grav:timer");
1668 TextDrawBackgroundColor(Textura[1], 255);
1669 TextDrawFont(Textura[1], 4);
1670 TextDrawLetterSize(Textura[1], 0.500000, 1.000000);
1671 TextDrawColor(Textura[1], -1);
1672 TextDrawSetOutline(Textura[1], 0);
1673 TextDrawSetProportional(Textura[1], 1);
1674 TextDrawSetShadow(Textura[1], 1);
1675 TextDrawUseBox(Textura[1], 1);
1676 TextDrawBoxColor(Textura[1], 255);
1677 TextDrawTextSize(Textura[1], 10.000000, 11.000000);
1678
1679 Belt[2] = TextDrawCreate(642.000000, 434.000000, "_");
1680 TextDrawBackgroundColor(Belt[2], 255);
1681 TextDrawFont(Belt[2], 1);
1682 TextDrawLetterSize(Belt[2], 0.500000, -0.299997);
1683 TextDrawColor(Belt[2], -1);
1684 TextDrawSetOutline(Belt[2], 0);
1685 TextDrawSetProportional(Belt[2], 1);
1686 TextDrawSetShadow(Belt[2], 1);
1687 TextDrawUseBox(Belt[2], 1);
1688 TextDrawBoxColor(Belt[2], 255);
1689 TextDrawTextSize(Belt[2], -2.000000, -1.000000);
1690
1691 Date = TextDrawCreate(115.000000, 436.000000, "06/07/2013~y~r");
1692 TextDrawBackgroundColor(Date, 255);
1693 TextDrawFont(Date, 1);
1694 TextDrawLetterSize(Date, 0.210000, 1.000000);
1695 TextDrawColor(Date, -1);
1696 TextDrawSetOutline(Date, 0);
1697 TextDrawSetProportional(Date, 1);
1698 TextDrawSetShadow(Date, 1);
1699
1700 Online = TextDrawCreate(538.000000, 436.000000, "Online: ~y~2 ~w~graczy");
1701 TextDrawBackgroundColor(Online, 255);
1702 TextDrawFont(Online, 1);
1703 TextDrawLetterSize(Online, 0.240000, 0.899999);
1704 TextDrawColor(Online, -1);
1705 TextDrawSetOutline(Online, 0);
1706 TextDrawSetProportional(Online, 1);
1707 TextDrawSetShadow(Online, 1);
1708
1709 Belt[3] = TextDrawCreate(206.000000, 434.000000, "_");
1710 TextDrawBackgroundColor(Belt[3], 255);
1711 TextDrawFont(Belt[3], 1);
1712 TextDrawLetterSize(Belt[3], 0.340000, 1.600001);
1713 TextDrawColor(Belt[3], -1);
1714 TextDrawSetOutline(Belt[3], 0);
1715 TextDrawSetProportional(Belt[3], 1);
1716 TextDrawSetShadow(Belt[3], 1);
1717 TextDrawUseBox(Belt[3], 1);
1718 TextDrawBoxColor(Belt[3], -219);
1719 TextDrawTextSize(Belt[3], 199.000000, -40.000000);
1720
1721 Belt[4] = TextDrawCreate(422.000000, 434.000000, "_");
1722 TextDrawBackgroundColor(Belt[4], 255);
1723 TextDrawFont(Belt[4], 1);
1724 TextDrawLetterSize(Belt[4], 0.340000, 1.600001);
1725 TextDrawColor(Belt[4], -1);
1726 TextDrawSetOutline(Belt[4], 0);
1727 TextDrawSetProportional(Belt[4], 1);
1728 TextDrawSetShadow(Belt[4], 1);
1729 TextDrawUseBox(Belt[4], 1);
1730 TextDrawBoxColor(Belt[4], -219);
1731 TextDrawTextSize(Belt[4], 415.000000, -40.000000);
1732
1733 Belt[5] = TextDrawCreate(518.000000, 434.000000, "_");
1734 TextDrawBackgroundColor(Belt[5], 255);
1735 TextDrawFont(Belt[5], 1);
1736 TextDrawLetterSize(Belt[5], 0.340000, 1.600001);
1737 TextDrawColor(Belt[5], -1);
1738 TextDrawSetOutline(Belt[5], 0);
1739 TextDrawSetProportional(Belt[5], 1);
1740 TextDrawSetShadow(Belt[5], 1);
1741 TextDrawUseBox(Belt[5], 1);
1742 TextDrawBoxColor(Belt[5], -219);
1743 TextDrawTextSize(Belt[5], 511.000000, -40.000000);
1744
1745
1746 box = TextDrawCreate(35.000000, -52.000000, "_");
1747 TextDrawFont(box, 1);
1748 TextDrawLetterSize(box, 0.633333, 10.200002);
1749 TextDrawTextSize(box, 298.500000, 1293.000000);
1750 TextDrawSetOutline(box, 1);
1751 TextDrawSetShadow(box, 0);
1752 TextDrawAlignment(box, 2);
1753 TextDrawColor(box, -1);
1754 TextDrawBackgroundColor(box, 255);
1755 TextDrawBoxColor(box, 33);
1756 TextDrawUseBox(box, 1);
1757 TextDrawSetProportional(box, 1);
1758 TextDrawSetSelectable(box, 0);
1759
1760 baner = TextDrawCreate(56.000000, -3.000000, "mdl-1002:baner");
1761 TextDrawFont(baner, 4);
1762 TextDrawLetterSize(baner, 0.600000, 2.000000);
1763 TextDrawTextSize(baner, 240.000000, 55.500000);
1764 TextDrawSetOutline(baner, 1);
1765 TextDrawSetShadow(baner, 0);
1766 TextDrawAlignment(baner, 1);
1767 TextDrawColor(baner, -1);
1768 TextDrawBackgroundColor(baner, 255);
1769 TextDrawBoxColor(baner, 50);
1770 TextDrawUseBox(baner, 1);
1771 TextDrawSetProportional(baner, 1);
1772 TextDrawSetSelectable(baner, 0);
1773
1774
1775
1776
1777 return 1;
1778}