Nikit(a)
Ученик
Всем привет! вот написал работу для new.pwn
Суть работы: брать мусор в определённых местах и относить его в определённое место.
Работа находится на свалке ЛС.
И так начнём!
Ко всем new(переменные):
Далее в public OnPlayerConnect:
Далее в public OnPlayerEnterCheckpoint
Далее в public OnPlayerPickUpPickup
Далее в public OnPlayerUpdate
Далее в public OnDialogResponse
Далее в свой сток где находятся все пикапы сервера(если нету то в public OnGameModeInit)
Вроде бы все,если есть ошибки или предложения как улучшить работу то оставляйте коментарии.
А чуть не забыл,
Вот в этой строчке:
1265- обьект мусора,можно изменить на это- 1264.
Скриншоты:
Если понравилось,+
Суть работы: брать мусор в определённых местах и относить его в определённое место.
Работа находится на свалке ЛС.
И так начнём!
Ко всем new(переменные):
PHP:
//======================= Уборщик мусора =======================================
new MusorPickup[3];
new bool:InMusorJob[MAX_PLAYERS];
new MusorLfBg[MAX_PLAYERS];
new bool:UseMusor[MAX_PLAYERS];
new JobCP[MAX_PLAYERS];
PHP:
//====================== Уборщик мусора ====================================
InMusorJob[playerid] = false;
MusorLfBg[playerid] = 0;
UseMusor[playerid] = false;
JobCP[playerid] = 0;
PHP:
//==================== Уборщик Мусора ======================================
if(JobCP[playerid] == 1 && PlayerToPoint(2.0, playerid, 2132.0603, -1992.0642, 13.5469))
{
UseMusor[playerid] = true;
SetPlayerCheckpoint(playerid, 2178.9124, -1993.2563, 13.5469, 2.0);
SetPlayerAttachedObject(playerid, 4 , 1265, 1, 0.11, 0.36, 0.0, 0.0, 90.0);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
JobCP[playerid] = 2;
}
if(JobCP[playerid] == 2 && PlayerToPoint(2.0, playerid, 2178.9124, -1993.2563, 13.5469))
{
UseMusor[playerid] = false;
ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1, 0, 1, 1, 0, 1);
MusorLfBg[playerid] ++;
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
format(string, sizeof(string), "Мусора перенесено: %d", MusorLfBg[playerid]);
SCM(playerid, COLOR_GREEN, string);
SetPlayerCheckpoint(playerid, 2132.0603, -1992.0642, 13.5469, 2.0);
JobCP[playerid] = 1;
}
PHP:
//======================== Уборщик мусора ==================================
else if(pickupid == MusorPickup[0]) SPD(playerid, 169, DSM, "Информация о работе", "{FFFFFF}Здесь вы можете подработать Уборщиком мусора\n\nНедалеко от вас, вы найдёте раздевалку,\nА так же кассу, где получают деньги за работу.\nЧтобы начать работу, небходимо переодеться в рабочую одежду\nдалее вам укажут, где брать мусор и куда его выбрасовать", "Закрыть", "");
else if(pickupid == MusorPickup[1]) SPD(playerid, 170, DSM, "Раздевалка", "Вы хотите начать рабочий день или завершить?", "Начать", "Завершить");
else if(pickupid == MusorPickup[2])
{
new string[64];
if(PlayerInfo[playerid][pMember] > 0) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы состоите в организации!");
if(InMusorJob[playerid] == false) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы не начинали тут работу!");
if(MusorLfBg[playerid] == 0) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы нечего не заработали!");
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
PlayerInfo[playerid][pCash] += MusorLfBg[playerid]*25;
format(string, sizeof(string), "Вы заработали %d вирт за %d перенесенных мусора", MusorLfBg[playerid]*25, MusorLfBg[playerid]);
SCM(playerid, COLOR_BLUE, string);
MusorLfBg[playerid] = 0;
UseMusor[playerid] = false; JobCP[playerid] = 0;
InMusorJob[playerid] = false;
DisablePlayerCheckpoint(playerid);
}
PHP:
//=================== Уборщик Мусора =======================================
if(JobCP[playerid] == 1 && InMusorJob[playerid] == true && UseMusor[playerid] == true)
{
GetAnimationName(GetPlayerAnimationIndex(playerid), animlib, 32, animname, 32);
if(strcmp(animname, "IDLE_STANCE", true) != 0
&& strcmp(animname, "RUN_CIVI", true) != 0
&& strcmp(animname, "WALK_CIVI", true) != 0
&& strcmp(animname, "crry_prtial", true) != 0
&& strcmp(animname, "SPRINT_PANIC", true) != 0
&& strcmp(animname, "RUN_PLAYER", true) != 0
&& strcmp(animname, "WALK_PLAYER", true) != 0
&& strcmp(animname, "SPRINT_CIVI", true) != 0)
{
UseMusor[playerid] = false;
SCM(playerid, COLOR_RED, "Вы уронили мусор!");
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1, 0, 1, 1, 0, 1);
SetPlayerCheckpoint(playerid, 2132.0603, -1992.0642, 13.5469, 2.0);
JobCP[playerid] = 1;
}
}
PHP:
case 170:
{
if(response)
{
if(PlayerInfo[playerid][pMember] > 0) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы состоите в организации!");
if(InMusorJob[playerid] == true) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы уже начали работу!");
InMusorJob[playerid] = true; JobCP[playerid] = 1;
MusorLfBg[playerid] = 0;
SetPlayerSkin(playerid, 134);
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid, 2132.0603, -1992.0642, 13.5469, 2.0);
SCM(playerid, COLOR_BLUE, "Рабочий день начат. На радаре помечено место где брать мусор");
}
else
{
if(PlayerInfo[playerid][pMember] > 0) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы состоите в организации!");
if(InMusorJob[playerid] == false) return SCM(playerid, COLOR_GREY, "[Ошибка] Вы не начинали тут работу!");
if(MusorLfBg[playerid] > 0) return SCM(playerid, COLOR_GREY, "[Ошибка] Сначала получите зарплату!");
if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
MusorLfBg[playerid] = 0;
UseMusor[playerid] = false; JobCP[playerid] = 0;
InMusorJob[playerid] = false;
DisablePlayerCheckpoint(playerid);
SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
SCM(playerid, COLOR_GREEN, "Рабочий день закончен.");
}
}
PHP:
//===================== Уборщик мусора =====================================
MusorPickup[0] = CreatePickup(1239, 23, 2202.4758, -1973.6638, 13.5573);
MusorPickup[1] = CreatePickup(1275, 23, 2195.9397, -1973.0193, 13.5589);
MusorPickup[2] = CreatePickup(1274, 23, 2195.6284, -1981.2148, 13.5517);
А чуть не забыл,
PHP:
SCM- это SendClientMessage
SPD- это ShowPlayerDialog
DSM- это DIALOG_STYLE_MSGBOX
PHP:
SetPlayerAttachedObject(playerid, 4 , 1265, 1, 0.11, 0.36, 0.0, 0.0, 90.0);
Скриншоты:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Если понравилось,+
