Dima_Tushin
Компетентный
привет всем!!!
видел тему на Samp-Rp то что игроки хотели сделать покупка воды или алкоголя через Автомат и просто надо ело то что подходят и им написано то что Автомат Сломан.
решил сделать это!
ко всем Forward
потом добавляем нажатие Кнопки возле Автомата.
ищем!
и добавляем
ко всем Диалогам добавим
и в конец мода добавим PUBLIC
и еще добавим Команду для изменение цены товара в Автомате ДОСТУПНО ТОЛЬКО МЭРУ! и еще добавьте Ранг для Мэра
Вот и все! Объекты и Координаты Автоматов я Взял не помню из Какой Темы!
Автор: Dima_Tushin
---------- Post added at 18:54 ---------- Previous post was at 18:50 ----------
и еще забыл в Enum добавим
видел тему на Samp-Rp то что игроки хотели сделать покупка воды или алкоголя через Автомат и просто надо ело то что подходят и им написано то что Автомат Сломан.
решил сделать это!
ко всем Forward
PHP:
forward IsAtCandySprunk(playerid);
ищем!
PHP:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(newkeys == 16)//проверка на кнопку
{
if(IsAtCandySprunk(playerid))//проверка
{
new cena = SprautInfo[playerid][Bbar] *2;
new cena2 = SprautInfo[playerid][Bbar] *3;
new cena3 = SprautInfo[playerid][Bbar] *4;
new cena4 = SprautInfo[playerid][Bbar] *3;
new cena5 = SprautInfo[playerid][Bbar] *2;
new cena6 = SprautInfo[playerid][Bbar] *3;
new cena7 = SprautInfo[playerid][Bbar] *4;
format(string,sizeof(string),"Спрайт\t[%d]$\nКока Кола\t[%d]$\nFleSh\t[%d]$\nЛимонат\t[%d]$\nСок Добрый\t[%d]$\nЧай Липтон\t[%d]$\nКофе\t[%d]$",cena,cena2,cena3,cena4,cena5,cena6,cena7);
SPD(playerid,4321,DIALOG_STYLE_LIST,"Меню", string, "Купить", "Отмена");
}
return 1;
}
HTML:
case 4321:
{
new cena = SprautInfo[playerid][Bbar] *2;
new cena2 = SprautInfo[playerid][Bbar] *3;
new cena3 = SprautInfo[playerid][Bbar] *4;
new cena4 = SprautInfo[playerid][Bbar] *3;
new cena5 = SprautInfo[playerid][Bbar] *2;
new cena6 = SprautInfo[playerid][Bbar] *3;
new cena7 = SprautInfo[playerid][Bbar] *4;
if(response)//Если Далее то Покупаем!
{
if(listitem == 0)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena;
FracBank[8][fKazna] += cena;
format(string,sizeof(string),"Вы купили Спрайт за [%d]$",cena);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else if(listitem == 1)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena2;
FracBank[8][fKazna] += cena2;
format(string,sizeof(string),"Вы купили Кока Кола за [%d]$",cena2);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else if(listitem == 2)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena3;
FracBank[8][fKazna] += cena3;
format(string,sizeof(string),"Вы купили FleSh за [%d]$",cena3);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else if(listitem == 3)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena4;
FracBank[8][fKazna] += cena4;
format(string,sizeof(string),"Вы купили Лимонат за [%d]$",cena4);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else if(listitem == 4)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena5;
FracBank[8][fKazna] += cena5;
format(string,sizeof(string),"Вы купили Сок Добрый за [%d]$",cena5);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else if(listitem == 5)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena6;
FracBank[8][fKazna] += cena5;
format(string,sizeof(string),"Вы купили Чай Липтон за [%d]$",cena6);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else if(listitem == 6)
{
new Float:health;
GetPlayerHealth(playerid,health);
PlayerInfo[playerid][pHP] += 5;
PlayerInfo[playerid][pCash] -= cena7;
FracBank[8][fKazna] += cena7;
format(string,sizeof(string),"Вы купили Кофе за [%d]$",cena7);
SCM(playerid,COLOR_REDD,string);
SetPlayerHealthNoCheat(playerid, health + 5);
}
else//Если Отмена выдаем СМС
{
SCM(playerid, COLOR_BLUE, "Если вас не устраевает цены обращайтесь к мэру");
return 1;
}
}
}
PHP:
public IsAtCandySprunk(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 2, -2420.219, 984.578, 44.297)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2420.180, 985.945, 44.297)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2225.203, -1153.422, 1025.906)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2576.703, -1284.430, 1061.094)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2155.906, 1606.773, 1000.055)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2209.906, 1607.195, 1000.055)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2222.203, 1606.773, 1000.055)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 495.969, -24.320, 1000.734)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 501.828, -1.430, 1000.734)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 373.828, -178.141, 1000.734)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 330.680, 178.500, 1020.070)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 331.922, 178.500, 1020.070)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 350.906, 206.086, 1008.477)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 361.563, 158.617, 1008.477)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 371.594, 178.453, 1020.070)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 374.891, 188.977, 1008.477)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2155.844, 1607.875, 1000.063)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2202.453, 1617.008, 1000.063)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2209.242, 1621.211, 1000.063)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2222.367, 1602.641, 1000.063)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 500.563, -1.367, 1000.734)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 379.039, -178.883, 1000.734)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2480.86,-1959.27,12.9609)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1634.11,-2237.53,12.8906)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2139.52,-1161.48,23.3594)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2153.23,-1016.15,62.2344)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -1350.12,493.859,10.5859)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2229.19,286.414,34.7031)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1659.46,1722.86,10.2188)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2647.7,1129.66,10.2188)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2845.73,1295.05,10.7891)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1398.84,2222.61,10.4219)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -1455.12,2591.66,55.2344)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -76.0312,1227.99,19.125)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 662.43,-552.164,15.7109)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -253.742,2599.76,62.2422)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2271.73,-76.4609,25.9609)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1789.21,-1369.27,15.1641)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1729.79,-1943.05,12.9453)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2060.12,-1897.64,12.9297)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1928.73,-1772.45,12.9453)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2325.98,-1645.13,14.2109)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2352.18,-1357.16,23.7734)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1154.73,-1460.89,15.1562)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -1350.12,492.289,10.5859)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2118.97,-423.648,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2118.62,-422.414,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2097.27,-398.336,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2092.09,-490.055,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2063.27,-490.055,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2005.65,-490.055,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2034.46,-490.055,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2068.56,-398.336,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2039.85,-398.336,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -2011.14,-398.336,34.7266)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -1980.79,142.664,27.0703)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2319.99,2532.85,10.2188)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1520.15,1055.27,10.00)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2503.14,1243.7,10.2188)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 2085.77,2071.36,10.4531)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -862.828,1536.61,21.9844)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -14.7031,1175.36,18.9531)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, -253.742,2597.95,62.2422)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 201.016,-107.617,0.898438)) return 1;
else if(IsPlayerInRangeOfPoint(playerid, 2, 1277.84,372.516,18.9531)) return 1;
else return 0;
}
PHP:
else if(strcmp(cmd,"/cenaavtomat", true) == 0)
{
if(PlayerInfo[playerid][pMember] == 7)
{
tmp = strtok(cmdtext, idx);
if(PlayerInfo[playerid][pMember] != 7) return SendClientMessage(playerid, COLOR_REDD,"Вы не мэр");
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /cenabara [цена]");
if(strval(tmp) < 10 || strval(tmp) > 500) return SendClientMessage(playerid, COLOR_GREY, "Минимальная цена 10, максимальная 500 Вирт");
SprautInfo[playerid][Bbar] = strval(tmp);
format(string, sizeof(string), "Цена за покупку напитков установлена на %d Вирт.", SprautInfo[playerid][Bbar]);
SendClientMessage(playerid, COLOR_WHITE, string);
}
return 1;
}
Автор: Dima_Tushin
---------- Post added at 18:54 ---------- Previous post was at 18:50 ----------
и еще забыл в Enum добавим
PHP:
enum BAR
{
Bbar,
}
new SprautInfo[MAX_PLAYERS][BAR];
Последнее редактирование:
