Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahle, Zahlen, Zahlen ...
So,
erstmal hi
vorab möchte ich sagen, das ich nicht so gut darin bin meine Probleme zu beschreiben. Deshalb könnte hier gleich ein etwas verwirrender Text stehen.
Also fang ich mal an.
Ich bin gerade dabei mein eigenes Levelsystem zu bauen.
Bei jedem Level bekomtm man Attribute dazu. (Stärke, Ausdauer usw.)
Ausserdem soll man über einen talentbaum noch paar Sachen dazuverdienen können. Ebenso wie über Waffen und Rüstung.
Jetzt mein Problem.
Das alles zusammenrechnen lassen und mit den Werten kämpfen usw geht ja.
Nur wenn ich diese über Bilder anzeigen möchte komme ich ins straucheln.
Ich kann ja nicht für jede Zahl von 0-99999 ein Pic machen. Also muss ich ja irgendwie die Zahlen in den Variablen aufteilen können.
rein theoretisch weiß ich, wie es geht. Nur brauche ich da für jeden Wert einen immensen haufen an Variablen, weil ich immer zwischenspeichern muss :-/
Und ein großer Haufen *7Attribute * 8 CHaraktere ist irgendwie nicht so verlockend :-/
Also nochmal kurz:
Wie schaffe ich es mit wenig Aufwand den Wert in einer Variable auf die 100er,10er 1er stellen aufzuteilen?
Oder falls es einen einfacheren weg gibt sagt mir den ;D
Ich hab dir hier mal ein Screenshot von einem meiner Zahlensplit Skripte gemacht:
http://img40.imageshack.us/img40/9639/zahlensplit.png
Erklärung: (Auf dieses Beispiel bezogen)
Bevor du den Attribut durch den Split jagst, (z.B. Stärke) setzt du die Variable "v0026: Zahlensplit" deines zu splittenden Attributes gleich. Dann rufst du dieses Event aus der Database auf und brauchst dann nur noch die einzelnden Zahlen anzuzeigen.
Wenn du das mit Pictures machst, dann brauchst du auch nicht für jede einzelnde Ziffer eine Variable, du kannst z.B. so vorgehen:
>Setze Zahlensplit gleich des ersten Atrributes
>Rufe das Zahlensplitskript auf
>Zeig die einzelnden Bilder nach den einzelnden Variablen an
>Setze die Zahlensplit-Variable gleich des nächsten Attributes
>usw. bis du halt mit allen Attributen fertig bist.
Oder du übernimmst ganz einfach die Werte aus dem Skript d.h. du brauchst dann z.B. die Variablen:
Stärke 1000er
Stärke 100er
Stärke 10er
Stärke 1er
Magie 1000er
Magie 100er
Magie 10er
Magie 1er
usw.
Ist insgesamt nicht wirklich schwer.
makenshi
28.01.2010, 06:53
Dein Skript ist unnötig aufwändig. Besonders dank der Iteration darin :o
Um Zahlen zu splitten braucht man doch nicht mehr als:
Ausgangszahl: 1234
1234 / 1000 = 1
1234 % 1000 = 234
234 / 100 = 2
1234 % 100 = 34
34 / 10 = 3
1234 MOD 10 = 4
% = Mod
Geht viel schneller und simpler. Diese Rechnenweise funktioniert so da der Maker nur mit Ganzzahlen rechnet.
Das Ergebnis dieser Rechnungen musst du nur in Variablen abspeichern und je nach dem mit einem Fork abfragen was für eine Zahl drin ist. Und diese dann entsprechend anzeigen lassen. Alternativ geht das natürlich auch mit Eventseiten.
Edit:
Recht hat er, mit dem PPP kannst du dir sogar das abgeforke sparen.
Tipp: Am einfachsten geht es mit dem PicPointerPatch, weil du da die Bild-ID und auch den Dateinamen mit Variablen bestimmen kannst: http://www.multimediaxis.de/showthread.php?t=107583
Im Beispielprojekt siehst du eine 6stellige Zahlenanzeige über Pictures, die 10 Zeilen Eventcode braucht. Die nur kannst du ganz einfach in dein Projekt übertragen.
(Dabei kommt natürlich wieder "Mod" zum Einsatz; Danke Maki)
RPG Hacker
28.01.2010, 06:57
Hast du schon mal im "Change Variable" Bereich den Operator "MOD" gesehen, und dich gefragt, wofür der gut sein soll? Nun, genau dafür! Der MOD-Operator teilt eine Zahl durch eine andere, gibt dir aber nicht das Ergebnis aus, sondern den Rest. So, wie in der Grundschule. 12 MOD 5 z.B. wäre 2, da 12 / 5 = 10, Rest 2.
Inwiefern ist das jetzt für dein Problem nützlich? Die Antwort heißt MOD von 10.
Hast du beispielsweise die Zahl 8483 und benutzt den MOD von 10, so bekommst du die 3, da 8480 durch 10 teilbar sind und 3 übrig bleiben. Mit dem MOD von 10 bekommst du also immer die letzte Stelle einer Zahl. Du brauchst insgesamt drei Variablen:
-Originalzähler (z.B. HP Zähler)
-Kopie des Zählers (wird nur verwendet, um den Originalzähler nicht zu verändern)
-MOD-Ergebnis.
Zuerst speicherst du den Wert des Originalzählers in der Kopie. Danach setzt du das MOD-Ergebnis = die Kopie. Nun musst die Kopie durch 10 teilen und das MOD-Ergebnis durch 10... MODden (< kann man dieses Wort hier benutzen :confused: ). Nun hast du die letzte Stelle im MOD-Ergebnis und kannst diese anzeigen. Nun musst du das MOD-Ergebnis wieder = die Kopie setzen, diese durch 10 teilen und das MOD-Ergebnis durch 10 MODden. Nun hast du die vorletzte Stelle. So verfährst du weiter, bis du alle Stellen verarbeitet hast.
EDIT:
Verdammt, ninja'd T_T
das mit dem mod und so wusste ich. War mir nur zu umständlich ^-^
ich werde das mal mit dem picpointer patch versuchen :D
makenshi
28.01.2010, 07:51
das mit dem mod und so wusste ich. War mir nur zu umständlich ^-^
ich werde das mal mit dem picpointer patch versuchen :D
Der PPP ersetzt die Modular Rechnung nicht, nur so für den Fall das der Eindruck entstanden sein sollte. Er bietet dir nur die Möglichkeit auf Picture IDs und Dateinamen zu referenzieren. Was dir wiederum das abgeforke erspart.
Schneller als mit der Modularrechnung wirst du es nicht kriegen. :)
da ich nicht immer wieder neue threads aufmachen will, frag ich hier einfach weiter ^-^
Was genau passiert bei einem call event?
Ich dachte bis jetzt, das das gecallte event einmal durchlaufen wird und dann geht es hinter dem callbefehl weiter. Ist das richtig so? Wenn ja muss ich den Fehler woanders suchen :P
RPG Hacker
28.01.2010, 12:21
Was genau passiert bei einem call event?
Ich dachte bis jetzt, das das gecallte event einmal durchlaufen wird und dann geht es hinter dem callbefehl weiter. Ist das richtig so? Wenn ja muss ich den Fehler woanders suchen :P
Ist es in der Regel schon. Könnte ja sein, dass du im gecallten Event drin wieder ein anderes Event callst und diesem dann wieder ein anderes. Dann könnte es schon so aussehen, als wäre alles willkürlich, aber normalerweise sollte es schon so sein, wie du sagst, dass es danach normal weitergeht.
das prob ist, es geht danach nicht weiter ;)
dann hab ich wohl in dem anderen event etwas verhackstückelt ^^
RPG Hacker
28.01.2010, 14:23
Was für ein Event rufst du denn genau auf? Ich bin davon ausgegangen, dass du ein Common Event mit der Einstellung "Call Event" aufrufst. Mir ist aber gerade eingefallen, dass Der Call Event Befehl auch noch andere Event-Typen aufrufen kann. Beschreib mir mal genau, wie du das jeweilige Event eingestellt hast und was das überhaupt für ein Event ist (ein Map Event oder ein Common Event?).
Es ist ein commonevent.
Ich versuche gerade mir ein menü zu bauen.
Und am Anfang war ich mir über die tolligkeit von Cal event noch nicht bewusst. Wie ordentlich man damit alles haben kann und so.
Das heisst ich habe jetzt ein riesenevent und von da calle ich das besagte zweite event. Das läuft auch durch, nur danach passiert nichts mehr. Aber ich habe wahrscheinlich in dem riesigen unübersichtlichen teil einfach nur ne kleinigkeit falsch gesetzt.
Und die werde ich heute Abend finden müssen :D
RPG Hacker
28.01.2010, 16:17
Joa, ein ähnliches Problem hatte ich auch mal. Da hatte ich mehrere Parallel Events laufen, und mitten in einem Event, hat ein anderes Event eine Bedingung geändert, sodass das erste Event mittendrin unterbrochen wurde. Bei nicht-parellelen Events kenne ich sowas aber noch nicht. Ist denn dieses erste Event (das die andere callt) parallel?
Das ist halt der Mist wenn man unübersichtlich skriptet. Ich kann mich noch erinnern mal ein Memoryspiel geskriptet zu haben und es wollte einfach nicht funktionieren. Ich hab dann stundenlang den Fehler gesucht, bis ich irgendwann mal feststellte, das ich bei Variablensetzen nicht auf "Setzen" sondern auf "Addieren" gedrückt hab. Das war echt ätzend...
Seitdem beschrifte und stückel ich Skripte ganz gerne, so kann man die Fehler besser eingrenzen und findet diese schneller.
Edit:
Setzt du einen Switch in dem gecallten Event auf aus, der für das Parallel laufende Event als Condition steht ?
Bin mir gerade nicht ganz sicher ob das Event dann trotzdem weiterläuft.
Ansonsten kann es vielleicht noch sein das du "Clear Event" oder so im Skript eingewurstet hast ?
RPG Hacker
28.01.2010, 19:49
Vielleicht hilft es auch, wenn du statt Parallel Process Auto Start auswählst. Das half auch bei meinem Problem damals. Ein Parallel Process verläuft nämlich, wie der Name schon sagt, parellel zu anderen Events, während ein Auto Start Event andere Events stopp. Bei einem Menü wäre Auto Start sowieso die bessere Variante, da du ja nicht willst, dass sich im Hintergrund Events bewegen, während du durch das Menü navigierst. Genau das wäre aber bei einem Parallel Process der Fall. Probier's einfach mal; vielleicht schlägst du ja dann zwei Fliegen mit einer Klappe.
makenshi
29.01.2010, 07:47
Vielleicht hilft es auch, wenn du statt Parallel Process Auto Start auswählst. Das half auch bei meinem Problem damals. Ein Parallel Process verläuft nämlich, wie der Name schon sagt, parellel zu anderen Events, während ein Auto Start Event andere Events stopp. [...]
Das stimmt so nur halb. Ein Autostart Event stoppt z.B. keine parallelen Prozesse. Die laufen daneben weiter.
@Topic
Um dein Problem wirklich nachvollziehen zu können, solltest du eine genauere Beschreibung und etwas Code liefern. So ist das eher ein Ratschlägespielchen was dir nicht wirklich was bringt.
ist schon in Ordnung. Wollte nur nochmal genaueres zu den vents wissen :)
Den Code hab ich gelöscht und nochmal neu angefangen. Alles übersichtlicher und so =)
So. Und wieder hoch damit =D
Habe mal wieder eine Frage.
Ist es möglich eine HP anzeige zu machen, welche in 1% abständen anzeigt , ohne 100 Forks und 100 Bilder zu machen?
Hatte überlegt, das ich einfach einen schwarzen Balken in der selben größe daneben anzeigen lasse, und ihn einfach dementsprechend viele pixel über die anzeige schiebe.
Aber das sieht kagge aus. ich bekomme den Balken nicht versteckt bei meinem Menü.
Hab da nen transparenten hintergrund und der gefällt mir einfach viel zu gut ;)
Wenn du die HP-Anzeige ganz in eine Ecke stellst oder ein HUD rundherum hast, was auf einer Seite mindestens genauso breit ist wie die HP-Leiste, dann schon, weil dann kannst du quasi den Balken unter dem HUD (oder außerhalb des Bildschirms) verschieben, sodass durch den transparenten Ausschnitt nur ein Teil sichtbar ist. EDIT: Zu schnell gelesen.
Ansonsten: ohne 100 Forks ja (PicPointerPatch), aber 100 Bilder wirst du brauchen. Außer du verwendest auch noch den DestinyPatch und machst das mit einem kleinen Script, aber das wäre wahrscheinlich komplizierter als notwendig.
tja... dann werd ich mir glaube ich irgendeinen Rahmen einfallen lassen müssen ^-^
Edit:
nächste frage ^-^
Kann man mit Gnafs picture patch auch mehr als 50 Bilder anzeigen lassen?
Muss man da mit dem ressourcehacker nur eine Zahl ändern, oder ist das mehr aufwand? =D
Wenn man mit dem Ressource Hacker einfach nur eine Zahl ändern müsste, gäbe es Gnaf´s Picture Patch nicht.
Und ich meine Cherry hat einen Patch gemacht (Oder irgendwer anders) mit dem man mehr als 50 Pictures anzeigen kann. Guck mal auf der Hauptseite unter "Programme". Da stehen einige Patches.
Btw. brauchst du niemals bei einer LP Leiste 100 verschieden Pics, selbst wenn sie 100 Pixel breit ist.
Du kannst, wie es erwähnt wurde, einen Rahmen basteln und dadrüber eine Füll-Leiste legen, die die momentanen HP anzeigen. Je nachdem wie viel HP dann die Char hat, kannst du einfach die Grundkoordinate des pics nehmen (Da wo sie genau 0 HP anzeigt) auf diese Koordinate dann die HP in % addieren und das Picture dann nach der Koordinate anzeigen.
jo. das hab ich schon so gemacht =)
ist mir auch als erstes eingefallen. Wollte nur wissen, ob es noch eine andere möglichkeit gibt ^-^
ich werd mal die Programm durchsuchen ^-^
dnake schön
http://www.multimediaxis.de/showthread.php?t=113429
Sooo. wieder was neues ^-^
Was für Eigenschaften müssen wave dateien haben, damit der rm2k sie abspielt?
Habe mir einige Sound runtergeladen, aber nru die hälfte funzt :-/
elvissteinjr
05.02.2010, 22:57
Sie sollten unkomprimiert sein. Das ist das einzige Problem, dass ich jemals mit WAVs festellen konnte.
Wenn Sound Dateien bei mir mnicht funzen, benutze ich den Nero Wave Editor (Der ist bei Nero Burning Rom dabei) und dann kann man sie abspielen.
und wieder hoch damit =D
erstmal danke an alle, die mir hier so fleißig antworten.
Wahrscheinlich ist die Antwort auf diese Frage noch einfacher wie auf die anderen, aber es ist spät und mein Kopf tut weh :o
Ich will mir ein sidevieks bauen.
soweit so gut ^^
In meinem Kopf steht alles, und ich sollte es eigentlich alles hinkriegen.
Nur eine Sache.
Ich habe mir eine Animation gebastelt, die am schluss aus ca 24 bildern bestehen soll. (so ne schlagfolge halt)
Wie schaff ich es die anzuzeigen? das maximum, was ich wüsste währen 4.
Ich komme jetzt irgendwie nicht drauf :/
help
Battle Animation draus machen^^
mmh.. ja.. hatte ich auch überlegt .. warum ich das nicht gemacht habe, weiß ich auch nicht mehr XD
Du kannst es als Battle Animation anzeigen (Vorher in eine Ballte Animation zusammenschneiden), wie Cherry schon sagte, als nacheinander angezeigte Pictures, was nichts anderes ist wie eine Battle Animation, wobei die Battle Animations da übersichtlicher sind, oder du schneidest die Animation in ein Charset und zeigst sie darüber hintereinander an.
So viele Möglichkeiten... :)
Du kannst es als Battle Animation anzeigen (Vorher in eine Ballte Animation zusammenschneiden), wie Cherry schon sagte, als nacheinander angezeigte Pictures, was nichts anderes ist wie eine Battle Animation, wobei die Battle Animations da übersichtlicher sind, oder du schneidest die Animation in ein Charset und zeigst sie darüber hintereinander an.
So viele Möglichkeiten... :)
Aber wie mahe ich dass, das die charset wechselt, wenn die erste animation zu ende ist?
Dazu kannst du einfach eine neue Seite im Charset nehmen, in der die nächste Grafik im Charset ausgewählt wird und als Bedingung ein Switch oder eine Variable (Variable ist besser) nehmen. Dann nimmst du für Seite 2 z.B. den Variablenwert 1, für Seite 3 den Wert 2 und so weiter. So musst du dann nur die Variable immer +1 nehmen. Vergiss nicht in dem CharSet unter "Animation Type" "Fixed Grafic" auszuwählen, da sonst evtl. andere Grafiken im Charset angezeigt werden.
Ebenso kannst du auch Move Events benutzen, wenn die Charsets passend zugeschnitten sind. Dann bewegst du das Event einfach und kannst auch mit "Change Grafic" zwischen verschiedenen CharSets wechseln.
mmhh.. viel zu viel arbeit^^ da nehme ich lieber die Animationen^^
tja... dann werd ich mir glaube ich irgendeinen Rahmen einfallen lassen müssen ^-^
Edit:
nächste frage ^-^
Kann man mit Gnafs picture patch auch mehr als 50 Bilder anzeigen lassen?
Muss man da mit dem ressourcehacker nur eine Zahl ändern, oder ist das mehr aufwand? =D
Beachte aber, dass wenn du Gnafs Picturebetrug installiert hast, du die RPG_RT.exe von deinem Projekt erst durch diese (http://cherrytree.at/downloads/RPG_RT-Sammlung/RM2000/v1.07%20Englisch/RPG_RT.exe) ersetzen musst, weil du sonst statt 9999 nur 126 Pictures einstellen kannst.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.