Alex_Nepom
Ученик
[Мануал/Урок] Достижения как на [O]rio[N]
Ну начнем, для того чтобы наша функция срабатывала. Необходимо создать
в: enum pInfo
[Шаг 2][Аннулирование при подключении]
Далее, при подключении аннулируем ее.
в: public OnPlayerConnect
(Не знаю как у всех, но у меня PIF, но в стандарте у всех PlayerInfo)
Добавим:
Далее [Шаг 3][Сохранение/Загрузка]
Для того чтобы наша функция загружалась либо-же сохранялась
Версия файла <mxINI>
Добавляем в: public OnPlayerRegister(playerid,password[])
Добавляем в: public SavePlayer(playerid,password[]) (Не знаю у кого как, если что отредактируйте public где у вас все сохраняется)
Чтобы при подключении все это загружало:
public OnPlayerLogin(playerid,password[])
версия <MySQL>
ваша цифра* В зависимости от положения строчки)
Далее [Шаг 4]
Для того чтобы получить допустим при 5 скилле наше достижение необходимо
Добавим в public OnPlayerUpdate(playerid)
Просмотреть достижения:
в: public OnPlayerCommandText(playerid, cmdtext[])
id - измените на свободный
Команду не проверял... В случае ошибки сообщите.
P.S. Оформлять не умею
не художник)
С Вами был Legacyb4STI
Удачи
Здравствуйте посетители форума Pawno-Info
Хочу выставить написанную мной систему достижений как на [O]rio[N].
Попытаюсь одновременно объяснить для чего мы это добавляем, почему.
[Шаг 1] создание....Попытаюсь одновременно объяснить для чего мы это добавляем, почему.
Ну начнем, для того чтобы наша функция срабатывала. Необходимо создать
в: enum pInfo
Код:
pDostiz1,
pDostiz2,
Далее, при подключении аннулируем ее.
в: public OnPlayerConnect
(Не знаю как у всех, но у меня PIF, но в стандарте у всех PlayerInfo)
Добавим:
Код:
PlayerInfo[playerid][pDostiz1] = 0;
PlayerInfo[playerid][pDostiz2] = 0;
Для того чтобы наша функция загружалась либо-же сохранялась
Версия файла <mxINI>
Добавляем в: public OnPlayerRegister(playerid,password[])
Код:
format(var, 32, "Dostiz1=%d\n",PlayerInfo[playerid][pDostiz1]);fwrite(hFile,var);
format(var, 32, "Dostiz2=%d\n",PlayerInfo[playerid][pDostiz2]);fwrite(hFile,var);
Добавляем в: public SavePlayer(playerid,password[]) (Не знаю у кого как, если что отредактируйте public где у вас все сохраняется)
Код:
format(var, 32, "Dostiz1=%d\n",PlayerInfo[playerid][pDostiz1]);fwrite(hFile,var);
format(var, 32, "Dostiz2=%d\n",PlayerInfo[playerid][pDostiz2]);fwrite(hFile,var);
public OnPlayerLogin(playerid,password[])
Код:
if( strcmp( key , "Dostiz1" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDostiz1] = strval( val ); }
if( strcmp( key , "Dostiz2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDostiz2] = strval( val ); }
версия <MySQL>
Код:
MYSQL_GetInt([COLOR="#008000"]ваша цифра*[/COLOR], PlayerInfo[playerid][pDostiz1]);
MYSQL_GetInt([COLOR="#008000"]ваша цифра*[/COLOR], PlayerInfo[playerid][pDostiz2]);
Далее [Шаг 4]
Для того чтобы получить допустим при 5 скилле наше достижение необходимо
Добавим в public OnPlayerUpdate(playerid)
Код:
if(PlayerInfo[playerid][pTruckSkill] == 500) //Опять-же не знаю))) у кого как измените если что на свое))
{
if(PlayerInfo[playerid][pDostiz1] == 0)//проверка на не выполненное достижение
{
SendClientMessage(playerid, COLOR_LIGHTRED, "ваш текст");
PlayerInfo[playerid][pDostiz1] = 1;//ставим что выполнено
// Добавляем сюда, что угодно
}
}
в: public OnPlayerCommandText(playerid, cmdtext[])
Код:
if(strcmp(cmd, "/dostiz", true) == 0)
{
new dostiz1[20];
if(PlayerInfo[playerid][pDostiz1]) { dostiz1 = "{86ff00}Выполнено; } else { dostiz1 = "{ff0000}Не выполнено"; }
new dostiz[] = "Дальнобойщик 5 скилл %s";
format(string, sizeof(string), dostiz, dostiz1);
ShowPlayerDialog(playerid,[COLOR="#FF0000"]id[/COLOR],DIALOG_STYLE_MSGBOX,"{ffffff}Достижения:",string," Выход ","");
[COLOR="#0000FF"]return true[/COLOR];
}
Команду не проверял... В случае ошибки сообщите.
Вы можете взять данный мануал за основу) и попробовать выполнить что-то подобное))
Напишу любой мануал бесплатно)
Кому нужно, пишите в личку.
За плюсами не гоняюсь, но при копировании указывайте автора.
Напишу любой мануал бесплатно)
Кому нужно, пишите в личку.
За плюсами не гоняюсь, но при копировании указывайте автора.
P.S. Оформлять не умею
С Вами был Legacyb4STI
Последнее редактирование:
