PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kreaturen-Beschwörungsskript



Janirus
01.02.2007, 20:42
Hi!
Für meine Mod brauch ich ein kleines Skript... folgendes;
Wenn man den Gegenstand aktiviert, werden 4 Gegner gespawnt. Diese Funktion sollte immer wieder genutzt werden können ( d.h kein einmaliges Bentuzen ). Wenn es möglich ist, sollte es eine zufällige Kreatur sein, ansonsten such ich mir einfach eine aus. Aber ich bin eben ein absoluter Volldepp in Skripting, deshalb bitte das ganze Skript, ich kann mit dem Zeug nämlich nix anfangen ^^

MFG und thx
Janirus

Zetter
01.02.2007, 20:47
Hier das wäre mein Script, kann allerdings nur ein bestimmtes Monster spawnen und dieses auch nur einzeln (wenns nicht klappt, tuts mir Leid, ich bin nicht so der Meister im Scripten)

scn Beschwörungsscript

Begin GameMode
short doonce == 1
player.placeatme (die Form ID des Monster Typen)
endif

end

Dieses legst du auf einen Activator, allerdings sollte oben rechts Object angewählt sein (Standard) eventuell Magic Effect, was ich nicht annehme.

Eventuell könntest du daraus ein gutes Trainingsmonster machen, wie einen Endgegner oder sonstiges, dann ist es nicht schlimm das nur eins spawned

Janirus
01.02.2007, 21:02
Hmm, okay, danke ersma...
Frage; Das is jetzt so eingestellt, dass man das object immer wieder benutzen kann, oder? Ich werds ma versuchen...
Danke, mfg
Janirus

Zetter
01.02.2007, 21:04
Hmm, okay, danke ersma...
Frage; Das is jetzt so eingestellt, dass man das object immer wieder benutzen kann, oder? Ich werds ma versuchen...
Danke, mfg
Janirus

Ja, das ist eingestellt das man das Object immer wieder benutzen kann. Hoffe das er funktioniert.

Rung
02.02.2007, 09:17
Es tut mir leid,
aber ich glaube nicht, dass dieses Script funktioniert. Die Variablen dürfen nicht unterhalb der Kommandos bestimmt werden. Außerdem kannst Du bei diesem Script unendlich viele Kreaturen herbei rufen.
Sollen nur 4 Kreaturen gleichzeitig da herum laufen können? Oder sollen die 4 Kreaturen lediglich zur gleichen Zeit auftauchen. (D.h. Dir ist egal, wieviele Kreaturen am Ende da herum laufen. wichtig ist nur, dass sie immer in 4er-Schwüngen kommen).
Für die Kreatur kannst Du eine eigene LeveledCreature erstellen, und dort dann alle gewünschten Kreaturen reinziehen, aus denen dann zufällig ausgewählt werden soll.

Ich geh mal von ersterer Variante aus und dass die Kreaturen erst wiederbeschworen können, wenn alle 4 tot sind (Oder willst Du, dass die Kreaturen automatisch nach einer gewissen Zeit wieder verschwinden?), dann müsste das Script etwa so aussehen:


Scriptname IchBraucheEinenNamen
;dieses Script hängst Du an den Activator

short done
short DeadCount

Begin OnActivate Player

if ( done == 0 )
set done to 1

Player.PlaceAtMe DeineLeveledKreatur 1, 256, 1
Player.PlaceAtMe DeineLeveledKreatur 1, 256, 2 ;die erste Eins = Anzahl, die 256 = Entfernung vom Spieler und die zweite Eins = Richtung der Kreatur
Player.PlaceAtMe DeineLeveledKreatur 1, 256, 3
Player.PlaceAtMe DeineKLeveledreatur 1, 420, 1
endif

End

Begin GameMode

if ( DeadCount == 4 )
set done to 0
set DeadCount to 0
endif

End
Du darfst nicht vergessen, dem Activator eine eigene REF zu verpassen und ihn dann auf Persistent zu stellen!

Scriptname IchBraucheAuchEinenNamen
;dieses Script hängst Du an jede Kreatur, die beschworen werden können soll

Begin OnDeath

set REFDesActivators.DeadCount to ( REFDesActivators.DeadCount + 1 )

End

