Zitat
#define AUTO_DLLMAIN
#include <DynRPG/DynRPG.h>
int mmscn;
// Methodensignatur falsch
bool onFrame(char*pluginName)
{
if (scene == RPG::SCENE_MENU)
{
// du hast hier eine Funktion in deine Funktion kopiert.
// Das hier site in Funktionsaufruf
mmscn = getMenuScreen();
// das hier wird entweder ein Fehler oder die Klammern werden ignoriert und der onFrame-Callback beendet
{
return (**reinterpret_cast<char ***>(0x4CDC60))[12];
}
// du solltest die getMenuScreen-funktion als Funktion in dein Projekt einfügen und dann aufrufen.
if (mmscn == 0)
{
// das hier wird funktionieren , und ein Bild von der Festplatte laden, 60 mal pro Sekunde, absoluter Performancekiller
RPG::Image *myExpImage;
myExpImage = RPG::Image::create();
myExpImage->useMaskColor = true;
myExpImage->loadfromFile("Picture\EXP_Percentage.png",false);
RPG::Actor * actorCurrent;
// Global::etc. ist ein Namespace von mir, das solltest du schon ersetzen zB durch eine 4 ;-)
for (int i=0; i< Global::kNumberOfHeros; i++)
{
// die Schleife über das Switchkonstrukt ist grober Unfug. In meinem Samplecode folgr auf die Schleife ein Prüfen, ob ein Held auf der Gruppenposition 0 bis 3 vorhanden ist. Wenn du einfach nur an X Stellen überzeichnen willst, dann zeichne an X stellen, ohne Schleifen.
switch(i)
{
case 0:
// wenn du optionale Parameter nicht angeben willst lass sie weg, srcWidth=1 etc. gehört hier nicht hin
RPG::Canvas::Draw(200, 41, myExpImage,srcX = 0, srcY = 0, srcWidth = -1, srcHeight = -1)
break;
case 1:
RPG::Canvas::Draw(200, 99, myExpImage,srcX = 0, srcY = 0, srcWidth = -1, srcHeight = -1)
break;
case 2:
RPG::Canvas::Draw(200, 157, myExpImage,srcX = 0, srcY = 0, srcWidth = -1, srcHeight = -1)
break;
default:
break;
}
}
}
else
{
RPG::Image::destroy(myExpImage);
}
}
return true;
}
...