PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleine Fragen, eure meinung ist auch gefragt!



Altair66
30.04.2009, 21:59
Also liebe Community, ich habe da einpaar fragen und brauche fuer manche auch eure meinung, und hier sind sie schon:

1. Also ich habe jetzt ein neues Spiel begonnen, aber kann mich nicht fuer das Chipset-Stil entscheiden, also ich frage euch was findet ihr besser: M&B oder diese Chipsets von VD2 und Seymaru, weis nicht was sie heisen, also ich finde die zwei gut!

2.Ich werde ein AKS bauen, und habe eine HP&LP anzeige pic, ich will das es oben rechts erscheinen soll, wie sollen den die x,y nummern sein?

3.Ebenfalls fuers AKS, also ich werde es so fuer die HP rechnung, und will fragen ob es klappt:


<>var oper, var (Held Hp) set Hero HP
<>branch if var (Held HP) is 0
<>Show Pic n.1 (0) (Die nummer null bei der Anzeige, also kein HP)
<>Branch if var (Held HP) is 1
<> Show picture n.2 (1) (also ein HP)
<>branch if var (Held HP) is 2
<.Shiw pic n.3 (2) (Also zwei HP punkte)

und so weiter, also wird es fluessig klappen, oder wird es da probleme geben?Wenn es nicht klappt, habt ihr dann eine bessere technick?
Und danke noch, ich freue mich auf eure antworten!

Werde nachher mehr fragen stellen, aber zurzeit reichts!
LB, Altair66

lokoroko
30.04.2009, 22:09
Ebenfalls fürs AKS, also ich werde es so fuer die HP rechnung, und will fragen ob es klappt:


probiere es doch mal selber aus!
(nicht böse gemeint!):D

Stummboy
30.04.2009, 22:10
Werd versuchen so gut wie möglich zu antworten
1.Wenn du reinen Chipsetstil willst nimm M&B find ich besser
2.die genauen koordinaten kennt glaub ich keiner wirst ausprobieren müssen
(bei 160/120 isses genau in der Mitte vieleicht hilft dir das)
3.das ist die einzige methode die ich kenne...und wenns nicht klappt schreibs nochmal ins technik Forum(als ich so was äliches hatte gings bei mir)

Hoffe ich konnte dir irgendwie weiterhelfen.

cilence
01.05.2009, 00:22
1. Also ich habe jetzt ein neues Spiel begonnen, aber kann mich nicht fuer das Chipset-Stil entscheiden, also ich frage euch was findet ihr besser: M&B oder diese Chipsets von VD2 und Seymaru, weis nicht was sie heisen, also ich finde die zwei gut!

Die Wildarms Sets von VD2 finde ich persönlich mit am besten, allerdings gab es da auch noch andere Stile, außer dem genannten. Ich bin eben eher weniger der M&B Fan. ;)


2.Ich werde ein AKS bauen, und habe eine HP&LP anzeige pic, ich will das es oben rechts erscheinen soll, wie sollen den die x,y nummern sein?

Zeig mal die Bilder, dann kann man Dir sagen, welche Koordinaten Du brauchst. Falls es Dir hilft: der äußere Punkt, oben rechts im Bildschirm, hat die Koordinaten X320 Y0.


3.Ebenfalls fuers AKS, also ich werde es so fuer die HP rechnung, und will fragen ob es klappt:

Ganz mieser Code ist das. So geht das gar nicht. ^^°
Es gibt da 2 Möglichkeiten, die eine wäre, Koordinaten für die HP Leiste berechnen zu lassen. Die andere, und damit längere, des Umrechnens der aktuellen HP in Prozent zur maximalen HP. Letzteres würde so aussehen:



akt_HP = HeldenHP; // Zuweisung des aktuellen HP Werts
max_HP = HeldenmaxHP; // Zuweisung des maximalen HP Werts
akt_HP *= 100; // aktuelle HP mal hundert rechnen
akt_HP /= max_HP; // aktuelle HP durch die maximale HP rechnen
// die Variable akt_HP hat den Wert in Prozent von der maximalen HP gespeichert
if ( akt_HP == 1 )
{
SHOW PIC 50 [X;Y];
}
else if ( akt_HP == 2 )
{
SHOW PIC 50 [X;Y];
}


Leichter ist die ganze Sache aber eher so:



akt_HP = HeldenHP; // Zuweisung des aktuellen HP Werts
max_HP = HeldenmaxHP; // Zuweisung des maximalen HP Werts
akt_HP *= 100; // aktuelle HP mal hundert rechnen
akt_HP /= max_HP; // aktuelle HP durch die maximale HP rechnen
// die Variable akt_HP hat den Wert in Prozent von der maximalen HP gespeichert

Bild_X-calc = 100; // auf hundert setzen
Bild_Y = 20; // angenommene Werte, hier kommen die Grenzwerte für den Rahmen der HP Leiste hin
Bild_X-calc -= akt_HP;
Bild_X-calc *= -1; // den Wert negieren
Bild_X += [Picture in X /= 2]; // der Ausgleich in der X Achse, damit die Leiste bei 100 % HP ganz außen steht und nicht mit seiner Mitte auf dem äußersten Punkt des Rahmens für die Leiste
Bild_X += Bild_X-calc; // den Wert, den das Picture sich nach links bewegen soll, abziehen (der Wert ist negativ, daher eine Addition; denn 100 + -50 sind 50)
Bild_X += 300; // endgültige Position errechnen (für X, Y bewegt sich nicht)
MOVE PICTURE 50 [Bild_X;Bild_Y]; // wäre der Wert "Bild_X-calc" hier -25, würde das Bildchen für die HP Leiste sich um 25 Pixel nach links bewegen


Nicht über die Negierung wundern, ich addiere lieber, als zu subtrahieren. xD

Altair66
01.05.2009, 10:28
Die Wildarms Sets von VD2 finde ich persönlich mit am besten, allerdings gab es da auch noch andere Stile, außer dem genannten. Ich bin eben eher weniger der M&B Fan. ;)



Zeig mal die Bilder, dann kann man Dir sagen, welche Koordinaten Du brauchst. Falls es Dir hilft: der äußere Punkt, oben rechts im Bildschirm, hat die Koordinaten X320 Y0.



Ganz mieser Code ist das. So geht das gar nicht. ^^°
Es gibt da 2 Möglichkeiten, die eine wäre Koordinaten für die HP Leiste berechnen zu lassen. Die andere, und damit längere, des Umrechnens der aktuellen HP in Prozent zur maximalen HP. Letzteres würde so aussehen:



akt_HP = HeldenHP; // Zuweisung des aktuellen HP Werts
max_HP = HeldenmaxHP; // Zuweisung des maximalen HP Werts
akt_HP *= 100; // aktuelle HP mal hundert rechnen
akt_HP /= max_HP; // aktuelle HP durch die maximale HP rechnen
// die Variable akt_HP hat den Wert in Prozent von der maximalen HP gespeichert
if ( akt_HP == 1 )
{
SHOW PIC 50 [X;Y];
}
else if ( akt_HP == 2 )
{
SHOW PIC 50 [X;Y];
}


Leichter ist die ganze Sache aber eher so:



akt_HP = HeldenHP; // Zuweisung des aktuellen HP Werts
max_HP = HeldenmaxHP; // Zuweisung des maximalen HP Werts
akt_HP *= 100; // aktuelle HP mal hundert rechnen
akt_HP /= max_HP; // aktuelle HP durch die maximale HP rechnen
// die Variable akt_HP hat den Wert in Prozent von der maximalen HP gespeichert

Bild_X-calc = 100; // auf hundert setzen
Bild_Y = 20; // angenommene Werte, hier kommen die Grenzwerte für den Rahmen der HP Leiste hin
Bild_X-calc -= akt_HP;
Bild_X-calc *= -1; // den Wert negieren
Bild_X += [Picture in X /= 2]; // der Ausgleich in der X Achse, damit die Leiste bei 100 % HP ganz außen steht und nicht mit seiner Mitte auf dem äußersten Punkt des Rahmens für die Leiste
Bild_X += Bild_X-calc; // den Wert, den das Picture sich nach links bewegen soll, abziehen (der Wert ist negativ, daher eine Addition; denn 100 + -50 sind 50)
Bild_X += 300; // endgültige Position errechnen (für X, Y bewegt sich nicht)
MOVE PICTURE 50 [Bild_X;Bild_Y]; // wäre der Wert "Bild_X-calc" hier -25, würde das Bildchen für die HP Leiste sich um 25 Pixel nach links bewegen


Nicht über die Negierung wundern, ich addiere lieber, als zu subtrahieren. xD

Ich danke dir sehr e,hoff, du bist hammer!
Ich werde es mal probieren, aber wirklich es gibt Sachen die ich ganz und gar nicht wies warum sie so sind!
Also wenn ich jetzt es einfach so mache wie du es geschrieben hast, dan werde ich in der Zukunft nicht verstehen was ich gerade mache

Also wie:

ld_X-calc -= akt_HP;
Bild_X-calc *= -1; // den Wert negieren
Warum denn das?
Also sry, aber ich verstehe deine Sprache nicht ^^
Also ich frage: Kannst du mir es jetzt nochmal langsam erklaeren, bitte?
Also mit diese Bild,X und Y hatte ich immer keine ahnung, hatte einpaar Projekte geoeffnet und es mir angeguckt, aber nicht verstanden!

Aber das andere in das AKS wie die Rechnungen de Schaden, Kritischer Treffer
und die andere schwafel..Aber habe da noch einpaar klitze kleine probleme!

Aber zurzeit brauche ich diese HP und LP anzeige!
Danke im voraus, LB Altair66

cilence
01.05.2009, 13:33
Nagut, dann erkläre ich das mal genauer. ;)


akt_HP = HeldenHP; // Zuweisung des aktuellen HP Werts


In dieser Zeile wird einer Variable der aktuelle Stand der Lebenspunkte des Helden eingegeben. Hat der Held z.B. noch 43 Lebenspunkte, beträgt der Wert der Variable "akt_HP" jetzt 43. Soweit weißt Du das ja sicher. Dies ist also das, was im Maker unter den Variablen bei "Hero" und im letzten Feld der Zeile "HP" zu finden ist. Soweit klar?


max_HP = HeldenmaxHP; // Zuweisung des maximalen HP Werts


Das hier ist genau dasselbe wie oben, nur werden hier die maximal erreichbaren Lebenspunkte des Helden gespeichert. Z.B. er hat maximal 120 Lebenspunkte zur Verfügung, so beträgt der Wert der Variable 120.


akt_HP *= 100; // aktuelle HP mal hundert rechnen
akt_HP /= max_HP; // aktuelle HP durch die maximale HP rechnen
// die Variable akt_HP hat den Wert in Prozent von der maximalen HP gespeichert


Dieser Teil rechnet aus, wie viel Prozent der aktuellen HP noch vom maximalen Wert, also den 100%, übrig sind. In der Schule würdest Du die Rechnung wie folgt schreiben:
Wie ich oben schrieb, beträgt die aktuelle HP 43 (der Wert ist jetzt einfach mal gedacht, ok?). Die maximale HP ist 120.
43/X% = 120/100%
X ist der zu errechnende Wert, also der Prozentwert. In Worten ist das dasselbe wie "43 zu X% ist genauso groß wie 120 zu 100%". Ich hoffe mal, Du weißt inzwischen, wie man solche Aufgaben löst. Und zwar über die "Kreuzrechnung", salopp gesagt. Das heißt dann also, Du rechnest 43 * 100 und 120 * X. Damit erreichst Du eine Gleichung, die so aussieht:
43 * 100 = 120X (oder auch 120 * X); da Du nun aber X haben möchtest, musst Du die Operation umkehren, und umgekehrt wird bei der Multiplikation mit der Division (Multiplikation ist Malrechnen [also *] und Division ist Durchrechnen [also / oder :, je nach Schreibweise] ).
Dabei kommt dann die Aufgabe hier raus:
(43*100)/120 = X; genau DAS rechnet der Maker aus, so auch mein Stück Code oben. Raus kommt 35,833~, also im Maker 35, da der nicht mit Bruchzahlen rechnet, sondern immer mit Ganzzahlwerten.

So, Mathenachhilfe beendet. ;)


Bild_X-calc = 100; // auf hundert setzen