Escalbryt
02.02.2007, 10:35
Scriptname IchBraucheEinenNamen
;dieses Script hängst Du an den Activator

short done
short DeadCount

Begin OnActivate Player

if ( done == 0 )
set done to 1

;hier würde ich noch eine if-abfrage machen, mit der die levelledList ausgewählt wird...
Player.PlaceAtMe DeineLeveledKreatur 1, 256, 1
Player.PlaceAtMe DeineLeveledKreatur 1, 256, 2 ;die erste Eins = Anzahl, die 256 = Entfernung vom Spieler und die zweite Eins = Richtung der Kreatur
Player.PlaceAtMe DeineLeveledKreatur 1, 256, 3
Player.PlaceAtMe DeineKLeveledreatur 1, 420, 1
endif

End

Begin GameMode

if ( DeadCount == 4 )
set done to 0
set DeadCount to 0
endif

End


Ja es ist rungs script, do mit einer klitzekleinen Änderung, die ich machen würde. sie würde es dem Spieler erlauben zwischen verschiedenen levelledList für die Kreaturen zu wählen.
Oder könnte man die levelled list in einer variable angeben?
Meine Scriptkenntnisse sind nicht die besten, doch das würd ich glaube ich hinbekommen. Wenn du es also wünscht janirus würde ich es machen.

MfG Fetter Hobbit

PS: Ab zu Reli -.-

Janirus
02.02.2007, 13:54
Wow, das sind ja mal Skripts ^^ Danke!
Hmm, jaah, ich glaube es wäre schon gut, wenn der Spieler dann auswählen könnte, was er will, oder wollt ihr es lieber ü-Ei like?
Ich werd ma das leicht modifizierte Skript von Hobbit einbauen, und mal testen. Mal gucken obs geht....
Noch was... Ich glaub, wenn der Spieler auswählen kann, müsste man es mit messageboxes machen, oder? Mal schauen, ob ich vlt. selbst noch was hinbekomme...

MFG
Janirus

Escalbryt
02.02.2007, 14:22
Ich hab lediglich noch nen kommentar reingehauen...
Ich würde es dir aber wohl noch schreiben ;)
Schick mir ne PN wie du es haben willst... am besten schon mit den Namen der levelled List der beschwörungsmonster...

MfG Fetter Hobbit

PS: Rung? kannst du mir die Frage beantworten? wenn e nämlich ginge, würde das, das script sehr viel schlanker machen ;)

Rung
02.02.2007, 14:56
Die LeveledList in einer Variable angeben? Wieso?
Wieso würde das Script schlanker machen? Du würdest doch dann lediglich für jede LeveledList eine Variable einsetzen und die müsstest Du dann auch auch noch benennen. Also wäre da Aufwand viel größer.
Übrigens finde ich das Mehr an Aufwand sowieso viel zu groß dafür, bloß damit der Spieler aus verschiedenen Listen wählen kann. Das ist aber nur meine Meinung.
Wie hast Du Dir das eigentlich vorgestellt. Willst Du die 4 Monster jeweils aus einer LeveledList wählen lassen oder die 4 als Ganzes?

Janirus
02.02.2007, 15:01
Ich habe nun 4 verschiedene LeveldCreaturesDingens erstellt..
Mit jeweils 4 monstern drinn.
Der Player soll nun per messageboxes eines davon auswählen können.
Ich hab Hobbit bereits ne PN geschickt.

Die LeveldCreatures heissen;

LL0LowerCreatures
LL0MiddleCreatures
LL0HighCreatures
LL0MegaCreatures

Text in der Messagebox;
"Welche Kreaturen wollt ihr herbeirufen?
Niedere Kreaturen ( Level 1 )
Mittlere Kreaturen ( Level 10 )
Starke Kreaturen ( Level 25 )
Gewaltige Kreaturen ( Level 40 )
"

In Klammern steht das Level.
Die 4 monster werden als ganzes beschworen ( also alle zusammen [ aus der jeweiligen leveldlist ] )

