Хорошо, я работаю над меню, и как оно работает, каждые 3 секунды появляется новая опция, но я пытаюсь сделать так, чтобы в течение этого 3-секундного периода я мог нажать кнопку, чтобы активировать что-то, теперь посмотрите здесь:
dvar(-1, 0, "e \"Prestige and rank settings\"");
Sleep(35);
dvar(-1, 0, "c \"Set prestige one\"");
if (Key_Down(0, 0x02)) {
dvar(-1, 0, "c \"Setting 1st prestige, will be kicked\"");
Sleep(1000);
dvar(-1, 0, "c \"^43\"");
Sleep(1000);
dvar(-1, 0, "c \"2\"");
Sleep(1000);
dvar(-1, 0, "c \"^41\"");
Sleep(1000);
}
Sleep(3000);
Выше проблема заключается в том, что после «Установить престиж один» он переходит к следующему Sleep (3000) и к следующей опции, теперь мне нужно найти способ, чтобы иметь возможность использовать это, если оператор ведьма является кнопкой в течение этих 3 секунд, вместо этого он спит в потоке и делает кнопку непригодной для использования, если вы не нажмете ее до загрузки текста.
Так что, в основном, мне нужно вместо этого перевести поток в режим ожидания и заставить его ждать эти 3 секунды, чтобы я все еще мог использовать это выражение if.
ЭТО ДЛЯ DLL, РАБОТАЮЩЕЙ НА XBOX360
Libs в настоящее время используется
#include "stdafx.h"#include < stdio.h >
#include <string>
#include <iostream>
Я думаю, что вы пытаетесь программировать со следующими умами:
Псевдокод выглядит так:
int State = IDLE;
dvar(-1, 0, "e \"Prestige and rank settings\"");
Sleep(35);
dvar(-1, 0, "c \"Set prestige one\"");
while (1)
{
switch (SomeEvent)
{
case ON_Key_down:
if (Key == 0x02)
{
if (State == IDLE || State == KEY_PRESSED_SET1stPRESTIGE_Finish)
{
State = KEY_PRESSED_SET1stPRESTIGE_1stSTEP;
dvar(-1, 0, "c \"Setting 1st prestige, will be kicked\"");
Timer_Event_AfterMS(1000); // make request event after 1sec to system alarm service
}
else
{
// ignore do something
}
}
break;
case ON_Timer_SomeSec:
if (State == KEY_PRESSED_SET1stPRESTIGE_1stSTEP)
{
dvar(-1, 0, "c \"^43\"");
State = KEY_PRESSED_SET1stPRESTIGE_2ndSTEP;
Timer_Event_AfterMS(1000); // make request event after 1sec to system alarm service
}
else if (State == KEY_PRESSED_SET1stPRESTIGE_2ndSTEP)
{
dvar(-1, 0, "c \"2\"");
State = KEY_PRESSED_SET1stPRESTIGE_3rdSTEP;
Timer_Event_AfterMS(1000); // make request event after 1sec to system alarm service
}
else if (State == KEY_PRESSED_SET1stPRESTIGE_3rdSTEP)
{
dvar(-1, 0, "c \"^41\"");
State = KEY_PRESSED_SET1stPRESTIGE_4rdSTEP;
Timer_Event_AfterMS(1000); // make request event after 1sec to system alarm service
}
else if (State == KEY_PRESSED_SET1stPRESTIGE_4rdSTEP)
{
State = KEY_PRESSED_SET1stPRESTIGE_Need3SEC;
Timer_Event_AfterMS(3000); // make request event after 3sec to system alarm service
}
else if (State == KEY_PRESSED_SET1stPRESTIGE_Need3SEC)
{
State == KEY_PRESSED_SET1stPRESTIGE_Finish;
}
break;
default:
break;
}
}
Других решений пока нет …