DiBor писал(а):
maksim писал(а):
А что и где нужно в прошивке тага подправить , что бы он понимал эту команду?
Что самое интересное таг понимает команду Admin Kill, так как на гранату таг реагирует, причем побывал на разных прошивках. А вот пуль admin kill не выдает. Что то здесь не так.
Как так - не выдает?
Код:
cmd_union_tmp.message.DATA = Command_Admin_Kill;
eeprom_write_word(&pult_key_down_command, cmd_union_tmp.raw); //key_DOWN Admin Kill
Должен выдавать при нажатии клавиши "вниз".
Что то не то...
А команду на беспроводке тестили?
Или на проводе?
P.S. Похоже на беспроводке не реализован Админ Килл.
P.P.S. Похоже - он вообще не реализован в прошивке тага, как же на гранату реагирует?
Может там просто урон 100%?
Вот обработчики команд
Код:
switch(ir_message.ID)//åñëè èìÿ êîìàíäû
{
case Add_Health: //äîáàâèòü "æèçíè"
{
//êîä äëÿ äîáàâëåíèÿ æèçíè
break;
}
case Add_Rounds://äîáàâèòü "ïàòðîíîâ"
{
//êîä äëÿ äîáàâëåíèÿ ïàòðîíîâ
break;
}
case Change_color:
{
//êîä äëÿ ñìåíû öâåòà
if((ir_message.param>=0)&&(ir_message.param<=3))
{
eeprom_write_byte(&eeprom_team_id,ir_message.param );
set_team_color(team_id()); //Óñòàíàâëèâàåì èäåíòèôèêàòîð (öâåò) êîìàíäû
for (uint8_t i=0; i <ir_message.param; i++ )
{
beep(1000, 2, 128);
timer2 = 0;
while (timer2 < 1000);
};
beep(1000, 2, 128);
}
else
{
//îøèáêà ñìåíû öâåòà
beep(1000, 3, 128);
beep(500, 3, 128); //Âîñïðîèçâîäèì çâóê (÷àñòîòà, äëèòåëüíîñòü, ãðîìêîñòü)
beep(1000, 3, 128);
beep(500, 3, 128); //Âîñïðîèçâîäèì çâóê (÷àñòîòà, äëèòåëüíîñòü, ãðîìêîñòü)
}
break;
}
case Command://êàêàÿ òî äîïîëíèòåëüíîÿ êîìàíäà
{
switch(ir_message.param)//âûÿñíèì, êàêàÿ ýòî êîìàíäâ
{
case 0x05://íà÷àòü íîâóþ èãðó íåìåäëåííî
{
if (simples_in_queue>1) //åñëè çâóê âûñòðëà âîñïðîèçâîäèòñÿ
{
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);//îòîáðàçèì óðîâåíü æèçíè íà äèîäàõ
WOUND_LED_ON;
playstartsound();
//êîä îáðàáîòêè äîïîëíèòåëüíîé êîìàíäû
WOUND_LED_OFF;
break;
}
case 0x00://"âûêëþ÷èòü" èãðîêà
{
break;
}
default: break;
}
break;
}
}
}
}
Админ Килл тут нет.