www.open-tager.ru

открытый лазертаг форум
Текущее время: 23 ноя 2024, 19:28

Часовой пояс: UTC + 3 часа [ Летнее время ]


Реклама

Правила форума


В разделе запрещены - обсуждение оборудования не поддерживающего открытых протоколов, реклама и ссылки на готовые продукты лазертага, обсуждение политики производителей и самих производителей. Виден всем.



Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 500, 501, 502, 503, 504, 505, 506 ... 532  След.
Автор Сообщение
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 14:04 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
Нашол закономерность зависаний ))) Пультом зажимаю кнопку новая игра и одновремено клацаю кнопку перезарядки и ружье зависает ))) сейчас попробую у него стрелять и клацать ререзарядку ,зависнет или нет....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 14:25 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
https://youtu.be/xwwtlQlXjlM


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 16:20 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
интернациональная ,тоже зависает ....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 16:33 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
maksim писал(а):
интернациональная ,тоже зависает ....

Тоже непредсказуемо?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 16:34 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
maksim писал(а):
https://youtu.be/xwwtlQlXjlM

То есть нажали перезаряд и команду с пульта послали?

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 16:38 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
maksim писал(а):
Нашол закономерность зависаний ))) Пультом зажимаю кнопку новая игра и одновремено клацаю кнопку перезарядки и ружье зависает ))) сейчас попробую у него стрелять и клацать ререзарядку ,зависнет или нет....

Ну уже что то конкретное!
Это уже полдела.
Будем искать.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 17:00 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Ага...
Вроде что то проясняется.
Дело в том, что при перезарядке воспроизводится два звука.
Первый - при нажатии кнопки (извлекаем магазин).
Второй - когда заканчивается время перезарядки (вставляем новый магазин).



switch(reload_key_event)
{
case no_key_pressing: break;
case key_pressing:
{
if (reload_state==nothing_to_do)
{
if ((clips > 0)&&(curr_sound.simples_in_queue==0))//åñëè îáîéìû íå êîí÷èëñü è íå âîñïðîèçâîäèòüñÿ çâóê âûñòðåëà
{
reload_countdown = eeprom_read_byte(&eeprom_reload_duration)*8;
reload_state=waiting_countdown;
playback_sound(clip_out_sound);
reload_key_event=no_key_pressing;
//playclipinsound();
}
}



}

....

switch (reload_state)
{
case nothing_to_do:
{

}
break;
case waiting_countdown:
{

}
break;
case reload_now:
{
clips--;//óìåíüøàåì íà 1 êîëè÷åñòâî ïàòðîíîâ
bullets = eeprom_read_byte(&eeprom_bullets_in_clip);
display_clips_update();
display_bullets_update();
BULLETS_OUT_LED_OFF;
if(!((curr_sound.role==hit_sound)&&(curr_sound.simples_in_queue>0))) playback_sound(clip_in_sound);
// playclipoutsound();
reload_state = nothing_to_do;
reload_key_event=no_key_pressing;
}
break;
}


Пока ожидается окончание времени перезаряда, статус перезарядки такой

Код:
reload_state=waiting_countdown;



в прерывании обратный счетчик уменьшается на 1 (каждую сотую секунды - примерно)
когда досчитываем до нуля, статус меняется

if(reload_countdown > 0) //обратный отсчет длительности перезарядки не окончен
{
reload_countdown--;
}
else //пора закончить перезаряд
{
if(reload_state==waiting_countdown)reload_state=reload_now;
}



И тут, пока счетчик не достиг нуля, вмешивается команда "новая игра" и переписывает статус


case 0x05://íà÷àòü íîâóþ èãðó íåìåäëåííî
{


if (simples_in_queue>1) //åñëè çâóê âûñòðëà âîñïðîèçâîäèòñÿ
{
simples_in_queue=1;//çàêðîåì eeprom
while (eeprom_is_open);//äîæäåìñÿ, ïîêà eerom çàêðîåòñÿ
}
if (curr_sound.simples_in_queue>1) //если звук уже воспроизводится
{
curr_sound.simples_in_queue=1;//закроем eeprom
while (eeprom_is_open);//дождемся, пока eerom закроется
}
init_var(); //èíèöèàëèçèðóåì ïåðåìåííûå
joystick_event=no_pressing; //î÷èùàåì ñîáûòèÿ äæîéñòèêà
keyboard_event=no_key_pressing;//î÷èùàåì ñîáûòèÿ òðèããåðà
reload_key_event=no_key_pressing;//î÷èùàåì ñîáûòèÿ ïåðåçàðÿäêè
rx_event = NOT_EVENT; //î÷èùàåì ñîáûòèÿ ÈÊ ïðèåìíèêà
display_status();//îáíîâëÿåì èíôîðìàöèþ íà äèñïëåå
display_life(life);//îòîáðàçèì óðîâåíü æèçíè íà äèîäàõ
safe_counter=30*8;//неуязвимость 3 с
WOUND_LED_ON;
playstartsound();
//êîä îáðàáîòêè äîïîëíèòåëüíîé êîìàíäû
WOUND_LED_OFF;

break;




Ломая нам всю логику!
Предлагаю, пока процесс перезаряда не окончен, игнорировать команду пульта.

Код:
case 0x05://íà÷àòü íîâóþ èãðó íåìåäëåííî
{
       if (reload_state==waiting_countdown) break;




Или просто закоммитить в обработчике "новая игра" строку
Код:
reload_key_event=no_key_pressing;


сделать так
Код:
//reload_key_event=no_key_pressing;


Надо проверять.

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Последний раз редактировалось Pingvin 24 май 2018, 17:43, всего редактировалось 6 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 17:21 
Не в сети
Аксакал форума
Аватар пользователя

Зарегистрирован: 12 авг 2011, 16:55
Сообщений: 7514
Откуда: Барнаул, Алтайский край (не путать с республикой Алтай) :-)
Наверное даже так
Код:
switch(ir_message.param)//âûÿñíèì, êàêàÿ ýòî êîìàíäâ
   {
      case 0x05://íà÷àòü íîâóþ èãðó íåìåäëåííî
      { if(reload_state!=nothing_to_do) break;



Попробуйте так!

_________________
Ваше оружие становиться значительно эффективней, если его снять с предохранителя!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 17:27 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
второй вариант не помог )))Завис всеровно....


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: LTAscetik
СообщениеДобавлено: 24 май 2018, 17:41 
Не в сети
Старожил

Зарегистрирован: 02 фев 2012, 17:24
Сообщений: 820
Откуда: Украина,Киев
switch(ir_message.param)//âûÿñíèì, êàêàÿ ýòî êîìàíäâ
{
case 0x05://íà÷àòü íîâóþ èãðó íåìåäëåííî
{ if(reload_state!=nothing_to_do) break;

не зависает ))Но звук пропал.....


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5319 ]  На страницу Пред.  1 ... 500, 501, 502, 503, 504, 505, 506 ... 532  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB