Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <mysql>
- #include <zcmd>
- #include <sscanf2>
- #include <data>
- #define mysql_host "localhost" //your destination server
- #define mysql_user "root" //default user name of wampserver
- #define mysql_password "" //wampserver has no default password unless you have set one.
- #define mysql_database "sa-mpsql"//the name of your database
- new MySQL:mysql;
- new field[128];
- #define mysql_fetch_float(%0,%1) mysql_fetch_field(%0,field); \
- %1=floatstr(field)
- #define mysql_fetch_string(%0,%1) mysql_fetch_field(%0,%1)
- #define mysql_fetch_int(%0,%1) mysql_fetch_field(%0,field); \
- %1=strval(field)
- enum PlayerInfo
- {
- ID,
- Nick[24],
- pAdmin,
- pMoney,
- pKills,
- pDeaths,
- pScore,
- IP[16],
- Logged,
- IsRegistered
- };
- new pInfo[MAX_PLAYERS][PlayerInfo];
- #define MAX_ADMIN_LEVEL 7
- #define SETLEVEL_ADMIN 5
- #define SETKILLS_ADMIN 4
- public OnGameModeInit()
- {
- mysql = mysql_init(LOG_ALL);
- new Connection = mysql_connect(mysql_host, mysql_user, mysql_password, mysql_database, mysql);
- if(Connection)
- {
- new dest[200];
- mysql_stat(dest);
- printf(dest);
- printf(">> MySQL uspesno bese startan <<");
- }
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new Query[500];
- GetPlayerName(playerid, pInfo[playerid][Nick], 24);
- GetPlayerIp(playerid, pInfo[playerid][IP], 16);
- mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]);
- format(Query, 500, "SELECT `nick` FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s' LIMIT 1", pInfo[playerid][Nick]);
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows() > 0)
- {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Login", "Akauntot e vekje kreiran\nVnesete ja vasata lozinka za da se pustite na serverot!", "Login", "");
- }
- else
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Register", "Akauntot ne e registriran\nVnesete ja vasata lozinka za da se registrirate!", "Register", "");
- }
- mysql_free_result();
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SavePlayer(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/mycommand", cmdtext, true, 10) == 0)
- {
- // Do something here
- return 1;
- }
- return 0;
- }
- 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)
- {
- 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 == 2)
- {
- if(response)
- {
- if(!strlen(inputtext) || strlen(inputtext) > 68)
- {
- SendClientMessage(playerid, 0xFF0000, "Vasata lozinka mora da bide pod 68 i nad 1 karakter!");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Register", "Akauntot ne e registriran\nVnesete ja vasata lozinka za da se registrirate!", "Register", "");
- }
- else if(strlen(inputtext) > 0 && strlen(inputtext) < 68)
- {
- new escpass[100];
- mysql_real_escape_string(inputtext, escpass);
- MySQL_Register(playerid, escpass);
- }
- }
- if(!response)
- {
- SendClientMessage(playerid, 0xFF0000, "Prvo registracija pa potoa login!!!");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Register", "Akauntot ne e registriran\nVnesete ja vasata lozinka za da se registrirate!", "Register", "");
- }
- }
- if(dialogid == 1)
- {
- if(!response)
- {
- SendClientMessage(playerid, 0xFF0000, "Mora da se logirate pred spawn!!"); // OVA TUKA VIE ANTIBOT, AKO SAKATE BOTOVI IZBIRSETE GO :P
- Kick(playerid);
- }
- if(response) //If the player clicked login
- {
- if(!strlen(inputtext) || strlen(inputtext) > 68)
- {
- SendClientMessage(playerid, 0xFF0000, "Passwordot mora da bide nad 1 karakter i pod 68 !!");
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Login","Vnesete lozina za da se logirate na serverot!","Login","Izlez");
- return 1;
- }
- new Query[400];
- mysql_real_escape_string(inputtext, inputtext);
- mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]);
- format(Query, 400, "SELECT * FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s' AND `password` = '%d'", pInfo[playerid][Nick], udb_hash(inputtext)); // now here check the database if the player has given the proper password.HTTP
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows() > 0) {
- MySQL_Login(playerid);
- } else {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Login","Vnesete lozina za da se logirate na serverot!","Login","Izlez");
- }
- mysql_free_result();
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock MySQL_Register(playerid, passwordstring[])
- {
- new Query[300];
- mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]);
- mysql_real_escape_string(pInfo[playerid][IP], pInfo[playerid][IP]);
- format(Query, sizeof(Query), "INSERT INTO `playerdata` (`nick`, `password`, `ip`) VALUES('%s', '%d', '0', '0', '%s')", pInfo[playerid][Nick], udb_hash(passwordstring), pInfo[playerid][IP]);
- mysql_query(Query);
- SendClientMessage(playerid, -1, "Zdravo %s dobredojdovte na MYSQL Gamemode v1",pInfo[playerid]Nick);
- pInfo[playerid][Logged] = 1;
- pInfo[playerid][IsRegistered] = 1;
- return 1;
- }
- stock MySQL_Login(playerid)
- {
- new Query[500];
- mysql_real_escape_string(pInfo[playerid][Nick], pInfo[playerid][Nick]);
- format(Query, sizeof(Query), "SELECT * FROM `playerdata` WHERE `nick` COLLATE latin1_general_cs = '%s' LIMIT 1", pInfo[playerid][Nick]);
- mysql_query(Query);
- mysql_store_result();
- while(mysql_fetch_row(Query))
- {
- mysql_fetch_int("id", pInfo[playerid][ID]);
- mysql_fetch_int("admin", pInfo[playerid][pAdmin]);
- mysql_fetch_int("score", pInfo[playerid][pScore]); SetPlayerScore(playerid, pInfo[playerid][pScore]);
- mysql_fetch_int("money", pInfo[playerid][pMoney]); GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
- mysql_fetch_int("kills", pInfo[playerid][pKills]);
- mysql_fetch_int("deaths", pInfo[playerid][pDeaths]);
- }
- mysql_free_result();
- pInfo[playerid][Logged] = 1;
- return 1;
- }
- SavePlayer(playerid)
- {
- if(pInfo[playerid][Logged] == 1)
- {
- new Query[500];
- format(Query, 500, "UPDATE `playerdata` SET `admin` = '%d', `score` = '%d', `money` = '%d', `kills` = '%d', `deaths` = '%d' WHERE `id` = '%d' LIMIT 1",
- pInfo[playerid][pAdmin],
- pInfo[playerid][pScore],
- pInfo[playerid][pMoney],
- pInfo[playerid][pKills],
- pInfo[playerid][pDeaths],
- pInfo[playerid][ID]);
- mysql_query(Query);
- }
- }
- CMD:makeadmin(playerid, params[])
- {
- if(IsPlayerAdmin(playerid) || pInfo[playerid][pAdmin] >= SETLEVEL_ADMIN)
- {
- new level, target;
- if(sscanf(params, "ui", target, level)) return SendClientMessage(playerid, red, "[*] Usage: /makeadmin [playerid/name] [level]");
- if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid, red, "[*] Nevaliden nickname/ID!");
- new string[128], Query[500], str2[50];
- if(level < 0 || level > MAX_ADMIN_LEVEL)
- {
- format(string, sizeof(string), "Vnesete admin level pomegju 0 i %d", MAX_ADMIN_LEVEL);
- SendClientMessage(playerid, red,string);
- return 1;
- }
- format(Query, 500, "UPDATE `playerdata` SET `admin` = '%d' WHERE `id` = '%d' LIMIT 1", level, pInfo[target][ID]);
- mysql_query(Query);
- pInfo[target][pAdmin] = level;
- format(string, 256, "Mu dadovte na %s administartor so level %d", pInfo[target][Nick], target, level);
- SendClientMessage(playerid, green, string);
- format(string, 256, "Administrator %s ve ovlasti vo AdminLVL %d", pInfo[playerid][Nick], level);
- SendClientMessage(target, yellow, string);
- for (new i=0; i<MAX_PLAYERS; i++)
- {
- if(pInfo[i][Logged] == 1 && pInfo[i][pAdmin])
- {
- format(str2, sizeof(str2), "[MYSQL/INFO]:Admin %s[%d] ja iskoristi komandata /makeadmin", pInfo[playerid][Nick], playerid, pInfo[playerid][pAdmin], pInfo[target][Nick], target);
- SendClientMessage(i,COLOR_SPRINGGREEN,string);
- }
- }
- PlayerPlaySound(target,1057,0.0,0.0,0.0);
- }
- else return ErrorMessage(playerid);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement