PDA

Просмотр полной версии : [Вопрос] Система бани



Andrik851
06.06.2019, 21:16
Добрый день подскажите пожалуйста как сделать чтобы в определенном месте пополнялось значение гигиены например как попадаешь в больницу и идет пополнение хп

DeimoS
06.06.2019, 21:24
Через IsPlayerInRangeOfPoint (http://wiki.pro-pawn.ru/wiki/IsPlayerInRangeOfPoint) проверяешь координаты в таймере и если функция возвращает 1, то начинаешь увеличивать значение нужной переменной.

Andrik851
06.06.2019, 21:25
Через IsPlayerInRangeOfPoint (http://wiki.pro-pawn.ru/wiki/IsPlayerInRangeOfPoint) проверяешь координаты в таймере и если функция возвращает 1, то начинаешь увеличивать значение нужной переменной.

я от этого далек если чтото самому писать вот готовый код там переделать или чтото изменить то без проблем

DeimoS
06.06.2019, 21:38
я от этого далек если чтото самому писать вот готовый код там переделать или чтото изменить то без проблем

Ну так пробуй, учись :) Или ты думаешь, что остальные сразу родились с умением и знаниями?) Ну либо закажи услуги скриптера за плату.

А готовый код тебе вряд ли кто-то даст. Точнее, не стоит удивляться, если никто не будет тебе отвечать.

Andrik851
06.06.2019, 21:41
Ну так пробуй, учись :) Или ты думаешь, что остальные сразу родились с умением и знаниями?) Ну либо закажи услуги скриптера за плату.

А готовый код тебе вряд ли кто-то даст. Точнее, не стоит удивляться, если никто не будет тебе отвечать.

это делается примерно так?


if(PlayerLie[i] == true)
{
PlayerInfo[i][pGigienaTime] ++;
if(PlayerInfo[i][pGigienaTime] >= (5+random(2)))
{
new Float:Health;
GetPlayerGigiena(i,Gigiena);
if(PlayerLie[i])
{
GameTextForPlayer(i, "+5 XЈ", 0, 1);
Gigiena += 5.0;
}
SetGigiena(i,Health);
PlayerInfo[i][pGigiena] = Gigiena;
if(Gigiena >= 100.0)
{
new bed = PlayerBed[i];
SetPlayerPos(i,GigienaInfo[bed][hCP][0],GigienaInfo[bed][hCP][1],GigienaInfo[bed][hCP][2]);
TogglePlayerControllable(i, true);
ClearAnimations(i);
CheckBed(i);
PlayerInfo[i][pGigiena] = 0;
SetGigiena(i,100);
PlayerInfo[i][pHeal] = 100;
SendClientMessage(i,COLOR_LIGHTBLUE,"[INFO] {FFFFFF}Вы вымылись можете покинуть баню!");
}
PlayerInfo[i][pGigienaTime] = 0;
}
}

DeimoS
06.06.2019, 23:32
Да. Только в начале будет ещё проверка с той функцией. То есть:
if(IsPlayerInRangeOfPoint(...))
{
//Твой код
}

Andrik851
06.06.2019, 23:46
ага примерно понял вместо точек писать координаты?

DeimoS
06.06.2019, 23:52
Нажми на название функции и откроется wiki-страница. Там описано какие данные и в какой последовательности нужно вводить

Andrik851
07.06.2019, 00:58
спасибо

Andrik851
08.06.2019, 18:07
Да. Только в начале будет ещё проверка с той функцией. То есть:
if(IsPlayerInRangeOfPoint(...))
{
//Твой код
}

Помоги пожалуйста а как здесь прописать таймер так как очень быстро начисляется