A
Amfy
Гость
Гость
Некоторые переменные могут не совпадать, поэтому будьте внимательны. Данный урок для модов с основой Gamer и т.д Если у вас возникнут проблемы, пишите в данную тему.
В enum pInfo в конец вставляемHospitalTime
В 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[pHospitalTime] > 0)//Если pHospitalTime больше 0
{
PlayerInfo[pHospitalTime] --;//Инкремент каждую секунду с переменной pHospitalTime
if(PlayerInfo[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 делайте так, как у вас.
Всё!
В enum pInfo в конец вставляемHospitalTime
В 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[pHospitalTime] > 0)//Если pHospitalTime больше 0
{
PlayerInfo[pHospitalTime] --;//Инкремент каждую секунду с переменной pHospitalTime
if(PlayerInfo[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 делайте так, как у вас.
Всё!
Последнее редактирование: