/* Drift/Race/Tune GM By: Splitx Thx To: Kevin433 For Login/Register System */ //Includes #include //pragma #pragma tabsize 0 //Defines //colors #define COLOR_GREY 0xBEBEBEAA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_GRAD5 0xE3E3E3FF #define COLOR_GRAD1 0xB4B5B7FF #define COLOR_DRIFT 0x006400FF #define COLOR_RACE 0xDC143CFF #define COLOR_TUNE 0x000000AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_GREEN 0x33AA33AA //Teams #define TEAM_DRIFT #define TEAM_RACE #define TEAM_TUNE //new new currentveh; new gPlayerLogged[MAX_PLAYERS]; new gPlayerAccount[MAX_PLAYERS]; new Count = 5; new CountText[5][5] ={ "~r~1", "~r~2", "~r~3", "~b~4", "~b~5" }; //Forward forward CountDown(); forward ShowStats(playerid,targetid); forward OnPlayerUpdate(playerid); forward Encrypt(string[]); forward OnPlayerLogin(playerid,const string[]); forward PaYDaY(); enum pInfo { pPassword[128], pKills, pDeaths, pCash, }; new PlayerInfo[MAX_PLAYERS][pInfo]; //------------------------------------------------------------------------------ main() { print("\n----------------------------------"); print(" Drift/Race/Tune GM"); print(" By: Splitx"); print("Thx To: Kevin433 For Login/Register System"); print("----------------------------------\n"); } //------------------------------------------------------------------------------ public OnGameModeInit() { SetGameModeText("Drift/Race/Tune"); AllowAdminTeleport(1); ShowNameTags(1); ShowPlayerMarkers(1); SetWorldTime(12); UsePlayerPedAnims(); //This Is For CJ´s Run Style //Payday SetTimer("PaYDaY",5000000,false); } //Classes //Team Drift AddPlayerClass(123,1240.0455,-2037.1292,59.9424,264.1106,0,0,0,0,0,0); //Team Tune AddPlayerClass(188,-2694.6809,229.2315,4.3359,284.4549,0,0,0,0,0,0); //Team Race AddPlayerClass(181,1396.1069,-2509.1196,13.5547,239.4767,0,0,0,0,0,0); //Cars //Race Cars AddStaticVehicle(451,1397.9125,-2518.2009,13.2528,267.5043,36,36); // RaceCar AddStaticVehicle(451,1398.0685,-2514.0159,13.2561,271.0031,125,125); // RaceCar AddStaticVehicle(415,1397.8141,-2522.0728,13.3178,269.4274,40,1); // RaceCar AddStaticVehicle(415,1397.8174,-2526.2612,13.3179,271.7157,62,1); // RaceCar AddStaticVehicle(411,1397.8837,-2531.2397,13.2740,271.8963,64,1); // RaceCar AddStaticVehicle(411,1397.8503,-2536.6169,13.2740,271.4503,123,1); // RaceCar AddStaticVehicle(402,1398.0322,-2540.7202,13.3785,269.3202,22,22); // RaceCar AddStaticVehicle(402,1397.8870,-2545.4836,13.3786,268.7772,30,30); // RaceCar AddStaticVehicle(411,434.4354,2487.6829,16.1927,91.0787,123,1); // car Dessert Ap AddStaticVehicle(411,433.8886,2492.2461,16.2171,88.0609,116,1); // car Dessert Ap AddStaticVehicle(415,434.0526,2498.2852,16.2627,89.4243,40,1); // car Dessert Ap AddStaticVehicle(415,434.3282,2503.9727,16.2616,88.8173,62,1); // car Dessert Ap AddStaticVehicle(451,433.8639,2510.0225,16.2002,85.9235,36,36); // car Dessert Ap AddStaticVehicle(451,433.8287,2515.7344,16.2402,87.0963,16,16); // car Dessert Ap //Drift Cars AddStaticVehicle(603,1244.7191,-2043.7236,59.7027,267.6138,75,77); // Drift car AddStaticVehicle(603,1244.7743,-2039.3174,59.7028,269.6292,18,1); // Drift car AddStaticVehicle(562,1244.4263,-2035.0356,59.5318,272.3605,35,1); // Drift car AddStaticVehicle(562,1244.4778,-2031.8578,59.5294,269.7017,17,1); // Drift car AddStaticVehicle(494,1244.8781,-2027.5726,59.7547,267.3006,36,13); // Drift car AddStaticVehicle(494,1244.8787,-2024.1432,59.7542,269.0692,42,30); // Drift car AddStaticVehicle(415,1244.7257,-2020.2172,59.6344,272.3509,25,1); // Drift car AddStaticVehicle(415,1244.7291,-2016.3115,59.6306,271.3358,36,1); // Drift car AddStaticVehicle(415,2308.8079,1387.7050,42.5921,0.9302,92,1); // Car Drift Place 2 AddStaticVehicle(562,2305.7244,1387.7603,42.4792,0.2820,11,1); // Car Drift Place 2 AddStaticVehicle(562,2302.2944,1387.4388,42.4810,3.3863,116,1); // Car Drift Place 2 AddStaticVehicle(494,2299.2241,1387.7865,42.7157,358.6081,42,33); // Car Drift Place 2 AddStaticVehicle(494,2295.3511,1387.8523,42.7154,358.5255,54,36); // Car Drift Place 2 AddStaticVehicle(415,2312.5159,1387.3010,42.5930,359.2944,75,1); // Car Drift Place 2 AddStaticVehicle(562,-2416.8879,-588.7526,132.3090,216.2498,92,1); // Drift Place 3 AddStaticVehicle(562,-2414.1951,-587.5865,132.3074,215.7954,92,1); // Drift Place 3 AddStaticVehicle(562,-2411.7129,-585.3605,132.3084,215.6292,92,1); // Drift Place 3 AddStaticVehicle(562,-2409.1533,-583.5892,132.3092,214.5522,92,1); // Drift Place 3 AddStaticVehicle(415,-2399.7788,-612.9139,132.4193,36.6766,0,1); // Drift Place 3 AddStaticVehicle(415,-2397.1777,-611.6749,132.4204,34.7285,0,1); // Drift Place 3 AddStaticVehicle(415,-2394.7380,-609.5941,132.4189,36.0448,0,1); // Drift Place 3 AddStaticVehicle(415,-2392.1421,-608.1600,132.4194,32.9267,0,1); // Drift Place 3 AddStaticVehicle(494,-2396.1489,-594.1603,132.5437,125.9284,75,79); // Drift Place 3 AddStaticVehicle(494,-2394.7021,-597.8128,132.5439,126.6801,75,79); // Drift Place 3 AddStaticVehicle(494,-2398.3345,-592.3273,132.5437,125.1606,75,79); // Drift Place 3 AddStaticVehicle(494,-2400.5339,-590.1197,132.5438,125.3016,75,79); // Drift Place 3 AddStaticVehicle(562,-345.7710,1515.4310,75.0191,0.8900,35,1); // Car big ear AddStaticVehicle(562,-339.8235,1514.9597,75.0188,1.1072,35,1); // Car big ear AddStaticVehicle(562,-333.4804,1516.0933,75.0176,0.2676,35,1); // Car big ear AddStaticVehicle(494,-327.3193,1515.8364,75.2547,359.7574,36,13); // Car big ear AddStaticVehicle(494,-321.0045,1514.9034,75.2540,359.1989,36,13); // Car big ear AddStaticVehicle(494,-314.8265,1516.4387,75.2522,1.9450,36,13); // Car big ear AddStaticVehicle(415,-264.9444,1542.9677,75.1286,133.0805,36,1); // Car big ear AddStaticVehicle(415,-270.8604,1546.9063,75.1320,136.5329,36,1); // Car big ear AddStaticVehicle(415,-275.0788,1552.5321,75.1323,136.5559,36,1); // Car big ear AddStaticVehicle(411,-280.1234,1557.6625,75.0864,134.6831,64,1); // Car big ear AddStaticVehicle(411,-285.1519,1562.3802,75.0865,133.3128,64,1); // Car big ear //Tune Cars AddStaticVehicle(562,-2693.1997,238.1145,3.9956,269.7431,113,1); // TuneCar AddStaticVehicle(562,-2692.9773,234.3783,3.9960,270.1290,101,1); // TuneCar AddStaticVehicle(558,-2693.1082,229.5907,3.9664,269.0911,116,1); // TuneCar AddStaticVehicle(558,-2683.6304,236.4099,3.9662,184.8736,117,1); // TuneCar AddStaticVehicle(559,-2680.1694,236.8950,3.9923,187.2038,58,8); // TuneCar AddStaticVehicle(559,-2675.8523,236.7651,3.9923,181.7573,60,1); // TuneCar AddStaticVehicle(560,-2660.5483,230.3254,4.0427,60.9345,9,39); // TuneCar AddStaticVehicle(560,-2659.9221,233.8745,4.0410,90.5287,17,1); // TuneCar AddStaticVehicle(561,-2660.2234,237.0837,4.1520,91.1869,8,17); // TuneCar //Drag Race Strip CreateObject(982, 405.318695, 2527.653320, 16.230694, 0, 0, 270); CreateObject(982, 380.819702, 2528.905518, 16.249596, 0, 0, 270); CreateObject(982, 354.721710, 2529.565674, 16.384201, 0, 0, 270); CreateObject(982, 330.945251, 2528.549072, 16.460026, 0, 0, 270); CreateObject(982, 304.640717, 2528.460449, 16.486961, 0, 0, 270); CreateObject(982, 277.232025, 2528.328125, 16.483177, 0, 0, 270); CreateObject(982, 250.646362, 2528.259033, 16.461681, 0, 0, 270); CreateObject(982, 224.465286, 2528.273926, 16.468399, 0, 0, 270); CreateObject(982, 195.737411, 2528.251709, 16.487808, 0, 0, 270); CreateObject(982, 164.521179, 2528.305420, 16.477245, 0, 0, 270); CreateObject(982, 138.152710, 2528.233887, 16.480915, 0, 0, 270); CreateObject(982, 110.364799, 2528.030029, 16.487957, 0, 0, 270); CreateObject(982, 83.098862, 2527.993652, 16.186619, 0, 0, 270); CreateObject(982, 56.125954, 2528.029785, 16.167931, 0, 0, 270); CreateObject(982, 29.113401, 2527.978760, 16.167931, 0, 0, 270); CreateObject(982, 3.415903, 2527.964600, 16.175739, 0, 0, 270); CreateObject(982, -23.517525, 2528.014404, 16.167931, 0, 0, 270); CreateObject(982, -49.779373, 2528.057373, 16.167931, 0, 0, 270); CreateObject(3749, -65.074387, 2506.527588, 21.342789, 0, 0, 270); CreateObject(7033, 412.852814, 2502.627441, 19.998146, 0, 0, 90); CreateObject(978, 420.394226, 2483.387451, 16.324594, 0, 0, 281.25); CreateObject(979, 418.790405, 2522.165771, 16.324594, 0, 0, 270); CreateObject(979, -44.702377, 2524.828613, 16.324594, 0, 0, 213.75); CreateObject(979, -52.039368, 2518.351318, 16.332403, 0, 0, 225); CreateObject(978, -55.828346, 2492.251709, 16.324593, 0, 0, 303.75); CreateObject(978, -49.746178, 2483.450684, 16.324594, 0, 0, 303.75); CreateObject(982, -48.252487, 2477.401367, 16.167931, 0, 0, 90); CreateObject(982, -21.082066, 2477.391602, 16.175739, 0, 0, 90); CreateObject(982, 7.023036, 2477.704834, 16.167931, 0, 0, 90); CreateObject(982, 32.933624, 2477.620117, 16.167931, 0, 357.4217, 90); CreateObject(982, 59.499825, 2477.490479, 16.167931, 0, 357.4217, 90); CreateObject(982, 85.643349, 2477.413574, 16.167931, 0, 357.4217, 90); CreateObject(982, 112.543182, 2477.289795, 16.167931, 0, 357.4217, 90); CreateObject(982, 138.923401, 2477.740723, 16.167931, 0, 357.4217, 90); CreateObject(982, 167.141678, 2477.699951, 16.167931, 0, 357.4217, 90); CreateObject(982, 194.368790, 2477.729248, 16.175724, 0, 357.4217, 90); CreateObject(982, 221.267700, 2477.654541, 16.167931, 0, 357.4217, 90); CreateObject(982, 247.612213, 2477.465820, 16.167931, 0, 357.4217, 90); CreateObject(982, 275.808960, 2477.282471, 16.167931, 0, 357.4217, 90); CreateObject(982, 302.723694, 2476.875977, 16.167931, 0, 357.4217, 90); CreateObject(982, 329.806458, 2476.768311, 16.175724, 0, 357.4217, 90); CreateObject(982, 356.567841, 2476.671143, 16.167931, 0, 357.4217, 90); CreateObject(982, 384.229370, 2476.770996, 16.167931, 0, 357.4217, 90); CreateObject(982, 410.105774, 2476.810303, 16.175724, 0, 357.4217, 90); CreateObject(3279, 363.345520, 2473.303711, 15.559992, 0, 0, 0); CreateObject(3279, 359.301300, 2538.250000, 15.769968, 0, 0, 0); CreateObject(3279, 266.567200, 2537.323486, 15.888117, 0, 0, 0); CreateObject(3279, 263.311401, 2470.236816, 15.552179, 0, 0, 0); CreateObject(3279, 181.998199, 2534.185547, 15.835125, 0, 0, 0); CreateObject(3279, 172.727600, 2471.180420, 15.559994, 0, 0, 0); CreateObject(3279, -0.682999, 2534.356689, 15.559992, 0, 0, 0); CreateObject(3279, -6.891918, 2468.754150, 15.559992, 0, 0, 0); CreateObject(3666, 396.533813, 2502.635742, 15.998060, 0, 0, 0); CreateObject(3666, 388.533356, 2502.684570, 15.998060, 0, 0, 0); CreateObject(3666, 383.849823, 2502.698730, 15.998060, 0, 0, 0); CreateObject(3666, 376.320496, 2502.804932, 15.998060, 0, 0, 0); CreateObject(3666, 368.718414, 2503.032227, 15.998060, 0, 0, 0); CreateObject(3666, 361.100037, 2503.173096, 15.998060, 0, 0, 0); CreateObject(3666, 352.108551, 2503.020752, 15.998060, 0, 0, 0); CreateObject(3666, 344.854706, 2503.676025, 15.998060, 0, 0, 0); CreateObject(3666, 335.013123, 2504.084473, 15.998060, 0, 0, 0); CreateObject(3666, 323.361694, 2503.778320, 15.998060, 0, 0, 0); CreateObject(3666, 311.208435, 2503.615967, 15.998060, 0, 0, 0); CreateObject(3666, 300.337921, 2503.355469, 15.998060, 0, 0, 0); CreateObject(3666, 283.540497, 2503.066650, 15.998060, 0, 0, 0); CreateObject(3666, 263.516052, 2503.019043, 15.998060, 0, 0, 0); CreateObject(3666, 246.964996, 2502.832275, 15.998060, 0, 0, 0); CreateObject(3666, 225.123718, 2502.413574, 15.998060, 0, 0, 0); CreateObject(3666, 202.336548, 2503.051025, 15.998060, 0, 0, 0); CreateObject(3666, 181.712097, 2502.624756, 15.998060, 0, 0, 0); CreateObject(3666, 168.177002, 2502.661133, 15.998060, 0, 0, 0); CreateObject(3666, 159.526733, 2502.710205, 15.998060, 0, 0, 0); CreateObject(3666, 148.141510, 2502.825684, 15.998060, 0, 0, 0); CreateObject(3666, 213.532349, 2502.804932, 15.998060, 0, 0, 0); CreateObject(3666, 134.841705, 2502.816406, 15.998060, 0, 0, 0); CreateObject(3666, 111.035614, 2502.842529, 16.005869, 0, 0, 0); CreateObject(3666, 100.596153, 2502.887695, 15.998060, 0, 0, 0); CreateObject(3666, 89.089645, 2502.746826, 15.998060, 0, 0, 0); CreateObject(3666, 74.795349, 2502.987061, 15.998060, 0, 0, 0); CreateObject(3666, 60.741280, 2503.218994, 15.998060, 0, 0, 0); CreateObject(3666, 47.077271, 2503.279785, 15.998062, 0, 0, 0); CreateObject(3666, 26.273666, 2503.354980, 16.005869, 0, 0, 0); CreateObject(3666, 12.728344, 2503.508545, 15.998060, 0, 0, 0); CreateObject(3666, 12.699739, 2506.864014, 15.998060, 0, 0, 0); CreateObject(3666, 11.238373, 2499.578857, 15.998060, 0, 0, 0); CreateObject(3666, 12.326128, 2509.974609, 15.998060, 0, 0, 0); CreateObject(3666, 10.962069, 2496.583008, 15.998060, 0, 0, 0); CreateObject(3666, 122.070885, 2503.451416, 15.998060, 0, 0, 0); CreateObject(3666, 191.211502, 2502.748291, 15.998060, 0, 0, 0); CreateObject(3666, -39.907104, 2526.375488, 15.998060, 0, 0, 0); CreateObject(3666, -42.003525, 2524.434082, 15.998060, 0, 0, 0); CreateObject(3666, -43.930252, 2522.406494, 15.998060, 0, 0, 0); CreateObject(3666, -46.787964, 2520.242432, 15.998060, 0, 0, 0); CreateObject(3666, -52.634880, 2514.371826, 16.005869, 0, 0, 0); CreateObject(3666, -50.591316, 2516.571777, 15.998060, 0, 0, 0); CreateObject(3666, -48.765289, 2518.703857, 15.998060, 0, 0, 0); CreateObject(3666, -56.190468, 2496.530518, 15.998060, 0, 0, 0); CreateObject(3666, -55.037926, 2494.890625, 15.998060, 0, 0, 0); CreateObject(3666, -53.808891, 2492.928955, 15.998060, 0, 0, 0); CreateObject(3666, -52.471565, 2490.452637, 15.998060, 0, 0, 0); CreateObject(3666, -46.400932, 2481.624756, 15.998060, 0, 0, 0); CreateObject(3666, -47.693520, 2483.154785, 15.998060, 0, 0, 0); CreateObject(3666, -48.853256, 2484.464111, 15.998060, 0, 0, 0); CreateObject(3666, -50.331924, 2486.273682, 15.998060, 0, 0, 0); CreateObject(3666, -62.138374, 2500.659424, 15.998060, 0, 0, 0); CreateObject(3666, -62.439896, 2512.101807, 16.005869, 0, 0, 0); return 1; } public OnPlayerRequestClass(playerid, classid) { if(classid == 0) {GameTextForPlayer(playerid, "~y~Team Drift", 1000, 3); SetPlayerColor(playerid,COLOR_DRIFT);} else if(classid == 1) {GameTextForPlayer(playerid, "~g~Team Tune", 1000, 3); SetPlayerColor(playerid,COLOR_TUNE);} else if(classid == 2) {GameTextForPlayer(playerid, "~r~Team Race", 1000, 3); SetPlayerColor(playerid,COLOR_RACE);} if(classid == 0) { SetPlayerPos(playerid, 1177.2856,-2036.8947,69.1484); SetPlayerCameraPos(playerid, 1177.285644, -2038.894653, 69.148437); SetPlayerCameraLookAt(playerid, 1177.2856,-2036.8947,69.1484); } return 1; } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerConnect(playerid) { GameTextForPlayer(playerid,"~r~W~g~e~r~l~g~c~y~o~b~m~y~e",2500,3); SendClientMessage(playerid, COLOR_GREEN, "Welcome"); SendClientMessage(playerid, COLOR_GREEN, "Do"); SendClientMessage(playerid, COLOR_GREEN, "/help For Commnds"); SendClientMessage(playerid, COLOR_GREEN, "/credits For credits"); SendClientMessage(playerid, COLOR_RED, "DM Not Allowd DM = BAN"); SendClientMessage(playerid, COLOR_RED, "Dont Use Kill"); GivePlayerMoney(playerid, 20000); SetPlayerColor(playerid, COLOR_RED); return 1; } public OnPlayerDisconnect(playerid, reason) { OnPlayerUpdate(playerid); gPlayerLogged[playerid] = 0; return 1; } public OnPlayerEnterCheckpoint(playerid) { GivePlayerMoney(playerid, 10000); DisablePlayerCheckpoint(playerid); RemovePlayerFromVehicle(playerid); DestroyVehicle(currentveh); GameTextForPlayer(playerid,"~g~$$$$$$$~b~10.000~g~$$$$$$$",2500,5); return 1; } public OnPlayerDeath(playerid, killerid, reason) { GameTextForPlayer(playerid,"~r~DEAD",2000,5); new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); new Float:Health; GetPlayerHealth(playerid, Health); if(Health == 0.0) { PlayerInfo[playerid][pDeaths] += 1; } GivePlayerMoney(killerid,2000); PlayerInfo[killerid][pKills] = PlayerInfo[killerid][pKills] + 1; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { //SEllcar if (strcmp(cmdtext, "/Sellcar", true)==0) { SetPlayerCheckpoint(playerid, 128,4499, -2427,985, 15, 5); SendClientMessage(playerid, COLOR_YELLOW, "Hint: Go to the Checkpoint To sell car"); GameTextForPlayer(playerid,"~r~Hint:~y~ Go to the Checkpoint To sell car",2500,5); } if(!strcmp(cmdtext, "/me", true, 3)) // 3 is the length of /me { if(cmdtext[3] == 0) { SendClientMessage(playerid, 0xFF0000FF, "USAGE: /me [action]"); return 1; } new str[128]; GetPlayerName(playerid, str, sizeof(str)); format(str, sizeof(str), "* %s %s", str, cmdtext[4]); SendClientMessageToAll(0xFFFF00AA, str); return 1; } if (strcmp(cmdtext, "/count", true)==0) { if(Count >= 5) { CountDown(); return 1; } else { SendClientMessage(playerid, 0xFFFF00AA, "An countdown is already running! Wait untill its over first!!"); return 1; } } if (strcmp(cmdtext, "/flip", true)==0) { new VehicleID, Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); VehicleID = GetPlayerVehicleID(playerid); SetVehiclePos(VehicleID, X, Y, Z); SetVehicleZAngle(VehicleID, 0); return 1; } if(strcmp(cmdtext, "/kill", true) == 0) { SetPlayerHealth(playerid,0); GivePlayerMoney(playerid, 0); return 1; } //Commands if(strcmp(cmdtext, "/commands", true) == 0) { SendClientMessage(playerid, COLOR_GREEN, "*********[Commands]***********"); SendClientMessage(playerid, COLOR_GREEN, "/race For Race Tp"); SendClientMessage(playerid, COLOR_GREEN, "/drift for drift tp"); SendClientMessage(playerid, COLOR_GREEN, "/drift 2 for drift tp"); SendClientMessage(playerid, COLOR_GREEN, "/tune For Spawn at all cars"); SendClientMessage(playerid, COLOR_GREEN, "/tunels = Trans frender"); SendClientMessage(playerid, COLOR_GREEN, "/tunesf = Wheel Arch Angels"); SendClientMessage(playerid, COLOR_GREEN, "/count /Me /flip /credits /tph"); return 1; } //Help if(strcmp(cmdtext, "/help", true) == 0) { SendClientMessage(playerid, COLOR_GREEN, "*********[Help]***********"); SendClientMessage(playerid, COLOR_GREEN, "/Commands For Commands"); SendClientMessage(playerid, COLOR_GREEN, "/credits For Credits"); SendClientMessage(playerid, COLOR_GREEN, "/tph For Tp Commands"); return 1; } //Credits if(strcmp(cmdtext, "/credits", true) == 0) { SendClientMessage(playerid, COLOR_GREEN, "*********[CREDITS]***********"); SendClientMessage(playerid, COLOR_GREEN, "*******Made By: Splitx*******"); SendClientMessage(playerid, COLOR_GREEN, "*******Drift/Race/Tune*******"); SendClientMessage(playerid, COLOR_GREEN, "*Thx To: Kevin433 For Login/Register System*"); SendClientMessage(playerid, COLOR_GREEN, "********************************"); return 1; } if(strcmp(cmdtext, "/tph", true) == 0) { SendClientMessage(playerid, COLOR_GREEN, "*********[TelePortHelp]***********"); SendClientMessage(playerid, COLOR_GREEN, "/race For Race Tp"); SendClientMessage(playerid, COLOR_GREEN, "/race2 For Race Tp"); SendClientMessage(playerid, COLOR_GREEN, "/drift for drift tp"); SendClientMessage(playerid, COLOR_GREEN, "/drift2 for drift tp"); SendClientMessage(playerid, COLOR_GREEN, "/drift3 for drift tp"); SendClientMessage(playerid, COLOR_GREEN, "/drift4 for drift tp"); SendClientMessage(playerid, COLOR_GREEN, "/tune For Spawn at all cars"); SendClientMessage(playerid, COLOR_GREEN, "/tunels = Trans frender"); SendClientMessage(playerid, COLOR_GREEN, "/tunesf = Wheel Arch Angels"); SendClientMessage(playerid, COLOR_GREEN, "********************************"); return 1; } if(!strcmp(cmdtext,"/drift",true)) { SetPlayerPos(playerid, 1240.0455,-2037.1292,59.9424); SetVehiclePos(GetPlayerVehicleID(playerid), 1240.0455,-2037.1292,59.9424); return 1; } if(!strcmp(cmdtext,"/drift2",true)) { SetPlayerPos(playerid, 2268.7444,1388.8958,42.8203); SetVehiclePos(GetPlayerVehicleID(playerid), 2268.7444,1388.8958,42.8203); return 1; } if(!strcmp(cmdtext,"/drift3",true)) { SetPlayerPos(playerid, -2411.0278,-607.6990,132.6415); SetVehiclePos(GetPlayerVehicleID(playerid), -2411.0278,-607.6990,132.6415); return 1; } if(!strcmp(cmdtext,"/drift4",true)) { SetPlayerPos(playerid, -308.2867,1538.3134,75.5625); SetVehiclePos(GetPlayerVehicleID(playerid), -308.2867,1538.3134,75.5625); return 1; } if(!strcmp(cmdtext,"/tune",true)) { SetPlayerPos(playerid, -2694.6809,229.2315,4.3359); SetVehiclePos(GetPlayerVehicleID(playerid), -2694.6809,229.2315,4.3359); return 1; } if(!strcmp(cmdtext,"/tunels",true)) { SetPlayerPos(playerid, 1039.0768,-1037.3727,31.7109); SetVehiclePos(GetPlayerVehicleID(playerid), 1039.0768,-1037.3727,31.7109); return 1; } if(!strcmp(cmdtext,"/tunesf",true)) { SetPlayerPos(playerid, -2702.9797,215.2987,4.1797); SetVehiclePos(GetPlayerVehicleID(playerid), -2702.9797,215.2987,4.1797); return 1; } if(!strcmp(cmdtext,"/race",true)) { SetPlayerPos(playerid, 1396.1069,-2509.1196,13.5547); SetVehiclePos(GetPlayerVehicleID(playerid), 1396.1069,-2509.1196,13.5547); return 1; } if(!strcmp(cmdtext,"/race2",true)) { SetPlayerPos(playerid, 451.4817,2507.4277,19.4912); SetVehiclePos(GetPlayerVehicleID(playerid), 451.4817,2507.4277,19.4912); return 1; } new cmd[256]; new idx; cmd = strtok(cmdtext, idx); new tmp[256]; new playername[MAX_PLAYER_NAME]; if (strcmp(cmd, "/login", true) ==0 ) { if(IsPlayerConnected(playerid)) { new tmppass[64]; if(gPlayerLogged[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, " You are already logged in."); return 1; } tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, " USAGE: /login [password]"); return 1; } strmid(tmppass, tmp, 0, strlen(cmdtext), 255); Encrypt(tmppass); OnPlayerLogin(playerid,tmppass); } return 1; } if (strcmp(cmd, "/register", true)==0) { new string[265]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GREY, "USAGE: /register [password]"); return 1; } if (gPlayerAccount[playerid] == 1) { SendClientMessage(playerid, COLOR_GREY, " That name is already registered"); return 1; } strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255); Encrypt(PlayerInfo[playerid][pPassword]); GetPlayerName(playerid, playername, sizeof(playername)); format(string, sizeof(string), "%s.cer", playername); new File: file = fopen(string, io_read); if (file) { SendClientMessage(playerid, COLOR_GREY, " That name is already registered"); fclose(file); return 1; } new File:hFile; hFile = fopen(string, io_append); new var[32];// format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); SendClientMessage(playerid, COLOR_WHITE, "Succesfully Registered!"); SendClientMessage(playerid, COLOR_WHITE, "Next time you connect, type /login to log in."); OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]); return 1; } if (strcmp(cmd, "/stats", true) == 0) { if(IsPlayerConnected(playerid)) { if (gPlayerLogged[playerid] != 0) { ShowStats(playerid,playerid); } else { SendClientMessage(playerid, COLOR_GRAD1, " You are not Logged in !"); } } return 1; } return 0; } public PaYDaY() { GivePlayerMoney(playerid, 10000); } public CountDown(){ if (Count > 0){ GameTextForAll( CountText[Count-1], 2500, 3); Count--; SetTimer("CountDown", 1000, 0); } else{ GameTextForAll("~g~Go! Go! Go!", 2500, 3); Count = 5; } return 1; } public Encrypt(string[]) { for(new x=0; x < strlen(string); x++) { string[x] += (3^x) * (x % 15); if(string[x] > (0xff)) { string[x] -= 64; } } return 1; } public OnPlayerLogin(playerid,const string[]) { new pname2[MAX_PLAYER_NAME]; new pname3[MAX_PLAYER_NAME]; new string2[64]; new string3[128]; GetPlayerName(playerid, pname2, sizeof(pname2)); format(string2, sizeof(string2), "%s.cer", pname2); new File: UserFile = fopen(string2, io_read); if (UserFile) { new valtmp[128]; fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255); if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0)) { new key[128],val[128]; new Data[128]; while(fread(UserFile,Data,sizeof(Data))) { key = ini_GetKey(Data); if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); } if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); } if( strcmp( key , "Money" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); } GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); } fclose(UserFile); gPlayerLogged[playerid] = 1; gPlayerAccount[playerid] = 1; new kills = PlayerInfo[playerid][pKills]; SetPlayerScore(playerid, kills); GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "Welcome %s, you have been succesfully logged in!", pname3); SendClientMessage(playerid, COLOR_WHITE,string3); } else { SendClientMessage(playerid, COLOR_GREY, " Password does not match your name"); fclose(UserFile); } } return 1; } public OnPlayerUpdate(playerid) { if(IsPlayerConnected(playerid)) { if(gPlayerLogged[playerid]) { new string3[32]; new pname3[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname3, sizeof(pname3)); format(string3, sizeof(string3), "%s.cer", pname3); new File: pFile = fopen(string3, io_write); if (pFile) { new var[32]; format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var); fclose(pFile); new File: hFile = fopen(string3, io_append); PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid); format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var); format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var); format(var, 32, "Money=%d\n",PlayerInfo[playerid][pCash]);fwrite(hFile, var); fclose(hFile); } } } return 1; } stock ini_GetKey( line[] ) { new keyRes[128]; keyRes[0] = 0; if ( strfind( line , "=" , true ) == -1 ) return keyRes; strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) ); return keyRes; } stock ini_GetValue( line[] ) { new valRes[128]; valRes[0]=0; if ( strfind( line , "=" , true ) == -1 ) return valRes; strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) ); return valRes; } strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; } public ShowStats(playerid,targetid) { if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid)) { new cash = GetPlayerMoney(targetid); new deaths = PlayerInfo[targetid][pDeaths]; new kills = PlayerInfo[targetid][pKills]; new name[MAX_PLAYER_NAME]; GetPlayerName(targetid, name, sizeof(name)); new Float:px,Float:py,Float:pz; GetPlayerPos(targetid, px, py, pz); new coordsstring[256]; SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); format(coordsstring, sizeof(coordsstring),"*** %s ***",name); SendClientMessage(playerid, COLOR_WHITE,coordsstring); format(coordsstring, sizeof(coordsstring), "Kills:[%d] Deaths:[%d] Cash:[$%d]",kills,deaths,cash); SendClientMessage(playerid, COLOR_GRAD5,coordsstring); SendClientMessage(playerid, COLOR_GREEN,"_______________________________________"); } }