Janirus
03.02.2007, 15:49
Ich will ja nich drängeln aber...
Die Mod wäre soweit fertig, ich brauch eigentlich nur noch dieses verdammte Skript :(
Wenn ich das habe, und es auch funzt, wäre die Mod eigentlich fertig... Dann brauch ich eigentlich nur noch Quests, und ferdisch ist ^^

Rung
03.02.2007, 16:14
Ich hoffe der Hobbit ist nicht sauer, ich hab das Script geschrieben und stell es mal hier online. Aber zuvor möchte ich noch anmerken, dass Du (janirus) für Deine Objekte besser ein Präfix benutzen solltest. So findest Du Deine Objekte schneller wieder und es gibt keine Überschneidungen mit anderen Plugins. Nur ein kleiner Rat ;)

Es gilt weiterhin das oben erwähnte Scipt für die Kreaturen, nur das Activatorscript muss anders aussehen, nämlich so:

Scriptname IchBraucheEinenNamen
;dieses Script hängst Du an den Activator

short done
short DeadCount

short button
short controlvar

Begin OnActivate Player

if ( done == 0 )
MessageBox "Welche Kreaturen wollt Ihr herbeirufen?" "Geringe" "Gewöhnliche" "Hohe" "Meister" "Abbrechen"
set controlvar to 1
endif

End

Begin GameMode

if ( controlvar == 1 )
set button to GetButtonPressed

if ( button == -1 )
return
elseif ( button == 0 ) ;Low
Message "Ihr habt die Geringeren Kreaturen gewählt."
set done to 1
set controlvar to 0
Player.PlaceAtMe LL0LowerCreatures 1, 256, 1
Player.PlaceAtMe LL0LowerCreatures 1, 256, 2
Player.PlaceAtMe LL0LowerCreatures 1, 256, 3
Player.PlaceAtMe LL0LowerCreatures 1, 420, 1
elseif ( button == 1 ) ;Middle
Message "Ihr habt die Gewöhnlichen Kreaturen gewählt."
set done to 1
set controlvar to 0
Player.PlaceAtMe LL0MiddleCreatures 1, 256, 1
Player.PlaceAtMe LL0MiddleCreatures 1, 256, 2
Player.PlaceAtMe LL0MiddleCreatures 1, 256, 3
Player.PlaceAtMe LL0MiddleCreatures 1, 420, 1
elseif ( button == 2 ) ;High
Message "Ihr habt die Hohen Kreaturen gewählt."
set done to 1
set controlvar to 0
Player.PlaceAtMe LL0HighCreatures 1, 256, 1
Player.PlaceAtMe LL0HighCreatures 1, 256, 2
Player.PlaceAtMe LL0HighCreatures 1, 256, 3
Player.PlaceAtMe LL0HighCreatures 1, 420, 1
elseif ( button == 3 ) ;Mega
Message "Ihr habt die Meister-Kreaturen gewählt."
set done to 1
set controlvar to 0
Player.PlaceAtMe LL0MegaCreatures 1, 256, 1
Player.PlaceAtMe LL0MegaCreatures 1, 256, 2
Player.PlaceAtMe LL0MegaCreatures 1, 256, 3
Player.PlaceAtMe LL0MegaCreatures 1, 420, 1
elseif ( button == 4 ) ;Abbrechen
set controlvar to 0
endif
endif

if ( DeadCount == 4 )
set done to 0
set DeadCount to 0
endif

End

Janirus
04.02.2007, 19:00
Erstmal danke Rung!
Dann noch ein kleines Problem.
Ich konnte auswählen, und auch Kreaturen herbeirufen, jedoch ging das Ding nachher nicht mehr... KA woran es liegt, aber ich konnte es nur einmal acitvaten...

Rung
05.02.2007, 10:16
Hallo,

hast Du das Tierscript in meinem ersten Post an alle Kreaturen gehängt, die beschworen werden können?

Janirus
05.02.2007, 14:56
Ouhhh, verdammich, danke rung!
Das is mir jetzt aber peinlich... Danke! Jetzt funzts natürlich ^^

Gorkon
06.02.2007, 10:48
Das sind hoffentlich Kreaturen mit eigenen ID's? Siehe hier:
http://multimediaxis.de/showthread.php?t=91771

Janirus
06.02.2007, 13:51
Klar sind das Kreaturen mit egenen ID's, ich bin nur im skripten ein N00b, aus dem Welpenalter im Modding selber so mit CS bin ich raus ^^
Aber ich glaub, ich hab bei einigen vergessen, das Skript von Rung dranzuhängen... oder ich hab die falsche REF angegeben Oo