Seite 53 von 71 ErsteErste ... 34349505152535455565763 ... LetzteLetzte
Ergebnis 1.041 bis 1.060 von 1418

Thema: Technik-Sammelthread für Probleme und Antworten

  1. #1041
    Nochmal zur Erklärung:
    Du prüfst mit
    Code:
    if( actorCurrent != 0 )
    bzw
    if( actorCurrent != NULL )
    ob der Zeiger »actorCurrent« - den haben wir ja durch den »*«-Operator als eine Zeigervariable definiert - gleich Null ist. Das heißt in diesem Fall, dass der Zeiger leer ist - sozusagen. Sonst würde er ja auf ein RPG:ctor-Objekt zeigen von welchem du dann halt die Eigenschaften abfragen kannst. Dafür benutzt du »->« weil dieser Operator - im Gegensatz zum ».«-Operator - gleichzeitig den Zeiger dereferenziert und Zugriff auf das Objekt gibt, auf das der Zeiger zeigt. Ich weiß aber nicht, ob ich das gut erklärt habe xD

    Edit:

    Wegen dem anderen Problem: Was hast du für einen Monitor?

    PeAcE
    MorDen

  2. #1042
    Ja ich hab's ja schon verstanden. :'D
    Das ganze ist mir dann auch klar geworden^^

    Uhm...einen von Asus 24" Full HD, weiß aber gerade das Modell nicht und im Handbuch steht auch nur VH236S/VH232S/VH202S...welcher das jetzt genau ist...keine Ahnung ._.

  3. #1043
    Statt

    Code:
    switch(i)
                                    {
                                    case 0:
                                        RPG::screen->canvas->draw(200, 41, myExpImage);
                                        break;
                                    case 1:
                                        RPG::screen->canvas->draw(200, 99, myExpImage);
                                        break;
                                    case 2:
                                        RPG::screen->canvas->draw(200, 157, myExpImage);
                                        break;
                                    default:
                                        break;
                                    }
    Würde ich

    Code:
    RPG::screen->canvas->draw(200, 41 + i * 58, myExpImage);
    schreiben.

    Wesentlich kürzer, effizienter und wartbarer.

  4. #1044
    Zitat Zitat von Quetschi Beitrag anzeigen
    EDIT2: Okay. Das PlugIn ist fertig ._. Großes Dankeschön an alle die mir geholfen haben!
    Nice :-)

    @andere: ihr seht, man muss vor DynRPG keine Scheu haben.

  5. #1045
    Zitat Zitat von Corti Beitrag anzeigen
    @andere: ihr seht, man muss vor DynRPG keine Scheu haben.
    Warum auch? Gibt ja auch zwei, drei geistreiche Gestalten, die hier gerne mal helfen^^ Von daher =D

    PeAcE
    MorDen

  6. #1046
    @Cherry:
    Mittlerweile brauche ich das so, da ich 3 verschiedene Bilder habe. Das Systemset hat unten ein dunkleres blau als oben und da ich dort nicht einen hellen Block haben möchte (wo der Rest ja sonst dunkler ist) hab ich das eben über switch gelöst.
    Es sei denn, du kommst mir jetzt mit einer superschlauen Lösung daher, wie ich das auch mit den 3 verschiedenen Bildern noch vereinfacht hinkriege.


    Und wo wir gerade immernoch beim Thema DynRPG sind...Ist es irgendwie möglich mit DynRPG die Itempreise zu verändern, festzulegen dass man nicht mehr als 1 Item einer Art gleichzeitig kaufen kann und abzufragen ob 1 Item gekauft wurde?
    Ich würde gerne Statuspushende Mittel verkaufen, diese aber nach jedem Kauf teurer machen (und den Preis mit Hilfe einer e-Funktion an 999.999 anzunähern, wofür ich ja sowieso DynRPG brauche). Und da mir normal der Standardshop reicht, würde ich ungern jetzt noch einen eigenen Shop basteln...außer das geht halt wie gesagt mit DynRPG nicht. (Dann muss ich darüber nur den Preis berechnen lassen)

    EDIT: Ich hab' bereits in Cherrys Dokumentation von DynRPG geguckt ob es so etwas gibt, aber nichts gefunden....deshalb frag ich nochmal um sicher zu gehen.^^

  7. #1047
    Zitat Zitat von Quetschi Beitrag anzeigen
    @Cherry:
    Mittlerweile brauche ich das so, da ich 3 verschiedene Bilder habe. Das Systemset hat unten ein dunkleres blau als oben und da ich dort nicht einen hellen Block haben möchte (wo der Rest ja sonst dunkler ist) hab ich das eben über switch gelöst.
    Es sei denn, du kommst mir jetzt mit einer superschlauen Lösung daher, wie ich das auch mit den 3 verschiedenen Bildern noch vereinfacht hinkriege.
    Wenn deine Dateien zufällig durchnummeriert sind, dann könntest du doch einfach den Zähler (also »i«) benutzen, um so den Dateinamen zusammenzubauen. Das ist eine Zeile, dann brauchst du auch kein switch-case. [EDIT: Schwachsinn, siehe Corti weiter unten.]

    Zu deinem anderen Problem:
    Momentan ist es nur möglich den Namen und die Beschreibung eines Items abzurufen, da die Item-Klasse noch nicht in DynRPG implementiert ist. Kurzum: Ohne rumgehacke ist das leider nicht ohne weiteres möglich.

    PeAcE
    MorDen

    Geändert von Morden (05.06.2013 um 19:18 Uhr)

  8. #1048
    Zitat Zitat von Quetschi Beitrag anzeigen
    Mittlerweile brauche ich das so, da ich 3 verschiedene Bilder habe.
    Könntest du den Grund kurz erläutern? (müssen deine Exp-Bilder den Menühintergrund drin haben oder klatschst du Window-Tiles über die Standard-Exp-Anzeige?)

  9. #1049
    Moment mal, willst du einfach nur die EXP-Anzeige entfernen?

    Das würde mit folgendem Hack (in onStartup) gehen:

    Code:
    *reinterpret_cast<unsigned short *>(0x49E148) = 0x71EB;
    Als Patch: 2 Bytes ab Offset 0x9D548 zu EB 71 ändern.

  10. #1050
    Zitat Zitat von Morden Beitrag anzeigen
    Wenn deine Dateien zufällig durchnummeriert sind, dann könntest du doch einfach den Zähler (also »i«) benutzen, um so den Dateinamen zusammenzubauen. Das ist eine Zeile, dann brauchst du auch kein switch-case.
    Der Dateiname ist an der Stelle unfug, da die Bilderdaten längst in onInit geladen wurden. Praktischer wäre es die Bildaten in ein Array zu packen und dann jeweils das Bild an Index i anzuzeigen.
    Praktikablerweise würde ich so etwas nicht einmal als Schleife machen sondern copy&paste, sind eh maximal 4. Der Kompiler wird kleine Schleifen in der Optimierung sowieso "unrollen" wenn es sich anbietet.

    Die beste Lösung bietet aber hier unser Cherrrrry~

    Cherry, könnte man auf die Art alle bekannten "Hacks" on the fly einspielen? Krieg ich die Offsets für Dyn-reinterpret-casts durch simple Differenz der hier gegebenen Adresswerte raus?

  11. #1051
    Zitat Zitat von Corti Beitrag anzeigen
    Der Dateiname ist an der Stelle unfug, da die Bilderdaten längst in onInit geladen wurden. Praktischer wäre es die Bildaten in ein Array zu packen und dann jeweils das Bild an Index i anzuzeigen.
    Praktikablerweise würde ich so etwas nicht einmal als Schleife machen sondern copy&paste, sind eh maximal 4. Der Kompiler wird kleine Schleifen in der Optimierung sowieso "unrollen" wenn es sich anbietet.

    Die beste Lösung bietet aber hier unser Cherrrrry~

    Cherry, könnte man auf die Art alle bekannten "Hacks" on the fly einspielen? Krieg ich die Offsets für Dyn-reinterpret-casts durch simple Differenz der hier gegebenen Adresswerte raus?
    Oh, du hast vollkommen Recht. Kommt davon, wenn man mal fix antwortet. Danke für den Hinweis! Werd's gleich editieren.
    Hatte schon wieder ne ganz andere Lösung im Kopf und dann falsch gedacht - passiert^^''

    Und letzteres würde mich auch brennend interessieren! Ich habe nämlich alles, was Cherry bisher iwo gepostet hat an OnTheFly-Hacks und was ich gefunden habe zusammengesammelt^^

    PeAcE
    MorDen

  12. #1052
    Vergiss nicht die Exp-Anzeige im Statusmenü:
    0x9E621 -> 01 set 00 (ausblenden)
    bzw.
    0x9E628 = x-Pos

    und das Exp-Symbol
    0x9E4A6 -> 01 set 00 (ausblenden)
    bzw.
    0x9E4AD = x-Pos

    und das ----/---- beim max.Lv
    0x9E5D4 -> 01 set 00 (ausblenden)
    bzw.
    0x9E5DB = x-Pos

    Zitat Zitat von Corti Beitrag anzeigen
    Cherry, könnte man auf die Art alle bekannten "Hacks" on the fly einspielen? Krieg ich die Offsets für Dyn-reinterpret-casts durch simple Differenz der hier gegebenen Adresswerte raus?
    Physischer Offset + 0x400C00 = virtueller Offset. Klingt lustig, wenn man zwischen HexHacks wechseln kann/tut.

  13. #1053
    Nein, ursprünglich wollte ich die EXP bis zum nächsten Level ändern, so dass ich nicht an die Kurve vom RPG Maker gebunden bin. Da das ja scheinbar nicht geht, benutze ich jetzt Variablen.
    Da ich dann aber nicht die korrekten Werte im Menü hätte, wäre das nur verwirrend für den Spieler, also hab ich mir gedacht ich pack da halt ein Bild mit "100" hin und sag dem Spieler dann wieviel "Prozent" er schon hat.
    Diese Angabe ist dann zwar gerundet, aber das ist nicht so schlimm denke ich, ansonsten mach ich aus der 100 einfach eine 1.000 und kann sozusagen eine Nachkommastelle anzeigen.
    Dann würde 627/1.000 eben 62,7% EXP bedeuten. Mir gings halt darum, dass dem Spieler was angezeigt wird.

    Das Statusmenü benutze ich nicht und ist somit kein Problem. Was meinst du mit EXP-Symbol? Mir fiel da keins auf...oder ist das nur im Statusmenü vorhanden?
    Und ja beim max. LVL muss ich mal gucken wie ich das regel...entweder auch über's PlugIn (theoretisch gesehen ist das ja einfach nur anzeigen wenn mehr Bildern, wenn die Helden das max. Lvl haben) oder ich umgeh das irgendwie mit dem Maker.

  14. #1054
    Symbol = Was man in der Database unter Vokabeln/String, Seite 5 angibt. (Gibt nämlich Offsets für Symbol, Zahl(aktuell) und Zahl(max.))
    Edit: Ja, ist nur im Status-Fenster

    ----/---- (bei max.Lv) im Hauptmenü entfernen:
    Zitat Zitat von Cherry Beitrag anzeigen
    Als Patch: 2 Bytes ab Offset 0x9D548 (7C 21) zu EB 71 ändern.
    oder nur das ----/---- entfernen
    0x9D748 -> 0F set 00

    ...oder die Exp-Anzeige im Menü verschieben und als einen zusätzlichen Wert für etwas komplett anderes/eigenes missbrauchen:
    0x9D5AB (oder auch ...AE) = y-Pos.
    0x9D5B0 = x-Pos

    Geändert von bugmenot (05.06.2013 um 21:02 Uhr)

  15. #1055
    Code:
    ' VA/File mapping (VA range = 400000 - 4CF000):
    ' 400000 - 400400 = 00000 - 00400 HEADER
    ' 401000 - 4C9E00 = 00400 - C9200 CODE
    ' 4CA000 - 4CE200 = C9200 - CD400 DATA
    Also für Offsets 0 - 400 addieren wir 400000, für Offsets 400 - C9200 addieren wir 400C00, für Offsets C9200 - CD400 addieren wir 400E00.

    Das ganze hat mich auf eine - hoffentlich geniale - Idee gebracht: http://www.multimediaxis.de/threads/...=1#post3084525

  16. #1056
    Mal ne ganz, ganz blöde Frage:

    "Change entire Partys HP +1" heißt ja ich geb der ganzen Party +1 HP. Heißt das nun, wenn ich zwei Partymitglieder á 25 HP habe, dass dann beide +1 HP bekommen oder einfach einer von beiden? Mir gehts um die Zahl im Speicherslot. Die ist immer fehlerhaft, obwohl ich korrekt scripte. Daher dachte ich mir, dass ich vllt irgendwas falsch verstehe. Auf welchen "Held" geht das +1? Auf beide? Auf einen? Wenn ja: auf welchen? (ich nutze dieses HP-Zeug das erste mal, daher hab ich kein blassen Dunst. Man möge mir verzeihen.)

  17. #1057
    Nein da kriegen dann beide je 1 HP.

    Fehlerhaft Skripten: Kann es sein dass du vergisst dass man nicht alle HP abziehen kann ohne zu aktiveren dass der Held sterben kann - sonst bleibt immer 1 HP übrig - und man umgekehrt einem 0-HP-Helden keine HP geben kann ohne vorher manuell den Status "Tot" zu entfernen, was ihm wiederum automatisch 1 HP gibt?

  18. #1058
    Ähm, gibt es eigentlich eine performante Möglichkeit zu prüfen ob irgendeines von 31 Events auf einen von 11 Bodenschaltern steht? Dank RMEF konnte ich zwar recht fix den Code für die Abfragen generieren, allerdings ist das dann ne ziemliche Ruckellei(oh, wunder) und ich hab ja nicht mal den schwächsten PC, kann ich also so nicht hinnehmen. Bin an RM2k gebunden, DynRPG ist also keine Option.
    Der PP hat nen Wait von 0.1 Sek, mehr wäre nicht ganz so gut, denn die besagten Events sind ständig in Bewegung(und auch nicht auf festen Bahnen oder sonstwas).

    Gibt's da irgendeinen möglichen Trick oder sonst was?

  19. #1059
    Wenn's ruckelt, hast du Mist gebaut, aber für diese Abfrage brauchst du bestimmt keinen hochkomplexen Code aus der Factory.

    Benutz [Get Event ID] auf den 11 Schalterpositionen und schau jeweils, ob sie einem der 31 Dinger entspricht, das sollte Makerchen
    schnell genug abarbeiten können. Vorzugsweise aber ohne Loop, sondern alle 11 hintereinanderweg, der Wiederholperformance wegen.
    Am Ende einen Wait 0 benutzen, reicht aus.

    Du könntest auch 11 Prüfevents auf die Schalter stellen, die alle niedrigere IDs als die anderen haben und schauen, ob die Event-ID
    auf ihrer Position nicht mehr ihrer eigenen entspricht, irgendwie könnte das auch gehen.

  20. #1060
    Zitat Zitat von MagicMaker Beitrag anzeigen
    Du könntest auch 11 Prüfevents auf die Schalter stellen, die alle niedrigere IDs als die anderen haben und schauen, ob die Event-ID
    auf ihrer Position nicht mehr ihrer eigenen entspricht, irgendwie könnte das auch gehen.
    Letzteres klappt ganz gut, ist mir dann sogar auch selbst eingefallen. Wenn mal was auf dem direkten Weg nicht ganz so klappt, stellt sich wohl erst die Denkblockade ein.^^'
    Danke.

Berechtigungen

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