www.open-tager.ru
http://www.open-tager.ru/forum/

LTAscetik
http://www.open-tager.ru/forum/viewtopic.php?f=5&t=1565
Страница 510 из 532

Автор:  maksim [ 26 май 2018, 14:24 ]
Заголовок сообщения:  Re: LTAscetik

Добавлено:
-время неуязвимости 0 и конфигуратором изменить нельзя
-Стартует мертвым
-время входа в меню 0 сек
-0x83,0x05,0xE8 новая игра
-0x83,0x00,0xE8 убить игрока
-0xA3,0xXX,0xB8 сменить количество жизней на хх
-0xA8,0xXX,0xB8 сменить урон после респауна или откл питания урон будет новым
-0xA9,0xXX,0xB8 сменить цвет команды на ХХ

Вложения:
26_05_2018_LTAscetic3_1.rar [316.53 KiB]
Скачиваний: 315

Автор:  Pingvin [ 26 май 2018, 16:16 ]
Заголовок сообщения:  Re: LTAscetik

Я чего думаю - затеряются эти прошивки в недрах темы.
Как то нужно систематизировать хранение различных вариантов.
Может в VK группу завести?
Или на сайте Армады раздел для Аскета?

Автор:  Pingvin [ 26 май 2018, 16:21 ]
Заголовок сообщения:  Re: LTAscetik

maksim писал(а):
-0xA8,0xXX,0xB8 сменить урон после респауна или откл питания урон будет новым

Легко сделать, чтобы урон применялся сразу, выше писал как.

Автор:  maksim [ 26 май 2018, 17:13 ]
Заголовок сообщения:  Re: LTAscetik

Урон сразу меняется...... Я имел виду что после респа не сбросится до заводских.....

Автор:  maksim [ 26 май 2018, 17:20 ]
Заголовок сообщения:  Re: LTAscetik

Давайте на сайт армады выложим или на гугл диск )))

Автор:  Alexj21 [ 27 май 2018, 14:59 ]
Заголовок сообщения:  Re: LTAscetik

Добрый день. Возник такой вопрос (как открыть гербиры какой программой)? я пробовал SprintLayout6, SprintLayout5, скачивал левые программы не чего не вышло может я что то делаю не так. Как бы мне не сложно самим их нарисовать в SprintLayout6 но хотелось бы посмотреть и на готовые варианты.

Автор:  maksim [ 27 май 2018, 19:57 ]
Заголовок сообщения:  Re: LTAscetik

Сегодня играли ,тестировал новую прошивку )) У меня лично пропал звук и у одного игрока )))За всю игру 1 раз ))) Свистят над головой пули и я нажал на перезарядку и звук пропал....Но это же пули ,а не команда новая игра )))Как в домашних условиях с имитировать пока нне знаю...

Автор:  Pingvin [ 28 май 2018, 08:07 ]
Заголовок сообщения:  Re: LTAscetik

maksim писал(а):
Сегодня играли ,тестировал новую прошивку )) У меня лично пропал звук и у одного игрока )))За всю игру 1 раз ))) Свистят над головой пули и я нажал на перезарядку и звук пропал....Но это же пули ,а не команда новая игра )))Как в домашних условиях с имитировать пока нне знаю...

Мне то легко имитировать - по блютусу послать символ 'e'.

Баг зафиксирован - звук пропал с n-адцатой попытки!


Офигенный косяк нашёл в функции
Код:
void playback_sound(TSOUND_ROLE sound_role)//воспроизводим звук через прерывание

она почти в самом конце файла
тут


//звук "пролетающей пули"
case flying_bullet_sound: simples_in_queue = eeprom_read_word(&sound_8_size);
{
curr_sound.role = sound_role;
curr_sound.adress = eeprom_read_word(&sound_8_adress);
curr_sound.size = eeprom_read_word(&sound_8_size);
curr_sound.simples_in_queue = curr_sound.size;
curr_sound.play_now = true;
}


break;


simples_in_queue = eeprom_read_word(&sound_8_size); - этого тут не должно было быть!
Как оно сюда попало?
Видимо случайный копи паст, в общем удаляем

Код:
      //звук "пролетающей пули"
      case flying_bullet_sound:
      {
         curr_sound.role = sound_role;
         curr_sound.adress = eeprom_read_word(&sound_8_adress);
         curr_sound.size = eeprom_read_word(&sound_8_size);
         curr_sound.simples_in_queue = curr_sound.size;
         curr_sound.play_now = true;
      }
      
      
      break;





Ну и наша пилюля

Код:
case RX_ERROR:      //ошибка приема
         {
            
            
                            if((reload_state!=nothing_to_do)||(simples_in_queue!=0))
                     {
                        rx_event = NOT_EVENT;
                        break;
                     }
                  
                     if((!ir_error_ignore)&&(!eeprom_is_open))//если не надо игнорировать ошибку и звук не воспроизводиться уже
                            {
                        playback_sound(flying_bullet_sound);
                            }
                            rx_event = NOT_EVENT;

                     break;

         }



Я пускал "пролетающие пули" и долбил перезаряд, пока обоймы не кончились - не глючил.

Если нужна вспышка светодиода при этом, то так

Код:
case RX_ERROR:      //ошибка приема
                  {
                            if((reload_state!=nothing_to_do)||(simples_in_queue!=0))
                     {
                        rx_event = NOT_EVENT;
                        break;                        
                     }

                     if((!ir_error_ignore)&&(!eeprom_is_open))//если не надо игнорировать ошибку и звук не воспроизводиться уже
                            {
                        BULLETS_OUT_LED_ON;
                        playback_sound(flying_bullet_sound);
                        
                        timer2=0;
                        while(timer2 < 4000);
                                    
                        BULLETS_OUT_LED_OFF;
                            }
                            rx_event = NOT_EVENT;
                  //   sei();
                     break;
                  }





Радикальный способ - полностью выключить озвучку пролёта пули
Код:
case RX_ERROR:      //ошибка приема
{
rx_event = NOT_EVENT;
break;
}



Автор:  maksim [ 29 май 2018, 11:23 ]
Заголовок сообщения:  Re: LTAscetik

не пойму куда это вставить )))поиск RX_ERROR: //ошибка приема находит 3 места.....
D:\LazerTag_Maksim\Ascet3_1\29_05_2018_LTAscetic3_1\ltag_ascetic.c; 555; case RX_ERROR: //ошибка приема
D:\LazerTag_Maksim\Ascet3_1\29_05_2018_LTAscetic3_1\ltag_ascetic.c; 4440; case RX_ERROR: //ошибка приема

на 555 ст
в место этого поставить ваш код????

case RX_ERROR: //ошибка приема
{
if((!ir_error_ignore)&&(!eeprom_is_open))//если не надо игнорировать ошибку и звук не воспроизводиться уже
{
// cli();
BULLETS_OUT_LED_ON;
/*
timer2=0;
while(timer2 < 4000);
*/
play_sound_8();
BULLETS_OUT_LED_OFF;
}
rx_event = NOT_EVENT;
// sei();
break;
}

case NOT_EVENT: //ошибка приема
{
// cli();
// rx_event = NOT_EVENT;
// sei();
break;
}



}

Автор:  Pingvin [ 29 май 2018, 13:28 ]
Заголовок сообщения:  Re: LTAscetik

В оба места.
Один обработчик - ИК канала, второй - блютуса.
Кстати - в репозитории обновил, в интернациональной прошивке можно посмотреть.
https://github.com/PingvinOpenTag/LTAsc ... _RU/source


А по-хорошему можно в отдельную функцию оформить.

Страница 510 из 532 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/