Вопросы

Yong
Освоившийся
  Code (открыть спойлер)

Суть проблемы - Если у игрока есть Armour, он отнимается вместе со здоровьем, как решить данную проблему?

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

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


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

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

  • 0
  В 5/11/2018 в 12:14, Yong сказал:

case 0: SetPlayerHealth(damagedid, HP -4); case 1: SetPlayerHealth(damagedid, HP -6); case 2: SetPlayerHealth(damagedid, HP -7); case 3: SetPlayerHealth(damagedid, HP -10); case 4..8: SetPlayerHealth(damagedid, HP -13.4); case 9: SetPlayerHealth(damagedid, HP -19.8); case 10..13: SetPlayerHealth(damagedid, HP -30); case 14: SetPlayerHealth(damagedid, HP -18); case 15: SetPlayerHealth(damagedid, HP -20); case 16: SetPlayerHealth(damagedid, HP -30); case 17: SetPlayerHealth(damagedid, HP -3); case 18: SetPlayerHealth(damagedid, HP -13); case 19: SetPlayerHealth(damagedid, HP -3); case 20: SetPlayerHealth(damagedid, HP -3); case 21: SetPlayerHealth(damagedid, HP -3); case 22: SetPlayerHealth(damagedid, HP -8.6); case 23: SetPlayerHealth(damagedid, HP -9.7); case 24: SetPlayerHealth(damagedid, HP -47.8); case 25: SetPlayerHealth(damagedid, HP -25.3); case 26: SetPlayerHealth(damagedid, HP -30.3); case 27: SetPlayerHealth(damagedid, HP -22.4); case 28: SetPlayerHealth(damagedid, HP -8); case 29: SetPlayerHealth(damagedid, HP -9); case 30: SetPlayerHealth(damagedid, HP -8); case 31: SetPlayerHealth(damagedid, HP -8); case 32: SetPlayerHealth(damagedid, HP -7); case 33: SetPlayerHealth(damagedid, HP -24); case 34: SetPlayerHealth(damagedid, HP -400);

Читать далее...  

вот тут вместо SetPlayerHealth проставьте везде просто HP -= 4; HP -= 6; и т.д., чтобы получалось примерно так: 

case 0: HP -= 4; 
case 1: HP -= 6; 
case 2: HP -= 7; 
//TODO

и паблик заменить

  Code (открыть спойлер)

 

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


Ссылка на сообщение
  • 0
Yong
Освоившийся
  В 5/11/2018 в 13:18, DEST сказал:

вот тут вместо SetPlayerHealth проставьте везде просто HP -= 4; HP -= 6; и т.д., чтобы получалось примерно так: 

case 0: HP -= 4; 
case 1: HP -= 6; 
case 2: HP -= 7; 
//TODO

и паблик заменить

  Code (открыть спойлер)

 

Читать далее...  

Варнинг

warning 213: tag mismatch

На строку 

GetPlayerArmour(damagedid, arm);

Либо же ниже

new Float:HP;
new Float:arm;

Сделал так, варнинг исчез

Ну вообщем такое происходит, сбивается армор до 0, потом восстанавливается обратно, начинается убавляться здоровье, до половины, а потом игрок вообще бессмертный становиться

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


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

@Yong заменить паблик: 
 

  Код (открыть спойлер)

 

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


Ссылка на сообщение
  • 0
Yong
Освоившийся
  В 5/11/2018 в 15:58, DEST сказал:

@Yong заменить паблик: 
 

  Код (открыть спойлер)

 

Читать далее...  

Так-же все вместе убавляется 

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


Ссылка на сообщение
  • 0
  В 5/11/2018 в 15:58, DEST сказал:

if(HP != 0) GetPlayerHealth(damagedid, HP), arm = 0;

Читать далее...  

вот тут != замените на == 

Если не поможет, то в конец паблика добавить: 

printf("[DEBUG] %d - arm, %f - HP", arm, HP);

И скинуть логи. 

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


Ссылка на сообщение
  • 0
Yong
Освоившийся
  В 5/11/2018 в 18:17, DEST сказал:

вот тут != замените на == 

Если не поможет, то в конец паблика добавить: 

printf("[DEBUG] %d - arm, %f - HP", arm, HP);

И скинуть логи. 

Читать далее...  

Ну вообщем, отнимается броня, до 0, потом делаю выстрел еще раз, чтоб хп стало половину, броня либо визуально, либо что... Возвращается обратно, полная полоска. делаю еще раз выстрел, игрок умирает.

[12:55:22] [DEBUG] 1 - arm, 52.200000 - HP
[12:55:24] [DEBUG] 1 - arm, 4.200000 - HP
[12:55:26] [DEBUG] 1 - arm, -43.799999 - HP
[12:55:29] [DEBUG] 1 - arm, 165.199996 - HP
[12:55:29] [kill] You killed Destroyer Desert Eagle
[12:55:50] [DEBUG] 0 - arm, 52.200000 - HP
[12:55:53] [DEBUG] 0 - arm, 52.200000 - HP
[12:55:54] [DEBUG] 0 - arm, 52.200000 - HP
[12:55:55] [DEBUG] 0 - arm, 52.200000 - HP

 

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


Ссылка на сообщение
  • 0
Yong
Освоившийся
  В 5/12/2018 в 10:43, DEST сказал:

@Yong киньте финальную версию паблика, которая сейчас в моде

Читать далее...  
new Float:HP, arm = 1;
	GetPlayerArmour(damagedid, HP);
	if(HP == 0) GetPlayerHealth(damagedid, HP), arm = 0;
	new Float:oldposx, Float:oldposy, Float:oldposz;
	GetPlayerPos(damagedid, oldposx, oldposy, oldposz);
	if(IsPlayerInRangeOfPoint(playerid, 52.0, oldposx, oldposy, oldposz))
	{
    if(playerid != INVALID_PLAYER_ID)
    {
      switch(weaponid)
      {
          case 24: HP -= 47.8;
      }
      if(arm != 0) SetPlayerArmour(damagedid, HP);
      else SetPlayerHealth(damagedid, HP);
      }
    }
    printf("[DEBUG] %d - arm, %f - HP", arm, HP);
    return true;

 

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


Ссылка на сообщение
  • 0
Yong
Освоившийся
  В 5/12/2018 в 14:12, DEST сказал:

заменить на: 

if(HP <= 0) 

Читать далее...  

Тоже самое, броня отнимается нормально, как остается целое хп, наносишь выстрел, хп, становится половину, армор полоска целая, но при следующем выстреле игрок умирает, т.к отнимается хп, а армор на месте стоит.

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


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

@Yong так у вас античит может на броню есть, вот и возвращает обратно? Посмотрите как в моде в других местах выдается броня. 

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


Ссылка на сообщение
  • 0
Yong
Освоившийся
  В 5/12/2018 в 18:07, DEST сказал:

@Yong так у вас античит может на броню есть, вот и возвращает обратно? Посмотрите как в моде в других местах выдается броня. 

Читать далее...  

Нет античита.

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


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

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

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

    • Jasper231
      От Jasper231
      Идет набор в команду для создания CRMP MOBILE проекта. Нам нужны
      1) Кодеры
      2) Мапперы
      3) Люди которые вообще разбираются в создании серверов
       
      об зарпалте договоримся и об остальном поговорим в вк: @haslyyyim
    • otec
      От otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК
    • hatriyikko
      От hatriyikko
      Требуется мобильная сборка мод + клиент + лаунчер

      Копия Радмира, Блэк Раши или что-то другое с аналогичным функционалом. Основной упор на бизнесы, чтобы всё исправно работало
       
      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7