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

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

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

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

Проблема в системе

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

kucklovod1998

Компетентный
В общем в моде есть система золото-искателя , В ней я чуть не разбираюсь по поводу координат , мне надо разобратся как правильно раставить координаты , с меня много ++ ))
Сама зона где искать золото :) тут проблем нету
PHP:
GoldZone = CreateDynamicRectangle(-1002.5670, -1065.6648, -1198.7295, -912.7361);
	GoldGZ = GangZoneCreate(-1002.5670, -1065.6648, -1198.7295, -912.7361);

Сток вместе с ним :
PHP:
stock CreateRandomGold()
{
	for(new i; i < GetMaxPlayersEx(); i ++)
	{
	    if(!IsPlayerConnected(i)) continue;
	    if(GetPlayerInterior(i) > 0) continue;
	    if(!IsPlayerInDynamicArea(i, GoldZone)) continue;
	    if(GoldDrip[i] == -1) continue;
	    return true;
	}
	for(new i; i < sizeof(GoldPos); i ++)
	{
	    new randomiz_1 = floatround(-1198.7295 - -1002.5670);
	    new randomiz_2 = floatround(-912.7361 - -1002.5670);
	    GoldPos[i][0] = -1002.5670 + float(random(randomiz_1));
	    GoldPos[i][1] = -1065.6648 + float(random(randomiz_2));
	}
	return true;
}
Вот еще чтото :
PHP:
stock GetPlayerDistanceFromGold(playerid, goldid)
{
    new Float:Distance[2], Float:X, Float:Y, Float:Z;
	GetPlayerPos(playerid, X, Y, Z);

	Distance[0] = X - GoldPos[goldid][0];
	Distance[1] = Y - GoldPos[goldid][1];

	if(Distance[0] < 0) Distance[0] *= -1.0;
	if(Distance[1] < 0) Distance[1] *= -1.0;

	return floatround(Distance[0] + Distance[1]);
}


И вот еще , именно тут ничего не ясно , за что отвечают эти координаты
PHP:
stock CheckFindedGold(playerid, goldid)
{
    if(GoldPos[goldid][0] == 0.0 && GoldPos[goldid][1] == 0.0) return false;

	new distance = GetPlayerDistanceFromGold(playerid, goldid);

    new draw = NowGoldDraw[playerid];

	if( distance < 2 )
	{
		if(draw != 16)
		{
			NowGoldDraw[playerid] = 16;
			for(new i; i < 16; i ++) TextDrawShowForPlayer(playerid, GoldDraw[1][i]);
			TextDrawShowForPlayer(playerid, EnterDrip);
			FindedGold[playerid] = goldid;
		}
		return true;
	}
	else if( distance < 10 )
	{
		if(draw == 16)
		{
			for(new i; i < 16; i ++) TextDrawHideForPlayer(playerid, GoldDraw[1][i]);
			TextDrawHideForPlayer(playerid, EnterDrip);
		}
		else if(draw != -1)
		{
			TextDrawHideForPlayer(playerid, GoldDraw[1][draw]);
		}

		new angle = GetPlayerAngleToPoint(playerid, GoldPos[goldid][0], GoldPos[goldid][1]);

		if(SuccesAngle(angle, 0.0, 22.5) || 		SuccesAngle(angle, -360.0, -337.5)) NowGoldDraw[playerid] = 0;
		else if(SuccesAngle(angle, 22.5, 45.0) ||   SuccesAngle(angle, -337.5, -315.0)) NowGoldDraw[playerid] = 1;
		else if(SuccesAngle(angle, 45.0, 67.5) ||   SuccesAngle(angle, -315.0, -292.5)) NowGoldDraw[playerid] = 2;
		else if(SuccesAngle(angle, 67.5, 90.0) ||   SuccesAngle(angle, -292.5, -270.0)) NowGoldDraw[playerid] = 3;
		else if(SuccesAngle(angle, 90.0, 112.5) ||  SuccesAngle(angle, -270.0, -247.5)) NowGoldDraw[playerid] = 4;
		else if(SuccesAngle(angle, 112.5, 135.0) || SuccesAngle(angle, -247.5, -225.0)) NowGoldDraw[playerid] = 5;
		else if(SuccesAngle(angle, 135.0, 157.5) || SuccesAngle(angle, -225.0, -202.5)) NowGoldDraw[playerid] = 6;
		else if(SuccesAngle(angle, 157.5, 180.0) || SuccesAngle(angle, -202.5, -180.0)) NowGoldDraw[playerid] = 7;

		else if(SuccesAngle(angle, -180.0, -157.5) || SuccesAngle(angle, 180.0, 202.5)) NowGoldDraw[playerid] = 8;
		else if(SuccesAngle(angle, -157.5, -135.0) || SuccesAngle(angle, 202.5, 225.0)) NowGoldDraw[playerid] = 9;
		else if(SuccesAngle(angle, -135.0, -112.5) || SuccesAngle(angle, 225.0, 247.5)) NowGoldDraw[playerid] = 10;
		else if(SuccesAngle(angle, -112.5, -90.0) ||  SuccesAngle(angle, 247.5, 270.0)) NowGoldDraw[playerid] = 11;
		else if(SuccesAngle(angle, -90.0, -67.5) ||   SuccesAngle(angle, 270.0, 292.5)) NowGoldDraw[playerid] = 12;
		else if(SuccesAngle(angle, -67.5, -45.0) ||   SuccesAngle(angle, 292.5, 315.0)) NowGoldDraw[playerid] = 13;
		else if(SuccesAngle(angle, -45.0, -22.5) ||   SuccesAngle(angle, 315.0, 337.5)) NowGoldDraw[playerid] = 14;
		else if(SuccesAngle(angle, -22.5, -0.0) || 	  SuccesAngle(angle, 337.5, 360.0)) NowGoldDraw[playerid] = 15;
		else NowGoldDraw[playerid] = -1;

		draw = NowGoldDraw[playerid];
		if(draw != -1) TextDrawShowForPlayer(playerid, GoldDraw[1][draw]);
		FindedGold[playerid] = goldid;
		return true;
	}
	else
	{
		if(FindedGold[playerid] == goldid)
		{
			FindedGold[playerid] = -1;
			NowGoldDraw[playerid] = -1;
			if(draw != -1) TextDrawHideForPlayer(playerid, GoldDraw[1][draw]);
		}
	}
	return false;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу