PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe mit der Technik, Exp anzeige richtig machen?



MrSerji
08.02.2012, 17:05
Hey, ich habe mal ne Technische frage und bin leider, bzw. hab leider noch keinen Lösungsweg gefunden.

Also ich mache mir gerade ein eigenes Menü und will, dass die Exp-Anzeige in einem Balken sein soll, statt Zahlen.

Jetzt meine Frage:
Ich will je fünf % den Balken etwas erhöhen, insgesamt gibt es 20 Balken. (Leer und voll mitberechnet).
Mit Zahlen wüsste ich wie ich das machen könnte, genau wie ein Geldzähler, aber bei Balken bin ich mir nicht sicher :/

Ich habe versucht:

G * P / 100 zurechnen und dann wenn der Prozentsatz 5 ist soll der erste Balken angezeigt werden, bei 10 dann der 2, allerdings klappt das nicht ganz, da ich nicht weiß was da jetzt der Grundwert und was der Prozentwert ist und hab das auch schon etwas länger nicht gemacht, und so auch vergessen wie das genau funktioniert :/

Wer mir helfen kann soll dies bitte tun, ich bitte darum.
Ansonsten kann ich nicht weiter arbeiten und ich möcht schon bis zum nächsten Monat was Vorstellen :/

BDraw
08.02.2012, 17:40
Exp*19/MaxExp

Exp = die Exp, die dein Char hat
MaxExp = die Exp, die er benötigt
Raus kommt dabei dann je nach HP-Stand ein Wert von 0 bis 19, 0=leer, 19=voll, also insg. 20 mögliche Werte, einer für jeden Balken. Je nach Zahl zeigst du die passende Leiste dann an.

Das mit den 5% habe ich nicht verstanden, ehrlich gesagt, aber wenn ich hiernach gehe
insgesamt gibt es 20 Balken. (Leer und voll mitberechnet). sollte das auch so gehen.

MrSerji
08.02.2012, 18:13
Erstmal danke :)

Dann, halt das unter 5& die Leiste leer ist, ab 5 etwas, dann 10 noch etwas und immer in 5er schritten, sprich je 5%, soll eine andere Leiste sein.

Dann, muss ich das manuell einstellen mit der MaxExp oder kann man das Automatisch machen, den wenn ich "Vari ???" set Experience mache kommt ja die die der hat, aber nicht die die er bekommt. Kann man die auch irgendwie speichern ohne dass man sich viel arbeit machen muss?

MfG Soul

BDraw
08.02.2012, 18:21
Das mit den 5% sollte automatisch so sein, da du ja 20 Bilder hast. 100/20=5, der kann das gar nicht anders einteilen. ^^

Das mit den Exp... Entweder, du speicherst nochmal in einem gigantischen Event was in der Database so eingestellt ist, oder du darfst ein eigenes Levelsystem machen. Ich kann dir aber gerade nicht sagen, was schwerer ist. Wenn du ein eigenes KS hast vermutlich letzteres, ansonsten wäre die einzig humane Möglichkeit, rauszubekommen, was der Maker für ne Formel verwendet und den Maker das nochmal separat in ner Variable berechnen zu lassen. :/

MrSerji
08.02.2012, 18:32
Ja, ich bau mir ein eigenes KS zusammen, wollte anfangs ein ähnliches machen wie in "Epic Fails Saga", hab mich dann aber doch um entschieden und mir ein eigenes Designt.

Naja, werd mal schauen was ich da mache, auf jeden fall danke für die Hilfe :)

BDraw
08.02.2012, 18:42
Gerade nachgeschaut. Die Formel für die Exp bis zum nächsten Level ist a+bx+c.

a=primary value, b=secondary value, c=tertiary value und x=level.

Schau einfach, was bei dem Char eingestellt ist und lass den Maker rechnen. Achtung aber, die Formel bezeiht nicht die bereits gesammelten Exp mit ein, heißt, du musst beim Levelup das Ganze zurücksetzen. Wenn du das von Lvl1 an machst ist das aber eigtl. simpel.

