_DontWorry_
Дебютант
Здравствуйте. Сегодня я вам расскажу,что нужно для создания работы.И так.Для начала вам понадобиться логически помыслить.
Допустим,бы создаем работу.Первое что мы должны сделать это - сделать пикап начала работы. Сама последовательность будет выглядеть примерно так:
1) Устраиваемся на работу
2) Идем за мешком
3) Делаем проверку на то,если ли у игрока мешок.Если нет выдаем мешок.
4) Делаем проверку на кнопки "БЕГ","Удар","Второй удар".Если кнопки нажаты - изменяем значение мешка на 0.
5) Относим мешок на склад и получаем +350 money.
6) Когда игрок увольняется,пишем ему количество перенесенных мешков и количество заработанных денег.
И так,первое,что нам нужно,это сделать пикапы.
Ко всем new:
в enum pInfo
В public OnGameModeInit()
В public OnPlayerPickUpPickup(playerid, pickupid)
В public OnPlayerEnterCheckpoint(playerid)
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Автор урока: _DontWorry_
Допустим,бы создаем работу.Первое что мы должны сделать это - сделать пикап начала работы. Сама последовательность будет выглядеть примерно так:
1) Устраиваемся на работу
2) Идем за мешком
3) Делаем проверку на то,если ли у игрока мешок.Если нет выдаем мешок.
4) Делаем проверку на кнопки "БЕГ","Удар","Второй удар".Если кнопки нажаты - изменяем значение мешка на 0.
5) Относим мешок на склад и получаем +350 money.
6) Когда игрок увольняется,пишем ему количество перенесенных мешков и количество заработанных денег.
И так,первое,что нам нужно,это сделать пикапы.
Ко всем new:
PHP:
new startfarm;// Объявляем пикапы
new sudameshki;
PHP:
pJob,
pJobCash,
pMeshCash,
PHP:
startfarm = CreatePickup(1210,23,-382.9769,-1426.3196,26.3191);// Создаем пикап
sudameshki = CreatePickup(2060,23,-362.6571,-1431.0712,25.7266);
PHP:
if(pickupid == startfarm) // Если игрок стоит на пикапе startfarm
{
if(Player[playerid][pJob] == 0) // Делаем проверку на массив pJob(проверка на то,работает игрок или нет)
{
Player[playerid][pJob] = 2; // Ставим значение массива на 2(так как у меня уже есть 2 работы,Работа фермера у меня будет id 2)
SetPVarInt(playerid,"flower",0); // создаем pVar со значением 0
SetPlayerSkin(playerid,132); // Выдаем скин игроку
SetPlayerCheckpoint(playerid,-299.0458,-1372.9541,8.7768,5); // Создаем чекпоинт
SendClientMessage(playerid,COLOR_GREEN,"Вы успешно начали рабочий день"); // оповещаем игрока.
}
else if(Player[playerid][pJob] == 2) // Иначе,если у игрока pJob == 2
{
Player[playerid][pJob] = 0; // Увольняем игрока
new str[128]; // создаем переменную
RemovePlayerAttachedObject(playerid,2);// Удаляем объект у игрока
format(str,sizeof(str),"{81F781}Вы успешно уволились. {0101DF}Всего мешков c пшеницей:{FF4000}%d. {0101DF}Общая прибыль:{FF4000}%d",Player[playerid][pMeshCash],Player[playerid][pJobCash]); // задаем свойства переменной
DisablePlayerCheckpoint(playerid); // удаляем чекпоинт
SendClientMessage(playerid,COLOR_GREEN,str); // выводим сообщение переменной
SetPlayerSkin(playerid,Player[playerid][pSkin]); // устанавливаем скин игрока.
}
}
if(pickupid == sudameshki) // проверяем пикап
{
if(Player[playerid][pJob] == 2) // делаем проверку на pJob
{
if(GetPVarInt(playerid,"flower") == 1) // Делаем проверку на PVar
{
Player[playerid][pCash] +=300; // выдем деньги игроку
Player[playerid][pJobCash] +=300; // устанавливаем массиву pJobCash +=300
Player[playerid][pMeshCash] +=1; // устанавливаем массиву pMeshCash +=1
SendClientMessage(playerid,COLOR_GREEN,"Мешок с пшеницей был доставлен на склад"); // оповещаем игрока
SetPVarInt(playerid,"flower",0); // устанавливаем значение PVar на 0
SetPlayerCheckpoint(playerid,-299.0458,-1372.9541,8.7768,5); // устанавливаем чекпоинт
}
}
}
PHP:
if(GetPVarInt(playerid,"flower") == 0) // делаем проверку на PVar
{
SetPVarInt(playerid,"flower",1); // устанавливаем PVar на 1
SendClientMessage(playerid,COLOR_GREEN,"Вы взяли мешок.Отнесите его на склад(находится в соседнем здании рядом с раздевалкой"); // оповещаем игрока
SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85); // даем игрок объект
DisablePlayerCheckpoint(playerid); // отключаем чекпоинт
}
PHP:
if( (newkeys & KEY_FIRE) || (newkeys & KEY_SECONDARY_ATTACK) || ( (newkeys & KEY_SPRINT))) // делаем проверку на нажатые клавиши
{
if(Player[playerid][pJob] == 1 || Player[playerid][pJob] == 2) // делаем проверку на работы(так как у меня 2 работы,естественно будет pJob == 1 || pJob == 2)
{
if(GetPVarInt(playerid,"flower") == 1) // если значение pvar'a == 1,то тогда:
{
SetPVarInt(playerid,"flower",0); // задаем значение на 0
SendClientMessage(playerid,COLOR_RED,"Упс.. Мешок упал (( не бегайте и деритесь.)) "); // выводим сообщение игроку
if(Player[playerid][pJob] == 2) return SetPlayerCheckpoint(playerid,-299.0458,-1372.9541,8.7768,5); // проверка на фракцию.И если фракция равна двум - создаем чекпоинт
RemovePlayerAttachedObject(playerid,2);
}
}
}
Последнее редактирование:
