Доступ к архиву

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

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

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

Динамические чекпоинты + система

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

▲Denny▲

Умник
Ошибки:
1.После pinfo[playerid][avtocheckpointid][3] идёт pinfo[playerid][avtocheckpointid][2].
2.Не появляется объект колеса.
3.Можно ли это как-то оптимизировать?


Все new:
PHP:
enum AvtoChecks
{
	Float:xCoord,
	Float:yCoord,
	Float:zCoord,
	type,
	id[4],
}
new AvtoCheckpoint[13][AvtoChecks] =
{
	{824.8062, -582.2228, 1377.50, 0},
	{848.4474, -546.0866, 1377.50, 1},
	{841.8116, -546.0869, 1377.50, 1},
	{848.4520, -551.1677, 1377.50, 1},
	{841.8927, -551.0367, 1377.50, 1},
	{836.6008, -542.0421, 1377.50, 2},
	{840.1486, -542.0433, 1377.50, 2},
	{843.8096, -542.0419, 1377.50, 2},
	{850.7552, -542.0417, 1377.50, 2},
	{825.4662, -570.8472, 1377.50, 3},
	{825.4662, -575.0864, 1377.50, 3},
	{829.5508, -574.8870, 1377.50, 3},
	{829.5508, -570.9003, 1377.50, 3}
};
new avtozavod, avtoanim[MAX_PLAYERS], truefalse[MAX_PLAYERS];
new avtozavod - пикап устройства на работу.


В public OnPlayerPickUpDynamicPickup(playerid, pickupid):

PHP:
if(pickupid == avtozavod && GetPVarInt(playerid, "UpdatePickup") < gettime())
	{
		SetPVarInt(playerid, "UpdatePickup", gettime() + 4);
		return ShowPlayerDialog(playerid, dAvtozav, DIALOG_STYLE_LIST, "Трудоустройство", "Устроиться на работу\nЗакончить смену", "Принять", "Отмена");
	}
в Диалогах:

PHP:
case dAvtozav:
    	{
    		if(!response) return 1;
    		switch(listitem)
    		{
    			case 0:
    			{
    				if(pinfo[playerid][avtojob] == 1) return SendClientMessage(playerid, -1, MESWARNING"Вы уже работаете на автозаводе!");
    				pinfo[playerid][avtojob] = 1;
    				switch(pinfo[playerid][sex])
    				{
    					case 1: SetPlayerSkin(playerid, 27);
    					case 2: SetPlayerSkin(playerid, 157);
    				}
    				pinfo[playerid][avtocheckpointid][0] = CreateDynamicCP(AvtoCheckpoint[0][xCoord], AvtoCheckpoint[0][yCoord], AvtoCheckpoint[0][zCoord], 1.0, -1, -1, playerid);
    				return SendClientMessage(playerid, -1, MESWARNING"Вы начали работу на автозаводе!");
    			}
    			case 1:
    			{
    				if(pinfo[playerid][avtojob] == 0) return SendClientMessage(playerid, -1, MESERROR"Вы не работаете на автозаводе!");
    				new string[144];
    				format(string, sizeof(string), MESWARNING"Вы успешно окончили рабочий день. Вы получили %i$!", pinfo[playerid][zarplata]);
    				pinfo[playerid][avtojob] = 0;
    				SetPlayerSkin(playerid, pinfo[playerid][cloth]);
    				pinfo[playerid][money] += pinfo[playerid][zarplata], pinfo[playerid][zarplata] = 0, GivePlayerMoney(playerid, pinfo[playerid][money]);
    				DestroyDynamicCP(pinfo[playerid][avtocheckpointid][0]);
    				DestroyDynamicCP(pinfo[playerid][avtocheckpointid][1]);
    				DestroyDynamicCP(pinfo[playerid][avtocheckpointid][2]);
    				DestroyDynamicCP(pinfo[playerid][avtocheckpointid][3]);
    				return SendClientMessage(playerid, -1, string);
    			}
    		}
    	}
Паблики:
PHP:
forward Animka(playerid);
public Animka(playerid)
{
	ClearAnimations(playerid, 1);
	ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 0, 0, 1, 1, 1);
	return SetPlayerAttachedObject(playerid, 1, 1098, 6, 0.0, 0.5, 0.4, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0);
}
forward Avtozavod1(playerid);
public Avtozavod1(playerid)
{
	new string[80];
	ClearAnimations(playerid);
	pinfo[playerid][zarplata] += binfo[GetPVarInt(playerid, "bid")][price1][0];
	format(string, sizeof(string), MESWARNING"Вы заработали %i$!", pinfo[playerid][zarplata]);
	pinfo[playerid][avtocheckpointid][0] = CreateDynamicCP(AvtoCheckpoint[0][xCoord], AvtoCheckpoint[0][yCoord], AvtoCheckpoint[0][zCoord], 1.0, -1, -1, playerid);
	return SendClientMessage(playerid, -1, string);
}
forward Avtozavod(playerid);
public Avtozavod(playerid)
{
	new pickup_id;
	randcp: pickup_id = random(sizeof AvtoCheckpoint);
	if(truefalse[playerid] == 1)
	{
		if(AvtoCheckpoint[pickup_id][type] != 3) goto randcp; 
		pinfo[playerid][avtocheckpointid][3] = CreateDynamicCP(AvtoCheckpoint[pickup_id][xCoord], AvtoCheckpoint[pickup_id][yCoord], AvtoCheckpoint[pickup_id][zCoord], 1.0, -1, -1, playerid);
		truefalse[playerid] = 0;
	}
	else
	{
		if(AvtoCheckpoint[pickup_id][type] != 2) goto randcp; 
		pinfo[playerid][avtocheckpointid][2] = CreateDynamicCP(AvtoCheckpoint[pickup_id][xCoord], AvtoCheckpoint[pickup_id][yCoord], AvtoCheckpoint[pickup_id][zCoord], 1.0, -1, -1, playerid);
		truefalse[playerid] = 1;
	}
	ClearAnimations(playerid);
	ApplyAnimation(playerid, "MISC", "pickup_box",2.5, 0, 1, 1, 0, 1);
	SetPlayerAttachedObject(playerid, 1, 1098, 6, 0.0, 0.5, 0.4, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0);
	ClearAnimations(playerid, 0);
	return ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1, 1, 0, 0, 1, 1, 1);
}
в OnPlayerEnterDynamicCP:
PHP:
new pickup_id;
	if(checkpointid == pinfo[playerid][avtocheckpointid][0])
	{
		DestroyDynamicCP(pinfo[playerid][avtocheckpointid][0]);
		ApplyAnimation(playerid, "MISC", "pickup_box",4.1, false, true, true, false, 0, 1);
		SetTimerEx("Animka", 950, false, "i", playerid);
		pinfo[playerid][avtocheckpointid][0] = -1;
		randcp: pickup_id = random(sizeof AvtoCheckpoint);
		if(AvtoCheckpoint[pickup_id][type] != 1) goto randcp; 
		pinfo[playerid][avtocheckpointid][1] = CreateDynamicCP(AvtoCheckpoint[pickup_id][xCoord], AvtoCheckpoint[pickup_id][yCoord], AvtoCheckpoint[pickup_id][zCoord], 1.0, -1, -1, playerid);
		return 1;
	}
	else if(checkpointid == pinfo[playerid][avtocheckpointid][1])
	{
		ClearAnimations(playerid);
		DestroyDynamicCP(pinfo[playerid][avtocheckpointid][1]);
		pinfo[playerid][avtocheckpointid][1] = -1;
		RemovePlayerAttachedObject(playerid, 1);
		ApplyAnimation(playerid, "VENDING", "VEND_USE", 4.1, 1, 0, 0, 0, 0, 0);
		avtoanim[playerid] = SetTimerEx("Avtozavod", 10000, false, "i", playerid);
		return 1;
	}
	else if(checkpointid == pinfo[playerid][avtocheckpointid][2])
	{
		ClearAnimations(playerid);
		DestroyDynamicCP(pinfo[playerid][avtocheckpointid][2]);
		RemovePlayerAttachedObject(playerid, 1);
		ApplyAnimation(playerid, "WEAPONS", "SHP_2H_RET_S", 4.1, 1, 0, 0, 0, 0, 0);
		avtoanim[playerid] = SetTimerEx("Avtozavod", 10000, false, "i", playerid);
		return 1;
	}
	else if(checkpointid == pinfo[playerid][avtocheckpointid][3])
	{
		ClearAnimations(playerid);
		DestroyDynamicCP(pinfo[playerid][avtocheckpointid][3]);
		RemovePlayerAttachedObject(playerid, 1);
		ApplyAnimation(playerid, "VENDING", "VEND_USE", 2.5, 1, 0, 0, 0, 0, 0);
		avtoanim[playerid] = SetTimerEx("Avtozavod1", 10000, false, "i", playerid);
		return 1;
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу