Archiv verlassen und diese Seite im Standarddesign anzeigen : SKS Hilfe!
Engel der Furcht
02.08.2007, 14:27
Nech,hallo^^
Also,ich hab jetzt n SKS angefangen,mit hilfe^^
Doch da diese Hilfe nich On ist,frag ich euch.
Also
Ich habe jetzt die Schadensberechnung,
die lautet so:
Name:
Schleim
-Aufruf-
Bedingung: Temp. Angreifer ID: 3 (3 ist der Gegner 1,nicht wundern,hab nur 2 Helden^^)
Var. ändern:Temp. Angriffswert setzen Gegner 1
Var. ändern Temp. Angriffsziel setzen Zufall 1-2
Bedingung Var.Angriffsziel =1
Var. Temp. DEF-Wert setzen Held 1 Verteidigung
Kampfanimation anzeigen Held 1
Var. Angriffsvarianz setzen Zufall 60-85
Var. ändern Temp. Angriffswert * Angriffsvarianz
Var. ändern Temp. Angriffswert / 100
Var. ändern Temp. Angriffswert - Temp. DEF-Wert
HP ändern: Held 1 [Variable Temp. Angriffswert]
UND ganz unten,nach der 1. Bedingung(Temp Angreifer ID),
hab ich zum Anfang eine Nachricht als Info gemacht.
Nachricht anzeigen: Held 1 hat \v[Temp.Angriffswert] HP verloren.
Aber da steht dann folgendes:
Held 1 hat -54 HP verloren.
Die Nachricht ist falsch,und verlioert nichtmal was!
Arlownay
02.08.2007, 19:02
Wie gross sind denn die Werte Angriff und Verteidigung? (Also die du für diese Berechnung hier als Beispiel genommen hast?) Ohne die kann man die Berechnung nicht so gut nachvollziehen...
makenshi
02.08.2007, 19:12
Es wäre an sich am besten wenn du einmal das Projekt postet.
Dann kann man die Berechnung direkt einmal ausmisten.
An sich sieht es nämlich so aus als ob deine Berechnung simpel in einem Minuswert endet. In deiner Textnachricht steht am Ende:
Held 1 hat -54 HP verloren.
Bedeutet soviel wie das deine Variable Temp_Angriffswert auf -54 ist.
Das kann natürlich nicht klappen. Überprüfe also einmal den Angriffswert von deinem Helden und die Verteidigung von deinem Monster.
Engel der Furcht
02.08.2007, 20:09
also,
nicht der Held greift an,sondern der Gegner(in meinem Fall ein Schleim)
also,äh,wenn ich ne Maus hätte,würde ich gerne mein Projetk posten!
Arlownay
02.08.2007, 20:32
Sag uns doch einfach die beiden Werte Angriff und Verteidigung, die du dort in die temporären Variabeln speicherst. Ich glaube nämlich auch, dass die Rechnung dort aufgrund komischer Zahlen einen Negativwert ergibt.
Engel der Furcht
02.08.2007, 20:43
:hehe:nton: http://www.multimediaxis.de/images/smilies/old/grinundwech.gif http://www.multimediaxis.de/images/smilies/old/s_032.gif
ich bin so blöd!
Ich habe die Statussachen für die Gegner noch garnich!
deshalb ist dieser Angriffswert auch auf 0!
Ich bitte vielmals um Entsculdigung!http://www.multimediaxis.de/images/smilies/old/sm_12.gif
Engel der Furcht
03.08.2007, 10:37
Naja,
wenn wir schonmal beim Status des Gegner sind,
wie mache ich das?
Die Gegner werden per ID gerufen,
also bspw.
Gegner 1 ID =1 ist ein Schleim,
Gegner 1 ID =2 ist eine Fledermaus,
und die Statuswerte muss ich ja irgendwie für die machen,aber wie?
Arlownay
03.08.2007, 11:49
Du könntest ein Common Event machen, das mit ner Bedingung abfragt, welche ID grad aktiv ist und entsprechend die Werte setzt. Ich nehme an die ID wird irgendwann im Kampfevent festgelegt. Dann kannst du einfach direkt danach das CE aufrufen und dieses setzt dir dann die richtigen Wertem, die zur aktiven ID passen.
Engel der Furcht
03.08.2007, 13:55
ich habe dafür jetzt mal nen test gemacht,
aber die werte sind immernoch negativ!
Der Schlei hat einen ATK von 6,
der Held hat eine DEF von 4!
Arlownay
03.08.2007, 15:11
Hm,... also wenn die Rechnung stimmt, dann sieht das so aus:
ANG = 6
DEF = 4
Varianz = z.B. 60
Dann rechnest du
ANG*Varianz: 6x60 = 360
/100 = 3 (soweit ich weiss gibts keine Kommastellen im Maker, oder?)
Dann kommt ANG-DEF, also 3-4 = -1
Wenn die Angriffsvarianz höher ist, also z.B. 85 würde es allerhöchstens 1 HP abziehen. Damit kein negativer Wert kommt, könntest du also die Varianz höher schrauben... oder den Angriffswert des Gegners. Oder du könntest am Schluss noch einbauen, dass wenn der Wert kleiner als 1 ist, einfach "verfehlt" wird.
Am besten wartest du mal, bis dein "KS-Helfer" wieder erreichbar ist. Der hat sich vermutlich was dabei überlegt wie ihr es machen wollt.
Engel der Furcht
04.08.2007, 10:19
ich habs jetzt halbwegs hinbekommen!
wenn die attacke das allererste mal gestartet wird,kommt ein negativer Wert,
aber beim 2. und weiter kommen positive!
wie krieg ich jetzt hin,dass der 1. wert auch positiv ist?
PS:
Ich poste gleich mal mein Projekt^^
Caine Luveno
06.08.2007, 11:04
(Wer bisher geglaubt hat beim Makern muss man kein Mathe können sollte nicht weiterlesen ;))
{[(ANG/2)-(DEF/4)]*RANGE}/100=SCHADEN
(Die Klammern stehen da der Übersichtlichkeit halber damit auch jeder weiß was in welcher Reihenfolge berechnet wird ;))
Ist prinzipiell soweit ich weiß die gebräulichste Standard Formel für Schadensberechnung.
Damit ein Schaden von 0 entsteht muss bei dieser Berechnung die DEF doppelt so groß sein wie der ANG was höchst selten bei einem guten Balancing vorkommt.
Das die Berechnung negativ wird kann man NIE ausschließen. Wenn man z.b. mit einem Helden bei DEF 200 gegen einen Schleim mit ANG 4 antritt ist das egal mit welcher Formel nicht zu vermeiden.
Daher machst du am Ende des Events eine Bedingung, ob die Variable welche den Schaden bestimmt kleiner als 0 ist. Falls ja, wird die Schadensvariable auf 0 gesetzt.
Die Formel vonj Oben einmal im Maker:
Variable Ändern: Temp-Angriff = Angreifer Angriff (wer auch immer das ist)
Variable ändern: Temp-Angriff / 2 (Angriffswert halbieren)
Variable Ändern: Temp-Verteidigung = Verteidiger Verteidigung (wer auch immer das ist)
Variable ändern: Temp-Verteidigung / 4 (Verteidigung vierteln)
Variable Ändern: Temp-Schaden = Temp-Angriff
Variable Ändern: Temp-Schaden - Temp-Verteidigung
Variable andern: Range = Zufall 80 bis 120
Variable ändern: Temp-Schaden * Range
Variable ändern: Temp-Schaden / 100;
Mal drei Beispiele:
ANG=20
DEF=20
Range = 80: Temp-Schaden = 4
Range = 100: Temp-Schaden = 5
Range = 120: Temp-Schaden = 6
ANG=156
DEF=205
Range = 80: Temp-Schaden = 21
Range = 100: Temp-Schaden = 27
Range = 120: Temp-Schaden = 32
ANG=256
DEF=142
Range = 80: Temp-Schaden = 74
Range = 100: Temp-Schaden = 93
Range = 120: Temp-Schaden = 111
Die Werte klingen recht Niedrig. Den Angriff nicht durch 2 zu Teilen und die Verteidigung nur durch 2 anstatt 4 erhöht den Schaden natürlich etwas.
Oder du teilst die Verteidigung durch 8 anstatt nur 4. Da sind wir beim Thema Balancing angekommen ;) welche Faktoren da sinnvoll sind ist abhängig von den Stärkeverhältnissen der Gegner und Helden im Spiel.
Abgesehen davon das man in den resultierenden Schaden noch eine Berechnung wie eventuelle Resistenzen gegenüber bestimmten Elementen hinzufügen kann. Oder das dem Schaden wenn die Berechnung abgeschlossen ist noch zufällig 0-15 Schadenspunbkte draufgeschlagen werden und bei +15 das dann als "kritischer Treffer" gilt :rolleyes:
Man sollte sich halt bloß für eine Formel entscheiden die wirklich nur bei Überstärke des Verteidigenden einen negativ Wert verursacht.
Engel der Furcht
06.08.2007, 14:23
habe das problem gelöst^^
ich habe eine bedingung zwioschen dem anzeigen und dem abzug des DEF-werters.
Dann,dass der Temp.Angriffswert 0 ist,also dass nichts abgezoghen wird!
makenshi
06.08.2007, 17:49
habe das problem gelöst^^
ich habe eine bedingung zwioschen dem anzeigen und dem abzug des DEF-werters.
Dann,dass der Temp.Angriffswert 0 ist,also dass nichts abgezoghen wird!
Das ist doch keine Lösung des Problems.
Das wäre bestenfalls eine Art Hotfix.
Lies dir lieber mal die Erklärung von Caine Luveno durch. Der erklärt dir woher dein Problem rührt.
Engel der Furcht
10.08.2007, 08:25
ich bins nochmal!
also,
wie kann ich eine HP Anzeige machen,aber nicht mit Zahlen,sondern als BAR!
ich habe jetzt schon mit zahlen,aber ohne MAX anzeige,deshalb will ich ne Bar!
makenshi
10.08.2007, 12:33
ich bins nochmal!
also,
wie kann ich eine HP Anzeige machen,aber nicht mit Zahlen,sondern als BAR!
ich habe jetzt schon mit zahlen,aber ohne MAX anzeige,deshalb will ich ne Bar!
Durch Prozentrechnung.
Der gesamte Balken gibt 100%.
Ergo:
aktueller HP Held 1 = 800 HP
maximaler HP Held 1 = 1000 HP
aktuelle HP in Prozent = (aktueller HP x 100) / maximaler HP
Beispiel:
800 HP x 100 = 80.000
80.000 / 1000 HP = 80%
Es sind 80% der HP vorhanden.
Deine Balkengrafik ist nun z.B. 40 Pixel lang.
100 % durch 40 Pixel = 2,5% pro Pixel.
Passt also leider nicht ganz. Da musst du entsprechend etwas draufrechnen damit es auch auf der Anzeige passt. Ist an sich nur etwas rumprobieren.
Nun musst du nur noch entsprechend eine Anzeige bauen. Halt wie bei Zahlenanzeigen auch. Entweder mit einem Charaset oder mit Bildern.
Es sei erwähnt das man an den Werten vom Balken etwas rumstellen muss damit es gut aussieht. Das kommt zum einen davon das der Balken keine 100 Pixel lang ist. Ergo ist es schonmal in der Hinsicht nicht genau. Zum zweiten hat der Maker keine Kommazahlen. Dadurch wird so eine Rechnung meist ungenau. Du kannst die Rechnung mit Modulo etwas verfeinern. Aber das kannst du hinzufügen wenn dir was daran liegt.
Engel der Furcht
21.08.2007, 09:35
Das mit der Bar geht nicht,
die Balkengrafik bleibt leer!
T.T
Das mit der Bar geht nicht,
die Balkengrafik bleibt leer!
T.T
Du musst darauf achten, dass die Bar (wenn du ein Charset und dieses mit mehreren Seiten benutzt) auf der letzten Seite am wenigsten gefüllt, also leer ist! Denn die Seiten werden von hinten nach vorne abgebaut! Macht der Maker leider so, kann man nicht ändern!
Ich denk mal, das könnte das Problem sein!
Engel der Furcht
21.08.2007, 13:58
also von 100 % bis runter zu 0%!
oder wie?
Du musst darauf achten, dass die Bar (wenn du ein Charset und dieses mit mehreren Seiten benutzt) auf der letzten Seite am wenigsten gefüllt, also leer ist! Denn die Seiten werden von hinten nach vorne abgebaut! Macht der Maker leider so, kann man nicht ändern!
Ich denk mal, das könnte das Problem sein!
In dem Fall eigentlich nicht so wichtig, denn wenn er es mit Charsets macht,
ist doch immer die Start Condition der Seite vorrangig.
Aber natürlich hast du recht, Seiten mit höheren Zahlen sind von der Priorität höher.
@Engel der Furcht:
Hast du dir schon mal Serges SKS Kurs durchgelesen?
Da steht das ganze recht genau beschrieben wie das mit solchen Bars geht.
Eigentlich sollte das aber gar nicht so schwer sein. Einfach als Start Condition
die Variable nehmen, die du dir ausgerechnet hast und dann ca. folgend vorgehen:
Seite 1
-----------
Start Condition: Var[Held1] < 5
Grafik: (in diesem Fall wäre es 1/20 der Grafik)
-------------------------------------------------
Seite 2
-----------
Start Condition: Var[Held1] < 10
Grafik: (in diesem Fall wäre es 2/20 der Grafik)
----------------------------------------------------
.........
Hoffe das war halbwegs verständlich ^^
Ansonsten hol dir Serges KS Tut, entweder auf dieser Hauptseite oder
von der aus dem Quartier in der Scriptsektion.
EDIT: Mir ist gerade aufgefallen, dass man das wirklich nach Seitenprioritäten machen muss ^^
Hattest recht Lloyd64
@Engel der Furcht:
Nein Seite 1 fängt mit 0% an und steigt immer an bis 100%.
~Waradience~
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.