GatixPlay
Дебютант
Вот в чём проблема, у меня есть скрипт на регистрацию и я сейчас прописываю сохранение денег, но я не могу переменной pMoney присвоить GetPlayerMoney(playerid); Вот скрипт:
А вот и ошибка:
Заранее спасибо.
PHP:
#include <a_samp>
#include <mxINI>
#pragma tabsize 0
new PAccount[MAX_PLAYERS];// Есть аккаунт, или нет
enum pInfo
{
pPass[64],// Масив с паролем
pMoney // Деньги
}
new Player[MAX_PLAYERS][pInfo];
main()
{
print("\n----------------------------------");
print("Регистрация на сервере v0.2");
print("----------------------------------\n");
}
public OnPlayerConnect(playerid)
{ new playername[MAX_PLAYER_NAME];// Масив для имени игрока
new string[128];// Путь до папки с именем игрока
GetPlayerName(playerid,playername,sizeof(playername));// Узнаём имя игрока
format(string,sizeof(string),"players/%s.ini", playername);// Путь к файлу с аккаунтом
if(fexist(string))// Проверка на файл, если он есть то выполняется следующее действие.
{
PAccount[playerid] = 1;// Аккаунт есть
}
else// Если файла с именем нет, то выполняется это действие.
{
PAccount[playerid] = 0;// Аккаунта нет
}
if(PAccount[playerid] == 1)// Если аккаунт есть
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Вход в аккаунт","{0000FF}Ваш аккаунт зарегистрирован на сервере\n{ffffff}Введите свой пароль в окно ввода","Вход","");// Показываем диалог входа в игру. Стиль диалога выставляем на ввод текста.
}
else// Если аккаунта нет
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","{0000FF}Добро пожаловать на наш сервер!\n{CCFF00}Этот аккаунт не зарегистрирован!\n{ffffff}Зарегистрируйтесь введя пароль в окно ввода","Регистрация","");// Показываем диалог регистрации. Стиль диалога выставляем на ввод текста.
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)// Ид диалога Для Логина
{
if(response)// Если игрок нажал первую кнопку входа
{
if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
{
ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Вход в аккаунт","{0000FF}Ваш аккаунт зарегистрирован на сервере\n{ffffff}Введите свой пароль в окно ввода","Вход","");// Показываем диалог входа в игру.
return 1;
}
new pass[64];// Масив с паролем
strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
OnPlayerLogin(playerid,pass);// Запускаем паблик входа
}
else// Если игрок нажал Esc, вернём ему диалог
{
Kick(playerid);
SendClientMessage(playerid, 0xff0000,"Вы были кикнуты не авторизовавшись на сервере!");
new string[256];
format(string, sizeof(string), "Игрок ID: %s был кикнут забыв пароль", playerid);
SendClientMessageToAll(0xff00000, string);
}
}
if(dialogid == 2)// Ид диалога для регистрации
{
if(response)// Если игрок нажал первую кнопку
{
if(!strlen(inputtext))// Если окно ввода пустое, выводим диалог снова
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_PASSWORD,"Регистрация","{0000FF}Добро пожаловать на наш сервер!\n{ffffff}Этот аккаунт не зарегистрирован!\n{ffffff}Зарегистрируйтесь введя пароль в окно ввода","Регистрация","");// Показываем диалог регистрации.
return 1;
}
new pass[64];// Масив с паролем
strmid(pass,inputtext,0,strlen(inputtext),64);// Считываем текст с диалога
OnPlayerRegister(playerid,pass);// Запускаем паблик регистрации
}
else// Если игрок нажал Esc, вернём ему диалог
{
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Регистрация","{0000FF}Добро пожаловать на наш сервер!\n{ffffff}Этот аккаунт не зарегистрирован!\n{COLOR_YELLOW}Зарегистрируйтесь введя пароль в окно ввода","Регистрация","");// Показываем диалог регистрации.
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
stock SavePlayer(playerid)
{
new string[64];// Масив с путём для файла
new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
format(string, sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
iniFile = ini_openFile(string);// Открываем файл по тому пути который указали.
ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
ini_setInteger(iniFile,"Money",Player[playerid][pMoney]);//Записываем деньги игрока в файл
ini_closeFile(iniFile);// Закрываем файл
}
forward OnPlayerRegister(playerid, password[]);
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
if(IsPlayerConnected(playerid))
{
new string[64];// Масив с путём для файла
new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
new iniFile = ini_createFile(string);// Создаём файл с именем игрока в папке players
if(iniFile < 0)// Если Файла нет
{
iniFile = ini_openFile(string);// Открываем
}
if(iniFile >= 0)// Если файл есть
{
strmid(Player[playerid][pPass],password,0,strlen(password),255);// Присваиваем масиву pPass, значение password[]
/*ОШИБКА*/ GetPayerMoney(playerid, pMoney);// Присваиваем переменной pMoney, значение GetPlayerMoney
ini_setString(iniFile,"Pass",Player[playerid][pPass]);// Записываем пароль игрока в файл
ini_setInteger(iniFile,"Money",Player[playerid][pMoney]);//Записываем деньги игрока в файл
ini_closeFile(iniFile);// Закрываем файл
ShowPlayerDialog(playerid,1,DIALOG_STYLE_PASSWORD,"Вход в аккаунт","{0000FF}Ваш аккаунт зарегистрирован на сервере\n{ffffff}Введите свой {0000FF}пароль {ffffff}в окно ввода","Вход","");// Показываем диалог входа в игру.
}
}
return 1;
}
forward OnPlayerLogin(playerid,password[]);
public OnPlayerLogin(playerid,password[])
{
if(IsPlayerConnected(playerid))// Проверка на подключение игрока
{
new string[64];// Масив с путём для файла
new pass[64];// Масив с паролем
new playername[MAX_PLAYER_NAME];// Масив для получения имени игрока
GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для загрузки
new iniFile = ini_openFile(string);// Открываем файл
ini_getString(iniFile,"Pass",pass,64);// Загружаем пароль
if(strcmp(pass,password,true) == 0)// Если введёный пароль, соответсвует паролю при регистрации, то загружаем акк
{
ini_getString(iniFile,"Pass",Player[playerid][pPass],64);// Загружаем пароль
ini_getInteger(iniFile,"Money",Player[playerid][pMoney]);// Загружаем деньги
ini_closeFile(iniFile);// Закрываем файл
}
else// Если пароль не верен..
{
Kick(playerid);
return 1;
}
}
return 1;
}
Код:
D:\server\filterscripts\register.pwn(130) : error 017: undefined symbol "GetPayerMoney"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Последнее редактирование:
