Seite 112 von 117 ErsteErste ... 1262102108109110111112113114115116 ... LetzteLetzte
Ergebnis 2.221 bis 2.240 von 2331

Thema: Programmwunsch und -erstellungsthread #2

  1. #2221
    Was die Exp Kurven betrifft, es ist nichts zwingend notwendiges (man kann ja die Exp drumherum balancen), aber wenn jemand so eine Kurve wie beim 2k hinbekommen würde (oder etwas ähnliches - zumindest nicht son Murks wie beim 2k3) würde ich das sofort benutzen. Aber schonmal dan ke soweit.

  2. #2222

    Users Awaiting Email Confirmation

    Ich hoffe doch, das ich jetzt nicht zur falschen Zeit frage...
    Und auch nicht im falschen Thread ...

    Aber, gibt es ein Dyn-plugin, womit ein script ein Screenshot machen kann, dass man dann direkt dann einbinden könnte?
    Z.b. für ein Selbstgebasteltes Savesys? Ich hab ja gehört, das es für den 2k ein programm gibt, aber das man dafür
    Inelukis Tastenpatch braucht. Ich nutze ja vorzugsweise den 2k3. ^^

    Geändert von Vallastheking (13.03.2015 um 21:59 Uhr)

  3. #2223
    Zitat Zitat von Corti Beitrag anzeigen
    Wettereffekte
    Zu welchem Zeitpunkt und wie oft werden die onDrawXYZ() callbacks durchgeführt? Die Funktion zum Drüberpinseln der Wettereffekte (oberhalb von X und unterhalb von Y, zum Zeitpunkt des Aufrufes) muss in jedem Frame passieren.
    Ich wollte eigentlich sowieso schauen, inwieweit man die Zeichenreihenfolgen zur Laufzeit ändern kann plus/minus entsprechende callback-Strukturen (weil jemand mal danach gefragt hatte).

    Erstmal das eigentliche Zeichnen der Wettereffekte (unterhalb der Pictures, BAni, MessageBox) ausknipsen:
    Code:
        ( *reinterpret_cast<char *> (0x4A3ECB)) = 0xEB;
        ( *reinterpret_cast<char *> (0x4A3ECC)) = 0x0A;
    Das wirst du unter Umständen wieder entfernen müssen, wenn sich an dem Ort neuer Code befinden wird.

    Update / Zeichnen von Wettereffekten je Frame erfolgt durch:
    Code:
            int eax = ( *reinterpret_cast<int **> (0x4CDDA8) )[0];   //ScreenEffect pointer
            asm volatile("call *%%esi"
                         :
                         : "S" (0x4C33D0), "a" (eax)
                         : "cc", "memory");
            //draws WeatherEffects on current (depends on when this is called) map drawing layer



    Zitat Zitat von Sölf Beitrag anzeigen
    so eine Kurve wie beim 2k
    download ExpBug-in

    Entsprechende Koeffizienten sind die Selben wie beim 2k (heißt die Obergrenze für Erfahrungspunkte wird schnell mal bei Level 50 erreicht), man kann diese auch anpassen (oder einfach niedrigere Zahlen für EXP(Prim) und EXP(Sec) in der Database nutzen). Es gibt nur kleine Abweichungen von den 2k-Werten, wenn man die selben EXP(Prim) und EXP(Sec) nutzt (es musste über ganze Zahlen geregelt werden statt mit Kommazahlen).


    Edit:
    Zitat Zitat von bugmenot Beitrag anzeigen
    download ExpDetectBug-in


    Mit einer Kombination hiervon und [irgendwas], was die Werte [irgendwo] auflistet und/oder einen Graph zeichnet, damit man die Kurvenverläufe richtig einschätzen kann. Weil die Database wird eben nicht die neuen resultierenden Werte anzeigen.




    P.S.:
    Kann es sein, dass GCC Probleme mit float-Multiplikation hat, wenn von einer beliebigen Anzahl an Schleifendurchläufen (oder Größe der floats?) ausgegangen wird und der Versuch da etwas möglichst effizientes zu Kompilieren in die Hose geht?

    Code:
        do
        {   fNewExp = fNewExp + fTert + fPrim;
            fPrim = fPrim * fSec;   //hier knallt es ständig wegen einer "invalid floating point operation"
            fSec = (fSec - fCoeffE) * ((fLevel * fCoeffC) + fCoeffD) + fCoeffE;
            i = i--;
        } while (i != 0);
    
       int newExp = (int)fNewExp;

    Geändert von bugmenot (14.03.2015 um 00:02 Uhr)

  4. #2224
    Danke! Ich teste da mal etwas rum.

    Edit: Bissel rumexperimentiert und diese Werte hier:

    A = 500
    B = 1500000
    C = 1525
    D = 800000
    E = 1000000

    ...funktionieren ganz gut. Muss den Anfang etwas rebalancen was Exp betrifft, aber ansonsten gleichen sich meine und diese Kurve etwa bei Level 29/30 an (29 der neuen ist ziemlich genau 30 der alten - nur danach wirds natürlich sehr viel mehr). Also nochmal danke dafür.

  5. #2225
    @bugmenot: Funzt wunderbar! Danke:-)

  6. #2226
    Da Erfahrungspunkte gerade ein echt beliebtes Thema zu sein scheinen:
    Wäre es vielleicht auch drin, den aktuellen NEXT-Wert, den man auch im Spielmenü sehen kann,
    in Variablen auszuwerfen?

    Bei was ich mich aber ganz besonders frage, warum man es nicht auch in Vars ausgeben kann,
    sind die Held-IDs auf den 4 Partyslots.

    Beide Dinge würden gelegentlich so manchen unangenehmen Umweg abkürzen. Ersteres wäre
    etwas dringender als zweiteres.

    Was mir auch noch helfen könnte, wäre der Aufruf von Load über die bekannte BAEP-Methode
    mit ExitEventProcessing bei V3350=1, ohne den Titleskip zwingend mitreinpatchen zu müssen.

  7. #2227
    2k v1.07?

    download VarExtender[+]





    ...ersetzt die alte VarExtender.ips (es kann ruhig mit der neuen drübergepatcht werden).

  8. #2228
    Wuuunderbar, funktioniert bestens. =D

  9. #2229
    Könnte man theoretisch die Items im Inventar auf etwas anderes als 99 beschränken, z.B. auf 10 oder 20? Das ginge ja auch "ohne Probleme" (also über nen Common Event) jetzt, aber damit kann man den Spieler nicht davon abhalten einfach mehr als diese fiktive Obergrenze im Shop zu kaufen.

    Edit:
    Okay, nach mehrfachem rumprobieren mit MagicMaker hab ich jetzt folgenden Code und der scheint auch zu funktioniere (spontan konnte ich jedenfalls keine Fehler finden):

    Code:
    ChangeItemMaximum=494262,#10,49427D,#10,490234,#10,4A6251,#10,4A62E1,#10,492F99,0A,494783,0A
    Daher ein Danke an ihn und... ja, hat sich soweit wohl erledigt. xD

    Geändert von Sölf (27.03.2015 um 00:21 Uhr)

  10. #2230
    Zitat Zitat von DynRPG.ini
    [QuickPatches]
    ItemCap=4A6251,14,4A62E1,14,490234,14,492F99,14,494262,14,49427D,14,494783,14
    Die ersten zwei/drei Zahlen sind generell für das Inventar / Hinzufügen für Items. Der Rest ist für den Shop.
    20 (decimal) = 14 (hexadecimal)

    Es wird wohl Leute geben, die mehr als 99 Items (warum auch immer) haben wollen:
    Beim Standard-Shop wird es Probleme mit einem ItemCap über 127 geben (hex = 7F).
    Das Maximum kann nur 255 sein (hex = FF), das hat mehr damit zu tun, wie die Daten des Inventars verteilt sind. Da ist nur Platz für 8bit Zahlen.

    Die Itemanzahl im Itemmenü, Equipmenü, Shop muss dann auch nach links hin eingerückt werden:
    Zitat Zitat von DynRPG.ini
    [QuickPatches]
    ItemAmount(X)=4A0408,73,4C8A99,73,493C16,6E,493C58,6E,4A1317,6E

    Edit:
    Argh, Ninja'd.
    Und Irgendwas in irgendwas übersehen. (490234 ist für den F8 BattleTest)

    Geändert von bugmenot (27.03.2015 um 00:48 Uhr)

  11. #2231
    Bei MMs Variante ist ja noch diese Adresse mit drin, wieso fehlt die bei dir?

    Zitat Zitat
    490234,#10
    Edit: Okay, soviel dazu. xD

    Geändert von Sölf (27.03.2015 um 00:28 Uhr)

  12. #2232
    Und hier mal gleich für diverse Versionen die Hex-Adressen für das Item-Maximum zum manuellen Bearbeiten:




  13. #2233
    Manche Beschränkungen des Makers scheinen ja sinnvoll, zumindest für die damalige Zeit. Andere sind weniger nachvollziehbar.

    Ich denke dabei grade an die Größenbeschränkungen für Chipsets.

    Vermutlich wurde darüber schon vielfach nachgedacht, aber gab es schon irgendwelche Bestrebungen etwas in die Richtung der Aufhebung der Begrenzungen zu basteln? Vielleicht sogar mit UiD Mod o.ä.?

    Das würde auch die "größeren Charsets" nicht mehr so notwendig machen. aus meiner Sicht zumindest, denn das meiste was man damit macht, ist doch eher Mapping. Ein überdimensionales Charset, was herumläuft macht ja auch dahingehend weniger Sinn, weil es sich mit anderen ständig überschneidet, wenn man die Größe der Tiles überschreitet. Aber das geht nur mir so.

  14. #2234
    Zitat Zitat von IndependentArt Beitrag anzeigen
    Vermutlich wurde darüber schon vielfach nachgedacht, aber gab es schon irgendwelche Bestrebungen etwas in die Richtung der Aufhebung der Begrenzungen zu basteln? Vielleicht sogar mit UiD Mod o.ä.?
    Benutz eine Engine und einen Editor, die nicht aus der "damaligen Zeit" stammen und meist nicht von Enterbrain sind?
    ...achso, ich habe vergessen in welchem Thema ich bin.

    Geändert von Cepanks (27.03.2015 um 20:00 Uhr)

  15. #2235
    Richtig! Wir sind hier, um einer antiquierten Engine mit endlosen chirurgischen Eingriffen zu Aktualität zu verhelfen

  16. #2236
    So, ich hätte da noch etwas. Und zwar gehts um die Verkaufspreise von Items. Standardmäßig ist der Wert ja 50% vom Einkaufspreis. Ich würde das gerne reduzieren, auf z.B. 25%.

  17. #2237
    Da fallen mir spontan drei Möglichkeiten ein.

    Für das Beispiel da oben geht es simpel:
    Zitat Zitat von DynRPG.ini
    [QuickPatches]
    QuarterSellPrice=49455C,C1FA02EB02,4932EF,C1F802EB02
    Da erfolgt eine ganzzahlige Division durch eine Zweierpotenz (2^x).


    Für etwas mehr Kontrolle von Kaufs- / Verkaufspreisen habe ich mal das hier gemacht.
    Das sollte eher Anwendung dafür finden, dass man durch Fähigkeiten / eingesetzte Items einstellbare Rabatte oder mehr Geld beim Verkauf von Kram erhält.
    Dann sollte aber der oben genannte QuickPatch (und FullSellPrice=49455C,9090,4932EF,9090) nicht damit verwendet werden.


    Dritte Möglichkeit wäre der Zugriff auf einzelne Itempreise mittels Plugin mit RPG::items[ID]->price
    (Nicht vergessen den Inhalt von DynRPG-master in ../CodeBlocks/MinGW/include/DynRPG einzufügen.)
    Problem ist ja nur, dass hier mit einer Kopie der .ldb-Datenbank gearbeitet wird -> Änderungen wirken sich auf die gesamte Spielsession aus (auch bei F12 -> Laden/Neu) und werden wieder resettet, wenn man die RPG_RT.exe schließt und neustartet.
    Edit:
    Und die default-Werte müssen irgendwo zwischengelagert werden. ...oder ich muss mir etwas einfallen lassen, wie man trotzdem noch an database-default-Werte herankommt.

    Geändert von bugmenot (30.03.2015 um 23:21 Uhr)

  18. #2238
    Theoretisch würde mir in diesem Falle der Quickpatch reichen (zumindest wenns um ne 2er Potenz geht, und das ist 25% ja). Speziell bei mir gehts nur darum, dass Geld durch drops kommt (die ich im nachhinein anpassen kann), aber der Verkaufspreis von Ausrüstungsgegenständen zu hoch ist, weshalb neue Waffen immer sehr viel teurer sein müssen (und das wird auf Dauer echt eklig).

    das blau markierte 02 ist also dann 2x2, und 03 wäre dann 2x2x2, also 8, richtig?

  19. #2239
    Zitat Zitat von Sölf Beitrag anzeigen
    das blau markierte 02 ist also dann 2x2, und 03 wäre dann 2x2x2, also 8, richtig?
    Kann man sagen.
    Intern werden aber die Bits der Zahl nach rechts verschoben, dabei sinkt der Exponent mit jeder Verschiebung um 1, was im Endeffekt jedes Mal die Zahl halbiert. (+ Informationsverlust wenn zB. die originalen 2^1 und 2^0 wegfallen).


    Damit mein Post jetzt nicht zu inhaltslos ist:
    Zitat Zitat von IndependentArt Beitrag anzeigen
    einer antiquierten Engine mit endlosen chirurgischen Eingriffen zu Aktualität zu verhelfen
    Ich kann momentan nicht sagen, ob hier gerade nach einer Gehirntransplantation gefragt wird (denn die ganze Mapping-Engine anpassen kommt dem doch sehr nahe) oder einfach nur ein Pflaster hilft. Unbegrenzte TileSets wie mit dem RMXP könnte zig Stunden an Arbeitszeit kosten.

    Geändert von bugmenot (30.03.2015 um 23:48 Uhr)

  20. #2240
    Ist es möglich, den RPG Maker um ein System zu erweitern, dass Reaktionen zwischen Events erkennt, also Berührungen usw. die dann auch durch Bedingungen abgefragt werden können?
    Der RPG Maker kann ja soziemlich alles, nur das nicht. Eben solche Bedingungen wie: Wenn Event A > Event B berührt, mach XY.

Berechtigungen

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