Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Register / Login Filterscript //
- #include <a_samp>
- #include <dudb>
- #include <dutils>
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #pragma unused strtok
- //Colors//
- #define COLOR_SYSTEM 0xEFEFF7AA
- #define green 0x33FF33AA
- #define blue 0x00FFFFAA
- new PLAYERLIST_authed[MAX_PLAYERS];
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("Register / Login System");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print("Register / Login System");
- print("----------------------------------\n");
- }
- #endif
- public OnPlayerRequestSpawn(playerid)
- {
- if (udb_Exists(PlayerName(playerid))){
- if (!PLAYERLIST_authed[playerid]){
- SendClientMessage(playerid,green,"You have already registered, use /login to log into your account.");
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid) {
- if (PLAYERLIST_authed[playerid]) {
- // If someone has logged in, it saves money and score.
- dUserSetINT(PlayerName(playerid)).("money",GetPlayerMoney(playerid));
- dUserSetINT(PlayerName(playerid)).("score",GetPlayerScore(playerid));
- dUserSetINT(PlayerName(playerid)).("weapon",GetPlayerWeapon(playerid));
- }
- PLAYERLIST_authed[playerid]=false;
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if (PLAYERLIST_authed[playerid]==0){
- if (udb_Exists(PlayerName(playerid))){
- SystemMsg(playerid,"You have already registered, please /login [password] to login.");
- }
- else{ SystemMsg(playerid,"You do not have an account, use /register [password] to register then /login [password] to login.");
- }
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(login,5,cmdtext);
- dcmd(register,8,cmdtext);
- return 0;
- }
- stock SystemMsg(playerid,msg[]) {
- if ((IsPlayerConnected(playerid))&&(strlen(msg)>0)) {
- SendClientMessage(playerid,COLOR_SYSTEM,msg);
- }
- return 1;
- }
- stock PlayerName(playerid) {
- new name[255];
- GetPlayerName(playerid, name, 255);
- return name;
- }
- dcmd_register(playerid,params[]) {
- if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"You have already had an account.");
- if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"You have already created an account, /login [password] to login.");
- if (strlen(params)==0) return SystemMsg(playerid,"USAGE: /register [password]");
- if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"You have successfully created your account, now use /login [password] to login.");
- return true;
- }
- dcmd_login(playerid,params[]) {
- if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"You have already logined.");
- if (!udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"You do not have an account, please /register [password]");
- if (strlen(params)==0) return SystemMsg(playerid,"USAGE: /login [password]");
- if (udb_CheckLogin(PlayerName(playerid),params)) {
- SetPlayerScore(playerid,dUserINT(PlayerName(playerid)).("score"));
- SetPlayerMoney(playerid,dUserINT(PlayerName(playerid)).("money"));
- PLAYERLIST_authed[playerid]=true;
- return SystemMsg(playerid,"You have successfully logined.");
- }
- return SystemMsg(playerid,"Wrong password or nickname!");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement