Alles klar. Dann muss ich wohl mehr Logik ins Plugin auslagern (was eigentlich viel intelligenter ist, aber mehr Zeit und Aufwand kostet).
Wär ja zu schön gewesen ^^
Druckbare Version
Alles klar. Dann muss ich wohl mehr Logik ins Plugin auslagern (was eigentlich viel intelligenter ist, aber mehr Zeit und Aufwand kostet).
Wär ja zu schön gewesen ^^
Kannst du es nicht per Switches und PP freischalten und prüfen, ob es durchgelaufen ist?
Hmmm, gute Idee. Muss ich mal versuchen.
Also Schalter X an vor dem Call, CE callen vom Plugin aus, In einer While-Schleife warten (mit kurzem "Sleep", damit das Warten nicht Unmengen an Ressourcen frisst), bis dieser Schalter X wieder aus ist (wird am Ende der jeweiligen CEs wieder ausgeschaltet) und dann erst weiterfahren.
Nun müsste ich nur noch wissen, wie man ein CE überhaupt callen kann... ^^ *zu Cherry rüberschiel*
Zur Info: hab mit dem Plugin übrigens noch nicht begonnen, werde dies aber nächstens tun. Wollte erstmal abklären, was überhaupt umsetzbar ist, bevor ich etwas überkompliziertes bastle, das auch einfacher gegangen wäre.
CE callen würde wohl am ehesten durch einen Switch gehen...
Ich Depp, logisch. Hab wieder mal zu weit gedacht.
Wobei ich bei meinem jetzigen Ansatz gar kein CE zu callen brauche. Doch vielleicht wird das in einer anderen Situation mal nötig, wer weiss...
Moin!
ich würde gern RPG::monsters ? count() benutzen um die Anzahl der Monster auszulesen. Ich kann kein C++ und jede mögliche Variante mit oder ohne Punkt, -> oder Sternchen hier und da, die mir irgendwie sinnvoll schien hab ich durch, die Catalog/NamedCatalog-Zugriffsbeispiele aus der Doku und aus den Headern funktionieren bei RPG::monsters nicht oder ich kriegs nicht hin sie richtig einzusetzen.
Wie mach ich das? Ist sicher eine Zeile und voll einfach, stimmts?
Ist zwar nicht die Lösung zu deinem Problem, aber diese Seite könnte dir in vielerlei Hinsichten helfen. Benutze ich auch ständig als Nachschlagwerk.
Danke für den Tipp, die Seite kannte ich aber schon, leistet auch gute Dienste bei greifbareren Problemen nur bei diesen Mist halt nicht.
Wenn ich wüsste was genau ich suche hätte ich wohl längst die Lösung.
Momentan verbringe ich in meinen Plugin-Versuchen ca. 95% der Zeit damit mich mit C++ rumzuärgern und minimalst welche mit der eigentlichen Anwendung -_- und hab eigentlich auch nicht das geringste bischen Bock drauf, nur leider lösen sich Probleme nicht wenn man nicht alles selbst macht.
Die Einarbeitung in C++ ist wirklich nicht ganz einfach.
Ich schau heute Abend mal rein, vielleicht finde ich einen Weg, die Monsteranzahl abzufragen. Hab schon eine Idee, aber da ich mit C++ immer noch nicht wirklich vertraut bin, will ich das erst selbst mal ausprobieren, bevor ich irgendwelchen Mist erzähle ^^
EDIT:
RPG::monsters ist ja ein Array. Die Anzahl der Elemente in einem Array kannst du auf 2 Arten auslesen
1. int monsterCount = RPG::monsters.size()
2. int monsterCount = sizeof(RPG::monsters)
Hier noch als Referenz:
C++ Array
DynRPG RPG::monsters
Hab dies nicht getestet, aber meiner Meinung nach solltest du so die Anzahl Monster im Kampf herausfinden können.
Muss ich morgen mal testen. sizeof hatte ich schon auf dem Zeiger, allerdings gibt das die Größe des Arrays aus, nicht die Anzahl der Elemente im Array und ich hatte keine Ahnung wie man analog zu sizeof(array) geteilt durch sizeof(int) bei int-arrays die Elementanzahl der errrr Templatedingsdalisteneintragspointer wasauchimmer draus macht, aber size() klingt gut.
Danke dir!
Kein Ding ^^
size() sollte gut funktionieren, da ich damit auch die Anzahl Zeichen in einer Zeichenkette (String) abfragen kann. Ein String ist von der Logik nichts anderes als ein Char-Array (Char = ein Zeichen).
Schade, das klappt wohl nicht. Ist ja auch kein einfaches string/char-array.Zitat:
error: 'class RPG::CatalogPtr<RPG::Monster*>' has no member named 'size'|
Wenn ich nicht etwas übersehen habe:
sollte eigentlich klappen. Ist das eine Variante, die du bereits ausprobiert hast? Wenn ja, wie lautet die Fehlermeldung des Compilers?Code:int count = RPG::monsters.count();
Mist... und (*RPG::monsters).size() ?
Ich stehe eben auch erst an Anfang bei C++. Hab zwar schon einiges an Erfahrung mit anderen Programmiersprachen, doch C++ ist da schon etwas speziell...
Ich denke in anderen Programmiersprachen kannst du auch nicht Methoden aufrufen, die in der Klasse nicht implementiert sind. Das Objekt ist vom Typund nichtCode:RPG::CatalogPtr<...>
count() ist schon die richtige Methode, er scheint eher an der Syntax zu scheitern.Code:std::array<...>
@Kyuu:
Zitat:
- ||=== CortiSys, Release ===|
- D:\Daten\Privat\Project1\DynPlugins\CortiSys\GameCallbacks.cpp||In function 'void onBattleFrame()':|
- D:\Daten\Privat\Project1\DynPlugins\CortiSys\GameCallbacks.cpp|30|warning: unused variable 'count'|
- d:\developementtools\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\DynRPG\Catalog.h||In member function 'int RPG::Catalog<T>::count() [with T = RPG::Monster*]':|
- d:\developementtools\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\DynRPG\Catalog.h|64|instantiated from 'int RPG::CatalogPtr<T>::count() [with T = RPG::Monster*]'|
- D:\Daten\Privat\Project1\DynPlugins\CortiSys\GameCallbacks.cpp|30|instantiated from here|
- d:\developementtools\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\..\include\DynRPG\Catalog.h|34|error: 'class RPG::DListPtr<RPG::Monster*>' has no member named 'count'|
- ||=== Build finished: 1 errors, 1 warnings ===|
Ok, damit kann ich etwas anfangen. Cherry hat in Catalog.h, Zeile 34, einen Fehler und zwar überspringt er eine Instanz.
Quick fix: Ändere in Catalog.h die Definition der count()-Methode der Catalog-Klasse zu
Code:int count() {
return list.list->count;
}
Danke man!
Natürlich nicht. In der Beschreibung in Cherrys Klassenreferenz steht eben, dass RPG::monsters ein Array sei. Die Typisierung in der Titelzeile des Abschnitts hab ich zu wenig beachtet. Dass es vom Typ RPG::CatalogPtr ist, welches anstatt der size() die count() Methode besitzt, ändert die Sache natürlich.
Danke fürs Finden dieses kleinen Fehlers. Werde ich bei mir auch so ändern.
Mit dem Kyuu-Fix bekomme ich als Ergebnis aus dem count solche Werte...
- 189376208
- 183740112
- 183936720
- 183467396