Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <foreach>
- #include <YSI\y_ini>
- #include <a_mysql>
- #define COLOUR_RED 0xAA3333AA
- #define COLOUR_BLUE 0x0080FFFF
- #define COLOUR_WHITE 0xFFFFFFFF
- #define COLOUR_PlayerAction 0xC2A2DAAA
- #define COLOUR_CLIENT 0xAAC4E5FF
- #define COLOUR_CYAN 0x33CCFFFF
- #define COLOUR_LIGHTRED 0xFF6347FF
- #define COLOUR_LIGHTGREEN 0x9ACD32FF
- #define COLOUR_YELLOW 0xFFFF00FF
- #define COLOUR_GREY 0xAFAFAFFF
- #define COLOUR_HOSPITAL 0xFF8282FF
- #define COLOUR_PURPLE 0xD0AEEBFF
- #define COLOUR_LIGHTYELLOW 0xF5DEB3FF
- #define COLOUR_DARKBLUE 0x1394BFFF
- #define COLOUR_ORANGE 0xFFA500FF
- #define COLOUR_LIME 0x00FF00FF
- #define COLOUR_GREEN 0x33CC33FF
- #define COLOUR_FACTION 0xBDF38BFF
- #define COLOUR_RADIO 0x8D8DFFFF
- #define COLOUR_LIGHTBLUE 0x007FFFFF
- #define COLOUR_SERVER 0xFFFF90FF
- #define COLOUR_DEPARTMENT 0xF0CC00FF
- #define COLOUR_ADMINCHAT 0x33EE33FF
- #define DEFAULT_COLOUR 0xFFFFFFFF
- #define TEAM_HIT_COLOR 0xFFFFFF00
- #define COLOUR_FADE 0xC8C8C8C8
- #define COLOUR_FADE1 0xE6E6E6E6
- #define COLOUR_FADE2 0xC8C8C8C8
- #define COLOUR_FADE3 0xAAAAAAAA
- #define COLOUR_FADE4 0x8C8C8C8C
- #define MYSQL_HOST "localhost"
- #define MYSQL_USER "root"
- #define MYSQL_DATABASE "testserver"
- #define MYSQL_PASSWORD "DankMemes"
- #define SPAWN_X 741.2821
- #define SPAWN_Y -1414.3379
- #define SPAWN_Z 13.5182
- #define SPAWN_A 249.3220
- #define SendSyntaxMessage(%0,%1) \
- SendClientMessage(%0, COLOUR_RED, "[SYNTAX]:{FFFFFF} "%1)
- #define SendErrorMessage(%0,%1) \
- SendClientMessage(%0, COLOUR_RED, "[ERROR]:{FFFFFF} "%1)
- #define SendSuccessMessage(%0,%1) \
- SendClientMessage(%0, COLOUR_YELLOW, "[SUCCESS]:{FFFFFF} "%1)
- // enums
- enum PlayerInfo{
- id,
- Name[MAX_PLAYER_NAME],
- Password[129],
- AdminLevel,
- Float:PlayerX,
- Float:PlayerY,
- Float:PlayerZ,
- }
- new PlayerStats[MAX_PLAYERS][PlayerInfo];
- enum Dialogs{
- LoginDialog,
- RegisterDialog,
- }
- //new variables
- new LastVehicleDriver[MAX_VEHICLES] = {INVALID_PLAYER_ID};
- new VehicleID[MAX_VEHICLES];
- new VehicleLights[MAX_VEHICLES];
- new MySQLCon;
- new IsRegistered[MAX_PLAYERS];
- //stocks
- stock strreplace(string[], find, replace)
- {
- for(new i=0; string[i]; i++)
- {
- if(string[i] == find)
- {
- string[i] = replace;
- }
- }
- }
- stock ProxDetector(Float:radi, playerid, string[],color)
- {
- new Float:x,Float:y,Float:z;
- GetPlayerPos(playerid,x,y,z);
- foreach(Player,i)
- {
- if(IsPlayerInRangeOfPoint(i,radi,x,y,z))
- {
- SendClientMessage(i,color,string);
- }
- }
- }
- stock NearbyMessage(playerid,colour,text[])
- {
- new Float: PlayerPosition[3];
- GetPlayerPos(playerid,PlayerPosition[0],PlayerPosition[1],PlayerPosition[2]);
- for(new i; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerInRangeOfPoint(i,PlayerPosition[0],PlayerPosition[1],PlayerPosition[2]))
- {
- SendClientMessage(i,colour,text);
- }
- }
- return 1;
- }
- stock GetName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- strreplace(name, '_', ' ');
- return name;
- }
- main()
- {
- print("\n----------------------------------");
- print(" Bennett's server gona ftw");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- mysql_log(LOG_ALL);
- MySQLCon = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
- if(mysql_errno() != 0)
- {
- printf("[MySQL] The connection has failed.");
- }
- else
- {
- printf("[MySQL] The connection was successful.");
- }
- ShowPlayerMarkers(0);
- EnableStuntBonusForAll(0);
- DisableInteriorEnterExits();
- return 1;
- }
- stock LoadChar(playerid)
- {
- new query[500];
- mysql_format(MySQLCon, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", GetName(playerid));
- mysql_query(MySQLCon, query);
- PlayerStats[playerid][AdminLevel] = cache_get_field_content_int(0, "AdminLevel");
- PlayerStats[playerid][PlayerX] = cache_get_field_content_float(0, "PlayerX");
- PlayerStats[playerid][PlayerY] = cache_get_field_content_float(0, "PlayerY");
- PlayerStats[playerid][PlayerZ] = cache_get_field_content_float(0, "PlayerZ");
- return 1;
- }
- stock SaveChar(playerid)
- {
- new query[600];
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- mysql_format(MySQLCon, query, sizeof(query), "UPDATE `accounts` WHERE `Name` = '%e' SET 'AdminLevel' = '%d', 'PlayerX' = '%f', 'PlayerY' = '%f', 'PlayerZ' = '%f' ",
- PlayerStats[playerid][AdminLevel],x,y,z,GetName(playerid));
- mysql_query(MySQLCon, query);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new query[200];
- mysql_format(MySQLCon, query, sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%e' LIMIT 1", GetName(playerid));
- mysql_tquery(MySQLCon,query,"OnPlayerDataLoaded","d",playerid);
- return 1;
- }
- forward OnPlayerDataLoaded(playerid);
- public OnPlayerDataLoaded(playerid)
- {
- if(cache_num_rows() > 0)
- {
- PlayerStats[playerid][Password] = cache_get_field_content(0,"Password");
- ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_PASSWORD, "Login", "This account is registered.\nPlease login by entering your password in the field below.", "Login", "Cancel");
- }
- else
- {
- ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_PASSWORD, "Registration", "This account is not registered.\nYou can register this account by entering a password below:", "Register", "Cancel");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SaveChar(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerPos(playerid,SPAWN_X,SPAWN_Y,SPAWN_Z);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new string[128];
- format(string,sizeof(string),"%e says: %e", GetName(playerid),text);
- NearbyMessage(playerid,COLOUR_WHITE,string);
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- LastVehicleDriver[vehicleid] = playerid;
- }
- 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)
- {
- 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[])
- {
- switch(dialogid)
- {
- case LoginDialog:
- {
- if(!response) return Kick(playerid);
- if(strcmp(inputtext,PlayerStats[playerid][Password]) == 0)
- {
- ShowPlayerDialog(playerid, 991199, DIALOG_STYLE_MSGBOX, "Success", "You have been logged in successfully!", "Continue", "");
- LoadChar(playerid);
- SetSpawnInfo(playerid,NO_TEAM,37,PlayerStats[playerid][PlayerX], PlayerStats[playerid][PlayerY], PlayerStats[playerid][PlayerZ], 0.0, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- IsRegistered[playerid] = 1;
- return 1;
- }
- ShowPlayerDialog(playerid, LoginDialog, DIALOG_STYLE_PASSWORD, "Login", "This account is registered.\nPlease login by entering your password in the field below.", "Login", "Cancel");
- }
- case RegisterDialog:
- {
- if(!response) return Kick(playerid);
- if (strlen(inputtext) <= 5)
- ShowPlayerDialog(playerid, RegisterDialog, DIALOG_STYLE_PASSWORD, "Registration", "Your password must be longer than 5 characters!\nPlease enter your password in the field below:", "Register", "Abort");
- new query[221];
- PlayerStats[playerid][id] = cache_insert_id();
- mysql_format(MySQLCon, query, sizeof query, "INSERT INTO `accounts` (`id`, `Name`, `Password`, `AdminLevel`, `PlayerX`, `PlayerY`, `PlayerZ`) VALUES ('%d','%e','%s','%d','%f','%f','%f');",PlayerStats[playerid][id], GetName(playerid), inputtext,0,SPAWN_X,SPAWN_Y,SPAWN_Z);
- mysql_tquery(MySQLCon, query, "OnPlayerRegister", "d", playerid);
- }
- }
- return 1; //
- }
- forward OnPlayerRegister(playerid);
- public OnPlayerRegister(playerid)
- {
- ShowPlayerDialog(playerid, 991199, DIALOG_STYLE_MSGBOX, "Registration", "Account successfully registered, you have been automatically logged in.", "Continue", "");
- SetSpawnInfo(playerid, NO_TEAM, 0, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- CMD:armour(playerid,params[])
- {
- new armourvalue;
- if (!sscanf(params, "i", armourvalue))
- {
- if(armourvalue > 200)
- return SendErrorMessage(playerid,"You cannot give yourself more than 200 armour!");
- else{
- new string[128];
- SetPlayerArmour(playerid, armourvalue);
- format(string,sizeof(string),"You have been given %i armour.", armourvalue);
- SendClientMessage(playerid,COLOUR_BLUE,string);
- }
- return 1;
- }
- else SendSyntaxMessage(playerid,"/armour <armour amount>");
- return 1;
- }
- CMD:health(playerid, params[])
- {
- new healthvalue;
- if (!sscanf(params, "i", healthvalue))
- {
- if(healthvalue > 200)
- return SendErrorMessage(playerid,"You cannot give yourself more than 200 health!");
- else{
- new string[128];
- SetPlayerHealth(playerid, healthvalue);
- format(string,sizeof(string),"You have been given %i health.", healthvalue);
- SendClientMessage(playerid,COLOUR_BLUE,string);
- }
- return 1;
- }
- else SendSyntaxMessage(playerid,"/health <health amount>");
- return 1;
- }
- CMD:v(playerid,params[])
- {
- new vehid, colour1,colour2;
- if (!sscanf(params, "iii", vehid,colour1,colour2))
- {
- if(vehid > 611 || vehid < 400)
- return SendErrorMessage(playerid,"You must enter a vehicle id between 400 and 611.");
- else{
- new Float:x, Float:y, Float:z, Float:angle;
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid,angle);
- CreateVehicle(vehid, x, y, z, angle, colour1, colour2, -1);
- SendClientMessage(playerid,COLOUR_BLUE,"Vehicle spawned at your location!");
- VehicleID[GetPlayerVehicleID(playerid)] = vehid;
- }
- return 1;
- }
- else SendSyntaxMessage(playerid,"/v <carid> <colour1> <colour2>");
- return 1;
- }
- CMD:lastdriver(playerid,params[])
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new string[144], name[24];
- GetPlayerName(LastVehicleDriver[VehicleID[GetPlayerVehicleID(playerid)]],name,sizeof(name));
- format(string,sizeof(string), "The last driver of vehicle %d was %s", GetPlayerVehicleID(playerid), name);
- SendClientMessage(playerid,COLOUR_BLUE,string);
- }
- else SendErrorMessage(playerid,"You are not in a vehicle!");
- return 1;
- }
- CMD:w(playerid,params[])
- {
- new weaponid, receiveid;
- if(!sscanf(params,"ii",receiveid, weaponid))
- {
- new string[128], name[MAX_PLAYER_NAME], weaponname[24];
- GivePlayerWeapon(playerid,weaponid,999999);
- GetWeaponName(weaponid,weaponname,sizeof(weaponname));
- GetPlayerName(playerid,name,MAX_PLAYER_NAME);
- format(string,sizeof(string),"You have been given a %s by %s.", weaponname, name);
- }
- else SendSyntaxMessage(playerid,"/w <targetid> <weaponid>");
- return 1;
- }
- CMD:hparm(playerid,params[])
- {
- new Float:healthamount, Float:armouramount, string[128];
- GetPlayerHealth(playerid,healthamount);
- GetPlayerArmour(playerid,armouramount);
- format(string,sizeof(string),"You have {AA3333}%i{FFFFFF} health and {AA3333}%i{FFFFFF} armour", floatround(healthamount), floatround(armouramount));
- SendClientMessage(playerid,-1,string);
- return 1;
- }
- CMD:s(playerid,params[])
- {
- new skinid;
- if(!sscanf(params,"i",skinid))
- {
- if(skinid == 0 || skinid > 311)
- return SendErrorMessage(playerid,"You must select a skin ID between 1 and 311.");
- new string[128];
- SetPlayerSkin(playerid,skinid);
- format(string,sizeof(string),"Your skin has been changed to ID: {AA3333}%i{FFFFFF}.",skinid);
- SendClientMessage(playerid,COLOUR_WHITE,string);
- }
- else SendSyntaxMessage(playerid,"/s <skinid>");
- return 1;
- }
- CMD:nos(playerid,params[])
- {
- new NOSAmount;
- if(!sscanf(params,"i",NOSAmount))
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new playerstate = GetPlayerState(playerid);
- if(playerstate == PLAYER_STATE_DRIVER)
- {
- new string[128];
- if(NOSAmount == 2)
- AddVehicleComponent(GetPlayerVehicleID(playerid),1009);
- if(NOSAmount == 5)
- AddVehicleComponent(GetPlayerVehicleID(playerid),1008);
- if(NOSAmount == 10)
- AddVehicleComponent(GetPlayerVehicleID(playerid),1010);
- format(string,sizeof(string),"{AA3333}[SUCCESS]: {FFFF00}You have installed x%i NOS.",NOSAmount);
- SendClientMessage(playerid,COLOUR_YELLOW,string);
- return 1;
- }
- else SendErrorMessage(playerid,"You must be the driver to do this!");
- return 1;
- }
- else SendErrorMessage(playerid,"You are not in a vehicle!");
- return 1;
- }
- else SendSyntaxMessage(playerid,"/nos <2,5,10>");
- return 1;
- }
- CMD:sa(playerid,params[])
- {
- if(GetPlayerAnimationIndex(playerid) != 0) // Checks if the player is in an animation
- {
- ClearAnimations(playerid); // Stops the players animation
- }
- else SendClientMessage(playerid,-1,"You are not in an animation!");
- return 1;
- }
- CMD:settime(playerid,params[])
- {
- new time;
- if(!sscanf(params,"i",time))
- {
- SetWorldTime(time);
- }
- else
- SendSyntaxMessage(playerid,"/time <hour>");
- return 1;
- }
- CMD:vlights(playerid,params[])
- {
- new vehicleid, engine, lights, alarm, doors, bonnet, boot, objective;
- vehicleid = GetPlayerVehicleID(playerid);
- if(IsPlayerInAnyVehicle(playerid))
- if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- if(VehicleLights[vehicleid] == 0)
- {
- VehicleLights[vehicleid] = 1;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(vehicleid, engine, true, alarm, doors, bonnet, boot, objective);
- }
- else if(VehicleLights[vehicleid] == 1)
- {
- VehicleLights[vehicleid] = 0;
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(vehicleid, engine, false, alarm, doors, bonnet, boot, objective);
- }
- else SendErrorMessage(playerid,"You need to be in a vehicle to do this!");
- return 1;
- }
- CMD:get(playerid,params[])
- {
- new getplayerid;
- if(!sscanf(params,"i",getplayerid))
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- SetPlayerPos(getplayerid, x + 2.0, y, z);
- }
- else SendSyntaxMessage(playerid,"/get <player id>");
- return 1;
- }
- CMD:goto(playerid,params[])
- {
- new targetid;
- if(!sscanf(params,"i",targetid))
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(targetid,x,y,z);
- SetPlayerPos(playerid,x + 2.0,y,z);
- }
- else SendSyntaxMessage(playerid,"/goto <player id>");
- return 1;
- }
- CMD:setpos(playerid,params[])
- {
- new Float: pos[3],int;
- if(!sscanf(params,"fff",pos[0],pos[1],pos[2],int))
- {
- SetPlayerPos(playerid,pos[0],pos[1],pos[2]);
- SetPlayerInterior(playerid, int);
- }
- else SendSyntaxMessage(playerid,"/setpos <x> <y> <z>");
- return 1;
- }
- CMD:setdl(playerid,params[])
- {
- new Float: dlvalue;
- if(!sscanf(params,"f",dlvalue))
- {
- new string[128];
- if(IsPlayerInAnyVehicle(playerid))
- {
- SetVehicleHealth(GetPlayerVehicleID(playerid),dlvalue);
- new vehiclename, vehicleid;
- vehicleid = GetPlayerVehicleID(playerid);
- vehiclename = GetVehicleModel(vehicleid);
- format(string,sizeof(string),"You have set the %s with the ID: %i to %f health.",vehiclename,vehicleid,dlvalue);
- SendClientMessage(playerid,COLOUR_YELLOW,string);
- return 1;
- }
- else SendErrorMessage(playerid,"You must be in a vehicle to do this!");
- return 1;
- }
- else SendSyntaxMessage(playerid,"/setdl <dl amount>");
- return 1;
- }
- CMD:getmycoords(playerid,params[])
- {
- new Float: Position[3], string[128];
- GetPlayerPos(playerid,Position[0],Position[1],Position[2]);
- format(string,sizeof(string),"Your current position: X: %f, Y: %f, Z: %f", Position[0],Position[1],Position[2]);
- SendClientMessage(playerid,COLOUR_BLUE,string);
- return 1;
- }
- stock GetVehiclePassengers(vehicleid)
- {
- new passengers[MAX_VEHICLES];
- for(new i;i<MAX_PLAYERS;i++)
- {
- if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
- if(GetPlayerVehicleID(i) == vehicleid)
- {
- passengers[vehicleid] ++;
- }
- }
- return passengers[vehicleid];
- }
- stock udb_hash(buf[]) {
- new length=strlen(buf);
- new s1 = 1;
- new s2 = 0;
- new n;
- for (n=0; n<length; n++)
- {
- s1 = (s1 + buf[n]) % 65521;
- s2 = (s2 + s1) % 65521;
- }
- return (s2 << 16) + s1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement