Страница 1 из 11
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Питьевой автомат
Питьевой автомат
Система автоматов для питья.


В этом уроке я покажу вам, как сделать систему автоматов для питья. Игрок будет подходить к автомату, пить из него, у его прибавятся жизни.

Добавим действие на кнопку Enter:

Вверх мода :

Код
new spr[MAX_PLAYERS];
forward UnFreezSp(playerid);


В любое место:

Код
public UnFreezSp(playerid)
{
  spr[playerid]  =  0;
  TogglePlayerControllable(playerid, 1);
  ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 0);
  return 1;
}


В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys):

Код
if(newkeys == KEY_SECONDARY_ATTACK)
  {
                 if(IsPlayerInRangeOfPoint(playerid,2.0,x, y, z))
   {
    if(GetPlayerMoney(playerid) >= 2)
    {
     if(spr[playerid]  ==  1)  return 1;
     spr[playerid]  =  1;
     new Float:health;
     GetPlayerHealth(playerid, health);
     GivePlayerMoney(playerid,-2);
     PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
     TogglePlayerControllable(playerid, 0);
     ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,1,1,1,1);
     SetTimerEx("UnFreezSp",1000,false,"i",playerid);
     if(health <= 100) return SetPlayerHealth(playerid,health+15.0);
    }
    else
    {
     PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
    }
   }
  }

Теперь добавляем объект автомата, и берем рядом с ним координаты (/save).

Добавить новый автомат можно:

Код
if(IsPlayerInRangeOfPoint(playerid,2.0,x, y, z))


x – x координата.
y – y координата.
z – z координата.

Пример еще одного автомата:

Код
if(IsPlayerInRangeOfPoint(playerid,2.0,x, y, z) || IsPlayerInRangeOfPoint(playerid,2.0,x, y, z))


Вот мы и получили простенький автомат для питья.
Если будет время, то сделаю более качественный автомат.


Автор: ZioHik.
Специально для www.SAMP-TEAM.com
24.04.2013 в 15:07
спасибо
27.04.2013 в 02:15
у меня что-то не получается его сделать.. Код дописал себе в мод, вставил нужные координаты, и на том месте в игре ничего нет.. Что делать?
06.07.2014 в 14:13
Возможно, ошибся с координатами
06.07.2014 в 15:24
У меня не получилось может я и не так сделал блин очень жаль что не получилось .... weep weep weep weep weep weep
08.07.2014 в 21:01
Возможно вы подумали что там появится автомат. На самом деле там появилась точка на которой при нажатии enter будет производится анимация и пополнение хп. Автомат вы должны поставить сами.
08.07.2014 в 23:59
Спасибо, хорошая система! Добавь пожалуйста проверку на флуд (если можно)
23.03.2015 в 19:37
А в чем должна заключаться проверка?
24.03.2015 в 01:20
сейчас допелю

Добавлено (30.03.2015, 22:58)
---------------------------------------------
if(newkeys == KEY_SECONDARY_ATTACK)
{
if(IsPlayerInRangeOfPoint(playerid,2.0,x, y, z))
{
if(GetPlayerMoney(playerid) >= 2)
flood
{
if(spr[playerid] == 1) return 1;
spr[playerid] = 1;
new Float:health;
GetPlayerHealth(playerid, health);
GivePlayerMoney(playerid,-2);
PlayerPlaySound(playerid, 1054, 0.0, 0.0, 0.0);
TogglePlayerControllable(playerid, 0);
ApplyAnimation(playerid,"FOOD","EAT_Burger",4.1,0,1,1,1,1);
SetTimerEx("UnFreezSp",1000,false,"i",playerid);
if(health <= 100) return SetPlayerHealth(playerid,health+15.0);
}
else
{
PlayerPlaySound(playerid, 1055, 0.0, 0.0, 0.0);
}
}
}

30.03.2015 в 22:58
В чем различие? Чем флудит?
31.03.2015 в 21:09
Тебе надо чтобы игрок мог пополнять хп через определенный промежуток времени?
31.03.2015 в 21:46
Там запрещено пить пока не пройдет анимация
31.03.2015 в 22:47
Помогите, когда куплю в этом автомате что-нибудь деньги забирают и автоматически отдают sad sad
24.12.2015 в 12:06
aleksandr-makyxa, значит, на сервере стоит анти чит, который конфликтует с этой системой
24.12.2015 в 14:04
еду добавишь?
25.12.2015 в 00:18
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Уроки скриптинга в Pawno » Питьевой автомат
Страница 1 из 11
Поиск: