PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skill System wie bei Grandia


Der schwatte Ritta
11.09.2008, 13:43
Hi allemann zusammen, ich würde gerne ein Skillsystem wie bei Grandia in mein RPG einbauen, allerdings dabei das standard KS weiterverwenden.

Für Leute die Grandia nicht kennen hier mal die Kurzform:

Durch das verwenden von Waffen wie Schwert steigt das Schwertskilllevel
für jedeslevel erhält man zusätzliche Stats wie zb Pro Level +1 TP +2 Stärke

Wenn man bestimmte Level von verschiedenen Waffentypen erreicht hat erlernt man automatisch neue Fähigkeiten zb bei Lv.7 Keule und Lv.5 Axt die Attacke Schockwelle.

Ähnlich funktioniert das mit Zaubern, allerdings muss der erste Level 1 Zauber erst mit seltenen Items, den sogenannten Mana Eiern gekauft werden.

Demenstsprechend brauche ich einen Speziellen Shop bei dem man Zauber kaufen kann und das dementsprechende Item. --> Kein Problem

Dann ein Skript das prüft ob das Item vorhanden ist und dann die Auswahl des Dementprechenden Zaubers öffnet. --> kein Problem

Ab hier wirds schwierig.
Dann Pro Charackter für Jeden Zauber und Jede Fähigkeit ein eigenes Erfahungslevel, dass auch mit jedem Level Up weniger Erfahrungpunkte vergibt und diese auch nur wenn man die Demensprchende Fähigkeit benutzt.
Und dabei auch bei Skills wie Flammenschlag EXP für Feuer und die Waffe vergibt.

Dazu dann eine Abfrage die Prüft ob die erforderliche Stufe erreicht ist für den nächsten Skill und diesen dann auch verfügbar macht. Und diesen dann auch in einer Übersicht im Inventar Anzeigt.


Gibt es da schon ähnliche Sktipts zu und ist das im Standard KS Überhaupt möglich?
Meine Hauptschwirigkeit ist eher jeden einzelnen Schritt mit den anderen zu verbinden und das so das das Spiel geschehen nicht beeinflusst wird.

Schonmal vielen Dank für eure Hilfe und Sorry falls ich einen Thread mit ähnlichem Problem übersehen haben sollte.

Faydry
11.09.2008, 14:12
Mit nem scipt kann ich leider nicht dienen, aber hier ne möglichkeit das mit events zu machen
wird aber sehr aufwendig:
Ich hätte die Idee, das du für jedes Zauberlevel ne eignen Skill machst.

Dann macht du für den gesamtzauber ein entsprechendes parralel event(mehrseitig)
In bedingung für das Feld 1 machst das ei
die seite hat cirka fogenden aufbau:
Conditional Brach:
Char[blabla] has skill eiszauber lv1
if not: give skill eiszauber 1
if :
Condional Branch [Variable Eiszauber]=(gewnschter Wert)
if : Control Switch [Eiszauber1 complett] =on

für seite 2 machst du die bedingung Eiszauber 1 complett = on

der Inhalt der seite hat ungefähr den gleichen inhalt bis
das du bei den ersten if noch den skill eiszauber 1 removest

(das musst du für jedes skilllevel tun)

das 2 event läuft auf call und erhöt wenn einer der eiszauberskills
bentuzt wird die variable eiszauber +1

(die genaue befehlskette fürs 2. event füge ich später noch ein )

so kann man die veränderung der zauberstärke ud die benötigte erfahrung bis levelanstieg individuell einstellen

Der schwatte Ritta
11.09.2008, 14:50
mkay ... also das ist in der tat sehr Umfangreich

ich hatte mir etwas ähnliches überlegt aber noch keine zeit gefunden das in der praxis umzusetzten und auszuprobrieren.

das funzt in etwa so:

Char XYZ
dann halt eiszauber = 0
feuerzauber = 0
....usw

dann wird beim kauf des zaubers das level von zb esizauber auf 1 gesetzt
worauf hin eine conditional abfrage den skill .... freeze freigibt und somit erlernt

der skill freeze erhöt dann bei jedem anwenden eine variable bei der ebenfalss geprüft wird ob sie unter bzw über hundert ist
in etwa so
cond:
if(var "expice" < 100)
expice + 5 (exp für den eiszauber kann dann je nach level variiert werden)

else(var "expice" > 100)
expice - 100 (um die variable wieder auf 0 zu setzten um das ganze als schleife abspielen zu können)
eiszauber + 1 (erhöt das level des eiszaubers)

dann mit einem zweiten script wird dann geprüft ob das level ausreicht für den nächsten zauber

wie zb

cond:
if (var"expice >=1)
+skill freeze
if (var"expice >=5)
+skill freeze 2
if (var"expice >=9)
+skill blizzard
.......... usw die einzelnen if abfragen sollen verschachtelt aufgebaut sein damit der immer nur bis zu nächsten nichtzutreffenden bedingung abfragt
.. das script wird dann gestartet wenn man mit dem eiszauber ein level aufsteigt also im vorherigen skript

Der schwatte Ritta
11.09.2008, 16:24
Also nach einigen Praxis Test und rumexpermentieren hab ich ein funktionierendes Skript erstellt es funktioniert so wie ich es in meinem vorherigen beitrag beschrieben habe sollte noch jemand interesse haben dann stell ich gerne auch screenshots online

Hunta
15.09.2008, 16:48
könntest du nicht die zauber als Helden anlegen? für die könntest du dann auch exp kurven erstellen und so weiter. auch lvl und so sind gut abfragbar, damit der richtige chara dann auch die skills erlernt

Der schwatte Ritta
15.09.2008, 22:55
das würde bestimmt auch in der Praxis funktionieren

allerdings müsste man dann auch pro Char und Pro Element, einen
neuen Char anlegen. Was bei Min 4 spielbaren Hauptcharacktären
und Min 4 Elementen schonmal 16 Chars sind.

Und man müsste ja dann ebenso deisen Chars die nötige EXP per Skript zukommen lassen.

Das wäre bei Theoretische Überlegung nicht einfacher als so wie ichs jetzt
gemacht habe.

Allerdings kann man über die Chars die dann als Variable für das Level dienen
auch die Stärke der Zauber mit jedem Level erhöhen.
Aber das müsste man dann gucken welches in der Praxi einfacher umzusetzten ist.