Перейти к содержанию
Демид

Клавиши | Ошибка в радиусе [OnPlayerKeyStateChange]

Рекомендуемые сообщения

Демид

Суть: у значений клавиш пропал радиус действия(место действия)
то-есть в любом месте нажимаешь ALT и он выводит что-то либо указанное >> в моём случае это заходит в интерьер гаража
При этом условие что кнопка ALT работает только в определённом месте есть, не могли бы объяснить *скриптеры* где я накосячил :D83DDE02:
>> Все координаты вставленные и не имеют ошибок. <<
>> Клавиша продолжается следующими значениями, но они нормально работают. <<
>> Когда пытаешься выйти из интерьера то он ТПхает в ту точку где заходить в интерьер , то-есть повторяет опять вход. <<
>> У самого входа(пикапа), всё то же самое и ничего не меняется. <<
>> Данного бага нету, только когда есть админка максимального LVLa, и работает всё нормально. <<
>> Пытался убрать из мода /* */, не помогло - переходило на следующие значение (вход в другой интерьер <<
>> Пытался вырезать вьезд с машины (То-есть на клавишу H())  (он нормально работает) не помогло, вход банально не осуществлялся (значения на игрока изменял) <<
>> Warning'ov/ERROR'ov нету при компиляций <<

 

	if(newkeys & KEY_WALK)
	{
	for(new g = 0; g < TotalGarages; g++)
		{
		    if(PlayerToPoint(2.0, playerid, GARAGE_DATA[g][G_ENTER_X], GARAGE_DATA[g][G_ENTER_Y], GARAGE_DATA[g][G_ENTER_Z]))
		    {
		        SetPVarInt(playerid, "garagepl", g);
		        if(GARAGE_DATA[g][g_LOCK]) return SendErr(playerid, "Гараж закрыт");
                SetPlayerPos(playerid, GARAGE_DATA[g][g_EXIT_X], GARAGE_DATA[g][g_EXIT_Y], GARAGE_DATA[g][g_EXIT_Z]);
                SetPlayerInterior(playerid, GARAGE_DATA[g][g_INT]);
                SetPlayerVirtualWorld(playerid, GARAGE_DATA[g][g_WORLD]);
                LoadTexture(playerid);
                SendClientMessage(playerid, COLOR_GREEN, "Вы вошли в гараж.Что бы выйти нажмите ALT");
		        return 1;
		    }

		    else if(PlayerToPoint(2.0, playerid, GARAGE_DATA[g][g_EXIT_X], GARAGE_DATA[g][g_EXIT_Y], GARAGE_DATA[g][g_EXIT_Z]))
		    {

		        SetPlayerPos(playerid, GARAGE_DATA[GetPVarInt(playerid, "garagepl")][g_EXIT_X], GARAGE_DATA[GetPVarInt(playerid, "garagepl")][g_EXIT_Y], 				 GARAGE_DATA[GetPVarInt(playerid, "garagepl")][g_EXIT_Z]);
                SetPlayerInterior(playerid, 0);
                SetPlayerVirtualWorld(playerid, 0);
                DeletePVar(playerid, "garagepl");
                return 1;
		    }
		}

 

Изменено пользователем Демид

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows

Если я правильно понял, то действие на кнопку срабатывает независимо от точек. С точками у Вас работает самописная функция PlayerToPoint. В ней и ищите ошибку.

Или попробуйте стандартную функция IsPlayerInRangeOfPoint (никогда не понимал, зачем её заменяют).

Изменено пользователем 16Shadows
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.