Ergebnis 1 bis 20 von 157

Thema: Power Patch v0.3/0.4x

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    gar nicht. sonst hätten wir schon längst Mode7 oder sonst was.

    du kannst ihn nur Disassemblieren. Dazu nimmst du z.B. den "PE Explorer" (obwohl da steht "30-day trial" geht der ewig - bei "1 day left" bleibt er stehen!).

    Dann hast du Assembler-Code.

    So haben ich und Bananen-Joe gearbeitet.#

    mfG Cherry

    Edit: Huh? Im Profiwissen-Thread postest du den Aufbau der LcfMapUnit usw. und hier weißt du nicht, wie man eine EXE disassembliert?!

  2. #2
    Zitat Zitat
    Edit: Huh? Im Profiwissen-Thread postest du den Aufbau der LcfMapUnit usw. und hier weißt du nicht, wie man eine EXE disassembliert?!
    Ich habe nicht gesagt "Ich weis nicht wie man disassembliert" sondern habe
    nur gefragt wie man den Code bekommt. Naja und darauf hast du auch
    geantwortet. Was anderes als "gar nicht" hab ich aber dann als ich den Post
    geschrieben hab nichmehr erwartet xD.

    LcfMapUnit:
    Vieles zur LMU betreffendes ist von sue445, diese Zeile muss ich wohl
    hervorheben. Ich hab mindestens 2mal "Credit to sue445" gepostet.

    .....

    So, hab ich mal gemacht, schau nochmal rein.

    EDIT:

    PE Explorer:
    Hab ich nicht direkt, zum LEICHTEN RPG_RT.exe-Bearbeiten hab ich WinHex
    vewendet xD. Ich hab ausserdem noch die schlankere Version von PE Explorer,
    nennt sich ResourceTuner, der is afaik im PE Explorer gleich mit drin.

    Zeug wie "Font wechseln" oder "Dateien umbenennen" funktioniert mit WinHex schon
    ganz gut, dass z.B. die Maps "MAP%.6d.lmu" (z.B. MAP000001.lmu) statt "MAP%.4d.lmu" (z.B. MAP0001.lmu) heissen, was meiner gepatchten RPG2000.exe
    gut entgegen kommt, wo ich 999999 Maps, Areas und Events eingestellt hab.

    Geändert von MagicMaker (31.01.2008 um 17:50 Uhr)

  3. #3
    Jo Cherry mach mal ruhig weiter. LUA is ja noch um einiges flexibler, soweit ich das beurteilen kann, als die Skriptsprache von Bananaboy.

    Womit du mich auf jeden Fall auf deiner Seite hättest, wäre etwas wie ein Batch Import. Also viele Dateien bzw ganze Ordnerinhalte direkt zu in den Maker zu importieren. Vielleciht lässt sich sowas ja einbauen, kenn mich mit "richitgem programmieren" nur seehr bedingt aus

  4. #4
    Jeder Patch der den Maker aufpeppt ist eine große Bereicherung für die Maker Szene.
    Der Satz sagt alles.

  5. #5
    Es ist egal was der DP kann, beachte den nicht weiter und mach
    den PP noch zuende.

    Das Zeug was ich im Wissenthread geschrieben habe, wo wirklich viel von
    sue445 ist (dem du auch nen Credit geben kannst), habe ich auch teilweise
    deswegen gemacht, um vielleicht deinem PP nochwas zu spendieren,
    soviel wie ich übersetzt hab, indem ich dir LMU, LMT und anderes Zeug zeige.

    Ein externes BatchImport-Tool wäre mir auch sehr willkommen wie Beril.
    Aber das sollte man eher seperat machen, weils mit einem PP nichts mehr
    zu tun hat.

  6. #6
    Gut aber in Verbindung mit dem PP würde das noch ein Trumpf gegenüber dem DP bedeuten

  7. #7
    Kann man mit dem PowerPatch ordentliche if vergleiche und Schleifen bauen?
    Beim DestinyPatch gibts ja nur son merkwürdigen Kram.

    Code:
    Logic.If(True,"bla","blubb")
    Wobei das irgendwie nur mit nem Switch zusammenhängt. (Also ich blick da nicht wirklich durch. :P)

    Ausserdem kommt immer nen Error, wenn ich das Spiel ausmache, keine Ahnung wieso.

  8. #8
    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)

  9. #9
    Well I can't wait for the 200 pics since I'm doing a custom dialog system for my game(really wish I could just use 1 pic for so many pics><) because that'd be allot of pics...

    Anyways with the plugins would we be able to hack Rm2k/3 with C++ with anything we desired? like hacking the height/width of the default charset and changing how many pixels it can move at a time?

  10. #10
    @hacking: not yet.
    @200 pics: i have sent ya an email, didnt you get it?

  11. #11
    Was ich wissen möchte: Wird man auch Strings aus einer Datei auslesen können ? Das wäre übersichtlicher wenn man alle Dialoge in Pics schreibt. Kann man bei String in Pic uach auto Zeilenumbruch machen? Wäre auch nützlich.

  12. #12
    selbstverständlich

  13. #13
    tja. ich stehe jetzt vor einer Entscheidung die Skriptsprache betreffend.

    Java oder Lua?

    Was würdet ihr bevorzugen?
    mfG Cherry

  14. #14
    Ich würde es für eine riesen Schnapsidee halten eine Sprache wie Java an ein Kinderspielzeug wie den Maker zu hängen.

    Lua war soweit ich das gesehen habe recht einfach zu lernen. Auch wenn hier der nötige Lernaufwand meist den eigentlichen Nutzen beim makern übersteigt. Java wird sich wohl kaum jemand aneignen wollen nur um sich ein paar Funktionen für ein Kinderspielzeug schreiben zu können.

    Aus der Sicht derer die solche Sprachen bereits beherrschen, wäre Java wohl die bessere Wahl. Was nichts daran ändert das es eigentlich Humbug ist.

    Geändert von makenshi (02.03.2008 um 11:21 Uhr)

Berechtigungen

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