Здравствуйте, у меня почему-то не создается файл. Странно, что при использовании как пути к файлу "scriptfiles/accounts", то файл создается, а если "../src/accounts/", то ничего.
Вот весь код:
Или это значит, что mxINI создает файлы только в папке scriptfiles?PHP код:
// Подключение всех стандартных инклюдов
#include "a_samp"
// Подключение всех нестандартных инклюдов
#include "src"
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS (50)
#else
#define MAX_PLAYERS (50)
#endif
new player_name[MAX_PLAYERS][MAX_PLAYER_NAME],
player_password[MAX_PLAYERS][MAX_PLAYER_PASSWORD];
main()
{
//print("\n\t- - -\n\tAuthor: Darge\n\tEmail: [email protected]\n\t- - -\n");
}
public OnGameModeInit()
{
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
return 1;
}
public OnPlayerConnect(playerid)
{
GetPlayerName(playerid, player_name[playerid], MAX_PLAYER_NAME);
new account[21+MAX_PLAYER_NAME];
format(account, sizeof(account), "../src/accounts/%s.ini", player_name[playerid]);
if(!fexist(account))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация", "Для регистрации введите пароль:", "Далее", "Выход");
}
else if(fexist(account))
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Для авторизации введите пароль:", "Далее", "Выход");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SavePlayer(playerid);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 1:
{
if(!response)
{
return Kick(playerid);
}
else if(response)
{
if(!strlen(inputtext))
{
return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ошибка", "Введите ваш пароль:", "Далее", "Выход");
}
new account[21+MAX_PLAYER_NAME];
format(account, sizeof(account), "../src/accounts/%s.ini", player_name[playerid]);
if(fexist(account))
{
return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Для авторизации введите пароль:", "Далее", "Выход");
}
else
{
return CreateAccount(playerid, inputtext);
}
}
}
case 2:
{
if(!response)
{
return Kick(playerid);
}
else if(response)
{
new account[21+MAX_PLAYER_NAME];
if(!strlen(inputtext))
{
return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Ошибка", "Введите ваш пароль:", "Далее", "Выход");
}
format(account, sizeof(account), "../src/accounts/%s.ini", player_name[playerid]);
if(!fexist(account))
{
return ShowPlayerDialog(playerid, 1 , DIALOG_STYLE_INPUT, "Регистрация", "Для регистрации введите пароль:", "Далее", "Выход");
}
else
{
new iniFile = ini_openFile(account);
ini_getString(iniFile, "Пароль", player_password[playerid]);
ini_closeFile(iniFile);
if(!strcmp(inputtext, player_password[playerid], true))
{
return OnPlayerLogin(playerid);
}
else
{
return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Ошибка", "Вы ввели неверный пароль!", "Далее", "Выход");
}
}
}
}
}
return 1;
}
stock CreateAccount(playerid, password[])
{
new account[21+MAX_PLAYER_NAME];
format(account, sizeof(account), "../src/accounts/%s.ini", player_name[playerid]);
if(fexist(account))
{
return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация", "Введите пароль:", "Далее", "Выход");
}
new iniFile = ini_createFile(account);
if(iniFile < 0) ini_openFile (account);
{
ini_setString(iniFile, "Пароль", password);
ini_setInteger(iniFile, "Деньги", 10000);
ini_closeFile(iniFile);
OnPlayerLogin(playerid);
}
return 1;
}
stock OnPlayerLogin(playerid)
{
new account[21+MAX_PLAYER_NAME];
format(account, sizeof(account), "../src/accounts/%s.ini", player_name[playerid]);
new iniFile = ini_openFile(account);
ini_getString(iniFile, "Пароль", player_password[playerid], MAX_PLAYER_PASSWORD);
ini_closeFile(iniFile);
ResetPlayerMoney(playerid);
SpawnPlayer(playerid);
return 1;
}
stock SavePlayer(playerid)
{
new account[21+MAX_PLAYER_NAME];
format(account, sizeof(account), "../src/accounts/%s.ini", player_name[playerid]);
new iniFile = ini_openFile(account);
ini_setString(iniFile, "Пароль", player_password[playerid]);
ini_closeFile(iniFile);
return 1;
}