Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Возраст (заместо exp и lvl)

Статус
В этой теме нельзя размещать новые ответы.

Ak.Giordano

Ученик
Здравствуйте!Сегодня я вам расскажу как сделать возраст - заместо лвл,и месяцы - заместо респектов.
Очень подойдет это для РП серверов.

1.И так ко всем forward
PHP:
forward UpdateHappy(playerid);
- это у нас для таймера который будет считать месяцы.
2.Далее ищем еnum

PHP:
enum pInfo
- добавляем туда

PHP:
pAge
и

PHP:
pHappy
к примеру он такой:

PHP:
enum pInfo
{
        pPass[64],
        pLvl,
        pExp,
    pAge, //- Это мы вставили
     pHappy, //- Это мы вставили
}
3.Теперь в паблике public

PHP:
OnPlayerConnect(playerid)
Ищем это проверку что игрок не зарегистрирован

PHP:
if(pRegister[playerid] == 0)
(В каждом моде своя проверка) вставляем туда

PHP:
PlayerInfo[playerid][pHappy] = 12;
- 12 до дня рождения

PHP:
PlayerInfo[playerid][pAge] = 7;
- игроку 7 лет.
4.Далее в паблик
PHP:
public OnPlayerLogin(playerid,password[])
вставляем

PHP:
ini_getInteger(iniFile,"Age",Player[playerid][pAge]);
ini_getInteger(iniFile,"Happy",Player[playerid][pHappy]);
5.Теперь в паблик сохранения аккаунта,например:

PHP:
stock SavePlayer(playerid)
Вставляем это

PHP:
ini_setInteger(iniFile,"Age",Player[playerid][pAge]);
ini_setInteger(iniFile,"Happy",Player[playerid][pHappy]);
6.Создаем в конце мода паблик

PHP:
public UpdateHappy(playerid)
{
    new Happy = PlayerInfo[playerid][pHappy];
    new str[128];
    for(new i=0; i< MAX_PLAYERS; i++)
    {
        if(!IsPlayerConnected(i)) {continue;}
    PlayerInfo[i][pHappy] --;
    SendClientMessage(playerid,COLOR_WHITE,"|__Вы становитесь старше__|");
    SendClientMessage(playerid,COLOR_WHITE,"*** Вы прожили 1 месяц жизни ***");
    format(str,sizeof(str),"До дня рождения осталось [%d] месяцев",Happy);
         SendClientMessage(playerid,0xB4B5B7FF,str);
    }
    if(PlayerInfo[playerid][pHappy] == 0)
    {
        PlayerInfo[playerid][pAge] ++;
        PlayerInfo[playerid][pHappy] = 12;
           SendClientMessage(playerid,COLOR_WHITE,"У вас день рождения");
    }
    return 1;
}
7.В паблик

PHP:
OnGameModeInit()
PHP:
MySetTimer("UpdateHappy",30000, true);// 30 минут
8.Добавляем вверх мода

PHP:
#define MySetTimer(%0,%1,%2) SetTimer(%0,%1*1000,%2)
- чтобы показывало не мили-секунды,а секунды.
Система сохранения аккаунта mxINI
Это всё.
Автор задумки: Igor_Jackson
Автор реализации: Я
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу