Вопросы

Sergey_Turner
Освоившийся

Написал системку, но увы она не работает, кто что думает/знает?

 

    if(newstate == PLAYER_STATE_DRIVER && PLAYER_STATE_EXIT_VEHICLE)
    {
        if(DostavCC[playerid] >= 1)
        {
			if(ArendaDostavCar[playerid] == 1)
            {
                SCM(playerid,-1,"{FF0000}[Информация]{FFFFFF} Вы вышли из транспорта! У вас есть {FF0000}2 минуты{FFFFFF} чтобы вернуться обратно!");
                SCM(playerid,-1,"{FF0000}[Информация]{FFFFFF} В противном случае ваша работа будет {FF0000}завершена{FFFFFF)!");
                SetTimer("ExitVehicleCC", 10000, 0);
			}
		}
    }
forward ExitVehicleCC(playerid);
public ExitVehicleCC(playerid)
{
	SetVehicleToRespawn(IdCarPogruzka);
	SCM(playerid,-1,"{FF0000}[Информация] {FFFFFF}Вас небыло в транспорте более {FF0000}2-х минут{FFFFFF}. Работа {FF0000}окончена{FFFFFF}!");
	return 1;
}

 

Отредактировано пользователем Sergey_Turner

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


Ссылка на сообщение

10 ответов на этот вопрос

  • 0
Sergey_Turner
Освоившийся

Благодарю всех за помощь.
Решение оказалось довольно простым. Уже был создан паблик OnPlayerExitVehicle, куда и заносились все системы связанные с выходом из т/с.

Тема может быть закрыта модерацией.

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


Ссылка на сообщение
  • 0
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

Проверяйте выводом сообщений в консоль. Например, до return 1 в таймере поставьте print("[debug] таймер сработал");
Таким способом можно вычислить какой участок кода не срабатывает.

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Sergey_Turner, я так полагаю проблема в том, что при возвращении в автомобиль в течение 2 минут вам все равно пишет, что не было в транспорте больше 2 минут?

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


Ссылка на сообщение
  • 0
Sergey_Turner
Освоившийся
Только что, Jawn сказал:

@Sergey_Turner, я так полагаю проблема в том, что при возвращении в автомобиль в течение 2 минут вам все равно пишет, что не было в транспорте больше 2 минут?

Нет, при выходе из транспорта ничего не происходит

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Sergey_Turner, обратите внимание на свое условие:

if(newstate == PLAYER_STATE_DRIVER && PLAYER_STATE_EXIT_VEHICLE)

Вы должны убедиться, что старое состояние (oldstate) игрока - PLAYER_STATE_DRIVER, а новое (newstate) - PLAYER_STATE_EXIT_VEHICLE. Соответственно, правильно должно быть так:

if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_EXIT_VEHICLE)

 

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


Ссылка на сообщение
  • 0
Sergey_Turner
Освоившийся
7 минут назад, Jawn сказал:

@Sergey_Turner, обратите внимание на свое условие:


if(newstate == PLAYER_STATE_DRIVER && PLAYER_STATE_EXIT_VEHICLE)

Вы должны убедиться, что старое состояние (oldstate) игрока - PLAYER_STATE_DRIVER, а новое (newstate) - PLAYER_STATE_EXIT_VEHICLE. Соответственно, правильно должно быть так:


if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_EXIT_VEHICLE)

 

Проблема всё равно остаётся

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


Ссылка на сообщение
  • 0
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

В проверке на положение игрока сделайте так: printf("oldstate: %s, newstate: %s, arendadostavcar: %d, dostavcc: %d", oldstate, newstate, ArendaDostavCar[playerid], DostavCC[playerid]);

Так же, не понял момента с респавном транспорта в таймере, а именно этот участок кода:

SetVehicleToRespawn(IdCarPogruzka);

Что такое IdCarPogruzka? Дополнительный параметр в таймер у Вас не передается.

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


Ссылка на сообщение
  • 0
Sergey_Turner
Освоившийся
26 минут назад, glvde. сказал:

В проверке на положение игрока сделайте так: printf("oldstate: %s, newstate: %s, arendadostavcar: %d, dostavcc: %d", oldstate, newstate, ArendaDostavCar[playerid], DostavCC[playerid]);

Так же, не понял момента с респавном транспорта в таймере, а именно этот участок кода:


SetVehicleToRespawn(IdCarPogruzka);

Что такое IdCarPogruzka? Дополнительный параметр в таймер у Вас не передается.

IdCarPogruzka - переменная в которой хранится ID авто в котором игрок сидел до этого

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


Ссылка на сообщение
  • 0
Sergey_Turner
Освоившийся

Все проверки делал, в консоли пусто, как будто этот участок с самого начала не работает

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

  • Похожий контент

    • Korochansky
      От Korochansky
      Я рад объявить о выпуске первой публичной версии современной IDE с открытым исходным кодом под лицензией GPLv3 для разработки open.mp и SA-MP, которая отличается интеграцией с SAMPCTL, управлением зависимостями и встроенной поддержкой Git.
       
      Особенности:
      • Разработано специально для open.mp и SA-MP разработки.
      • Встроенная интеграция с SAMPCTL для создания, запуска и управления проектами.
      • Менеджер зависимостей для удобной установки и обновления серверных пакетов и компонентов.
      • Встроенная поддержка Git с индикаторами состояния репозитория и историей коммитов.
      • Маркеры истории изменений для отслеживания измененных и сохраненных строк.
      • Автоматическое сопоставление и выделение скобок
      • Предварительный просмотр цвета для значений RGBA и HEX прямо в редакторе.
      • Интеграция инструмента выбора цвета для быстрой вставки цветов в код Pawn.
      • Режим 'Разделенный редактор кода' для одновременной работы с несколькими файлами.
      • Дерево проекта, оптимизированное для крупных проектов.
      • Интегрированные панели вывода результатов сборки и консоли сервера.
      • Автоматический мониторинг и обновление файлов проектов.
      • Портативная версия (установка не требуется).
       
      В репозитории: https://github.com/daniilkorochansky/spawn
    • Margiela
      От Margiela
      устал от vs code + он часто конфликтует с маками, конкретно с версией M3(как у меня).
      имеются ли аналоги pawno на mac?