Diese Zeile wird nur geschrieben, wenn die HP Leiste oben rechts im Bildschirm angezeigt wird. Würde man die HP Leiste oben links anzeigen, fällt sie weg. Das Problem ist ganz einfach, Du rechnest ja, wie eben erwähnt, die aktuellen Prozent aus. Wenn also 35 Prozent errechnet werden, würde sich das Bild um 35 Pixel nach links bewegen. Das ist aber falsch, denn dann zeigt Dir die HP Leiste 65 Prozent verbleibende Energie an, demzufolge 30 Prozent zu viel. Deswegen habe ich von 100 (die Zeile hier über dem Absatz) die errechneten 35 abgezogen, damit verbleiben 65 Prozent (denn 100 - 35 = 65).
Damit kann das Bild um 65 Pixel nach links rücken und zeigt die verbleibenden 35 Prozent an. Soweit klar? :D
Das macht übrigens diese Zeile hier:


Bild_X-calc -= akt_HP;



Bild_Y = 20; // angenommene Werte, hier kommen die Grenzwerte für den Rahmen der HP Leiste hin

In der Zeile wird nur die Y Position des Bildes angegeben, weiter nichts. Also die Stelle, auf welcher das Bild in der vertikalen Ebene angezeigt wird (schlechtes Deutsch würde "hochzu" lauten ^^). Zu bemerken ist, dass die Y Achse beim Maker in ihrer positiven Richtung nach unten geht, die negative jedoch nach oben. Würdest Du da also -20 angeben, so wird das Bild über dem eigentlichen, sichtbaren Bildschirmbereich angezeigt.


Bild_X-calc *= -1; // den Wert negieren


Hier habe ich den Prozentwert einfach nur ins Gegenteil umgekehrt, aus 65 Prozent wird so -65 Prozent. Denn wenn Du ein positive Zahl mit einer negativen multiplizierst, wird das Ergebnis negativ.


Bild_X += [Picture in X /= 2]; // der Ausgleich in der X Achse, damit die Leiste bei 100 % HP ganz außen steht und nicht mit seiner Mitte auf dem äußersten Punkt des Rahmens für die Leiste


In der Zeile steht, dass der Wert (=Anzahl der Pixel) in seiner X Achse halbiert wird. Wenn Deine HP Leiste, die sich ja bewegen soll, einhundert Pixel lang ist (horizontale Ebene), und Du diesen Wert durch zwei teilst, kommt 50 raus. Sollte ja verständlich sein. Das ist nur dazu da, dass das Bild nicht über seiner Mitte, sondern eben 50 Pixel außerhalb seiner Mitte dargestellt wird. Denn der Maker zeigt Bilder über den "Show Picture" Befehl immer mittig an.


Bild_X += Bild_X-calc; // den Wert, den das Picture sich nach links bewegen soll, abziehen (der Wert ist negativ, daher eine Addition; denn 100 + -50 sind 50)


Hier wird nur der vorhin errechnete Prozentwert von der Variable abgezogen, die das Bild in der Horizontalen anzeigt. Damit das Bild eben seine 65 Pixel nach links rücken kann.


Bild_X += 300; // endgültige Position errechnen (für X, Y bewegt sich nicht)


Diese Zeile gibt an, wie viele Pixel der äußere, rechte Rand der HP Anzeige vom linken Bildschirmrand entfernt liegt. 300 ist hier nur angenommen, er kommt immer darauf an, wie groß Deine Anzeige ist und so.


MOVE PICTURE 50 [Bild_X;Bild_Y];

Die Zeile sollte ersichtlich sein, hier wird nur das Bild bewegt. ;)

So, noch genauer kann ich es jetzt nicht mehr erklären, besser bekomme ich es nicht hin. :D

€:
Was Du übrigens noch wissen musst, ist dass Du 3 Bilder brauchen wirst. Eins für die HP Leiste, z.B. ein rotes. Eins für den Rahmen der Anzeige und eins, welches die bereits verbrauchte Energie anzeigt, üblicherweise ein graues. Das zuletzt genannte, ist das Bild, was sich bewegt. Die Anzeigereihenfolge wäre dafür so:

Picture Nr. 1 = rotes Pic
Picture Nr. 2 = graues Pic
Picture Nr. 3 = Rahmen

Je höher also die ID ist (die Nummer), desto höher wird es angezeigt. Deswegen wird ein Bild mit der ID 20 über einem mit der ID 12 angezeigt.

Yukari
01.05.2009, 18:43
Hier (http://rpg2000.4players.de/index.php?inhalt=Scripts2&limit1=60&seite=5&order=name&direction=ASC)gibt es Scripte für eine HP Anzeige.