Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Работа на заводе RAKNET

Статус
В этой теме нельзя размещать новые ответы.

Alberto_Johnson

Компетентный
Когда то давно делал копию работы на заводе RAKNET.
Может и кому то пригодится.
Если что то забыл пишите :dn:
P.S. выдачу чего либо сами сделаете!
Автор: Bady (Alberto Johnson)

Ко всем new:
PHP:
new cexjobpic;
new CexJobKey[MAX_PLAYERS];
new FireCount[MAX_PLAYERS];
new CexJobTime[MAX_PLAYERS];
new cexjob[2];
new Float: cexjobpos[][3] = {
    {2558.4937,-1291.0055,1044.1250},
    {2556.0537,-1291.0057,1044.1250},
    {2553.7737,-1291.0057,1044.1250},
    {2544.3096,-1291.0057,1044.1250},
    {2542.0234,-1291.0045,1044.1250},
    {2542.0928,-1295.8501,1044.1250},
    {2544.4287,-1295.8547,1044.1250},
    {2553.9265,-1295.8502,1044.1250},
    {2556.3018,-1295.8497,1044.1250},
    {2558.6357,-1295.8502,1044.1250}
};
Ко всем define:
PHP:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
В OnGameModeInit:
PHP:
    cexjob[0] = CreatePickup(1318,23,-86.2629,-299.3627,2.7646);
	cexjob[1] = CreatePickup(1318,23,2577.4275,-1289.8262,1044.1250,1);
	cexjobpic = CreatePickup(1275,23,2568.5022,-1281.2916,1044.1250,1);
В OnPlayerPickUpPickup:
PHP:
	if(pickupid == cexjobpic)
	{
		if(GetPVarInt(playerid, "CexJobRab") == 0) ShowPlayerDialog(playerid, 12, 0, "Работник производственного цеха", "Вы действительно желаете начать рабочий день?", "Да", "Нет");
		else ShowPlayerDialog(playerid, 13, 0, "Работник производственного цеха", "Вы действительно желаете закончить рабочий день?", "Да", "Нет");
	}
	if(pickupid == cexjob[0])
	{
		SetPlayerPos(playerid,2575.9282,-1291.0421,1044.1250);
		SetPlayerFacingAngle(playerid, 143.7253);
		SetPlayerVirtualWorld(playerid, 1);
		SetPlayerInterior(playerid,2);
	}
	if(pickupid == cexjob[1])
	{
		SetPlayerPos(playerid,-87.9320,-300.9501,2.7646);
		SetPlayerFacingAngle(playerid, 102.4608);
		SetPlayerVirtualWorld(playerid, 0);
		SetPlayerInterior(playerid,0);
		DeletePVar(playerid, "GUN"),DeletePVar(playerid, "CexJobRab"),DeletePVar(playerid, "Gjob"),DeletePVar(playerid, "GSkin");
	}
В OnPlayerConnect:
PHP:
CexJobKey[playerid] = 0;    FireCount[playerid] = 0;    CexJobTime[playerid] = 0;
В OnPlayerEnterCheckpoint:
PHP:
	if(GetPVarInt(playerid, "Gjob") == 1)
	{
		ClearAnimations(playerid);
		TogglePlayerControllable(playerid, 0);
		ApplyAnimation(playerid, "BUDDY", "buddy_reload", 4.1, 1, 1, 1, 1, 0);
		SetPlayerAttachedObject(playerid,3,355,14,0.401943,0.011442,0.010348,106.050292,330.509094,3.293162,1.000000,1.000000,1.000000);
		CexJobTime[playerid] = 2;
        SetPVarInt(playerid,"Gjob",2);
		return 0;
	}