Alternativ:

Insgesamt benötigte Exp berechnen!
<>Set V[0001:Held Lvl] = Held Lvl
<>Set V[0002:Lvl-Zähler] = 1
<>Set V[0003:Lvl-Rechner] = 0
<>Set V[0004:Primary] = (was auch immer da bei dir steht)
<>Set V[0005:Secundary] = (was auch immer da bei dir steht)
<>Set V[0006:Tertiary] = (was auch immer da bei dir steht)
<>Set V[0007:Benötigte Exp] = 0
<>Set V[0008:Insg. Benötigte Exp] = 0
<>Label:1
<>V[0007] set V[0005]
<>V[0007] * V[0003]
<>V[0007] + V[0004]
<>V[0007] + V[0006]
<>V[0008] + V[0007]
<>V[0002 bis 0003] + 1
<>If V[0003] = V[0001]
..<>Jump to Label2
:ELSE
..<>Jump to Label1
:END
<>Label: 2
Variable [0008] gibt dir dann an, wieviele Exp dein Held insg. für das Levelup braucht.

Das ist GARANTIERT noch optimierbar, aber ist auch jetzt aus dem Stehgreif (und ungetestet... *hust*). x_x
Wenn ich Zeit finde, kürze ich das noch etwas runter - falls mir niemand zuvor kommt. Aber hilft dir das jetzt erstmal weiter?

MrSerji
08.02.2012, 18:45
Jetzt kommt eine Dumme frage^^
Was meinst du mit a+bx+c?
Die Formel kenn ich nicht^^

BDraw
08.02.2012, 18:50
So berechnet der Maker die "Experience per Level". In der Hilfe stehts etwas komplizierter, wenn du aber etwas Dreisatz betreibst, mit einem Gleichungssystem kommst du zu a+bx+c. Die Primary-, etc.-Sachen kannst du in der Database für jeden Helden einzeln einstellen.


[Total Experience] : This displays the total experience required to reach each level, counting up from level 1.

[Experience per Level] : This displays just the experience required to reach the next level, and not what the player has already accumulated.

· Setting is defined by the combination of three numerical sliders. When the respective slider is moved, the numerical list in the graph and the left side changes. Adjust your curve accordingly.

[Primary]: This is the basic starting value, ranging from 1 to 2000.

[Secondary]: The ratio at which to increase value. Larger values increase the amount of experience required to level.

[Tertiary]: This is added to the Primary and Secondary values.

Oder, in ner Formel ausgedrückt, a+bx+c. (x=Level, a=Primary, ...) Das addiert sich bloß eben mit jedem Level nochmal auf und ergibt dann die "Total Experience", daher die Schleife in dem Script da oben.

EDIT: Dreisatz, genau... Sorry, ich meinte Gleichungssystem. Glaube ich. Ich hab solange kein Mathe mehr gehabt. x_x

MrSerji
08.02.2012, 18:53
Dreisatz kann ich ganz gut :)
Naja, ich versuchs mal.

Edit: Gleichung kann ich auch, soweit ich mich entsinne war das gar nicht so schwer.

PrinZZ
17.02.2012, 07:50
max.Exp des Levels / 100 = 1% des max. Exp Wertes. ---> Wert in neue Variable speichern.
erreichte Exp / 1% des max. Exp Wertes = aktueller Prozentualer Stand.
Jetzt musst du nur noch abfragen welche 5%-Marke es schon geknackt hat und den entsprechenden Balken anzeigen lassen.
Da würde mir jetzt Spontan eine verkettung von Fork-Conditions mit Else case einfallen: Ist es schon 100%? wenn ja zeige balken 20 an. Wenn nicht, ist es schon 95%? Wenn ja zeige Balken 19 an. Wenn nicht, ist es schon 90%? Wenn ja.....

Und so weiter :)
Vllt ist es ein wenig umständlich, aber es sollte funktionieren!