Herbeirufen einer Kreatur

  • Zitat

    Original von JackInTheBox
    wenn ich move deaktiviere bei inv action, damit man es nciht mehr wirft, spawnt auch keine kreatur mehr....


    Ich würde stattdessen das Froschei als Basis behalten und das Model ändern (z.B zu magicmis1 [blauer Engerieblitz]) und zusätzlich das Inventarbild abändern:
    Renderer -> Render Type: Alternate Model: pruby


    Der Effekt:
    Du hast einen Edelstein im Inventar, der bei Benutzung einen kleinen Blitz abfeuert und dort wo der Blitz "einschlägt" wird eine Kreatur gespawnt.
    An diesen Blitz kannst du noch SFX-Effekte anhängen oder sogar Schaden anrichten lassen (über eine Source, z.B. MagicZap-Stim)


    Zitat

    Original von JackInTheBox
    b)wie kann man die kreatur heilen wenn sie verletzt ist oder gar stirbt, für die nächste beschwörung?


    Am besten über Sources & Receptrons, hier der Schlachtplan:


    1. neue Stim erstellen: AlliedRestoreStim (verhindert das auch Gegner geheilt werden) unter "Object Hierarchy -> Show Tree: Act/React Stimuli"
    2. Gamesys speichern, DromEd neustarten


    Jetzt gibt es 2 Alternativen. Einmal ähnlich wie oben beschrieben ein Zaubereffekt (Blitz, Wolke etc) der beim Benutzen vom Spieler abgeschossen wird, oder kein sichtbarer Effekt.


    Variante 1 (mit sichtbarem Effekt):


    1.3. bau dir ein Wurfgeschoss in Analogie zum Froschei (oder ähnlichem) zusammen
    1.4. Entferne folgendes Flag (falls gesetzt): Physics -> Misc -> Collision Type: Destroy On Impact
    1.5. Gib dem Gegenstand eine Source für die AlliedRestoreStim:


    Add -> Act/React -> Sources:
    Stimulus: AlliedRestoreStim
    Object: dein Gegenstand
    Propagator: Radius
    Intensity: deine Heilrate, eine Wert > 0


    Dann auf "Edit Shape":
    Radius: 1000.0
    Flags: [None]
    Dispersion: [None]


    Dann auf "Edit Life Cyle":
    Flags: Destroy Object On Completition
    Period: Dauer zwischen den einzelnen "Heilphasen" in MS
    Max Firings: die Anzahl der Heilungsphasen, z.B. 2
    Intensity Slope: 0 (wenn der Effekt mit der Zeit nachlassen soll, ist das hier das Mittel dazu)


    Der Effekt:
    Du wirfst den Heilgegenstand in die Welt, dabei wird dessen Source für AlliedRestoreStim aktiv und beginnt zu "senden". Nach der eingestellten Zeit wird das Objekt automatisch gelöscht.


    Variante 2 (kein sichtbarer Effekt):


    2.3. nimm einem beliebigen Gegenstand (dein "Heilzauber"), folgende Werte:
    S -> Script: TrigInvFrob
    Engine Features -> Frob Info: [None], [Script], [None]
    2.4. platziere eine EmitterTrap irgendwo über oder unter dem Level in einem Blueroom
    2.5. "Heilzauber-Gegenstand" -> ControlDevice -> EmitterTrap
    2.6. leite vom normalen Broadhead eine neue Objektklasse ab, nenn sie "HealthAr", folgende zusätzliche Properties:
    Add -> Act/React -> Sources:
    Stimulus: AlliedRestoreStim
    Object: HealthAr-Archetyp
    Propagator: Radius
    Intensity: deine Heilrate, eine Wert > 0


    Dann auf "Edit Shape":
    Radius: 1000.0
    Flags: [None]
    Dispersion: [None]


    Dann auf "Edit Life Cyle":
    Flags: Destroy Object On Completition
    Period: Dauer zwischen den einzelnen "Heilphasen" in MS
    Max Firings: die Anzahl der Heilungsphasen, z.B. 2
    Intensity Slope: 0 (wenn der Effekt mit der Zeit nachlassen soll, ist das hier das Mittel dazu)


    2.7. öffne jetzt die Properties der EmitterTrap und trage folgende Werte ein:


    Tweq -> Emit:
    Halt: Stop Tweq
    AnimC: Sim
    MiscC: Grav
    CurveC: [None]
    Rate: 1
    Max Frames: 1
    Emit What: HealthAr


    S -> Scripts: TrapTweqEmit, ReloadTweqEmit


    Der Effekt:
    Du benutzt den Heilgegenstand im Inventar, dadurch wird die EmitterTrap ausgelöst. Diese feuert einen Pfeil ab, der die AlliedRestoreStim aussendet.


    Abschließend für beide Varianten:


    Deine Kreature (und der Spieler selbst) brauchen noch ein Receptron für die neue Stim, damit sie auch wirklich geheilt werden. D.h.:


    Add -> Act/React Stimulie -> Receptron


    Stimulus: AlliedRestoreStim
    Min Intensity: 0
    No Min Intensity: FALSE
    Max Intensity: 0
    No Max Intensity: TRUE


    Target Object: ME
    Agent Object: Source
    Effect: Damage Object, klick auf "Edit Effect":
    Damage Type: 0
    Use Stimulus as Type: TRUE
    Multiply by: -1
    Then Add: 0


    (nix weiter als eine Kopie der Einstellungen zur normalen RestoreStim, nur eben für den neuen Stimulus)



    Weitere Zusätze:


    Idee #1: ähnlich wie in D&D Rollenspielen kannst du deine Heilzauber auch auf Gegner einwirken lassen (Vorzugsweise Untote). Während deine Freunde dadurch geheilt werden, nehmen Untote durch Schaden. D.h. sie bekommen auch ein Receptron für die neue Stim, allerdings mit gegenteiligem Effekt.


    Idee #2: wenn deine Kreaturen geheilt werden, wäre ein zusätzliche SFX-Effekt schön der um sie kreist, um anzudeuten dass der Heilzauber noch anhält.

  • ich möchte ja mit nem blitzeffekt, das kommt cool... :)



    ich könnte das so machen wie du sagst, das wär auch zufriedenstellend für mich... dann muss man den stein eben jedesmal wieder auflesen, das geht auch...



    aber frage vorher:
    kann man auch ein wurfobjekt machen das dann im inventar bleibt sozusagen?
    ich wollte ja eigentlich, das der stein SELBST im inventar bleibt.
    "geworfen" wird nur der blitz effekt der beim aufprall dann verschwindet mit einem weiteren effekt und mit auftauchen der kreatur...
    und der stein bleibt dabei dann in dem inventar...


    man könnte das ja lösen als geschoss, das von dem stein abgefeuert wird bei benutzen...





    frage bei der heilung:
    ich möchte nicht dass nach jeder beschwörung zB 20 HP dazukommen, weil dann hat ja der AI nach 5 beschöwrungen ja viel zu viele HP... ich möchte lediglich die MAX-HP wiederhergestellt...
    oder kann ein AI nie mehr als seine max-hp geheilt werden???
    weil wär ja doof wenn das monster jedesmal 20 HP dazugewinnt, obwohl es nicht verwundet wird...





    wenn ich zb möchte, dass der stein ein andres item wird (aufgeladener stein -> stein ohne magische ladung), geht das auch? mit teleport trap oder?
    aber dann gibts doch das problem, dass, wenn man den stein wieder auflädt (droppen mit "R" und auflade-item verwenden per keyscript), dass an der zufälligen stelle wo der stein landet ja keine teleporttrap ist... oder gibts da iwie ein "tausch"trap oder skript? ?(








    Ohje das is kompliziert :) aber auch interessant und lehrreich :) habe ja schon einiges dazugelernt mit traps und so und links ... glaube dass ich dadurch sicher auch dazulerne wenn ich das umgesetzt hab :)




    auf jeden fall vielen vielen dank intruder ;)






    ich hab iwie das gefühl dass ich für einen anfänger schon sehr oft an die grenzen des machbaren stoße ^^"
    ich hab halt kreative ideen X(



    (und noch kurze zwischenfrage: kann man auch dann als questvariable einstellen, dass das beschworene monster eine AI tötet? könte man ja indirekt, dadurch dass es verboten ist, die AI mit waffen zu verletzen, aber gefordert ist, sie zu töten, oder?)



    PsymH:
    gut ich guck mal auf der hauptseite nach tuts zu emitters, was das ist und ob das nützt... =)
    hoffe da hats welche, weil zu manchen sachen hats voll viel und zu manchem au garnix :)
    ich meine mich aber düster zu erinnern dass das das mit deathsentence und so war....


    danke :)







    (PS: ohje, so ein langer post ^^")


  • Wie schon gesagt, du musst dafür nur den Stack Count auf 0 setzen und bei den Frob Info's das "Use Ammo" rausnehmen.
    Probier einfach mal das aus, was ich heute Nachmittag geschrieben habe, dann hast du einen Stein der Blitze abfeuert.
    In meiner FM "A Journey Into The Underdark" habe ich auf diese Weise Schriftrollen gebaut die kleine, blaue Blitzen abfeuern und auch einen Edelstein der unendlich oft kleine Leuchtfunken abschießt.



    Zitat

    Original von JackInTheBox
    frage bei der heilung:
    ich möchte nicht dass nach jeder beschwörung zB 20 HP dazukommen, weil dann hat ja der AI nach 5 beschöwrungen ja viel zu viele HP... ich möchte lediglich die MAX-HP wiederhergestellt...
    oder kann ein AI nie mehr als seine max-hp geheilt werden???
    weil wär ja doof wenn das monster jedesmal 20 HP dazugewinnt, obwohl es nicht verwundet wird...


    Keine Angst, man kann nur soviele HP wiederherstellen, wie auch verloren gingen, aber nie mehr als Max HP.


    Zitat

    Original von JackInTheBox
    wenn ich zb möchte, dass der stein ein andres item wird (aufgeladener stein -> stein ohne magische ladung), geht das auch? mit teleport trap oder?
    aber dann gibts doch das problem, dass, wenn man den stein wieder auflädt (droppen mit "R" und auflade-item verwenden per keyscript), dass an der zufälligen stelle wo der stein landet ja keine teleporttrap ist... oder gibts da iwie ein "tausch"trap oder skript? ?(


    Hier könntest du eventuell deine Antwort darauf finden.


    Zitat

    Original von JackInTheBox
    kann man auch dann als questvariable einstellen, dass das beschworene monster eine AI tötet? könte man ja indirekt, dadurch dass es verboten ist, die AI mit waffen zu verletzen, aber gefordert ist, sie zu töten, oder?


    Wie meinst du das genau? Willst du ein Missionsziel einbauen, dass in etwa so lautet:
    "Beschwöre Kreatur X um Kreatur Y zu töten?"


    Wenn nur deine Kreatur der anderen Kreatur Schaden zufügen darf löst du das am besten auch wieder über eine neue Stim mit den entsprechenden Sources & Receptron-Einstellungen...

  • problem:
    magicmis1 scheint es nciht zu geben, es erscheint nur ein keil...
    ausserdem taucht kein mosnter auf, weil es ja beim frogegg über corpselink auftaucht, aber der stein geht ja nicht kaputt =(


    gibts sowas wie ein "triggere beim aufschlag" skript? oder einen hierfür nützlichen link/trap?



    wenn ich auf "add" gehe und den neuen stimulus machen will, klappt das zwar, aber ich kann dann unter sources kein "propagator" wählen, da steht lediglich "none"...



    zu dem link: ich weiß nicht so recht... was der mir hilft ?(
    zum schluss stellt der eine die frage "turn it on and off"... aber das was danach kam hab ich nicht die bohne verstanden was der letzte gesagt hat =( so wie ich das versteh war das au keine direkte antwort darauf ...
    es geht mir ja darum, dass der stein nach einer beschwörung erstmal nicht mehr verwendbar ist.
    deswegen muss ein zweiter stein herteleportiert werden, an die stelle wo der andere zu fall gekommen ist.
    gleichzeitig wird das mosnter herteleportiert...


    beim froggegg geht das ei ja kaputt, und hinterlässt als "leiche" den frosch. aber ich will ja dass der stein "ganz bleibt"... und wegteleportiert wird/vertauschtwird mit einem andren...




    ich bin ja zu dem schluss gekommen dass es einfacher ist, wenn man auch den stein auf den boden wirft. der also nicht im inventar bleibt. an ihm haftet dann so ein energetisches blitzen...



    ja das missionsziel ist "töte AI XY, hinterlasse aber keine menschlichen spuren, beschwören sie daher dzu ihr monster"

  • Zitat

    Original von JackInTheBox
    problem:
    magicmis1 scheint es nciht zu geben, es erscheint nur ein keil...


    Mein Fehler, dass Model heißt magmis1, nicht magicmis1


    Zitat

    Original von JackInTheBox
    wenn ich auf "add" gehe und den neuen stimulus machen will, klappt das zwar, aber ich kann dann unter sources kein "propagator" wählen, da steht lediglich "none"...


    Probier mal zuerst den Stimulus einzutragen und danach den Rest auswählen, könnte der alte Bug sein.


    Für das ganze Zauber- und Beschwörungssystem solltest du dir das Tutorial von DarkArrow anschauen, da kannst du eine Menge lernen:


    Da der Link auf ttlg.com nicht mehr aktuell zu sein scheint, hier Dark Arrow's Homepage (hat im Januar noch funktioniert):

  • ich glaub das magicmis1 lass ich wie gesagt lieber weg
    (aber gut zu wissen dass das das model ist, kann man auch als edelstein verwenden^^)




    wenn ich vorher radius auswähle und dann den stimulus, dann wechselt es wieder zu none...
    oder muss die gamesys gespeichert werden?

  • Bei Sources & Receptrons sollte man immer zuerst den Stimulus einstellen, erst dann den Rest. Und bevor man einen neu erstellten Stimulus verwenden kann muss man die Gamesys speichern und DromEd neustarten, sonst wird das nix.

  • ich habe grad gemerkt dass es ziehmlich einfach ist... ^^



    ich erstelle in meiner gamesys das gewünschte monster.
    das hat die eigenschaft dass es verschwindet nach ablauf des timers, wie die blutpfützen.



    ich erstelle den "aufgeladenen" stein in meiner gamsys...
    der hat die eigenschaft, dass er bei zerstöung, den "nichtgeladenen" stein (erstellt in meiner gamesys) und das gewünschte monster als "corpse"link hat.
    zudem hat er bei collision type "slay on impact".



    wenn man das wiederaufladeitem auf den "nichtgeladenen" stein (stdkey) benutzt, kommt wieder als "corpse" der aufgeladene stein ;)






    frage hierzu:
    kann man eine destroytrap auch mit einer abstrakten (minus)-ID verlinken, sodass sie auf alle repräsentanten gültig ist?
    oder muss ich dann eine hierfür spezielle destroytrap in der gamesys erstellen?


    im grunde fehlen dann nur noch die SFX dann und so ^^





    EDIT: frage zu tweq, timer und delete state...
    wie muss ich das genau einstellen, dass das vieh 30 Sekunden lebt?
    weilt mir deucht irgendwie, die einheiten da sind nicht normale sekudnen?
    muss man auch bei "rate" was besondres eisntellen?

    • Offizieller Beitrag
    Zitat

    Original von JackInTheBox
    kann man eine destroytrap auch mit einer abstrakten (minus)-ID verlinken, sodass sie auf alle repräsentanten gültig ist?
    oder muss ich dann eine hierfür spezielle destroytrap in der gamesys erstellen?


    Also das wird definitiv nicht gehen. Du kannst nur DestroyTraps zu Objekten mit positiver ID verlinken. Und ja, in DromEd rechnet sich fast alles in Millisekunden (wäre ja blod, wenn es anders ist :D)

  • wenn das nicht geht wie kann ich es dann machen?
    weil der herbeirufstein ist ja nach jeder anwendung neu erstellt...
    aber die destroytrap kann ja dann nur auf positive IDs abzielen, aber die ID stimmt ja dann nicht mehr?



    EDIT:
    könnte ich nicht dem gegenstand auch irgendwie das "trapdestroy" skript geben?
    quasi dem gegenstand die eigenschaft einer trap geben?
    oder einer releasetrap??