В OnPlayerKeyStateChange:
PHP:
	if(GetPVarInt(playerid, "CexJobRab") == 1)
{
	if(GetPVarInt(playerid, "Gjob") == 2)
	{
		if(!CexJobTime[playerid])
		{
			if(CexJobKey[playerid] != 0 && PRESSED(CexJobKey[playerid]))
			{
				FireCount[playerid]++;
				ClearAnimations(playerid);
				if(FireCount[playerid] >= 5) CexJobTime[playerid] = 3;
				else CexJobTime[playerid] = 2;
			}
			else
			{
				if(!RELEASED(CexJobKey[playerid]))
				{
					GameTextForPlayer(playerid, "~r~BAD", 5000, 4),SetPVarInt(playerid, "Gjob", 1);
					CexJobTime[playerid] = 2,CexJobKey[playerid] = 0,FireCount[playerid] = 0;
					TogglePlayerControllable(playerid, 1),RemovePlayerAttachedObject(playerid, 3);
					new gcheck = random(sizeof(cexjobpos));
					SetPlayerCheckpoint(playerid,cexjobpos[gcheck][0],cexjobpos[gcheck][1],cexjobpos[gcheck][2],1.5);  
				}
			}
		}
	}
}
В OnPlayerUpdate:
PHP:
	if(GetPVarInt(playerid, "CexJobRab") == 1)
{
	if(GetPVarInt(playerid,"Gjob") == 2)
	{
		if(CexJobTime[playerid] > 0)
		{
			CexJobTime[playerid] --;
			if(!CexJobTime[playerid])
			{
				if(FireCount[playerid] >= 6)
				{
					TogglePlayerControllable(playerid, true),DisablePlayerCheckpoint(playerid);
					GameTextForPlayer(playerid, "~y~SUCCESSFULLY", 5000, 4),SetPVarInt(playerid, "Gjob", 1);
					CexJobTime[playerid] = 2,CexJobKey[playerid] = 0,FireCount[playerid] = 0;
					new gcheck = random(sizeof(cexjobpos));
					SetPlayerCheckpoint(playerid,cexjobpos[gcheck][0],cexjobpos[gcheck][1],cexjobpos[gcheck][2],1.5);  
				}
				else SetPlayerRandomKey(playerid, CexJobKey[playerid]);
			}
		}
	}
}
Ко всем диалогом:
PHP:
	case 12:
		{
			if(!response) return true;
			SetPVarInt(playerid, "GSkin",GetPlayerSkin(playerid)),SetPlayerSkin(playerid, 258);
			SendClientMessage(playerid,COLOR_BLUE,"Вы начали работу в Производственном Цеху"),SendClientMessage(playerid,COLOR_BLUE,"Идите к столу что бы начать работу"),SendClientMessage(playerid,COLOR_GREEN,"Вы взяли детали, подойдите к столу в центре цеха, чтобы начать упаковку");
			SetPVarInt(playerid,"CexJobRab",1);
			SetPVarInt(playerid,"Gjob",1);
			FireCount[playerid] = 0;
  new gcheck = random(sizeof(cexjobpos));
  SetPlayerCheckpoint(playerid,cexjobpos[gcheck][0],cexjobpos[gcheck][1],cexjobpos[gcheck][2],1.5);  
		}
	case 13:
		{
			if(!response) return true;
			SetPlayerSkin(playerid, GetPVarInt(playerid, "GSkin"));
			SendClientMessage(playerid,COLOR_BLUE,"Продукты можно продать возле завода, на склад"),SendClientMessage(playerid,COLOR_BLUE,"Места продаж так же есть в /gps - по работе - [$]");
			SendClientMessage(playerid,COLOR_BLUE,"Чтобы продать что то из инвентаря, выделите объекты и нажмите кнопку SELL"),SendClientMessage(playerid,COLOR_BLUE,"Вы должны находиться возле места продажи");
			RemovePlayerAttachedObject(playerid, 3);
			DeletePVar(playerid, "GUN"),DeletePVar(playerid, "CexJobRab"),DeletePVar(playerid, "Gjob"),DeletePVar(playerid, "GSkin");
			DisablePlayerCheckpoint(playerid);
		}
В конец мода:
PHP:
stock SetPlayerRandomKey(playerid, &key)
    return GameTextForPlayer(playerid, (key = (KEY_YES * (random(2) + 1))) ? ("PRESS ~y~Y") : ("PRESS ~r~N"), 5000, 4), 1;




У кого не грузят скрины:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу