Archiv verlassen und diese Seite im Standarddesign anzeigen : Aks mit NPC
Ich hab echt ein Riesenproblem, ich krieg es nicht hin, dass ein Computer,
der dem Hero hilft ein gegnerisches Objekt angreift... mit möglichst viel Intel-
ligenz.
Mfg. Mr.D 8)
Ich glaube kaum das dir das jemand jetzt so aus dem stand erklären kann. Das ist doch schon eine ziemlich komplizierte sache. An deiner Stelle würde ich mir mal ein paar Tutorials zu dem Thema besorgen (falls es welche gibt) und das da nachschlagen.
Ich editiere hier einen Link rein wenn ich eine Tutorial finde.
Am besten lernst du das, wenn du dir Projekte ansiehst, wo eine KI vorhanden ist. ;)
Wenn du so ein Projekt suchst, klick einfach auf die Red Command-Demo in meiner Signatur...
G.V.H.
P.S.: Allerdings musst du in Red Command vorher ca. 40 Minuten spielen, bevor du mit der KI kämpfen kannst.
oem..... da gibts ne menge scripst zu, musst einfach mal suchen^^
@ven:
oem.. ich hab deine ki auch nicht verstanden :)
(bin nicht sooo ein technik-ass^^)
Wollt nur ausdrücken, dass es imo nicht einsteigerfreundlich ist^^ @Mr.D
Vielen Dank auch, aber ich bin kein Neuling... (Vielleicht auf dieser Seite)
Aber ich habe mich natürlich schon mit Scripts etc. befasst! Auch klappt
es schon ganz OK, aber ich bräuchte, wenn möglich, eine kleine Hilfe
bei Intelligenz verbesserungen, z.B: wenn der Hero kurz vor´m Sterben
ist hilft er ihm beim kämpfen gegen den Gegner, der den Hero angreift.
oem... nen fork, der abfragt, wiviel HP der hreo hat, wenn unter z.b. 10% geht der gefährte zum hero, und dort setzt die normale ki wieder ein.
dann greift er halt den gegner an, der in der nähe des heros ist.
das ist, was mir so spontan einfällt, aber frag venoran, der kennt sich mit sowas aus ;)
mfg freierfall
Also fangen wir mal an! Mach ein Event mit "Parralell Prozess".
Als allererstes brauchste ein anständiges Laufscript!
Change Variable: [Hero X] = Hero X Pos.
Change Variable: [Hero Y] = Hero Y Pos.
Change Variable: [Freund X] = Freund X Pos.
Change Variable: [Freund Y] = Freund Y Pos.
If [Hero X] > [Freund X]
Move Event: Freund, Step Left
Else
If [HeroX] < [Freund X]
Move Event: Freund, Step Right
End
End
If [Hero Y] > [Freund Y]
Move Event: Freund, Step Down
Else
If [HeroY] < [Freund Y]
Move Event: Freund, Step Up
End
End
So da fehlt aber noch ne gewisse Intelligenz aber bei "Pathfinding" bin ich erstmal überfragt, bzw. kann ichs nur dann wenn du willst das dein Spiel am schluss scheiß langsam läuft xDDD
Naja das war ein kleines laufscript womit der Freund zum Held läuft!
Aber man will ja wenn der Gegner in der nähe ist das er zum Feind läuft!
Also hier: (Einfach unten dran machen =D)
Change Variable: [Freund X] = Freund X Pos.
Change Variable: [Freund Y] = Freund Y Pos.
Change Variable: [Gegner X] = Gegner X Pos.
Change Variable: [Gegner Y] = Gegner Y Pos.
Change Variable: [Gegner X] - [Freund X]
Change Variable: [Gegner Y] - [Freund Y]
If [Gegner X] < 5
If [Gegner X] > -5
If [Gegner Y] < 5
If [Gegner Y] > -5
Change Switch [Gegner im Radius] On
End
End
End
End
So jetzt brauchen wir eine neue Event Seite!
Da machste wieder Parralell Prozess und bei Switch machste [Gegner im Radius]!
Change Variable: [Gegner X] = Gegner X Pos.
Change Variable: [Gegner Y] = Gegner Y Pos.
Change Variable: [Freund X] = Freund X Pos.
Change Variable: [Freund Y] = Freund Y Pos.
If [GegnerX] > [Freund X]
Move Event: Freund, Step Left
Else
If [GegnerX < [Freund X]
Move Event: Freund, Step Right
End
End
If [GegnerY] > [Freund Y]
Move Event: Freund, Step Down
Else
If [GegnerY] < [Freund Y]
Move Event: Freund, Step Up
End
End
Change Variable: [Gegner X] = Gegner X Pos.
Change Variable: [Gegner Y] = Gegner Y Pos.
Change Variable: [Freund X] = Freund X Pos.
Change Variable: [Freund Y] = Freund Y Pos.
If [GegnerX] = [Freund X]
Change Variable: [Freund Y] - 1
If [GegnerY] = [Freund Y]
Angriff Oben
Else
Change Variable: [Freund Y] = Freund Y Pos.
Change Variable: [Freund Y] + 1
If [GegnerY] = [Freund Y]
Angriff Unten
End
End
End
If [GegnerY] = [Freund Y]
Change Variable: [Freund X] = Freund X Pos.
Change Variable: [Freund X] - 1
If [GegnerX] = [Freund X]
Angriff Links
Else
Change Variable: [Freund X] = Freund X Pos.
Change Variable: [Freund X] + 1
If [GegnerX] = [Freund X]
Angriff Rechts
End
End
End
So da fehlt jetzt zwar noch ne menge aber das ist das grundgerüst!
Ich hoffe es hilft dir etwas!
Achja und wenn der Gegner tot ist stellt man den Switch [Gegner im Radius]
wieder aus ^^
Mfg
Mayaki
Edit:
Für "Wenn der Hero am sterben ist":
Natürlich braucht man später bei mehrern Gegnern ne Zufallszielauswahl!
Dabei wird das Ziel den Variablen [Freund Ziel] oder [Gegner Ziel] zugeordnet!
Also,
If "Freund" is in Party
Change Variable [Gegner Ziel] = Rand. 1,2
If [Gegner Ziel 1]
Laufscript und Angriffs Script zum Held
Else
Laufscript und Angriffs Script zum Freund
End
End
Beim Gegner und beim Freund das gleiche abgewandelt!
So jetzt der "Held in Gefahr-"Code,
Change Variable [Hero HP] = Held HP
Change Variable [Hero HP] x 100
Change Variable [Hero HP] / Held Max. HP
If [Hero HP] =< 10
If [GegnerZiel1] = 1
Change Variable [Freund Ziel] = 1
Else
If [GegnerZiel2] =1
Change Variable [Freund Ziel] = 2
End
End
End
Die 1. Seite funzt. aber die 2. net.Der hero wird auch wenn der Gegner im Radius ist vom Freund verfolgt.
P.S: heißt = set. oder mod. und was ist mod. ??
Mfg. Mr.D 8)
Ich hasse Doppelpost aber Mayaki kaonnte mir auch nicht weiter helfen da es bei ihm auch net funzt.Ich wartete jeden Tag auf eine PN doch sie kam nicht so starb langsam meine Hoffnung :'(.Deshalb weiß jetzt vielleicht einer ne Lösung.
Mfg. Mr.D 8)
Du solltest am besten ddein Script posten, weil das oben geschriebene eigentlich funzen sollte.
Gerne,aber ich weiß nicht wie man Bilder rein postet §doof
Mfg. Mr.D 8)
lad die bilder irgendwo hoch (gwebspace.com) und poste den Link den du noch mit und umschließt
Fireblade
09.05.2005, 15:54
Von mir gab es mal so einen Thread wo mir jemand erklärt hat wie man bildereinfügt, es gibt 2 davon, sie sind recht weit hinten glaube ab der 5 seite.
Es sollten reinthoretisch 2 Threads sein, im einten geht es drumm warum immer die gleiche Fehlermeldung kommt beim anderen, weiss ich nicht mehr.
Falss du es nicht findest erklär ich es dir gerne, wenn du willst........ ;)
Sorry,hab gemerkt dat ich es net mehr hab aber vielleicht find ich es noch.
Das Problem is das es bei Mayaki auch net funzte.
Mfg. Mr.D 8)
Ich hab so ein Skript schon geschrieben... Ich werds mal rauskrammen und hier posten ok? *hofft das es noch auf einer Backup CD ist* Ist aber ganz einfach:
Du machst ein Sktipt, das der NPC immer zum Gegner geht (Caterpillar-Skript) dann noch das am besten der NPC immer zum näheren Gegner geht (einfach die Variablen der Gegner abfragen und gucken welche näher am NPC ist) und dann einfach dem NPC ne ATB Leiste geben und die Angriffe einstellen... Passt schon.
MfG, Oburi
Danke Oburi,Hoffe du hast es noch auf der Back-up CD.
Mfg. Mr.D 8)
Nur mal son nebenbei da isn Fehler im Script
If [GegnerX] > [Freund X]
Move Event: Freund, Step Left
Else
If [GegnerX < [Freund X]
Move Event: Freund, Step Right
nämlich wenn der Gegner höher ist als der Freund dann ist er rechts und nich links und andersrum das heisst er rennt weg ;)
Awww sorry! Die CD geht nicht mehr... Aber ich werd mal so ein KS schreiben demnächst und dann lad ich das hier hoch ok? Gebt mir bis Ende des Monats Zeit...
MfG Oburi
Danke.Von mir aus kannst du dir Zeit lassen,hauptsache einer macht mir das Script.
Mfg. Mr.D 8)
Ja das ist nicht das Problem.... ^^ Nur zeitlich habsch immer etwas Probleme... ^^ Schule und all son Dreck.. Aber ich werds hier mal uppen sobald ichs fertig hab. Keene Angst... KS sind meine Spezialität.. Egal ob AKS oder SKS oder AKS mit Schusswaffen o.Ä.
Mhh... (Könnte eigentlich mal ein KS-Pack machen, das sämtliche KS-Systeme beinhaltet... ^^ Wäre was für Weihnachten... )
MfG Oburi
Gute Idee... und danke hänge schon ziemlich lange an dem Problem!
Mfg. Mr.D 8)
torteloni
17.05.2005, 11:43
was ich euch in diser hinsicht nur als interessant ans herz legen kann:
http://forum.rpg2000.4players.de/viewtopic.php?t=62397
ist zwar noch nicht raus, verspricht aber technisch hochwertig zu werden.
Werde mal nch gucken, danke!
Mfg. Mr.D 8)
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.