Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- All rights to RDD.
- Wouter0100, Danny_Mqueen aka Wouter.
- Dont rerelease ore delete this credits.
- */
- #include <a_samp>
- #include <streamer>
- #include <a_mysql>
- #include <sscanf2>
- #include <OPSP>
- #include <OPVD>
- #include <zcmd>
- #include <geoip>
- #define VERSION "0.2"
- #define COLOR_GRAD1 0xB4B5B7FF
- #define COLOR_GRAD2 0xBFC0C2FF
- #define COLOR_GRAD3 0xCBCCCEFF
- #define COLOR_GRAD4 0xD8D8D8FF
- #define COLOR_GRAD5 0xE3E3E3FF
- #define COLOR_GRAD6 0xF0F0F0FF
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x9EC73DAA
- #define COLOR_GROVE 0x00FF00FF
- #define COLOR_RED 0xAA3333AA
- #define COLOR_COOLRED 0xB35959AA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_DARKRED 0x660000AA
- #define COLOR_BRIGHTRED 0xFF0000AA
- #define COLOR_INDIGO 0x4B00B0AA
- #define COLOR_VIOLET 0x9955DEEE
- #define COLOR_GRAYWHITE 0xEEEEFFC4
- #define COLOR_LIGHTNEUTRALBLUE 0xabcdef66
- #define COLOR_GREENISHGOLD 0xCCFFDD56
- #define COLOR_LIGHTBLUEGREEN 0x0FFDD349
- #define COLOR_NEUTRALBLUE 0xABCDEF01
- #define COLOR_LIGHTCYAN 0xAAFFCC33
- #define COLOR_LEMON 0xDDDD2357
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_LIGHTGREEN 0x9ACD32AA
- #define COLOR_YELLOW 0xDABB3EAA
- #define COLOR_YELLOW2 0xF5DEB3AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_FADE1 0xE6E6E6E6
- #define COLOR_FADE2 0xC8C8C8C8
- #define COLOR_FADE3 0xAAAAAAAA
- #define COLOR_FADE4 0x8C8C8C8C
- #define COLOR_FADE5 0x6E6E6E6E
- #define COLOR_PURPLE 0xC2A2DAAA
- #define COLOR_CHAT1 0xF9B7FFAA
- #define COLOR_CHAT2 0xE6A9ECAA
- #define COLOR_CHAT3 0xC38EC7AA
- #define COLOR_CHAT4 0xD2B9D3AA
- #define COLOR_CHAT5 0xC6AEC7AA
- #define COLOR_ALLDEPT 0xFF8282AA
- #define COLOR_NEWS 0x458E1DAA
- #define COLOR_OOC 0xE0FFFFAA
- #define KEY_AIM 128
- #define mysql_host "localhost"
- #define mysql_user "root"
- #define mysql_password "<hide>"
- #define mysql_database "rdd"
- enum p_data
- {
- Level,
- Adminlevel,
- Vip,
- Vipexp[19],
- Skin,
- Kill,
- Death,
- };
- new Playerdata[MAX_PLAYERS][p_data];
- new cars[25];
- new updateteller = 0;
- new CurrentMap = 0;
- new Ingame[MAX_PLAYERS];
- enum carpickup_data
- {
- pid,
- soort,
- };
- new Carpickup[MAX_PICKUPS][carpickup_data];
- enum pdata
- {
- pid,
- Text3D:ptext,
- psoort,
- Float:px,
- Float:py,
- Float:pz,
- pdeleted,
- };
- new Aantalpickup1[MAX_PICKUPS][pdata];
- new Aantalpickup = -1;
- new SpectatedPlayer[MAX_PLAYERS];
- new bool:IsPlayerSpectating[MAX_PLAYERS];
- new Text:Textdraw0;
- new Text:blackTD;
- new string[230];
- new logintimer[MAX_PLAYERS];
- new LoginKicked[MAX_PLAYERS];
- forward LoginKick(playerid);
- forward Update();
- new PointTimer[MAX_PLAYERS][3];
- forward PickupClear(playerid, pickupsoort);
- new VehicleNames[212][] = {
- "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck","Trashmaster","Stretch","Manana","Infernus",
- "Voodoo","Pony","Mule","Cheetah","Ambulance","Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Mr Whoopee","BF Injection",
- "Hunter","Premier","Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon","Coach","Cabbie",
- "Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo","Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder",
- "Reefer","Tropic","Flatbed","Yankee","Caddy","Solair","Berkley's RC Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider",
- "Glendale","Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3 50","Walton","Regina",
- "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","News Chopper","Rancher","FBI Rancher","Virgo","Greenwood",
- "Jetmax","Hotring","Sandking","Blista Compact","Police Maverick","Boxville","Benson","Mesa","RC Goblin","Hotring Racer A","Hotring Racer B",
- "Bloodring Banger","Rancher","Super GT","Elegant","Journey","Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain",
- "Nebula","Majestic","Buccaneer","Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
- "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent","Bullet","Clover",
- "Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility","Nevada","Yosemite","Windsor","Monster A",
- "Monster B","Uranus","Jester","Sultan","Stratum","Elegy","Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer",
- "Kart","Mower","Duneride","Sweeper","Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer A","Emperor",
- "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car (LSPD)","Police Car (SFPD)",
- "Police Car (LVPD)","Police Ranger","Picador","S.W.A.T. Van","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer A","Luggage Trailer B",
- "Stair Trailer","Boxville","Farm Plow","Utility Trailer"
- };
- main()
- {
- print("\n----------------------------------");
- print(" [DD] Real Destruction Derby [ENG]");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("RDD V"#VERSION);
- mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password);
- mysql_debug(1);
- SetTimer("Update", 1, true);
- AddPlayerClass(0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
- Textdraw0 = TextDrawCreate(320.000000, 437.000000, "Left Mouse Click | Back / Next | Right Mouse Click");
- TextDrawAlignment(Textdraw0, 2);
- TextDrawBackgroundColor(Textdraw0, 255);
- TextDrawFont(Textdraw0, 1);
- TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
- TextDrawColor(Textdraw0, -16776961);
- TextDrawSetOutline(Textdraw0, 1);
- TextDrawSetProportional(Textdraw0, 1);
- TextDrawUseBox(Textdraw0, 1);
- TextDrawBoxColor(Textdraw0, 255);
- TextDrawTextSize(Textdraw0, 651.000000, 638.000000);
- blackTD = TextDrawCreate(-20.000000,2.000000," Pleas wait a second.");
- TextDrawUseBox(blackTD,1);
- TextDrawBoxColor(blackTD,0x000000ff);
- TextDrawTextSize(blackTD,660.000000,22.000000);
- TextDrawAlignment(blackTD,0);
- TextDrawBackgroundColor(blackTD,0x000000ff);
- TextDrawFont(blackTD,3);
- TextDrawLetterSize(blackTD,1.000000,52.200000);
- TextDrawColor(blackTD,0x000000ff);
- TextDrawSetOutline(blackTD,1);
- TextDrawSetProportional(blackTD,1);
- TextDrawSetShadow(blackTD,1);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Playerdata[playerid][Level] = 0;
- ResetPlayerMoney(playerid);
- ResetPlayerWeapons(playerid);
- Playerdata[playerid][Adminlevel] = 0;
- Playerdata[playerid][Vip] = 0;
- Playerdata[playerid][Skin] = 0;
- Playerdata[playerid][Kill] = 0;
- Playerdata[playerid][Death] = 0;
- Ingame[playerid] = false;
- SetPlayerColor(playerid, COLOR_GREY);
- PointTimer[playerid][0] = false;
- PointTimer[playerid][1] = false;
- PointTimer[playerid][2] = false;
- LoginKicked[playerid] = false;
- new query[200], pname[24];
- GetPlayerName(playerid, pname, 24);
- format(query, sizeof(query), "SELECT id FROM `users` WHERE name = '%s' LIMIT 1", pname);
- mysql_query(query);
- mysql_store_result();
- new rows = mysql_num_rows();
- if(!rows)
- {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register","You are not registered, Please register with a password below.","Register","Cancel");
- }
- else
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login","You have 60 seconds to login!","Login","Cancel");
- logintimer[playerid] = SetTimerEx("LoginKick", 60000, false, "i", playerid);
- }
- mysql_free_result();
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(!LoginKicked[playerid])
- {
- MySQL_Save(playerid);
- new name[MAX_PLAYER_NAME], country[MAX_COUNTRY_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- country = GetPlayerCountryName(playerid);
- format(string, sizeof(string), "[QUIT] %s (%s)", name, country);
- SendClientMessageToElse(playerid, COLOR_GREEN, string);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(GetOnlinePlayers() == 1)
- {
- if(!Ingame[playerid])
- {
- StartMap();
- }
- }
- else
- {
- if(GetAlivePlayers()+1 == GetOnlinePlayers())
- {
- StartMap();
- }
- else
- {
- SpectateOn(playerid);
- }
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- Playerdata[playerid][Death]++;
- Playerdata[killerid][Kill]++;
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(vehicleid, false, lights, alarm, doors, bonnet, boot, objective);
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- DestroyVehicle(vehicleid);
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- /*-----------------Commands------------------*/
- CMD:engine(playerid, params[])
- {
- EnableCarEngine(playerid);
- return 1;
- }
- CMD:vehicle(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] > 0)
- {
- new id;
- if(!sscanf(params, "i", id))
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- DestroyVehicle(GetPlayerVehicleID(playerid));
- }
- new Float:X, Float:Y, Float:Z, Float:Ang, Int, pVeh;
- Int = GetPlayerInterior(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerFacingAngle(playerid, Ang);
- GetPlayerInterior(playerid);
- pVeh = CreateVehicle(id, X, Y, Z, Ang, 0, 0, -1);
- LinkVehicleToInterior(pVeh, Int);
- PutPlayerInVehicle(playerid, pVeh, 0);
- EnableCarEngine(playerid);
- }
- else SendClientMessage(playerid, COLOR_RED, "USAGE: /vehicle [modelid]");
- }
- else return 0;
- return 1;
- }
- CMD:stats(playerid, params[])
- {
- SendClientMessage(playerid, COLOR_GREEN, "__________________|Stats|_________________");
- format(string, sizeof(string), "Level: %i - Skin: %i - Money: %i", Playerdata[playerid][Level], Playerdata[playerid][Skin], GetPlayerMoney(playerid));
- SendClientMessage(playerid, COLOR_GREY, string);
- if(Playerdata[playerid][Vip] > 0)
- {
- format(string, sizeof(string), "Admin: %i - Vip: Yes - Kill: %i - Death: %i", Playerdata[playerid][Adminlevel], Playerdata[playerid][Kill], Playerdata[playerid][Death]);
- SendClientMessage(playerid, COLOR_GREY, string);
- switch(Playerdata[playerid][Vip])
- {
- case 1:
- {
- format(string, sizeof(string), "Vip Expert: %s - Vip Rank: Bronze", Playerdata[playerid][Vipexp]);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- case 2:
- {
- format(string, sizeof(string), "Vip Expert: %s - Vip Rank: Gold", Playerdata[playerid][Vipexp]);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- case 3:
- {
- format(string, sizeof(string), "Vip Expert: %s - Vip Rank: Platinum", Playerdata[playerid][Vipexp]);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- default:
- {
- format(string, sizeof(string), "Vip Expert: %s - Vip Rank: -Error Contact a Admin-", Playerdata[playerid][Vipexp]);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- }
- }
- else
- {
- format(string, sizeof(string), "Admin: %f - Vip: No - Kill: %i - Death: %i", Playerdata[playerid][Adminlevel], Playerdata[playerid][Kill], Playerdata[playerid][Death]);
- SendClientMessage(playerid, COLOR_GREY, string);
- }
- SendClientMessage(playerid, COLOR_GREEN, "___________________________________________");
- return 1;
- }
- CMD:tele(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] > 2)
- {
- new id, gotoid;
- if(!sscanf(params, "uu", id, gotoid))
- {
- new Float:X, Float:Y, Float:Z, Int;
- Int = GetPlayerInterior(gotoid);
- GetPlayerPos(gotoid, X, Y, Z);
- SetPlayerInterior(id, Int);
- SetPlayerPos(id, X, Y, Z+3);
- }
- else SendClientMessage(playerid, COLOR_RED, "USAGE: /tele [Playerid] [GotoPlayerID]");
- }
- else return 0;
- return 1;
- }
- CMD:setskin(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 3)
- {
- new giveid, skinid;
- if(!sscanf(params, "ui", giveid, skinid))
- {
- SetPlayerSkin(giveid, skinid);
- Playerdata[giveid][Skin] = skinid;
- SendClientMessage(giveid, COLOR_GREY, "Your skin is changed by an administrator");
- SendClientMessage(playerid, COLOR_GREY, "Skin changed.");
- }
- else SendClientMessage(playerid, COLOR_RED, "USAGE: /setskin [PlayerID][SkinID]");
- }
- else return 0;
- return 1;
- }
- CMD:setlevel(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 4)
- {
- new giveid, level;
- if(!sscanf(params, "ui", giveid, level))
- {
- SetPlayerScore(giveid, level);
- Playerdata[giveid][Level] = Level;
- SendClientMessage(giveid, COLOR_GREY, "Your score is changed by an administrator.");
- SendClientMessage(playerid, COLOR_GREY, "Skin changed.");
- }
- else SendClientMessage(playerid, COLOR_RED, "USAGE: /setlevel [PlayerID][Score]");
- }
- else return 0;
- return 1;
- }
- CMD:setadminlevel(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 1338)
- {
- new giveid, level;
- if(!sscanf(params, "ui", giveid, level))
- {
- Playerdata[giveid][Adminlevel] = Level;
- SendClientMessage(giveid, COLOR_GREY, "Your AdminLevel is changed by an administrator.");
- SendClientMessage(playerid, COLOR_GREY, "AdminLevel changed.");
- }
- else SendClientMessage(playerid, COLOR_RED, "USAGE: /setadminlevel [PlayerID][AdminLevel]");
- }
- else return 0;
- return 1;
- }
- CMD:gmx(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 1338)
- {
- SendClientMessageToAll(COLOR_RED, "Server is restarting, We are back in some seconds!");
- SendRconCommand("gmx");
- }
- else return 0;
- return 1;
- }
- CMD:jeroen(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 2)
- {
- SetPlayerPos(playerid, 3459.53002930,-1600.04138184,17.99844933);
- }
- else return 0;
- return 1;
- }
- CMD:createpickup(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 5)
- {
- new id;
- if(!sscanf(params, "i", id))
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid, x, y, z);
- CreateNewPickup(id, x, y, z);
- SendClientMessage(playerid, COLOR_GREY, "Pickup created.");
- }
- else SendClientMessage(playerid, COLOR_RED, "USAGE: /createpickup [pickupid/vehiclemodelid]");
- }
- else return 0;
- return 1;
- }
- CMD:deleteallpickups(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 5)
- {
- DeleteallPickups();
- }
- else return 0;
- return 1;
- }
- CMD:deleteallvehicles(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 1337)
- {
- Deleteallcars();
- }
- else return 0;
- return 1;
- }
- CMD:start(playerid, params[])
- {
- StartMap();
- return 1;
- }
- CMD:ah(playerid, params[])
- {
- if(Playerdata[playerid][Adminlevel] >= 1)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 1: /vehicle");
- }
- if(Playerdata[playerid][Adminlevel] >= 2)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 2: /jeroen");
- }
- if(Playerdata[playerid][Adminlevel] >= 3)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 3: /setskin");
- }
- if(Playerdata[playerid][Adminlevel] >= 4)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 4: /setlevel");
- }
- if(Playerdata[playerid][Adminlevel] >= 5)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 5: /createpickup /deleteallpickups");
- }
- if(Playerdata[playerid][Adminlevel] >= 1337)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 1337: /deleteallvehicles");
- }
- if(Playerdata[playerid][Adminlevel] >= 1338)
- {
- SendClientMessage(playerid, COLOR_GREY, "LEVEL 1338: /gmx /setadminlevel");
- }
- if(Playerdata[playerid][Adminlevel] <= 0)
- {
- return 0;
- }
- return 1;
- }
- CMD:help(playerid, params[])
- {
- SendClientMessage(playerid, COLOR_GREY, "/stats /engine");
- return 1;
- }
- /*---------------End-Commands----------------*/
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys == KEY_FIRE && IsPlayerSpectating[playerid])
- {
- SpectatePrevious(playerid);
- }
- if(newkeys == KEY_AIM && IsPlayerSpectating[playerid])
- {
- SpectateNext(playerid);
- }
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == 1)
- {
- if(response)
- {
- if(!strlen(inputtext) || strlen(inputtext) > 100)
- {
- ShowPlayerDialog(playerid, 15000, DIALOG_STYLE_INPUT, "Register","{FF0000}Please enter a password between 1-100 characters!","Register","Cancel");
- }
- else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
- {
- new escpass[100];
- mysql_real_escape_string(inputtext, escpass);
- MySQL_Register(playerid, escpass);
- }
- }else return Kick(playerid);
- }
- if(dialogid == 2)
- {
- if(response)
- {
- new query[200], pname[24], escapepass[100];
- GetPlayerName(playerid, pname, 24);
- mysql_real_escape_string(inputtext, escapepass);
- format(query, sizeof(query), "SELECT `name` FROM users WHERE name = '%s' AND password = SHA1('%s')", pname, escapepass);
- mysql_query(query);
- mysql_store_result();
- new numrows = mysql_num_rows();
- if(numrows == 1)
- {
- MySQL_Login(playerid);
- }
- else
- {
- SendClientMessage(playerid, 0xFF0000, "Incorrect password!");
- Kick(playerid);
- }
- mysql_free_result();
- KillTimer(logintimer[playerid]);
- }else Kick(playerid);
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
- {
- return 1;
- }
- public OnPlayerVehicleDamage(playerid,vehicleid,Float:Damage)
- {
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(success == 0)
- {
- format(string, sizeof(string), "- The command %s don't exist, use /help for all your commands.", cmdtext);
- SendClientMessage(playerid, COLOR_RED, string);
- }
- return 1;
- }
- stock MySQL_Register(playerid, passwordstring[])
- {
- new query[200], pname[24], IP[15];
- GetPlayerName(playerid, pname, 24);
- GetPlayerIp(playerid, IP, 15);
- format(query, sizeof(query), "INSERT INTO users (name, password, IP) VALUES('%s', SHA1('%s'), '%s')", pname, passwordstring, IP);
- mysql_query(query);
- SendClientMessage(playerid, -1, "Succesfull registered!");
- MySQL_Login(playerid);
- return 1;
- }
- stock MySQL_Login(playerid)
- {
- new query[250], pname[24], savingstring[250], money;
- GetPlayerName(playerid, pname, 24);
- format(query, sizeof(query), "SELECT * FROM users WHERE name='%s' LIMIT 1", pname);
- mysql_query(query);
- mysql_store_result();
- if(mysql_fetch_row_format(savingstring))
- {
- sscanf(savingstring,"p<|>{is[24]s[250]}iiis[19]{s[15]}iiii",
- Playerdata[playerid][Skin],
- Playerdata[playerid][Adminlevel],
- Playerdata[playerid][Vip],
- Playerdata[playerid][Vipexp],
- money,
- Playerdata[playerid][Level],
- Playerdata[playerid][Kill],
- Playerdata[playerid][Death]);
- }
- mysql_free_result();
- format(string, sizeof(string), "Welcome back %s!", pname);
- SendClientMessage(playerid, COLOR_FADE1, string);
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, money);
- SetPlayerScore(playerid, Playerdata[playerid][Level]);
- if(Playerdata[playerid][Adminlevel] > 0)
- {
- format(string, sizeof(string), "You are a staff member, rank: %i", Playerdata[playerid][Adminlevel]);
- SendClientMessage(playerid, COLOR_FADE1, string);
- }
- new name[MAX_PLAYER_NAME], country[MAX_COUNTRY_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- country = GetPlayerCountryName(playerid);
- format(string, sizeof(string), "[JOIN] %s (%s)", name, country);
- SendClientMessageToElse(playerid, COLOR_GREEN, string);
- SetSpawnInfo(playerid, 0, Playerdata[playerid][Skin], 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- SetPlayerColor(playerid, COLOR_WHITE);
- return 1;
- }
- stock MySQL_Save(playerid)
- {
- new query[200], pname[24];
- GetPlayerName(playerid, pname, 24);
- format(query, sizeof(query), "UPDATE `users` SET `level`='%i', `money`='%i', `skin`='%i', `adminlevel`='%i', `vip`='%i', `vipexp`='%s', `kill`='%i', `death`='%i' WHERE `name`='%s'",
- Playerdata[playerid][Level],
- GetPlayerMoney(playerid),
- Playerdata[playerid][Skin],
- Playerdata[playerid][Adminlevel],
- Playerdata[playerid][Vip],
- Playerdata[playerid][Vipexp],
- Playerdata[playerid][Kill],
- Playerdata[playerid][Death],
- pname);
- mysql_query(query);
- return 1;
- }
- public LoginKick(playerid)
- {
- LoginKicked[playerid] = true;
- Kick(playerid);
- return 1;
- }
- public Update()
- {
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- for(new p=0; p<=Aantalpickup; p++)
- {
- if(Aantalpickup1[p][pdeleted] == 1) continue;
- if(IsPlayerInRangeOfPoint(i, 2, Aantalpickup1[p][px], Aantalpickup1[p][py], Aantalpickup1[p][pz]))
- {
- if(Aantalpickup1[p][psoort] == 0)
- {
- if(PointTimer[i][0]) continue;
- if(IsPlayerInAnyVehicle(i))
- {
- new vehicleid = GetPlayerVehicleID(i);
- RepairVehicle(vehicleid);
- PlayerPlaySound(i, 1133, 0.0, 0.0, 0.0);
- PointTimer[i][0] = true;
- SetTimerEx("PickupClear", 5000, false, "ii", i, 0);
- }
- }
- else if(Aantalpickup1[p][psoort] == 1)
- {
- if(PointTimer[i][1]) continue;
- if(IsPlayerInAnyVehicle(i))
- {
- new vehicleid = GetPlayerVehicleID(i);
- AddVehicleComponent(vehicleid, 1009);
- PlayerPlaySound(i, 1133, 0.0, 0.0, 0.0);
- PointTimer[i][1] = true;
- SetTimerEx("PickupClear", 5000, false, "ii", i, 1);
- }
- }
- else if(Aantalpickup1[p][psoort] == 2)
- {
- if(PointTimer[i][2]) continue;
- if(IsPlayerInAnyVehicle(i))
- {
- new vehicleid = GetPlayerVehicleID(i);
- if(GetVehicleModel(vehicleid) == Carpickup[p][soort]) continue;
- DestroyVehicle(vehicleid);
- new Float:X, Float:Y, Float:Z, Float:Ang, pVeh;
- GetPlayerPos(i, X, Y, Z);
- GetPlayerFacingAngle(i, Ang);
- pVeh = CreateVehicle(Carpickup[p][soort], X, Y, Z, Ang, 0, 0, -1);
- PutPlayerInVehicle(i, pVeh, 0);
- PlayerPlaySound(i, 1133, 0.0, 0.0, 0.0);
- EnableCarEngine(i);
- PointTimer[i][2] = true;
- SetTimerEx("PickupClear", 5000, false, "ii", i, 2);
- }
- }
- }
- }
- }
- if(updateteller == 600)
- {
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- SetPlayerScore(i, Playerdata[i][Level]);
- if(IsPlayerInWater(i))
- {
- if(IsPlayerInAnyVehicle(i))
- {
- new vehicleid = GetPlayerVehicleID(i);
- DestroyVehicle(vehicleid);
- }
- SetPlayerHealth(i, -10);
- }
- }
- updateteller = 0;
- }
- updateteller++;
- return 1;
- }
- stock IsPlayerInWater(playerid)
- {
- new Float:FXF_wpos[3];
- GetPlayerPos(playerid,FXF_wpos[0],FXF_wpos[1],FXF_wpos[2]);
- if((FXF_wpos[2] > 0.00) || IsPlayerInZone(playerid,1808.2019,1424.5392,-2230.5024,-2347.7979)) { return 0; }
- else if((FXF_wpos[2] < 0.00)) { return 1; }
- return 0;
- }
- stock IsPlayerInZone(playerid, Float:minX, Float:minY, Float:maxX, Float:maxY)
- {
- new Float:FXF_ZoneX, Float:FXF_ZoneY, Float:FXF_ZoneZ;
- GetPlayerPos(playerid, FXF_ZoneX, FXF_ZoneY, FXF_ZoneZ);
- if((FXF_ZoneX >= minX && FXF_ZoneX <= maxX) && (FXF_ZoneY >= minY && FXF_ZoneY <= maxY) && FXF_ZoneZ <= 500)
- {
- return 1;
- }
- return 0;
- }
- stock SpectateOn(playerid)
- {
- new loop;
- TogglePlayerSpectating(playerid, 1);
- IsPlayerSpectating[playerid] = true;
- SpectatedPlayer[playerid] = 0;
- for(new i=SpectatedPlayer[playerid]+1; loop < 2; i++)
- {
- if(i >= MAX_PLAYERS)
- {
- i = 0;
- loop++;
- }
- if(IsPlayerConnected(i) && i != playerid)
- {
- if(IsPlayerInAnyVehicle(i))
- {
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
- }
- else
- {
- PlayerSpectatePlayer(playerid, i);
- }
- SpectatedPlayer[playerid] = i;
- new str[128];
- format(str, 128, "You are now spectating %s (ID:%d).", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- SendClientMessage(playerid, COLOR_FADE1, str);
- return 1;
- }
- }
- SendClientMessage(playerid, COLOR_FADE1, "No players");
- SpectateOff(playerid);
- return 0;
- }
- stock SpectateOff(playerid)
- {
- TogglePlayerSpectating(playerid, 0);
- SetSpawnInfo(playerid, 0, Playerdata[playerid][Skin], 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- SpectatedPlayer[playerid] = 0;
- TextDrawHideForPlayer(playerid, Textdraw0);
- TextDrawShowForPlayer(playerid, blackTD);
- IsPlayerSpectating[playerid] = false;
- }
- stock SpectateNext(playerid)
- {
- new loop;
- for(new i=SpectatedPlayer[playerid]+1; loop < 2; i++)
- {
- if(i >= MAX_PLAYERS)
- {
- i = 0;
- loop++;
- }
- if(IsPlayerConnected(i) && i != playerid)
- {
- if(IsPlayerInAnyVehicle(i))
- {
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
- }
- else
- {
- PlayerSpectatePlayer(playerid, i);
- }
- SpectatedPlayer[playerid] = i;
- new str[128];
- format(str, 128, "You are now spectating %s (ID:%d).", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- SendClientMessage(playerid, COLOR_FADE1, str);
- return 1;
- }
- }
- SendClientMessage(playerid, COLOR_FADE1, "No players");
- SpectateOff(playerid);
- return 0;
- }
- stock SpectatePrevious(playerid)
- {
- new loop;
- for(new i=SpectatedPlayer[playerid]-1; loop < 2; i--)
- {
- if(i < 0)
- {
- i = MAX_PLAYERS;
- loop++;
- }
- if(IsPlayerConnected(i) && i != playerid)
- {
- if(IsPlayerInAnyVehicle(i))
- {
- PlayerSpectateVehicle(playerid, GetPlayerVehicleID(i));
- }
- else
- {
- PlayerSpectatePlayer(playerid, i);
- }
- SpectatedPlayer[playerid] = i;
- new str[128];
- format(str, 128, "You are now spectating %s (ID:%d).", GetName(SpectatedPlayer[playerid]), SpectatedPlayer[playerid]);
- SendClientMessage(playerid, COLOR_FADE1, str);
- return 1;
- }
- }
- SendClientMessage(playerid, COLOR_FADE1, "No players");
- SpectateOff(playerid);
- return 0;
- }
- stock GetName(i)
- {
- new name[24];
- GetPlayerName(i, name, 24);
- return name;
- }
- stock CreateNewPickup(id, Float:x, Float:y, Float:z)
- {
- new pickup;
- if(id==1)
- {
- new Text3D:text;
- pickup = CreatePickup(1240, 1, x, y, z, -1);
- text = Create3DTextLabel("[REPAIR]", 0x008080FF, x, y, z+0.3,40.0,0);
- Aantalpickup++;
- Aantalpickup1[Aantalpickup][pid] = pickup;
- Aantalpickup1[Aantalpickup][ptext] = text;
- Aantalpickup1[Aantalpickup][psoort] = 0;
- Aantalpickup1[Aantalpickup][px] = x;
- Aantalpickup1[Aantalpickup][py] = y;
- Aantalpickup1[Aantalpickup][pz] = z;
- Aantalpickup1[Aantalpickup][pdeleted] = 0;
- }
- else if(id==2)
- {
- new Text3D:text;
- pickup = CreatePickup(1241, 1, x, y, z, -1);
- text = Create3DTextLabel("[NITRO]", 0x008080FF, x, y, z+0.3,40.0,0);
- Aantalpickup++;
- Aantalpickup1[Aantalpickup][pid] = pickup;
- Aantalpickup1[Aantalpickup][ptext] = text;
- Aantalpickup1[Aantalpickup][psoort] = 1;
- Aantalpickup1[Aantalpickup][px] = x;
- Aantalpickup1[Aantalpickup][py] = y;
- Aantalpickup1[Aantalpickup][pz] = z;
- Aantalpickup1[Aantalpickup][pdeleted] = 0;
- }
- else
- {
- new Text3D:text;
- pickup = CreatePickup(1239, 1, x, y, z, -1);
- format(string, sizeof(string), "[%s]", VehicleNames[id-400]);
- text = Create3DTextLabel(string, 0x008080FF, x, y, z+0.3,40.0,0);
- Carpickup[pickup][pid] = pickup;
- Carpickup[pickup][soort] = id;
- Aantalpickup++;
- Aantalpickup1[Aantalpickup][pid] = pickup;
- Aantalpickup1[Aantalpickup][ptext] = text;
- Aantalpickup1[Aantalpickup][psoort] = 2;
- Aantalpickup1[Aantalpickup][px] = x;
- Aantalpickup1[Aantalpickup][py] = y;
- Aantalpickup1[Aantalpickup][pz] = z;
- Aantalpickup1[Aantalpickup][pdeleted] = 0;
- }
- }
- stock DeleteallPickups()
- {
- for(new p=0; p<=Aantalpickup; p++)
- {
- DestroyPickup(p);
- Delete3DTextLabel(Aantalpickup1[p][ptext]);
- Aantalpickup1[p][pdeleted] = 1;
- }
- return 1;
- }
- stock Deleteallcars()
- {
- for(new v=0; v<=MAX_VEHICLES; v++)
- {
- if(GetVehicleModel(v) == 0) continue;
- DestroyVehicle(v);
- }
- }
- public PickupClear(playerid, pickupsoort)
- {
- PointTimer[playerid][pickupsoort] = false;
- return 1;
- }
- stock SendClientMessageToElse(playerid, color, string123[])
- {
- for(new p=0; p<=MAX_PLAYERS; p++)
- {
- if(p==playerid) continue;
- SendClientMessage(p, color, string123);
- }
- return 1;
- }
- stock EnableCarEngine(playerid)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(vehicleid, true, lights, alarm, doors, bonnet, boot, objective);
- }
- }
- stock Createnewobjects(mapid)
- {
- new query[100];
- format(query, sizeof(query), "SELECT * FROM objects WHERE mapid = '%i'", mapid);
- mysql_query(query);
- mysql_store_result();
- while(mysql_fetch_row_format(query))
- {
- new Model;
- new Float:pos[6];
- sscanf(query, "p<|>{ii}ia<f>[6]", Model, pos);
- CreateDynamicObject(Model, pos[0], pos[1], pos[2], pos[3], pos[4], pos[5]);
- }
- mysql_free_result();
- return 1;
- }
- stock Createnewcars(mapid)
- {
- new query[100];
- new tellen = 0;
- format(query, sizeof(query), "SELECT * FROM vehicles WHERE mapid = '%i'", mapid);
- mysql_query(query);
- mysql_store_result();
- while(mysql_fetch_row_format(query))
- {
- if(tellen >= 25)
- {
- return 1;
- }
- new Model;
- new Float:pos[4];
- new color[2];
- color[0] = random(127);
- color[1] = random(127);
- sscanf(query, "p<|>{ii}ia<f>[4]", Model, pos);
- SetVehicleNumberPlate(cars[tellen] = CreateVehicle(Model, pos[0], pos[1], pos[2]+3, pos[3], color[0], color[1], -1), "RDD V"#VERSION);
- tellen++;
- }
- mysql_free_result();
- return 1;
- }
- stock Createnewpickups(mapid)
- {
- new query[100];
- format(query, sizeof(query), "SELECT * FROM pickups WHERE mapid = '%i'", mapid);
- mysql_query(query);
- mysql_store_result();
- while(mysql_fetch_row_format(query))
- {
- new Soort;
- new Float:pos[3];
- sscanf(query, "p<|>{ii}ia<f>[3]", Soort, pos);
- CreateNewPickup(Soort, pos[0], pos[1], pos[2]);
- }
- mysql_free_result();
- return 1;
- }
- stock NextMap()
- {
- new query[100];
- CurrentMap++;
- format(query, sizeof(query), "SELECT * FROM map WHERE id = '%i' LIMIT 1", CurrentMap);
- mysql_query(query);
- mysql_store_result();
- new rows = mysql_num_rows();
- if(rows == 0)
- {
- CurrentMap=0;
- }
- return 1;
- }
- stock StartMap()
- {
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- SpectateOff(i);
- Ingame[i] = true;
- TogglePlayerControllable(i, false);
- }
- format(string, sizeof(string), "Wait... And....");
- GameTextForAll(string, 5500, 4);
- DestroyAllDynamicObjects();
- Deleteallcars();
- DeleteallPickups();
- NextMap();
- Createnewobjects(CurrentMap);
- Createnewcars(CurrentMap);
- Createnewpickups(CurrentMap);
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- PutPlayerInVehicle(i, cars[i], 0);
- }
- SetTimer("DestroyUnusedCars", 5000, false);
- }
- stock GetOnlinePlayers()
- {
- new aantal = 0;
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i)) continue;
- aantal++;
- }
- return aantal;
- }
- forward DestroyUnusedCars();
- public DestroyUnusedCars()
- {
- new bool:VehicleUsed[MAX_VEHICLES] = false;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- Ingame[i] = false;
- TextDrawHideForPlayer(i, blackTD);
- EnableCarEngine(i);
- format(string, sizeof(string), "GOOOOOO!");
- GameTextForPlayer(i, string, 3000, 4);
- TogglePlayerControllable(i, true);
- }
- if(IsPlayerInAnyVehicle(i)) VehicleUsed[GetPlayerVehicleID(i)] = true;
- }
- for(new i = 0; i < MAX_VEHICLES; i++)
- {
- if(VehicleUsed[i] == false) DestroyVehicle(i);
- }
- return 1;
- }
- stock GetAlivePlayers()
- {
- new aantal = 0;
- for(new i=0; i<=MAX_PLAYERS; i++)
- {
- if(!IsPlayerConnected(i) || IsPlayerSpectating[i] == false) continue;
- aantal++;
- }
- return aantal;
- }
Advertisement
Add Comment
Please, Sign In to add comment