Seite 4 von 5 ErsteErste 12345 LetzteLetzte
Ergebnis 61 bis 80 von 505

Thema: +++ DynRPG - Das RM2k3-Plugin-SDK +++

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Gibt es eine Möglichkeit, Waffen und Rüstungen nachträglich innerhalb des Spiels zu bearbeiten?

    Bspw. Abwehr, Angriff, HP, MP, Intelligenz, Agilität, Kritische Trefferrate, Doppelangriff, Involved Skill (Feuerzauber, Wasserzauber, usw.), Attack Attribut (Blind, Gift, usw.), etc.?

  2. #2
    Nein.

  3. #3
    Mh, schade drum. Dachte eigentlich, dass es einfacher wäre auf Waffen & Co. zuzugreifen (sind ja nur Häkchen und Zahlen) und hätte wohl auch eine neue Dimension Sachen Equipment-Sockelung ergeben, aber es sollte wohl nicht sein =/

  4. #4
    Ich kann deine Trauer nachvollziehen, allerdings könntest du individuelle Items wohl eh nicht verändern sondern lediglich alle Items eines Itemtypes.

  5. #5
    Ok, dumme Frage. Wie komm ich an die Helden Liste ran?
    Finde leider nur Items, Monster und Actor, Helden scheinen zu fehlen <.<

    EDIT: >.< Actor = Held. Es ist noch zu früh xD

  6. #6
    Zitat Zitat von Corti
    Ich kann deine Trauer nachvollziehen, allerdings könntest du individuelle Items wohl eh nicht verändern sondern lediglich alle Items eines Itemtypes.
    Alle Items eines Itemtyps? Du meinst also alle Waffen, Rüstungen, Helme, etc.? Naja, das würde nichts bringen... oder... moment.

    Theorie:
    Held hat drei Schwerter. Jedes davon hat grundverschiedene Werte. Nun geht der Held zum Schmied und sockelt alle Schwerter gleichzeitig mit einem Kristall (Angriff +5). Das heißt, jedes seiner Schwerter behält seine Basiswerte und steigt lediglich im Angriff um 5 Punkte. Gleichwohl kann er seine Schwerter auch wieder entsockeln um besagten Kristall bei Rüstungen, Schildern und Helmen anzuwenden.

    Wäre sowas denkbar?

  7. #7
    Du hast nen Denkfehler. Mit "Typ" ist nicht der Typ Schwert oder sowas gemeint, sondern eben das Item, welches in der DB steht. Das Item in deinem Inventar wird wahrscheinlich nur durch eine ID referenziert, speichert Daten allerdings nicht selbst, weswegen du ALLE Items mit der ID x manipulieren würdest.

  8. #8
    Erhöh doch einfach den Angriff des Charakters, wenn der Sockel in der Waffe drin ist. Nen Common Event das abfragt ob die Waffe angelegt ist und ob der Sockel drin ist, wenn ja Angriff +5. Frisst zwar switches, aber wenn du Items nicht mehrfach machen willst geht wohl nur sowas.

  9. #9
    Sölf hat recht. Lässt sich alles locker in EventScript basteln.

    Bedenke aber, dass es ein Hardcap von 99 gibt. d.h. wenn du 950 Atk hast, dann 100 Atk zufügt und dann 100 Atk abziehst du bei 899 Atk landest.

    Geändert von Corti (03.09.2013 um 10:32 Uhr)

  10. #10
    Werd ich wohl dann auch so machen. Hab mir schon einige Sachen einfallen lassen =)

    Andere Sache: Auf Events festgenagelte Pictures und Panoramen, die nur an einem bestimmten Fleck in der Map erscheinen sollen.

    Tja, die spielen total verrückt wenn ich das Wrapping in den Map-Einstellungen aktiviere. Pictures werden nicht angezeigt bzw. verschwinden wenn man sich ein einziges Mal von ihnen entfernt. Die Panoramen dagegen fangen an zu scrollen, obwohl ich ihnen das verboten hatte.

    Kann man da was fixen oder ist das auch so eine Geschichte, die nicht zu beheben ist? Die fiese Methode wären wohl Objektcharsets, aber bei 270 Pixel hohen Statuen sitze ich da Ewigkeiten dran =/

    Edit: Ich poste mal rein was Corti mir geschrieben hat, ist bestimmt auch nützlich für andere:
    Zitat Zitat
    @Panorama:
    bei gewrapten Maps werden die anscheinend mittig fixiert. Wüsste nicht was man da ändern könnte.

    @Pictures:
    Wenn du ein Picture an einem Ort/Event verankern willst geht das so:

    ShowPicture (id=1, PictureScrollsWithMap = Checked)
    loop
    {
    VarX = Event.Screenrelative.X
    VarY = Event.Screenrelative.Y
    MovePicture (id=1,Position ; VarX,VarY, 0.0 / kein Wait )
    wait0.0
    }

    Da das nur ein Move im PP ist , macht das von der Performance her nix aus. Probier das mal so.
    Zitat Zitat
    Die Einschränkung ist: der Maker kann Pictures nur einmal zur Zeit zeichen.

    Angenommen du hast eine gewrapte 20*15 Map und zeigst passgenau auf der Map ein 320*240 Picture an, und würdest dann zur Seite der Map laufen, dann müsste der Linke Teil des Pictures auf der rechten Seite des Bildschirms und andersrum angezeigt werden. Das klappt natürlich nicht, das Picture wird dann nur einmal gezeichnet, an der Stelle des Events, dessen xy man nimmt, und die xy-Position wird in Richtung des geringeren Abstandes genommen.

    Geändert von Davy Jones (09.09.2013 um 13:58 Uhr)

  11. #11
    Fog of war, sweet

  12. #12
    Ne, aber...

    Zitat Zitat von Corti Beitrag anzeigen
    Fog of war
    Challenge accepted!

    Code:
    function onInit()
        rpg.graphics.setBlendMode "multiply"
    
        fogs = {}
    
        buffer = rpg.graphics.newImage(320, 240)
    
        light = rpg.graphics.newImage(100, 100)
        light:drawCircle(true, 50, 50, 50, 0xFFFFFFFF, 0x00000000)
    end
    
    function onFrame()
        if rpg.scene == "map" then
            local fog = fogs[rpg.map.id]
    
            if fog == nil then
                fog = rpg.graphics.newImage(rpg.map.width * 16, rpg.map.height * 16)
                fog:setBlendMode "add"
                fogs[rpg.map.id] = fog
            end
            
            if rpg.map.hero.x ~= x or rpg.map.hero.y ~= y then
                fog:draw(light, rpg.map.hero.x * 16 - 45, rpg.map.hero.y * 16 - 50)
            end
    
            x, y = rpg.map.hero:getPosition()
            
            fog:copyRect(rpg.map.cameraX, rpg.map.cameraY, 320, 240, buffer)
    
            rpg.graphics.draw(buffer, 0, 0)
            
            if rpg.keyboard.isDown "o" then
                local screenshot = rpg.graphics.copyRect(0, 0, 320, 240)
                rpg.graphics.writeImage(screenshot, "Save/screenshot.png")
            end
        end
    end
    Klicke auf die Grafik für eine größere Ansicht 

Name:	screenshot.png 
Hits:	57 
Größe:	39,7 KB 
ID:	19600

    In action: download RPGSS.7z


  13. #13
    Mir fehlt die Datei libgcc_s_dw2_1.dll.

    Und btw. what the heck treibst du da eigentlich? lua52.dll? Diese Syntax da ?

  14. #14
    Ups: download libgcc_s_dw2-1.dll

    Das ist ein Plugin, für den ich die Idee schon vor einem Jahr hatte, aber zu schnell die Lust daran verlor. Nachdem Cherry seine 0.20 Version veröffentlichte, packte mich schließlich wieder der Ehrgeiz und nun ist es so gut wie fertig. Das da oben ist sowas wie ein Proof of Concept.

  15. #15
    Ich hatte die Idee vor dir: http://cherrytree.at/cgss

    Das Problem ist nur, Lua für sowas zu verwenden, besonders Code der oft aufgerufen wird wie onFrame, hat sich als immens langsam erwiesen. Deshalb wird hier auch kompiliert und nicht interpreritert. Ich habe aus den Fehlern gelernt.

  16. #16
    Ah cool, ich wusste, dass du mal etwas mit Lua machen wolltest, ist für mich dann aber irgendwie untergegangen.

    Naja, ich kann nichts zu den Problemen bei CGSS sagen, weil ich die Interna nicht kenne. Vielleicht hast du einfach die falschen Schwerpunkte gesetzt? Soweit ich bei mir getestet habe, kann ich auf jeden Fall sagen, dass meine persönlichen Erwartungen übertroffen wurden. Im Moment läuft das Rendering noch komplett ohne Hardwarebeschleunigung und mit Vanilla Lua habe ich noch lange nicht das volle Potential ausgeschöpft, was die Ausführungsgeschwindigkeit angeht, mit LuaJIT geht da noch viel mehr. Mal sehen wie sich das Projekt entwickeln wird, um ehrlich zu sein mache ich das größtenteils um zu sehen, wie weit ich mit dem komme, was ich mir vorgestellt habe.

    BTW: Kannst du mal deinen Quellcode zu DynRPG releasen? Ich würde mir gerne anschauen was sich hinter den Kulissen abspielt und es wäre schön, wenn ich die Möglichkeit hätte, DynRPG mit einem Compiler meiner Wahl zu kompilieren.

    Geändert von Kyuu (08.02.2014 um 16:00 Uhr)

  17. #17
    1. Der Quellcode den du in C++ siehst, nützt wenig, das meiste geht im Patch ab.
    2. Compiler deiner Wahl geht sowieso nicht, wegen der Asm-Statements und ein paar anderer Implementation Details. Ist alles sehr Low-Level hier...

  18. #18
    Zitat Zitat von Cherry Beitrag anzeigen
    1. Der Quellcode den du in C++ siehst, nützt wenig, das meiste geht im Patch ab.
    Das macht nichts, wenig kann auch interessant sein.

    Zitat Zitat von Cherry Beitrag anzeigen
    2. Compiler deiner Wahl geht sowieso nicht, wegen der Asm-Statements und ein paar anderer Implementation Details. Ist alles sehr Low-Level hier...
    Ich meinte schon GCC und 4.7.1 aufwärts, den Kommentar in der Hilfedatei habe ich gelesen und dass Dyn aufgrund von Asm nur mit GCC funktioniert weiß ich auch. Das Problem ist, selbst gleiche Compilerversion kann inkompatibel sein, Beispiel: Für Dyn 0.20 hast du einen Compiler mit SJLJ Exception Handling verwendet, will ich nun einen Compiler mit DW2 Exception Handling verwenden, bekomme ich Linker Fehler.

  19. #19
    0.17 mit der von dir nachgereichten dll.

  20. #20
    Code:
    function onInit()
        font = rpg.graphics.newFont("Picture/font.png")
        
        text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " ..
               "sed diam nonumy eirmod tempor invidunt ut labore et dolore " ..
               "magna aliquyam erat, sed diam voluptua. At vero eos et " ..
               "accusam et justo duo dolores et ea rebum. Stet clita kasd " ..
               "gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." ..
               "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " ..
               "sed diam nonumy eirmod tempor invidunt ut labore et dolore " ..
               "magna aliquyam erat, sed diam voluptua. At vero eos et " ..
               "accusam et justo duo dolores et ea rebum. Stet clita kasd " ..
               "gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." ..
               "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " ..
               "sed diam nonumy eirmod tempor invidunt ut labore et dolore " ..
               "magna aliquyam erat, sed diam voluptua. At vero eos et " ..
               "accusam et justo duo dolores et ea rebum. Stet clita kasd " ..
               "gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
    
        lines = font:wordWrapString(text, 300)
    end
    
    function onFrame()
        if rpg.scene == "map" then
            if rpg.keyboard.isDown "t" then
                local msg = ""
                local sum = 0
                for i = 1,5 do
                    local count = 0
                    local t = rpg.timer.getTicks() + 1000
                    while rpg.timer.getTicks() < t do
                        local y = 10
                        for i = 1, #lines do
                            rpg.graphics.drawText(font, 10, y, lines[i])
                            y = y + font.maxCharHeight
                        end
                        count = count + 1
                    end
                    msg = msg .. count .. "\n"
                    sum = sum + count
                end
                print(msg .. "\n\n" .. (sum / 5))
            end
            
            local y = 10
            for i = 1, #lines do
                rpg.graphics.drawText(font, 10, y, lines[i])
                y = y + font.maxCharHeight
            end
        end
    end
    Klicke auf die Grafik für eine größere Ansicht 

Name:	bla1.png 
Hits:	71 
Größe:	72,8 KB 
ID:	19743
    Klicke auf die Grafik für eine größere Ansicht 

Name:	bla2.png 
Hits:	39 
Größe:	11,8 KB 
ID:	19744


Berechtigungen

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