Ergebnis 1 bis 20 von 157

Thema: Power Patch v0.3/0.4x

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    ja. siehe auch in der Demo (1. Post).

    Beachte "if" und "while". Ich denke, das ist es, was du meinst

    Code:
    -- Diese Datei wird wiederholt ausgeführt, solange der Patch aktiv ist.
    -- Hier werden die Anweisungen, die mit dem Maker interagieren, hineingeschrieben.
    
    Busy() -- Dem Maker mitteilen, dass der Patch beschäftigt ist (dort sollte mit einer
           -- Schleife auf das Ready-Signal gewartet werden)
    msg = GetMsg() -- "Nachricht" vom Maker holen (Standardmäßig in Variable 10)
    
    
    if msg == 1 then -- Nachrichten verarbeiten
    
     ExitGame() -- Spiel beenden
     
    elseif msg == 2 then
    
     MsgBox("Hello World!", "Test") -- Messagebox
     
    elseif msg == 3 then
    
     UpdateTime() -- Hiermit wird die aktuelle Zeit in die CurrentXXXX-Variablen geschrieben
     SetVar(21, CurrentHour) -- Stunden in Variable 21 und Minuten in Variablen 22 schreiben,
     SetVar(22, CurrentMinute) -- damit sie im Maker angezeigt werden können
    
    elseif msg == 4 then
    
     sx, sy = ScreenResolution() -- Bildschirmauflösung abfragen
     if sx <= 640 then -- Wenn die Auflösung kleiner/gleich ist als 640x?, dann
      SwitchFullscreen() -- Fenster-/Vollbildmodus wechseln
     end
     
    elseif msg == 5 then
    
     sx, sy = ScreenResolution() 
     if sx > 640 then -- Dasselbe wie oben, nur dass jetzt abgefragt wird ob Sie größer als
      SwitchFullscreen() -- 640x? ist
     end 
    
    elseif msg == 6 then
    
     SwitchFullscreen()
    
    elseif msg == 7 then
    
     -- Hier werden wir Tastatureingaben simulieren - nur zur Demonstration,
     -- das so einzusetzen wäre natürlich nicht so sinnvoll ^^
     action = GetVar(15) -- Wert aus Variable 15 holen
     Ready() -- Den Patch auf "bereit" setzen - damit kann der Maker Tastatureingaben empfangen 
     Wait(800) -- 0,8 Sekunden warten
     if action == 1 then -- Spieler hat beim Huhn "Item" gewählt
      SimulateKeyStroke(VK_RETURN) -- Hier werden Tastatureingaben simuliert
     elseif action == 2 then -- Spieler hat beim Huhn "Skill" gewählt
      SimulateKeyStroke(VK_DOWN)
      Wait(100)
      SimulateKeyStroke(VK_RETURN)
      Wait(50)
      SimulateKeyStroke(VK_RETURN)
     elseif action == 3 then -- Spieler hat beim Huhn "Ausrüstung" gewählt
      SimulateKeyStroke(VK_DOWN)
      Wait(100)
      SimulateKeyStroke(VK_DOWN)
      Wait(100)
      SimulateKeyStroke(VK_RETURN)
      Wait(50)
      SimulateKeyStroke(VK_RETURN)
     end
     while KeyPressed(VK_ESCAPE) == false do -- Darauf warten, dass der Spieler ESC drückt
      Wait(25)
     end
     Wait(250)
     SimulateKeyStroke(VK_ESCAPE) -- Dann nochmal ESC simulieren
     Busy() -- Patch wieder auf "beschäftigt" stellen
     
    elseif msg == 8 then
    
     ResizeGameWindow(640, 480) -- Fenstergröße auf 640x480 ändern
    
    elseif msg == 9 then
    
     ResizeGameWindow(500, 400) -- Fenstergröße auf 500x400 ändern
    
    elseif msg == 10 then
    
     SaveVars("test.sav", 30, 35) -- Variablen 30 bis 35 in Datei "test.sav" ändern
    
    elseif msg == 11 then
    
     if FileExisting("test.sav") == false then -- Wenn die Datei "test.sav" nicht vorhanden, dann
      SetVar(36, 0) -- in Variable 36 Null schreiben,
     else
      SetVar(36, 1) -- sonst eins, sowie
      FileDateTime("test.sav") -- Datum/Zeit von "Test.sav" abfragen (wird in FileXXXX gespeichert)
      SetVar(39, FileHour) -- Stunden in Variable 39 und
      SetVar(40, FileMinute) -- Minuten in Variable 40 speichern,
      LoadVars("test.sav", 37, 38) -- sowie die ersten beiden gespeicherten Variablen, also
                                   -- ursprünglich 30 bis 31, in 37 bis 38 speichern, damit
                                   -- sie bei der Vorschau angezeigt werden können
     end
    
    elseif msg == 12 then
    
     LoadVars("test.sav", 30, 35) -- Variablen 30 bis 35 aus "Test.sav" an Originalposition laden.
    
    elseif msg == 13 then
    
     if FileExisting("test.sav") == false then -- Dasselbe wie oben
      SetVar(36, 0)
     else
      SetVar(36, 1)
      EraseFile("test.sav") -- Datei löschen
     end
     
    elseif msg == 14 then
     
     MP_Paint()
     
    elseif msg == 15 then
    
     BlockKey(VK_F12)
     BlockKey(VK_H)
     BlockKey(VK_J)
     BlockKey(VK_K)
     BlockKey(VK_L)
     
    elseif msg == 16 then
    
     ReleaseKey(VK_F12)
     ReleaseKey(VK_H)
     ReleaseKey(VK_J)
     ReleaseKey(VK_K)
     ReleaseKey(VK_L)
     
    end
    
    -- Tasten verarbeiten
    
    if KeyPressed(VK_F3) then
     MsgBox("Du hast F3 gedrückt!", "F3-Freak")
    end
    
    if KeyPressed(VK_A) then
     SetVar(18, 1)
    else
     SetVar(18, 0)
    end
    
    if KeyPressed(VK_D) then
     SetVar(19, 1)
     MP_ShowPic(100, "Test1.bmp", 100, 100, 100, 100, 0)
    else
     SetVar(19, 0)
    end
    
    if KeyPressed(VK_LBUTTON) then -- Linke Maustaste
     SetVar(20, 1)
     MP_ShowPic(101, "Test2.bmp", 200, 200, 100, 100, 0)
    else
     SetVar(20, 0)
    end
    
    -- Mausposition in Variablen 24 und 25 speichern
    
    mx, my = GetMouse()
    SetVar(24, mx)
    SetVar(25, my)
    
    Ready() -- Dem Maker mitteilen, dass der Patch fertig ist
    mfG Cherry

    Edit: Die mit "MP_" beginnenden Befehle sowie "BlockKey" und "ReleaseKey" nicht beachten. Die sind in der Demo nicht dabei.

    Geändert von Cherry (04.02.2008 um 14:47 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •