Вопросы

yan2348
Свой человек

Приветствую всех. При написании сдачи на права, после того, как сажусь в авто, ничего не происходит. Метка "гонки" не появляется. Также появляются варнинги в паблике OnPlayerEnterRace, в этой строке: SdachaCar[playerid] = SDACHA_CHECKPOINT_1;
.Заранее за помощь огромное спасибо.
OnPlayerKeyStateChange:

 

if(newcar >=LicCar[0] && newcar <=LicCar[10])
 {
      if(Player[playerid][pCarlic] == 0 && SdachaPrav[playerid] == 1)
         {
                SdachaCar[playerid] = SDACHA_CHECKPOINT_1;
                SetPlayerRaceCheckpoint(playerid, 0, 1268.5393,-1336.6180,13.0590, 1266.3180,-1285.5385,13.0454,  10.0);
                SCM(playerid, COLOR_WHITE, "Следуйте по красным меткам.");
         }
    }

 

OnPlayerEnterRace:

 

new string[256];
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
  if(SdachaCar[playerid] == 1)
  {
    switch(SdachaCar[playerid])
    {
      case SDACHA_CHECKPOINT_1:
        {
          pSdachaCar[playerid] = SDACHA_CHECKPOINT_2;
          SetPlayerRaceCheckpoint(playerid, 0, 1266.3180,-1285.5385,13.0454, 1295.4679,-1284.0054,13.1099, 5.0);
        }
      case SDACHA_CHECKPOINT_2:
        {
          pSdachaCar[playerid] = SDACHA_CHECKPOINT_3;
          SetPlayerRaceCheckpoint(playerid, 0, 295.4679,-1284.0054,13.1099,  1338.1318,-1287.9012,13.1374, 5.0);
        }

    }
}

 

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

Заметка от Cawfee , создано

3.2. Код больше 10 строк необходимо брать в теги "Код" и "Спойлер". Как это сделать рассказано в разделе "FAQ".

Устное предупреждение.

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


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

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

  • 0
SCRIPTMAN
Великий Гуру

@yan2348 либо Player[playerid][pCarlic] равна 1, либо SdachaPrav[playerid] равна 0. Напиши команду, которая выводит эти значения и смотри, что не так

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


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

Странно как-то. Ты переменной "SdachaCar[playerid]" приравниваешь "SDACHA_CHECKPOINT_1", потом проверяешь, равна ли эта переменная 1, потом через switch работаешь со значением этой переменной, не с числом, а с дефайном или, что это у тебя.

Начнём давай с другого, текст "Следуйте по красным меткам." выводится в чате?

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


Ссылка на сообщение
  • 0
Nekit_Krut18
𝒷𝓇𝒾𝑔𝒶𝒹𝒶 𝑜𝓃𝑒 𝓁𝑜𝓋𝑒

@SCRIPTMAN там две разные переменные. 

 if(SdachaCar[playerid] == 1)
pSdachaCar[playerid] = SDACHA_CHECKPOINT_2;

@yan2348 

Решение тут думаю вот такое: 

switch(SdachaCar[playerid])// Проверять не эту переменную, а
switch(pSdachaCar[playerid])//Вот эту. - Верное

И тобишь, как я понимаю в OnPlayerKeyStateChange: будет вот так:

pSdachaCar[playerid] = SDACHA_CHECKPOINT_1;

 

Отредактировано пользователем Nekit_Krut18
Причина: Подправил.

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


Ссылка на сообщение
  • 0
yan2348
Свой человек

@odosenok В диалоге на согласие на сдачу приравниваю к 1-му, после нажатия на "Да", чекпоинты SDACHA_CHECKPOINT_1 и т.д в enum'e

@Nekit_Krut18 Не изменилось, так и чекпоинты не появляются
@SCRIPTMAN Текст не выводится в чате

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


Ссылка на сообщение
  • 0
Nekit_Krut18
𝒷𝓇𝒾𝑔𝒶𝒹𝒶 𝑜𝓃𝑒 𝓁𝑜𝓋𝑒

@yan2348 Попробуйте поставить в коде маячки: 

printf("DEBUG - 1");
printf("DEBUG - 2");
printf("DEBUG - 3");

И отслеживать какой код выполняется, какой нет.

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


Ссылка на сообщение
  • 0
yan2348
Свой человек

@Nekit_Krut18 Вставил маячки, консоль сервера - 0 реакции, в любую часть кода засовывал, также в консоли ничего.

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


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

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

if(newcar >=LicCar[0] && newcar <=LicCar[10])
 {
      if(Player[playerid][pCarlic] == 0 && SdachaPrav[playerid] == 1)
         {
                SdachaCar[playerid] = SDACHA_CHECKPOINT_1;
                SetPlayerRaceCheckpoint(playerid, 0, 1268.5393,-1336.6180,13.0590, 1266.3180,-1285.5385,13.0454,  10.0);
                SCM(playerid, COLOR_WHITE, "Следуйте по красным меткам.");
         }
  	else return SendClientMessage(playerid, -1, "Косяк с проверкой внутри");
    }
else return SendClientMessage(playerid, -1, "Косяк с тачками");

Будет отталкиваться далее от текста, который выведет в чат

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


Ссылка на сообщение
  • 0
yan2348
Свой человек

@SCRIPTMAN  Косяк в проверке, в тестовую команду всунул без проверки, метка гонки появилась. Что-то у меня не так с проверкой на лицензию и сдачу авто

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


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

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

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

    • Dofarst
      От Dofarst
      AdrenalineRush
      Скачать файл AdrenalineRush — легкий геймплейный скрипт, добавляющий механику «второго дыхания». Когда здоровье персонажа падает до критической отметки (ниже 15 HP), автоматически активируется кратковременный прилив адреналина: восстанавливается выносливость для бега, изменяется визуальное восприятие, а игрок получает шанс спастись из критической ситуации. Полностью автономен, оптимизирован и готов к интеграции в любой игровой режим.
       
      P.S Плагин делаю впервые, поэтому не судите строго
       

      Добавил Dofarst Добавлено 05/22/26 Категория Плагины / инклуды Автор Dofarst Совместимость с версией мультиплеера 0.3.7  
    • DrVandersexxx
      От DrVandersexxx
      League A/D — Attack & Defend
      Скачать файл League A/D — это соревновательный игровой режим Attack & Defend (Атака и Защита) для мультиплеера open.mp. Проект представляет собой полное переосмысление классического формата A/D образца 2008–2010 годов, но на базе современных стандартов стабильности и с полным искоренением старых багов/эксплойтов.
       
      🏆 ИГРОВОЙ ПРОЦЕСС
      Атакующие против Защитников — для победы захватите чекпоинт на базе.
      Таймер матча (5 минут) — в случае ничьей по истечении времени активируется овертайм (победа присуждается по количеству оставшихся в живых игроков).
      Голосование за карту перед каждым раундом: /vote base [id] | /vote arena [id] | /vote random.
      Автоматический старт — лобби запускает раунд самостоятельно, как только в обеих командах появляются игроки.

      ⚔️ МЕХАНИКИ И ОСОБЕННОСТИ
      Выбор экипировки в начале раунда:
      Основное оружие: MP5 / M4 / AK47 / Shotgun
      Вторичное оружие: Deagle / Silenced Pistol
      Транспорт для защиты — обороняющаяся сторона получает эксклюзивный доступ к автомобилям и вертолету.
      Режим наблюдения за тиммейтами прямо во время матча: /spec [name].
      Слот рефери для турнирных и лиг-администраторов.

      🗺️ КАРТЫ
      Два типа локаций — Базы (открытая местность) и Арены (закрытые интерьеры).
      Огромный пул — более 100 слотов под базы и 50 слотов под арены.
      Для администрации: Команда /reloadmaps позволяет перезагрузить карты «на лету» без перезапуска всего сервера.

      🛡️ БАЗОВЫЙ АНТИЧИТ
      Серверная защита от Teleport / Flyhack / Speedhack (адаптирована под пинг и лаги).
      Строгая валидация оружия по слотам.
      Защита от спама фейк-киллами (FakeKill).
      Мониторинг пинга и потери пакетов (packet loss).

      🌐 ПОДДЕРЖКА ЯЗЫКОВ
      English | Русский | Українська

      👥 КОМАНДЫ
      Атакующие (Attackers) | Защитники (Defenders) | Рефери (Referee)

      💻 СПИСОК КОМАНД
      /vote — проголосовать за карту
      /spec [name] — войти в режим наблюдения за игроком
      /specoff — выйти из режима наблюдения
      /eng / /ru / /ua — Смена языка интерфейса
      /help — полный список доступных команд
      Игровой режим разработан специально под платформу open.mp.

      https://github.com/vandersexxxes-sudo/League-A-D-Attack-Defend-open.mp

      Dr.Vandersexxx with lov3
      Сайт проекта: https://vandersexxx.do.am/
      Добавил DrVandersexxx Добавлено 05/23/26 Категория Моды Автор ESL 2010 годов  
    • DrVandersexxx
      От DrVandersexxx
      League A/D — это соревновательный игровой режим Attack & Defend (Атака и Защита) для мультиплеера open.mp. Проект представляет собой полное переосмысление классического формата A/D образца 2008–2010 годов, но на базе современных стандартов стабильности и с полным искоренением старых багов/эксплойтов.
       
      🏆 ИГРОВОЙ ПРОЦЕСС
      Атакующие против Защитников — для победы захватите чекпоинт на базе.
      Таймер матча (5 минут) — в случае ничьей по истечении времени активируется овертайм (победа присуждается по количеству оставшихся в живых игроков).
      Голосование за карту перед каждым раундом: /vote base [id] | /vote arena [id] | /vote random.
      Автоматический старт — лобби запускает раунд самостоятельно, как только в обеих командах появляются игроки.

      ⚔️ МЕХАНИКИ И ОСОБЕННОСТИ
      Выбор экипировки в начале раунда:
      Основное оружие: MP5 / M4 / AK47 / Shotgun
      Вторичное оружие: Deagle / Silenced Pistol
      Транспорт для защиты — обороняющаяся сторона получает эксклюзивный доступ к автомобилям и вертолету.
      Режим наблюдения за тиммейтами прямо во время матча: /spec [name].
      Слот рефери для турнирных и лиг-администраторов.

      🗺️ КАРТЫ
      Два типа локаций — Базы (открытая местность) и Арены (закрытые интерьеры).
      Огромный пул — более 100 слотов под базы и 50 слотов под арены.
      Для администрации: Команда /reloadmaps позволяет перезагрузить карты «на лету» без перезапуска всего сервера.

      🛡️ БАЗОВЫЙ АНТИЧИТ
      Серверная защита от Teleport / Flyhack / Speedhack (адаптирована под пинг и лаги).
      Строгая валидация оружия по слотам.
      Защита от спама фейк-киллами (FakeKill).
      Мониторинг пинга и потери пакетов (packet loss).

      🌐 ПОДДЕРЖКА ЯЗЫКОВ
      English | Русский | Українська

      👥 КОМАНДЫ
      Атакующие (Attackers) | Защитники (Defenders) | Рефери (Referee)

      💻 СПИСОК КОМАНД
      /vote — проголосовать за карту
      /spec [name] — войти в режим наблюдения за игроком
      /specoff — выйти из режима наблюдения
      /eng / /ru / /ua — Смена языка интерфейса
      /help — полный список доступных команд
      Игровой режим разработан специально под платформу open.mp.

      https://github.com/vandersexxxes-sudo/League-A-D-Attack-Defend-open.mp

      Dr.Vandersexxx with lov3
      Сайт проекта: https://vandersexxx.do.am/
    • Dofarst
      От Dofarst
      AdrenalineRush — легкий геймплейный скрипт, добавляющий механику «второго дыхания». Когда здоровье персонажа падает до критической отметки (ниже 15 HP), автоматически активируется кратковременный прилив адреналина: восстанавливается выносливость для бега, изменяется визуальное восприятие, а игрок получает шанс спастись из критической ситуации. Полностью автономен, оптимизирован и готов к интеграции в любой игровой режим.
       
      P.S Плагин делаю впервые, поэтому не судите строго
       

    • Dofarst
      От Dofarst
      Всем привет, на днях решил создать свой SAMP сервер, ну как свой, взять какой то мод под основу и переделать его. Вопрос такой, какой можете посоветовать мод SAMP 0.3.7? Желательно с мобильным клиентом, но можно и пк, многие системы буду делать сам, но хотелось бы что бы уже присутствовала базовая бд, регистрация, авторизация, бизнесы, админки, лидеры фракции, и базовые команды.