Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <Dini>
- #if defined FILTERSCRIPT
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 30 //Укажите тут число, равное числу слотов на вашем сервере.
- new Death[MAX_PLAYERS];
- new Online[MAX_PLAYERS];
- new pname[25], Float:X, Float:Y, Float:Z;
- new string1[29];
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- if(!dini_Exists(string1))
- {
- ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_INPUT, "Регистрация", "Чтобы зарегистрироваться:\n - Придумайте пароль\n - Впишите его ниже.", "Готово", "Выход");
- return 1;
- }
- else if(dini_Exists(string1))
- {
- ShowPlayerDialog(playerid, 1235, DIALOG_STYLE_INPUT, "Логин", "Введите свой пароль ниже.", "Готово", "Выход");
- return 1;
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- SetPlayerSkin(playerid, dini_Int(string1, "Skin"));
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- Online[playerid] = 0;
- dini_BoolSet(string1, "Online", Online[playerid]);
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- dini_IntSet(string1, "Money", GetPlayerMoney(playerid));
- dini_IntSet(string1, "Score", GetPlayerScore(playerid));
- GetPlayerPos(playerid, X, Y, Z);
- dini_FloatSet(string1, "X", X);
- dini_FloatSet(string1, "Y", Y);
- dini_FloatSet(string1, "Z", Z);
- dini_IntSet(string1, "Death", Death[playerid]);
- dini_IntSet(string1, "Skin", GetPlayerSkin(playerid));
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- Death[playerid]++;
- SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
- GetPlayerPos(playerid, X, Y, Z);
- dini_IntSet(string1, "Skin", GetPlayerSkin(playerid));
- dini_FloatSet(string1, "X", X);
- dini_FloatSet(string1, "Y", Y);
- dini_FloatSet(string1, "Z", Z);
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- dini_IntSet(string1, "Money", GetPlayerMoney(playerid));
- dini_IntSet(string1, "Score", GetPlayerScore(playerid));
- dini_IntSet(string1, "Death", Death[playerid]);
- dini_IntSet(string1, "Skin", GetPlayerSkin(playerid));
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(strcmp(cmdtext, "/changepass", true) == 0)
- {
- ShowPlayerDialog(playerid, 1236, DIALOG_STYLE_INPUT, "Смена пароля", "Введите текущий пароль", "Готово", "Выход");
- return 1;
- }
- if(strcmp(cmdtext, "/gotooldpos", true) == 0)
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- SetPlayerPos(playerid, dini_Float(string1, "X"), dini_Float(string1, "Y"), dini_Float(string1, "Z"));
- return 1;
- }
- if(strcmp(cmdtext, "/mystats", true) == 0)
- {
- new stats[256], fass[256];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- strcat(stats, "Ваш ник: %s (%d)\n");
- strcat(stats, "Ваши очки: %d\n");
- strcat(stats, "Ваши смерти: %d\n");
- strcat(stats, "Ваши деньги: %d\n");
- strcat(stats, "Ваш скин: %d\n");
- strcat(stats, "Ваш статус: {00ff00}Онлайн");
- format(fass, 256, stats, pname, playerid, dini_Int(string1, "Score"), dini_Int(string1, "Death"), dini_Int(string1, "Money"), dini_Int(string1, "Skin"));
- ShowPlayerDialog(playerid, 292, DIALOG_STYLE_MSGBOX, "Ваша статистика", fass, "Ок", "");
- return 1;
- }
- if(strcmp(cmdtext, "/pstats", true) == 0)
- {
- ShowPlayerDialog(playerid, 293, DIALOG_STYLE_INPUT, "Статистика игрока", "Введите ID/Имя игрока", "Ок", "Выход");
- return 1;
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- GetPlayerName(playerid, pname, sizeof(pname));
- format(string1, 29, "%s.txt", pname);
- if(dialogid == 293)
- {
- if(response)
- {
- if(Numbers(inputtext))
- {
- if(IsPlayerConnected(strval(inputtext)))
- {
- new string23[29], pname2[25];
- GetPlayerName(strval(inputtext), pname2, sizeof(pname2));
- format(string23, 29, "%s.txt", pname2);
- new stats[256], fass[256];
- strcat(stats, "Ник: %s (%d)\n");
- strcat(stats, "Очки: %d\n");
- strcat(stats, "Смерти: %d\n");
- strcat(stats, "Деньги: %d\n");
- strcat(stats, "Скин: %d\n");
- strcat(stats, "Статус: {00ff00}Онлайн");
- format(fass, 256, stats, pname2, strval(inputtext), dini_Int(string23, "Score"), dini_Int(string23, "Death"), dini_Int(string23, "Money"), dini_Int(string23, "Skin"));
- ShowPlayerDialog(playerid, 292, DIALOG_STYLE_MSGBOX, "Cтатистика игрока", fass, "Ок", "");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Данный игрок оффлайн");
- }
- else
- {
- new string12[29];
- format(string12, 29, "%s.txt", inputtext);
- if(dini_Exists(string12))
- {
- new stats[256], fass[256];
- strcat(stats, "Ник: %s\n");
- strcat(stats, "Очки: %d\n");
- strcat(stats, "Смерти: %d\n");
- strcat(stats, "Деньги: %d\n");
- strcat(stats, "Скин: %d\n");
- if(dini_Bool(string12, "Online") == 1) strcat(stats, "Статус: {00ff00}Онлайн");
- else if(dini_Bool(string12, "Online") == 0) strcat(stats, "Статус: {ff0000}Оффлайн");
- format(fass, 256, stats, dini_Get(string12, "Name"), dini_Int(string12, "Score"), dini_Int(string12, "Death"), dini_Int(string12, "Money"), dini_Int(string12, "Skin"));
- ShowPlayerDialog(playerid, 292, DIALOG_STYLE_MSGBOX, "Cтатистика игрока", fass, "Ок", "");
- }
- else SendClientMessage(playerid, 0xFF0000FF, "Данный игрок не найден");
- }
- }
- else return 1;
- }
- if(dialogid == 1234)
- {
- if(response)
- {
- if(strval(inputtext) > 10)
- {
- SendClientMessage(playerid, 0xFF0000FF, "Пароль должен быть меньше 10 символов");
- ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_INPUT, "Регистрация", "Чтобы зарегистрироваться:\n - Придумайте пароль\n - Впишите его ниже.", "Готово", "Выход");
- return 1;
- }
- else
- {
- new password[10], string2[100];
- GetPlayerPos(playerid, X, Y, Z);
- Death[playerid] = 0;
- dini_Create(string1);
- format(password, 10, "%s", inputtext);
- format(string2, 100, "Ваш пароль - %s", inputtext);
- dini_Set(string1, "Name", pname);
- dini_Set(string1, "Password", inputtext);
- dini_IntSet(string1, "Money", GetPlayerMoney(playerid));
- dini_IntSet(string1, "Score", GetPlayerScore(playerid));
- dini_IntSet(string1, "Death", Death[playerid]);
- dini_IntSet(string1, "Skin", GetPlayerSkin(playerid));
- dini_FloatSet(string1, "X", X);
- dini_FloatSet(string1, "Y", Y);
- dini_FloatSet(string1, "Z", Z);
- dini_BoolSet(string1, "Online", Online[playerid]);
- SendClientMessage(playerid, 0x00FF00FF, "Вы успешно зарегистрированы");
- SendClientMessage(playerid, 0x00FF00FF, string2);
- return 1;
- }
- }
- else ShowPlayerDialog(playerid, 1234, DIALOG_STYLE_INPUT, "Регистрация", "Чтобы зарегистрироваться:\n - Придумайте пароль\n - Впишите его ниже.", "Готово", "Выход");
- }
- if(dialogid == 1235)
- {
- if(response)
- {
- new pw[200];
- format(pw, sizeof(pw), "%s", dini_Get(string1, "Password"));
- if(strcmp(inputtext, pw) != 0)
- {
- SendClientMessage(playerid, 0xFF0000FF, "Пароль не верный");
- ShowPlayerDialog(playerid, 1235, DIALOG_STYLE_INPUT, "Логин", "Введите свой пароль ниже.", "Готово", "Выход");
- return 1;
- }
- else
- {
- SetPlayerMoney(playerid, dini_Int(string1,"Money"));
- SetPlayerScore(playerid, dini_Int(string1,"Score"));
- dini_Int(string1, "Death");
- SendClientMessage(playerid, 0x00FF00FF, "Пароль верный. Вы успешно вошли");
- Online[playerid] = 1;
- dini_BoolSet(string1, "Online", Online[playerid]);
- return 1;
- }
- }
- else ShowPlayerDialog(playerid, 1235, DIALOG_STYLE_INPUT, "Логин", "Введите свой пароль ниже.", "Готово", "Выход");
- }
- if(dialogid == 1236)
- {
- if(response)
- {
- new pw[200];
- format(pw, sizeof(pw), "%s", dini_Get(string1, "Password"));
- if(strcmp(inputtext, pw) != 0)
- {
- SendClientMessage(playerid, 0xFF0000FF, "Пароль не верный.");
- return 1;
- }
- else
- {
- SendClientMessage(playerid, 0x00FF00FF, "Пароль верный");
- ShowPlayerDialog(playerid, 1237, DIALOG_STYLE_INPUT, "Смена пароля", "Введите новый пароль", "Готово", "Выход");
- }
- }
- }
- if(dialogid == 1237)
- {
- if(response)
- {
- if(strval(inputtext) > 10)
- {
- SendClientMessage(playerid, 0xFF0000FF, "Пароль должен быть меньше 10 символов");
- ShowPlayerDialog(playerid, 1237, DIALOG_STYLE_INPUT, "Смена пароля", "Введите новый пароль", "Готово", "Выход");
- return 1;
- }
- else
- {
- new password[10], string3[100];
- format(password, 10, "%s", inputtext);
- format(string3, 100, "Ваш новый пароль - %s", inputtext);
- dini_Set(string1, "Password", inputtext);
- SendClientMessage(playerid, 0x00FF00FF, "Вы успешно сменили пароль");
- SendClientMessage(playerid, 0x00FF00FF, string3);
- return 1;
- }
- }
- }
- return 1;
- }
- stock SetPlayerMoney(playerid, money)
- {
- ResetPlayerMoney(playerid);
- GivePlayerMoney(playerid, money);
- return 0;
- }
- stock Numbers(string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement