PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigenes AKS



3mmis
02.05.2005, 21:25
Hi,
ich hab mal ein AKS selber ausgedacht und es funzt z.t. auch, aber da ist folgendes problem: beim gegner-event habe ich 3 Seiten:
1. Seite:
bei tastendruck. hier wird die lebens-variable des gegner abgezogen.
2.Seite:
bei heldenberührung. hier soll dem helden was abgezogen werden.
3. automatisch starten. held tot

Problem:
nur 2. wird ausgeführt. wie mach ich 1. und 2. gleichzeitig?????

Kaat
02.05.2005, 21:30
Geht nicht. Du musst für Seite 2 als Voraussetzung einen Switch einstellen und dann mittels Parallel Process-Event den Switch ständig ein- und ausschalten lassen (am besten im 0.0 Sekunden-Intervall). Andere Möglichkeit ist mir nicht bekannt.

3mmis
02.05.2005, 21:31
sorry......aber: Wie jetzt?

Geiu
02.05.2005, 21:34
Benutz 2 PPs mit Scene-Wert-Abfragen (Der Scenewert ist die Position eines Events auf dem Bildschirm in Pixeln, wird auch beim Bewegen eines Events laufend aktualisiert), das ist genauer, außerdem kannst du dann die Reichweite von Waffen auch pixelgenau festlegen.

Kaat
02.05.2005, 21:35
Seite 1 des Events lässt du ganz normal. Bei Seite 2 musst du aber links oben bei den Conditions (Voraussetzungen) einen Switch abhaken; den stellst du dann auf einen beliebigen, neuen Switch ein, den du am besten "Hit-Switch" oder so nennst, damit du ihn später (für andere Gegner-Events) wiederfindest.
Das heißt, nur wenn dieser Switch eingeschalten ist, kann die Seite 2 aufgerufen werden. Wenn er aus ist (=OFF), dann geht natürlich nur Seite 1.
Und jetzt musst du auf der Map oder per Common Event als Parallel Process ablaufen lassen, dass der Switch ständig an- und ausgeschalten wird. Also zuerst Turn Switch ON, dann Wait 0.0 sec, dann Turn Switch OFF, Wait 0.0 Sec.

Benutzt du 2000 / XP / Deutschpatch?

3mmis
02.05.2005, 21:40
2003, XP deutsch-patch

PS: Geiu, keine abkürzungen. ich verstehe keine wort von deinem text

Kaat
02.05.2005, 21:41
Immer alle mit ihren blöden Deutschpatches... bleibt mal bei den englischen Versionen, dann versteht ihr auch alles, was man euch erklärt.

3mmis
02.05.2005, 21:46
entweder ich mach was falsch oder es klappt nich. noch hinzu kommt, dass man minid. 1 sek warten muss

Mayaki
03.05.2005, 13:34
Machs anders,
du machst erstmal ein Commonevent in der Database:


Schlag
Enter Passwort [Schlagpasswort]
If Var. [Schlagpasswort] = 5
If Hero Up
CallEvent "Schlag Oben"
End
If Hero Right
CallEvent "Schlag Rechts"
End
If Hero Left
CallEvent "Schlag Links"
End
If Hero Down
CallEvent "Schlag Unten"
End

Dann machste noch vier weiter Commonevents, einmal "Schlag Oben" einmal "Schlag Rechts" und so weiter... (also die die mit CallEvent oben gerufen werden sollen):


Schlag Oben
Change Var. [Hero X] = Hero X Pos
Change Var. [Hero Y] = Hero Y Pos
Change Var. [Hero Y] - 1
If [Hero X] = [Gegner 1X]
If [Hero Y] = [Gegner 1Y]
Change Switch [Gegner Getroffen] ON
End
End


Das machste dann für alle (Oben unten links ...) nur das du nicht Hero Y -1 nimmst sondern für Unten +1 für Links X+1 und für Rechts X-1!

Dann machste einfach noch ein ParrallelEvent auf der Map wo die Koordinaten der Gegners gespeichert werden (hier Gegner 1X und Gegner 1Y).
Und beim Gegner einfach ne Parrallelprozessseite mit dem Switch "Gegner Getroffen"... achte aber darauf, nach der schadensberechnung den Switch wieder auszustellen ^^

Mfg
Mayaki

3mmis
03.05.2005, 15:03
thx für alle tipps. ich hab ne andere lösung gefunden (mit bedingungen usw.)
jetzt aber noch ne frage:
wie lässt man zufällig berechnen wie viel der Held und der Gegner abziehen und ob sie treffen.

Mayaki
03.05.2005, 16:38
thx für alle tipps. ich hab ne andere lösung gefunden (mit bedingungen usw.)
Ja toll mein vorschlag ist nichts anderes xD

Und zum Zufallsprinzip:


Change Variable [Schaden] = Hero Angriff
Change Variable [Schaden] + Random -2/ 2
Change Variable [Geger HP] + [Schaden]
If [Gegner HP] => X (sagen wir mal 50 ^^)
Change Switch [Gegner TOT] ON
End

Und das mit dem Treffen:


Change Variable [Treffer?] Random 1/150
Change Variable [Gegner Speed] = X
Change Variable [Hero Speed] = Hero Speed
If [Gegner Speed] > [Hero Speed]
If [Treffer?] =< 100
Treffer
Else
Missanimation
End
End
If [Gegner Speed] < [Hero Speed]
If [Treffer?] =< 130
Treffer
Else
Missanimation
End
End

Ich hoffe das war jetzt auch richtig xD
Mfg
Mayaki