PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AKS Problem



Bload
15.06.2005, 20:42
Hi,
Also ich hab ein Problem mit meinem AKS,
Ich habe es aus verschiedenen Scripts genommen und zum Teil stark verändert. Jetzt habe ich aber ein Problem, ich weiß nicht warum der Held nicht angreifen kann. Wenn ich die Taste die dem Angriff zugewiesen ist klicke, dann sieht man die Animation aber der Gegner bekommt keinen Schaden. es besteht aus 5 Comment Events und dem Gegner-

Wenn es euch helfen würde wenn ich die Codes schreibe dann sagt es.

Danke...

mfg Bload

Fireblade
15.06.2005, 20:44
Ah, AKS mein fachgebiet!


Also in meinem bruacht man 2 switches
1. ist zum aktivieren der Waffe
2. der andere ist zur waffenüberpfrüfung


Code posten, so versteht es niemand ;)

Bload
15.06.2005, 21:14
ja das is schon klar^^
das hab ich ja auch.

Also dann hier der Code,

1. Code:
Angriff oben:
Change Hero's Walk Graphic:>unwichtig<
Wait: 0,1s
Change Hero's Walk Graphic:>unwichtig<
Wait: 0,1s
Change Hero's Walk Graphic:>unwichtig<
Play SE: >unwichtig<
Wait: 0,1s
Move Event: Hero, Change Graphic

so beim 2. 3. und 4. Code ist es das selbe.
bis darauf das da dann Angriff rechts links,unten steht.

5. Code:
Angriff ohne Gegner:

Fork Optn: Hero - Up Face Direct
Call Event: Angriff Oben
<>
Else Case
Fork Optn: Hero - Rt Face Direct
Call Event: Angriff Rechts
<>
Else Case
Fork Optn: Hero Dw Face Direct
Call Event: Angriff unten
<>
Else Case
Fork Optn: Hero Lf Face Direct
Call Event: Angriff Links
<>
End Case
<>
End Case
<>
End Case
<>
End Case
<>


und dann das letzte Comment Event:

Angriff Gegner:

Enter Passwort: [Passwort]
Fork Optn: [Passwort 5]

Fork Optn: Hero - Up Face Direct
Call Event: Angriff Oben
<>
Else Case
Fork Optn: Hero - Rt Face Direct
Call Event: Angriff Rechts
<>
Else Case
Fork Optn: Hero Dw Face Direct
Call Event: Angriff unten
<>
Else Case
Fork Optn: Hero Lf Face Direct
Call Event: Angriff Links

End Case
<>
End Case
<>
End Case
<>
End Case

Fork Optn: Variable [Held X]--1
Fork Optn: Variable [Held y] -0
Fork Optn: Hero Dw Face Direct
<>
Else Case
<>Change Switch: [Gegner1getroffen]
<>
End Case
<>
Else Case
<>Goto Label: 1No
<>
End Case
<>
Else Case
<> Label 1No
Fork Optn:Variable:[Held X]-0
Fork Optn:Variable: [Held Y] -1
Fork Optn: Hero Up Face Direct
<>
Else Case
Change Switch: [Gegner1 getroffen] on
<>
End Case
<>
Else Case
<> Goto Label: 2 No
<>
End Case
<>
Else Case:
<>
Label: 2 No

Fork Optn:variabl:[Held X]-1
Fork Optn:variabl:[Held Y] -0

Fork Optn: Hero- Rt Face Direct.
<>
Else Case
<> Change Switch: [Gegner1 getroffen] on
<>
End Case
<>
Else Case
Goto Label: 3No
<>
End Case
<>
Else Case:
<>Label: 3No
Fork Optn: Variabl: [Hero X]-0
Fork Optn: Variabl: [Hero Y]--1
Fork Optn: Hero Dw Face Direct
<>
Else Case
<>Change Switch [Gegner1 getroffen]
<> End Case
<>
Else Case
<> Goto Label: 4No
<> End Case
Else Case
<> Label 4No

End Case

End Case

End Case

End Case

End Case


Guckt mal ob irh damit was anfangen könnt wenn nich schreib ich noch daas event vom monster dabei.

Phönix Tear
15.06.2005, 21:41
oô und wo ist jetzt der Schaden?
Ich sehe da bis jetzt nur das ein Sound kommt, ne Animation und dann ohne Variablenzuweisung einfach gefragt wird ob der Wert von X -1/1, bzw. von Y -1/1 ist... Da musst du schon den Rest posten, weil das so auf keinen Fall funktionieren würde...
Wenn du nach dem Fehler in der Schadensberechnung fragst solltest du auch den Code wo die Schadensberechnung drinsteht posten http://www.multimediaxis.de/images/smilies/old/s_010.gif
(Wenn du das getan haben solltest und ich es nur übersehen habe, weis mich bitte darauf hin, dann nehme ich alles zurück ;) )


Edit:
Ach ja: Was heißt das denn hier?
Change Switch: [Gegner1getroffen] Heißt das dass du den Switch ausstellst? Würde ich jetzt denken weil bei allem anderen ein "on" hinter steht, aber man weiß ja nie ;)

Fireblade
15.06.2005, 22:17
Dan liegt es nicht an dem Event, der sieht richtig aus, wahrscheinlich hast du die schadensberechnung bei dem Feind selber gemacht oder?
dann liegt dort der fehler

lightning-studios
16.06.2005, 07:30
Im Prinzip brauchst das gesamte letzte Event gar nicht, du machst es dir ja voll kompliziert. Warum die Koordinaten überprüfen lassen.
Oder ist das ein KS mit einen Schuss, dann isses was andres.
Aber wenn du mit einem Schwert oder so schlägst, brauchst du eigenlich nur zwei events im Gegner.
Eins für den Gegnerschaden, und eins für den Schaden an den Helden.

Gegnerschadenseite:

Dort machste eine Variable, die du auf Random stellst, und dort z. B. 1 und 10 eingibst. Dann machst du eine Fork und sagst, wenn die Variable gleich 5 ist, oder so, dann soll dem Gegner eine bestimmte anzahl an lebenspunkten abgezogen werden. Das soll natürlich nur möglich sein, wenn er ein schwert in der hand hat. Das heißt, das du davor noch eine fork brauchst, die abfrägt, ob der Held das Schwert in der hand hat.
Hast du noch verschiedene Waffen, die verschiedenen Schaden anrichten, dann machst du einfach in der Fork, wo der die Variable = 5 überprüft wird noch mehrere Forks für die einzelnen Waffen, sodass jede waffe einen anderen schaden am gegner anrichtet.
Die seite musst du dann auf Push Key stellen.



Heldschaden:

JO, das ist schwieriger.
Hmm, da muss du doch die Koordinaten überprüfen lassen, mir fällt jetzt kein anderer weg ein. Sorry für die vorrangegangene Bemerkung. ;)
Auf jedenfall lässte prüfen ob die X und Y Koordinaten des Gegnerevents und des Helden übereinstimmen. Ist das gemacht, machste wieder eine Variableüberprüfung mit Randomfunktion und setzt wieder die Forks, die du auch im Gegnerevent gesetzt hast, nur diesmal halt für den Schaden des Helden.
z. B. Ist die Variable = 5 dann bekommt der Held einen Schaden.
Das bewirkt, das dich der Gegner auch nicht immer treffen kann.
Je nachdem, wie gut der Gegner im Kampf sein soll, desto kleiner muss halt der Abstand in der Randomfunktion sein.

Ich hoffe, ich konnte helfen.

Bload
16.06.2005, 12:57
Jo also danke, ich probier das mal wie dus mir gesagt hast.
Wenn ich erfolg hatte dann sag ichbescheid^^

Trotzdem postet mir bitte weiter falls nicht!!

Phönix Tear
16.06.2005, 14:45
@lightning-studios: Jo, das ist die einfachste Methode die man machen kann und ist dabei nicht mal so schlecht. Ich bevorzuge trotzdem die mit der Koordinatenberechnung, da man da auch Schaden über z.B. 2 Felder machen kann (ähnlich wie bei Zelda) sodass man nicht ständig von den Gegnern getroffen wird (siehe auch Calm Falls 1 beim Nahkampf (es ist fast unmöglich selber keinen Schaden zu nehmen)).
Sicher hast du recht der Code ist ziemlich kompliziert (und oben etwas starkt aufgebröselt) aber wenn man Glück und ein bisschen Erfahrung hat kann man da ganz leicht was machen. Da ich dank De 'Ak und [KoA-Angel] momentan ein bisschen an Event-IDs rumprobiere kann man (scheinbar) auf die meisten Variablen ganz verzichten und ein recht übersichtliches und gleichzeitig annehmbares KS machen. Man braucht bei der Entwicklung natürlich länger, aber (meistens :rolleyes: ) lohnt es sich ;)

@Bload:
Falls es nicht funktionieren sollte kannst du ja noch bescheid sagen... So wissen wir ja nicht was passiert ist ;)

übelster Held
16.06.2005, 14:59
zu deinem Letzten Common event:
so wie ich die sache bei dem sehr sehr übersichtlichen code
seh, sind die ganzen Labels und folglich auch die Goto label
völlich überflüssich...

<>edit:...doch net...
<>wenn du aber bei den ersten beiden forks,
<>also den die, die jeweils nach der x und y pos fragen
<>das häckchen wegmachst, dann schon...
:END edit

du musst uns mal den code der schadensberechnung schreiben,
oder besser noch: mach ein bildschirmschuss...

üH

lightning-studios
17.06.2005, 06:19
@Phönix Tear: Mit dem Event, das ich geschrieben hab, kann dich der Gegner auch nicht ständig treffen, da du da mit der Randomfunktion einstellst. Allso praktisch nach dem zufallsprinzip. Obwohl ich natürlich dazu sagen muss, das es mit der Koordinatenberechnung letztendlich realistischer aussieht, da z. B. ein spinne, wenn sie dich berührt, ziemlich sicher einen Biss abgeben kann. Ich denke, das das KS mit Koordinatenberechnung auch mehr Spielspaß hat, und ein wenig anspruchsvoller ist, was sich natürlich auch aufs Programmieren legt. :)
Aber ich denke, das ihr schon ein gutes KS hinbekommt.
Falls ihr den Fehler wirklich nicht findet, dann geb ich euch den Tip, das Event komplett neu zu machen, und jeden Schritt einzelnen zu Testen.

Bload
17.06.2005, 14:06
@lightning studios.

Ja das funktioniert schon aber ich will doch besser die andre Variante lassen, da wie schon gesagt das realistischer wirkt. Trotzdem thx.

Also hier noch das Event von der Kreatur:

Es besteht aus 3 Seiten die erste Seite:

On Hero Touch

Fork Optn:Varbl [63 Password]-5
Goto Label 1NO
End Case
Flash Charakter: Hero 0,2 s
Play SE: Swordattack
Fork Optn: Hero Up Face Direct
Move Event: Hero Fix. Direction, Down, Cancel Fix. Direction
Else Case
Fork Optn: Hero Rt Face Direct
Move Event: Fix. Direction, Left, Cancel Fix. Direction
Else Case
Fork Optn: Hero Dw Face Direct
Move Event: Fix Direction, Up, Cancel Fix. Direction
Else Case
Fork Optn: Hero Lf Face Direct
Move Event: Fix Direction, Right, Cancel Fix, Direction
End Case
End Case
End Case
Variable: Ch [72 Schaden] Set Var [71] val
Variable: Ch [72 Schaden]- Var [65] val
Variable: Ch [64 Held HP] - Var [72] val
Change HP, All Members HP Vol 72 Decr
Wait: 0,1s
Label 1No



Dann die zwitw Seite die die Vorrausetzung : Switch [89Gegner1 getroffen] hat.

Parallel Process

Flash Charakter: This Event.
Play SE: Hero Cry
Move Event: this Event: Fix Direction, Escape from Hero, Cancel Fix Direction
Variable Ch [72 Schaden] Set Variable [66]val
Variable Ch [72 Schaden] - Var [70] val
Variable Ch [69 Gegner HP] - Var [72] val
Fork Optn: Variable [69 Gegner HP] -0less
Change Switch: [90 Gegner1tot]- On Set

End Case
Change Switch: [89 Gegner getroffen] Off Set


Und die dritte Seite:

Vorraussetzung: Gegner1tot




So das wars schauts euch mal an.

übelster Held
17.06.2005, 16:45
könnte natürlich hier drann liegen:
Variable: Ch [72 Schaden]- Var [65] val
Variable: Ch [64 Held HP] - Var [72] val
... hier tust du nicht die Variable nr. 65 vom wert abziehen sondern
die variable die den wert der vari 65 hat (bzw den wert der vari 72)
ich nehme man an, dass es Variable Ch: V[0064]-V[0072] heisen muss...
(ohne val dahinter...)
um das zu beurteilen müsste man aber natürlich wissen, was die einzelnen
variablen bedeuten...
und mann müsste wissen welchen speziellen wert die varis haben, da
hier nirgendwo ein event zu finden is welches die werte der varis festlegt...

üH

Vitalos
17.06.2005, 17:49
Dan liegt es nicht an dem Event, der sieht richtig aus, wahrscheinlich hast du die schadensberechnung bei dem Feind selber gemacht oder?
dann liegt dort der fehler
Ja das kann durchaus sein.Nimm dazu lieber auch ein Skript. :)

Bload
17.06.2005, 21:10
Seufz, das bringt auch nix, das funzt einfach nicht.
Ich verzweifle bald^ >:( >:( >:( >:(

Phönix Tear
18.06.2005, 18:03
Lad das Ding doch mal hoch... Ich schau es mir dann mal richtig an. Vielleicht finde ich dann den Fehler ;)

Bload
20.06.2005, 20:57
Ok, könnt jetzt closen ich hab das Problem in den Griff gekriegt.