Спавн в больнице после смерти

Перейти вниз

Спавн в больнице после смерти

Сообщение  Rush в Сб Окт 10, 2015 9:56 am

Некоторые переменные могут не совпадать, поэтому будьте внимательны. Данный урок для модов с основой Gamer и т.д Если у вас возникнут проблемы, пишите в данную тему.

В enum pInfo в конец вставляем:
Код:
pHospitalTime
В public OnPlayerDeath(playerid, killerid, reason)

Код:
PlayerInfo[playerid][pHospitalTime] = 60;// 1 минута, можете изменить
.
В public OnPlayerSpawn(playerid)
Код:
if(PlayerInfo[playerid][pHospitalTime] != 0)
{
    SetPlayerPos(playerid, X, Y, Z);//Здесь задате свои координаты куда игрок должен попасть когда умрет
    SetPlayerInterior(playerid, interiorid);//Здесь укажите ID интерьера
    SetPlayerVirtualWorld(playerid, virtualid);//Здесь укажите ID виртуального мира
    ApplyAnimation(playerid,"PED","KO_shot_stom",4.1,0,1,1,1,1);//Погружаем игрока в анимацию
    SetPlayerHealth(playerid, 25.0);//Устанавливает 25% здоровья
    return 1;//Успешно
}
В секундный таймер вставляем:
Код:
if(PlayerInfo[i][pHospitalTime] > 0)//Если pHospitalTime больше 0
{
    PlayerInfo[i][pHospitalTime] --;//Инкремент каждую секунду с переменной pHospitalTime
    if(PlayerInfo[i][pHospitalTime] <= 0)//Когда pHospitalTime меньше или равна 0
    {
        GivePlayerMoney(i, -100);//Снимаем 100р за лечение
    SetPlayerHealth(i, 100.0);//Устанавливаем 100% здоровья
    }
}
В телепорт на выходе из больнице вставьте:

Код:
if(PlayerInfo[playerid][pHospitalTime] > 0) return SendClientMessage(playerid, -1, "Ваше лечение не закончилось! Ждите!");
Перейдем непосредственно к сохранению. Обычно, в паблик модах за сохранение/загрузку отвечают паблики: OnPlayerRegister, SavePlayer, OnPlayerLogin. Если у вас такие же паблики, то вам повезло! Если нет - найдите эти паблики по какой нибудь переменной которая сохраняется в аккаунт игрока, например pAdmin. Я же вам буду показывать на примере которые написал выше.

В public OnPlayerRegister вставляем:

Код:
ini_setInteger(iniFile,"HospitalTime",PlayerInfo[playerid][pHospitalTime]);
В public OnPlayerLogin вставляем:
Код:
ini_getInteger(iniFile,"HospitalTime",PlayerInfo[playerid][pHospitalTime]);
В public SavePlayer вставляем:
Код:
ini_setInteger(iniFile,"HospitalTime",PlayerInfo[playerid][pHospitalTime]);
У вас также могут отличаться эти строки. Данные строки на сохранении mxini, у кого регистрация не на mxini делайте так, как у вас.

Всё!
avatar
Rush

Сообщения : 201
Репутация : 46
Дата регистрации : 2012-12-10
Возраст : 21
Откуда : Россия

http://gs-games.gta-ru.com

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения