ChIp*
Компетентный
Работа на YSI. Как добавить новый параметр в аккаунт.
Самый простой метод
Просто писать(делать) по примеру.
Попробую объяснить как добавить новый параметр (напр. pAdmin)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cистему поставил на привычную всем PlayerInfo.
Думаю как работать с ней вам известно.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Далее:
public OnPlayerConnect, и там вроде тоже всё понятно.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Далее public OnPlayerDisconnect.
В этом пабле мы записываем данные при выходе.
Выглядить это будет так:
INI_WriteInt - Целостный тип
INI_WriteFloat - Плавающий тип (числа с плавающей точкой (напр. координаты)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Далее идем в public OnDialogResponse, ищем там (Ctrl + F) похожие строки:
Это помойму создание всех параметров (создание файла) при регистрации.
Туда ставим:
INI_WriteInt - целостный тип
INI_WriteFloat - плавающий тип (числа с плавающей точкой (напр. координаты)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Последнее:
Ищем (Ctrl + F), или идем почти в самый конец мода:
public LoadUser_data[color] - Паблик загрузки параметров при входе.
Туда вставляем:
Почти тоже что и в public OnPlayercDissconnect, за исключением, что тут мы не записываем
поэтому не INI_WriteInt,а INI_Int, т.к. Write - запись.
INI_Int - Целостный тип
INI_Float - Плавающий тип (Числа с плавающей точкой (напр. координаты))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Внимание.Название в скобках, напр:
"Admin"
должно совпадать со всеми названиями. Если где стоит:
"Admin"
а в другом месте:
"admin"
Будет ошибка.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
YSI очень чуствительна к регистру, если например вместо:
INI_WriteInt(File,"Admin",0);
Написано:
INI_WriteInt(file,"Admin",0);
Или:
INI_writeInt(File,"Admin",0);
Будет ошибка.
Такой темы вроде не было
Самый простой метод
Просто писать(делать) по примеру.
Попробую объяснить как добавить новый параметр (напр. pAdmin)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cистему поставил на привычную всем PlayerInfo.
PHP:
enum pInfo
{
pAdmin
}
new PlayerInfo[MAX_PLAYERS][pInfo];
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Далее:
public OnPlayerConnect, и там вроде тоже всё понятно.
PHP:
PlayerInfo[playerid][pAdmin] = 0;
Далее public OnPlayerDisconnect.
В этом пабле мы записываем данные при выходе.
Выглядить это будет так:
PHP:
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));//Открываем файл с игроком
INI_SetTag(File,"data");//тип
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);//сохраняем параметр pAdmin
INI_Close(File);//закрываем
return 1;
}
INI_WriteFloat - Плавающий тип (числа с плавающей точкой (напр. координаты)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Далее идем в public OnDialogResponse, ищем там (Ctrl + F) похожие строки:
PHP:
INI_WriteInt(File,"Admin",0);//Строка в моде есть, по ней можно найти.
Туда ставим:
PHP:
INI_WriteInt(File,"Admin",0);//Добавляем в акк параметр Admin =
INI_WriteFloat - плавающий тип (числа с плавающей точкой (напр. координаты)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Последнее:
Ищем (Ctrl + F), или идем почти в самый конец мода:
public LoadUser_data[color] - Паблик загрузки параметров при входе.
Туда вставляем:
PHP:
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
поэтому не INI_WriteInt,а INI_Int, т.к. Write - запись.
INI_Int - Целостный тип
INI_Float - Плавающий тип (Числа с плавающей точкой (напр. координаты))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Внимание.Название в скобках, напр:
"Admin"
должно совпадать со всеми названиями. Если где стоит:
"Admin"
а в другом месте:
"admin"
Будет ошибка.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
YSI очень чуствительна к регистру, если например вместо:
INI_WriteInt(File,"Admin",0);
Написано:
INI_WriteInt(file,"Admin",0);
Или:
INI_writeInt(File,"Admin",0);
Будет ошибка.
Такой темы вроде не было
