State of War

Návod na výrobu zařízení, které bude na stisk tlačítka přidávat ve hře peníze,
letadla, čas nebo další prostředky.

 

 

Video na Youtube:

 

 


V podstatě je to jen učebnicový příklad simulace stisku kláves pomocí Arduina Micro, který je popsaný třeba tady:

https://www.arduino.cc/en/Reference/KeyboardPrint

Akorát místo klasické hlášky "Hello World!" jsou v tomto podváděcím programu použity příkazy:
"give me money", "give me bomber", "give me fighter" .... a další, které přidávají prostředky ve hře.

Takže stačí k Arduinu připojit jedno nebo více přepínacích tlačítek a přes USB ho propojit s počítačem. 

Pak do něj přes běžné prostředí Arduino IDE nahrát tento program, který se sám spustí a Arduino se začne pro počítač tvářit jako další USB klávesnice. Při stisku tlačítka se odešle do hry požadovaný příkaz.

/* Podpora pro hru State of War s deskou Arduino Micro PRO
// pridavani penez, bombarderu, stihacek ....
//
// pripojeni: prepinaci tlacitko 1 (pridava penize a cas): 
//                   stredni kontakt        = GND
//                   spinaci kontakt (NO)   = D2
//                   rozpinaci kontakt (NC) = D6
//
// pripojeni: prepinaci tlacitko 2 (pridava bombardery, stihacky a trojany): 
//                   stredni kontakt        = GND
//                   spinaci kontakt (NO)   = D3
//                   rozpinaci kontakt (NC) = D7
*/


void setup() {
  pinMode(2, INPUT_PULLUP);  // NO-1
  pinMode(6, INPUT_PULLUP);  // NC-1
  pinMode(3, INPUT_PULLUP);  // NO-2
  pinMode(7, INPUT_PULLUP);  // NC-2

  Keyboard.begin();
  
  delay(1000);  // 1 sekunda na inicializaci klavesnice
}

void loop() {
  if (digitalRead(2) == LOW)  // stisknuto prvni tlacitko
  {

    Keyboard.press(KEY_RETURN);
    delay(50);
    Keyboard.release(KEY_RETURN);
    delay(50);
    Keyboard.println("give me monez");    //prida penize (pri ceske klavesnici to musi byt "monez" pri anglicke "money")

    delay(200);

    Keyboard.press(KEY_RETURN);
    delay(50);
    Keyboard.release(KEY_RETURN);
    delay(50);
    Keyboard.println("give me one minute");  // prida cas



    while ( digitalRead(6) == HIGH)    // cekani na uvolneni prvniho tlacitka
      {}

  }

  if (digitalRead(3) == LOW)  // stisknuto druhe tlacitko
  {
    Keyboard.press(KEY_RETURN);
    delay(50);
    Keyboard.release(KEY_RETURN);
    delay(50);
    Keyboard.println("give me fighter");   // prida stihacku
    delay(200);
    
    Keyboard.press(KEY_RETURN);
    delay(50);
    Keyboard.release(KEY_RETURN);
    delay(50);
    Keyboard.println("give me bomber");   // prida bombarder

    delay(200);

    Keyboard.press(KEY_RETURN);
    delay(50);
    Keyboard.release(KEY_RETURN);
    delay(50);
    Keyboard.println("give me tripler");   // prida trojana

    
    while ( digitalRead(7) == HIGH)    // cekani na uvolneni druheho tlacitka
      {}

  }
  
}