Dmitriy Makarov
Умник
Произошел странный баг.
Сделал еду на диалоговых окнах для новичков.
Как должно работать:
Подходишь к боту, нажимаешь L. Alt, открывается диалоговое окно с 3-мя пунктами. Нажимая на пункт, тебе прибавляется определенное количество здоровья и +у тебя должна воспроизводиться анимация, указанная в коде.
Как работает:
Нажимаешь на 1 пункт = прибавляется здоровье, анимация не воспроизводится
Нажимаешь на 2 пункт = прибавляется здоровье, +открывается какое-то окно, список анимаций, когда нажимаешь на любую анимацию, то её воспроизводит бот.
Нажимаешь на 3 пункт = тоже самое, что и в 1 пункте.
P.S: Того самого окна с анимациями у меня в коде вообще нету.
Вот собственно полный код.
Сделал еду на диалоговых окнах для новичков.
Как должно работать:
Подходишь к боту, нажимаешь L. Alt, открывается диалоговое окно с 3-мя пунктами. Нажимая на пункт, тебе прибавляется определенное количество здоровья и +у тебя должна воспроизводиться анимация, указанная в коде.
Как работает:
Нажимаешь на 1 пункт = прибавляется здоровье, анимация не воспроизводится
Нажимаешь на 2 пункт = прибавляется здоровье, +открывается какое-то окно, список анимаций, когда нажимаешь на любую анимацию, то её воспроизводит бот.
Нажимаешь на 3 пункт = тоже самое, что и в 1 пункте.
P.S: Того самого окна с анимациями у меня в коде вообще нету.
Вот собственно полный код.
C++:
// Тут я создаю окно с едой
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == 1024)
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, 1767.7570,-1903.4147,13.5669)) // Бесплатная еда для новичков 1 LVL'a
{
if(GetPlayerVirtualWorld(playerid) == 0) SPD(playerid, 5, DIALOG_STYLE_TABLIST_HEADERS, "Еда для бездомных", "Название\tЦена\n\
{FFFFFF}Хот-Дог\t{00FF00}Бесплатно\n\
{FFFFFF}Бутерброд\t{FFFFFF}$10\n\
{FFFFFF}Беляш\t{FFFFFF}$25", "Выбрать", "Закрыть");
}
}
return true;
}
// Тут взаимодействие с тем самым окном
case 5:
{
if(!response) return 1;
switch(listitem)
{
case 0: // Первый пункт. ХП прибавляется, анимации нету.
{
new Float:health;
GetPlayerHealth(playerid, health);
SetPlayerHealth(playerid, health +10);
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 1, 1);
}
case 1: // Второй пункт. ХП прибавляется, +открывается окно с анимациями
{
new Float:health;
GetPlayerHealth(playerid, health);
SetPlayerHealth(playerid, health +25);
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 1, 1);
}
case 2: // Третий пункт. Как и первый
{
new Float:health;
GetPlayerHealth(playerid, health);
SetPlayerHealth(playerid, health +40);
ApplyAnimation(playerid, "FOOD", "EAT_Burger", 4.0, 0, 0, 0, 0, 1, 1);
}
}
}
