Dima972511
Умник
Работа фармацевта
Всем доброго времени суток. В этой теме я выложил работу фармацевта, которую давно писал для своего мода. Если кто то что-то будет писать про оптимизацию, то скажу сразу что давно писал и на неё внимания не обращал. Так что если кому надо оптимизируйте.
Всем доброго времени суток. В этой теме я выложил работу фармацевта, которую давно писал для своего мода. Если кто то что-то будет писать про оптимизацию, то скажу сразу что давно писал и на неё внимания не обращал. Так что если кому надо оптимизируйте.
[HR][/HR]
Работа полностью на клавишах. Сначала переодеваемся, потом идём к столу(столы распределяются рандомно). Дальше зажимаем клавиши которые пишутся в чате.
Сначала нужно обработать бинты клавишой пробел, потом надо свернуть бинт клавишой альт, затем сделать жгут на альт, затем обработать шприц на пробел. На каждый этап выделено определённое время нажатия.
[HR][/HR]
Скриншоты:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Место нахождения:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
[HR][/HR]
Код:
ко всем new
PHP:
new enterlab[3];
new Skin[MAX_PlAYERS];
PHP:
pPayDayCheck
PHP:
forward FactoryUpdate();
public FactoryUpdate()
{
for(new i; i < GetMaxPlayers(); i++)
{
if(!IsPlayerConnected(i)) continue;
Manufactyre(i);
}
}
stock Manufactyre(playerid)
{
new Keys,ud,lr, string[50];
GetPlayerKeys(playerid,Keys,ud,lr);
if(GetPVarInt(playerid, "MedicalCom") == 1)
{
if(Kolmed[playerid] < 10)
{
if(Keys == KEY_SPRINT)
{
Kolmed[playerid]++;
format(string, 20, "Process: %d", Kolmed);
GameTextForPlayer(playerid, string, 600, 3);
ApplyAnimation( playerid, "SPRAYCAN", "spraycan_fire", 4.1, 1, 1, 1, 0, 0);
}
}
if(Kolmed[playerid] >= 10)
{
if(Kolmed[playerid] == 10) { SendClientMessage(playerid, 0xED4900, "Начинайте сворачивать бинт(нажимайте клавишу 'шаг')"); }
if(Keys == KEY_WALK)
{
Kolmed[playerid]++;
format(string, 20, "Process: %d", Kolmed);
GameTextForPlayer(playerid, string, 400, 3);
ApplyAnimation( playerid, "ped", "bomber", 4.1, 1, 1, 1, 0, 0);
}
}
if(Kolmed[playerid] >= 30)
{
if(Kolmed[playerid] == 30) { SendClientMessage(playerid, 0xED4900, "Вы изготовили бинт. Начинайте делать жгут(жмите клавишу 'шаг' для изготовки!"); }
SetPVarInt(playerid, "MedicalCom", 2);
Kolmed[playerid] = 0;
}
}
if(GetPVarInt(playerid, "MedicalCom") == 2)
{
if(Kolmed[playerid] < 10)
{
if(Keys == KEY_WALK)
{
Kolmed[playerid]++;
format(string, 20, "Process: %d", Kolmed);
GameTextForPlayer(playerid, string, 400, 3);
ApplyAnimation( playerid, "ped", "bomber", 4.1, 1, 1, 1, 0, 0);
}
}
if(Kolmed[playerid] >= 10)
{
if(Kolmed[playerid] == 10) { SendClientMessage(playerid, 0xED4900, "Вы изготовили жгут. Приступайте к обработке шприца(жмите клавишу 'быстрый бег' для обработки)"); }
SetPVarInt(playerid, "MedicalCom", 3);
Kolmed[playerid] = 0;
}
}
if(GetPVarInt(playerid, "MedicalCom") == 3)
{
if(Kolmed[playerid] < 10)
{
if(Keys == KEY_SPRINT)
{
Kolmed[playerid]++;
format(string, 20, "Process: %d", Kolmed);
GameTextForPlayer(playerid, string, 400, 3);
ApplyAnimation( playerid, "SPRAYCAN", "spraycan_fire", 4.1, 1, 1, 1, 0, 0);
}
}
if(Kolmed[playerid] >= 10)
{
if(Kolmed[playerid] == 10) { SendClientMessage(playerid, 0xED4900, "Вы обработали шприцы. Приступайте к изготовлению лекратсва(жмите клавишу 'шаг')"); }
SetPVarInt(playerid, "MedicalCom", 4);
Kolmed[playerid] = 0;
}
}
if(GetPVarInt(playerid, "MedicalCom") == 4)
{
if(Kolmed[playerid] < 10)
{
if(Keys == KEY_WALK)
{
Kolmed[playerid]++;
format(string, 20, "Process: %d", Kolmed);
GameTextForPlayer(playerid, string, 400, 3);
ApplyAnimation( playerid, "OTB", "betslp_loop", 4.1, 1, 1, 1, 0, 0);
}
}
if(Kolmed[playerid] >= 10)
{
if(Kolmed[playerid] == 10) { SendClientMessage(playerid, 0xED4900, "Вы закончили изготовку медикаментов, несите их на склад!"); }
Kolmed[playerid] = 0;
SetPVarInt(playerid, "MedicalCom", 5);
SetPlayerCheckpoint(playerid, 2558.5039,-1282.6887,1031.4219, 2.0);
TogglePlayerControllable(playerid, 1);
SetPlayerAttachedObject(playerid, 2, 2891, 5, 0.01, 0.1, 0.2, 100, 10, 85);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
}
}
}
в public OnPlayerEnterCheckpoint
if(GetPVarInt(playerid, "SetMedical") == 2)
{
DisablePlayerCheckpoint(playerid);
SetPVarInt(playerid, "MedicalCom", 1);
RemovePlayerAttachedObject(playerid, 2);
SendClientMessage(playerid, 0xED4900, "Обработайте бинт спреем. Жмите клавишу 'быстрый бег' для обработки");
SetPVarInt(playerid, "SetMedical", 0);
TogglePlayerControllable(playerid, 0);
}
if(GetPVarInt(playerid, "SetMedical") == 1)
{
DisablePlayerCheckpoint(playerid);
SetPlayerAttachedObject(playerid, 2, 2891, 5, 0.01, 0.1, 0.2, 100, 10, 85);
ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
SendClientMessage(playerid, 0x680000, "Идите к чекпоинту чтобы начать изготовку медикаментов!");
new randmed = random(sizeof(randommed));
SetPlayerCheckpoint(playerid, randommed[randmed][0], randommed[randmed][1], randommed[randmed][2], 0.5);
SetPVarInt(playerid, "SetMedical", 2);
}
if(GetPVarInt(playerid, "MedicalCom") == 5)
{
new string[128];
DisablePlayerCheckpoint(playerid);
ClearAnimations(playerid);
RemovePlayerAttachedObject(playerid, 2);
PlayerInfo[playerid][pPayDayCheck] += 20; //вместо 20 ставьте свою цену
format(string, sizeof(string), "+20$ прибавленно к вашей зарплате. Ваша зарплата теперь составляет %d$", PlayerInfo[playerid][pPayDayCheck]);
SendClientMessage(playerid, -1, string);
SetPlayerCheckpoint(playerid, 2558.3049,-1303.8213,1031.4219, 2.0);
SetPVarInt(playerid, "SetMedical", 1);
SetPVarInt(playerid, "MedicalCom", 0);
}
PHP:
if(pickupid == enterlab[2])// Раздевалка ф.ф
{
if(Skin[playerid] == false)
{
if(PlayerInfo[playerid][pSex] == 1) { SetPlayerSkin(playerid, 176); }
if(PlayerInfo[playerid][pSex] == 2) { SetPlayerSkin(playerid, 219); }
SetPlayerCheckpoint(playerid, 2558.3049,-1303.8213,1031.4219, 2.0);
SetPVarInt(playerid, "SetMedical", 1);
PlayerInfo[playerid][pJob] = 1;
PlayerInfo[playerid][pPayDayCheck] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Идите на чекпоинт чтобы взять заготовки");
Skin[playerid] = true;
SpawnPlayer(playerid);
}
else
{
if(PlayerInfo[playerid][pJob] != 1) return SendClientMessage(playerid, COLOR_GREY, "Вы тут не работаете!");
if(PlayerInfo[playerid][pChar] == 0) SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
if(PlayerInfo[playerid][pChar] > 0) SetPlayerSkin(playerid, PlayerInfo[playerid][pChar]);
DisablePlayerCheckpoint(playerid);
RemovePlayerAttachedObject(playerid, 2);
ClearAnimations(playerid);
Skin[playerid] = false;
SetPlayerPos(playerid, 2569.4480,-1302.7634,1031.4219);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 2);
if(FracBank[8] < PlayerInfo[playerid][pPayDayCheck]) return SendClientMessage(playerid, COLOR_WHITE, "У компании нет денег на выдачу зарплаты!");
GiveMoney(playerid, PlayerInfo[playerid][pPayDayCheck]);
PlayerInfo[playerid][pJob] = 0;
SendMes(playerid, COLOR_WHITE, "Вы получили %d$ за свою работу", PlayerInfo[playerid][pPayDayCheck]);
PlayerInfo[playerid][pPayDayCheck] = 0;
}
}
if(pickupid == enterlab[0])
SetPlayerInterior(playerid,2);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,2543.3083,-1304.2050,1025.0743);
SetPlayerFacingAngle(playerid, 500);
}
if(pickupid == enterlab[1])//Laboratory выход
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,1051.1483,2148.7100,10.8203);
SetPlayerFacingAngle(playerid, 500);
}
PHP:
enterlab[0] = CreatePickup(1318, 23, 1054.8143,2148.2788,10.8203);
enterlab[1] = CreatePickup(1318, 23, 2541.5454,-1304.0947,1025.0703);
enterlab[2] = CreatePickup(1275, 23, 2566.8787,-1305.2607,1031.4219);
SetTimer("FactoryUpdate", 400, 1);
PHP:
else if(PlayerInfo[playerid][pJob] == 1 && Skin[playerid] == true)
{
if(PlayerInfo[playerid][pSex] == 1) { SetPlayerSkin(playerid, 176); }
if(PlayerInfo[playerid][pSex] == 2) { SetPlayerSkin(playerid, 219); }
SetPlayerCheckpoint(playerid, 2558.3049,-1303.8213,1031.4219, 2.0);
SetPlayerPos(playerid, 2569.4480,-1302.7634,1031.4219);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 2);
SetPVarInt(playerid, "SetMedical", 1);
}
Автор: я.
Последнее редактирование:
