Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 4 von 4
  1. Beiträge anzeigen #1 Zitieren
    Neuling
    Registriert seit
    Dec 2017
    Beiträge
    7
     
    Ehrenmann ist offline

    Verwandlungsrune erstellen

    Ich habe eine Frage zur Erstellung von einer Verwandlungsrune. Ich hab hinbekommen, dass die Rune erstellt wurde, Animation von der Verwandlung findet statt, Mana wird abgezogen, aber anstelle dass er sich am Ende der Animation verwandelt, ist der Held auf Hocke und steht dann wieder auf.

    Spell_TrfBloodfly.d
    Code:
    const int SPL_Cost_TrfBloodfly = 10;
    
    
    
    
    INSTANCE Spell_TrfBloodfly (C_Spell_Proto)
    {
        time_per_mana            = 0;
        spelltype                 = SPELL_NEUTRAL;
        targetCollectAlgo        = TARGET_COLLECT_NONE;
        canTurnDuringInvest        = 0;
    };
    
    
    func int Spell_Logic_TrfBloodfly (var int manaInvested)
    {
        if ((Npc_GetActiveSpellIsScroll(self) && (self.attribute[ATR_MANA] >= SPL_Cost_Scroll)))
        || (self.attribute[ATR_MANA] >= SPL_Cost_TrfBloodfly)
        {
            self.attribute[ATR_MANA] = self.attribute[ATR_MANA] - SPL_Cost_TrfBloodfly;
            Npc_SetActiveSpellInfo(self, Bloodfly);
            return SPL_SENDCAST;
        }
        else
        {
            return SPL_SENDSTOP;
        };
    };
    IT_Runen.d
    Code:
    INSTANCE ItRu_TrfBloodfly    (C_Item)
    {
        name                 =    NAME_Rune;
    
    
        mainflag             =    ITEM_KAT_RUNE;
        flags                =    0;
        value                 =    Value_Ru_TrfBloodfly;
        
        visual                =    "ItRu_Fear.3DS";
        material            =    MAT_STONE;
    
    
        spell                =     SPL_TrfBloodfly;
        mag_circle            =    1;
    
    
        wear                =     WEAR_EFFECT;
        effect                =    "SPELLFX_WEAKGLIMMER";
    
    
        description            = NAME_SPL_TrfBloodfly;
        
        TEXT    [0]            =    NAME_Mag_Circle;
        count    [0]            =    mag_circle;
        
        TEXT    [1]            =    NAME_Manakosten;            
        COUNT    [1]            =    SPL_Cost_TrfBloodfly;
        
        TEXT    [5]            =    NAME_Value;                    
        COUNT    [5]            =    value;
    };
    Constans.d
    Code:
    const int SPL_TrfBloodfly            = 65;    // SPL_F 
    const int SPL_Reserved_66            = 66;    // SPL_G
    const int SPL_Reserved_67            = 67;    // SPL_H
    const int SPL_Reserved_68            = 68;    // MAX_SPELL (Gothic2)
    const int SPL_Reserved_69            = 69;
    
    
    // Magick (Wasser)
    const int SPL_Thunderstorm            = 70;
    const int SPL_Whirlwind                = 71;
    const int SPL_WaterFist                = 72;
    const int SPL_IceLance                = 73;
    const int SPL_Inflate                = 74;
    const int SPL_Geyser                = 75;
    const int SPL_Waterwall                = 76;
    const int SPL_Reserved_77            = 77;
    const int SPL_Reserved_78            = 78;
    const int SPL_Reserved_79            = 79;
    
    
    // Magick (Maya)
    const int SPL_Plague                = 80;
    const int SPL_Swarm                    = 81;
    const int SPL_GreenTentacle            = 82;
    const int SPL_Earthquake            = 83;
    const int SPL_SummonGuardian        = 84;
    const int SPL_Energyball            = 85;
    const int SPL_SuckEnergy            = 86;
    const int SPL_Skull                    = 87;
    const int SPL_SummonZombie            = 88;
    const int SPL_SummonMud                = 89;
    
    
    // ...
    const int SPL_Reserved_90             = 90;
    const int SPL_Reserved_91            = 91;
    const int SPL_Reserved_92            = 92;
    const int SPL_Reserved_93            = 93;
    const int SPL_Reserved_94            = 94;
    const int SPL_Reserved_95            = 95;
    const int SPL_Reserved_96            = 96;
    const int SPL_Reserved_97            = 97;
    const int SPL_Reserved_98            = 98;
    const int SPL_Reserved_99            = 99;
    
    
    
    
    
    
    const int MAX_SPELL                    = 100;   // 59 (Gothic), 68 (Gothic2), 100 (G2Addon) 
    
    
    
    
    ////////////////////////////////////////////////////////////////////////////////
    //
    //    Spells: Fx-/Spell-Klassennamen (Array)
    //
    
    
    const string spellFxInstanceNames[MAX_SPELL] =
    {
        // Paladin-Runen
        "PalLight",                // 0    SPL_PalLight
        "PalHeal",              // 1    SPL_PalLightHeal
        "PalHolyBolt",          // 2    SPL_PalHolyBolt
        "PalHeal",              // 3    SPL_PalMediumHeal
        "PalRepelEvil",            // 4    SPL_PalRepelEvil
        "PalHeal",              // 5    SPL_PalFullHeal
        "PalDestroyEvil",          // 6    SPL_PalDestroyEvil
    
    
        // Teleport-Runen
        "Teleport",              // 7    SPL_PalTeleportSecret
        "Teleport",              // 8    SPL_TeleportSeaport
        "Teleport",              // 9    SPL_TeleportMonastery
        "Teleport",              // 10    SPL_TeleportFarm
        "Teleport",              // 11    SPL_TeleportXardas
        "Teleport",              // 12    SPL_TeleportPassNW
        "Teleport",              // 13    SPL_TeleportPassOW
        "Teleport",              // 14    SPL_TeleportOC
        "Teleport",              // 15    SPL_TeleportOWDemonTower
        "Teleport",              // 16    SPL_TeleportTaverne
        "Teleport",              // 17    SPL_Teleport_3
    
    
        // Kreis 1
        "Light",                // 18    SPL_Light
        "Firebolt",                // 19    SPL_Firebolt
    
    
        // Kreis 2
        "Icebolt",                // 20    SPL_Icebolt
    
    
        // Kreis 1
        "Heal",                  // 21    SPL_LightHeal
        "SummonGoblinSkeleton",    // 22    SPL_SummonGoblinSkeleton
    
    
        // Kreis 2
        "InstantFireball",      // 23    SPL_InstantFireball
    
    
        // Kreis 1
        "Zap",                    // 24    SPL_Zap
    
    
        // Kreis 2
        "SummonWolf",              // 25    SPL_SummonWolf
        "WindFist",              // 26    SPL_WindFist
        "Sleep",                  // 27    SPL_Sleep
    
    
        // Kreis 3
        "Heal",                  // 28    SPL_MediumHeal
        "LightningFlash",        // 29    SPL_LightningFlash
        "ChargeFireball",          // 30    SPL_ChargeFireball
        "SummonSkeleton",          // 31    SPL_SummonSkeleton
        "Fear",                  // 32    SPL_Fear
        "Icecube",              // 33    SPL_IceCube
    
    
        // Kreis 4
        "ChargeZap",              // 34    SPL_ChargeZap
        "SummonGolem",          // 53    SPL_SummonGolem
        "DestroyUndead",          // 36    SPL_DestroyUndead
        "Pyrokinesis",          // 37    SPL_Pyrokinesis
    
    
        // Kreis 5
        "Firestorm",             // 38    SPL_Firestorm
        "Icewave",              // 39    SPL_IceWave
        "SummonDemon",          // 40    SPL_SummonDemon
        "Heal",                  // 41    SPL_FullHeal
    
    
        // Kreis 6
        "Firerain",              // 42    SPL_Firerain
        "BreathOfDeath",          // 43    SPL_BreathOfDeath
        "MassDeath",              // 44    SPL_MassDeath
        "ArmyOfDarkness",         // 45    SPL_ArmyOfDarkness
        "Shrink",                  // 46    SPL_Shrink
    
    
        // Scrolls
        "Transform",              // 47    SPL_TrfSheep
        "Transform",              // 48    SPL_TrfScavenger
        "Transform",              // 49    SPL_TrfGiantRat
        "Transform",              // 50    SPL_TrfGiantBug
        "Transform",              // 51    SPL_TrfWolf
        "Transform",              // 52    SPL_TrfWaran
        "Transform",              // 53    SPL_TrfSnapper
        "Transform",              // 54    SPL_TrfWarg
        "Transform",              // 55    SPL_TrfFireWaran
        "Transform",              // 56    SPL_TrfLurker
        "Transform",              // 57    SPL_TrfShadowbeast
        "Transform",              // 58    SPL_TrfDragonSnapper
        "Charm",                // 59    SPL_Charm
    
    
        // Kreis 5
        "MasterOfDisaster",     // 60    SPL_MasterOfDisaster
    
    
        // ???
        "Deathbolt",              // 61    SPL_Deathbolt
        "Deathball",             // 62    SPL_Deathball
        "Concussionbolt",         // 63    SPL_Concussionbolt
        //Eigene Zauber
        "SummonSkeletonLord",    // 64 SPL_SummonSkeletonLord
         "TrfBloodfly",                  // 65    SPL_TrfBloodfly
        "Light",                  // 66    SPL_Reserved_66
        "Light",                // 67    SPL_Reserved_67
        "Light",                // 68    SPL_Reserved_68
        "Light",                // 69    SPL_Reserved_69
    
    
        // Magick (Wasser)
        "Thunderstorm",            // 70    SPL_Thunderstorm
        "Whirlwind",            // 71    SPL_Whirlwind
        "Waterfist",            // 72    SPL_WaterFist
        "IceLance",                // 73    SPL_IceLance
        "Sleep",                // 74    SPL_Inflate
        "Geyser",                // 75    SPL_Geyser
        "Firerain",                // 76    SPL_Waterwall
        "Light",                // 77    SPL_Reserved_77
        "Light",                // 78    SPL_Reserved_78
        "Light",                // 79    SPL_Reserved_79
    
    
        // Magick (Maya)
        "Fear",                    // 80    SPL_Plague
        "Swarm",                // 81    SPL_Swarm
        "Greententacle",        // 82    SPL_GreenTentacle
        "Firerain",                // 83    SPL_Earthquake
        "SummonGuardian",        // 84    SPL_SummonGuardian
        "Energyball",            // 85    SPL_Energyball
        "SuckEnergy",            // 86    SPL_SuckEnergy
        "Skull",                // 87    SPL_Skull
        "SummonZombie",            // 88    SPL_SummonZombie
        "SummonMud",            // 89    SPL_SummonMud
    
    
        // ...
        "Light",                // 90    SPL_Reserved_90
        "Light",                // 91    SPL_Reserved_91
        "Light",                // 92    SPL_Reserved_92
        "Light",                // 93    SPL_Reserved_93
        "Light",                // 94    SPL_Reserved_94
        "Light",                // 95    SPL_Reserved_95
        "Light",                // 96    SPL_Reserved_96
        "Light",                // 97    SPL_Reserved_97
        "Light",                // 98    SPL_Reserved_98
        "Light"                    // 99    SPL_Reserved_99
    
    
        
    };
    
    
    
    
    ////////////////////////////////////////////////////////////////////////////////
    //
    //    Spells: Animationskürzel (Array)
    //
    
    
    const string spellFxAniLetters[MAX_SPELL] =
    {
        // Paladin-Runen
        "SLE",                    // 0     SPL_PalLight
        "HEA",                  // 1     SPL_PalLightHeal
        "FBT",                  // 2     SPL_PalHolyBolt
        "HEA",                  // 3     SPL_PalMediumHeal
        "FBT",                    // 4     SPL_PalRepelEvil
        "HEA",                  // 5     SPL_PalFullHeal
        "FIB",                  // 6     SPL_PalDestroyEvil
    
    
        // Teleport-Runen
        "HEA",                  // 7    SPL_PalTeleportSecret
        "HEA",                  // 8    SPL_TeleportSeaport
        "HEA",                  // 9    SPL_TeleportMonastery
        "HEA",                  // 10    SPL_TeleportFarm
        "HEA",                  // 11    SPL_TeleportXardas
        "HEA",                  // 12    SPL_TeleportPassNW
        "HEA",                  // 13    SPL_TeleportPassOW
        "HEA",                  // 14    SPL_TeleportOC
        "HEA",                  // 15    SPL_TeleportOWDemonTower
        "HEA",                  // 16    SPL_TeleportTaverne
        "HEA",                  // 17    SPL_Teleport_3
    
    
        // Kreis 1
        "SLE",                    // 18    SPL_Light
        "FBT",                    // 19    SPL_Firebolt
    
    
        // Kreis 2
        "FBT",                    // 20    SPL_Icebolt
    
    
        // Kreis 1
        "HEA",                  // 21    SPL_LightHeal
        "SUM",                  // 22    SPL_SummonGoblinSkeleton
    
    
        // Kreis 2
        "FBT",                  // 23    SPL_InstantFireball
    
    
        // Kreis 1
        "FBT",                    // 24    SPL_Zap
    
    
        // Kreis 2
        "SUM",                  // 25    SPL_SummonWolf
        "WND",                  // 26    SPL_WindFist
        "SLE",                  // 27    SPL_Sleep
    
    
        // Kreis 3
        "HEA",                  // 28    SPL_MediumHeal
        "WND",                  // 29    SPL_LightningFlash
        "FIB",                  // 30    SPL_ChargeFireball
        "SUM",                  // 31    SPL_SummonSkeleton
        "FEA",                  // 32    SPL_Fear
        "FRZ",                  // 33    SPL_IceCube
        "FIB",                  // 34    SPL_ChargeZap
    
    
        // Kreis 4
        "SUM",                  // 35    SPL_SummonGolem
        "FIB",                  // 36    SPL_DestroyUndead
        "FIB",                  // 37    SPL_Pyrokinesis
    
    
        // Kreis 5
        "FIB",                  // 38    SPL_Firestorm
        "FEA",                  // 39    SPL_IceWave
        "SUM",                  // 40    SPL_SummonDemon
        "HEA",                  // 41    SPL_FullHeal
    
    
        // Kreis 6
        "FEA",                  // 42    SPL_Firerain
        "FIB",                  // 43    SPL_BreathOfDeath
        "MSD",                  // 44    SPL_MassDeath
        "SUM",                  // 45    SPL_ArmyOfDarkness
        "SLE",                  // 46    SPL_Shrink
    
    
        // Scrolls
        "TRF",                  // 47    SPL_TrfSheep
        "TRF",                  // 48    SPL_TrfScavenger
        "TRF",                  // 49    SPL_TrfGiantRat
        "TRF",                  // 50    SPL_TrfGiantBug
        "TRF",                  // 51    SPL_TrfWolf
        "TRF",                  // 52    SPL_TrfWaran
        "TRF",                  // 53    SPL_TrfSnapper
        "TRF",                  // 54    SPL_TrfWarg
        "TRF",                  // 55    SPL_TrfFireWaran
        "TRF",                  // 56    SPL_TrfLurker
        "TRF",                  // 57    SPL_TrfShadowbeast
        "TRF",                  // 58    SPL_TrfDragonSnapper
        "FIB",                    // 59    SPL_Charm
    
    
        // Kreis 5
        "FIB",                  // 60    SPL_MasterOfDisaster
    
    
        // ???
        "FBT",                  // 61    SPL_Deathbolt
        "FBT",                  // 62    SPL_Deathball
        "FBT",                  // 63    SPL_Concussionbolt
        //Eigene Zauber
        "SUM",                  // 64    SPL_SummonSkeletonLord
         "TRF",                  // 65    SPL_TrfBloodfly
    Spell_ProcessMana.d
    Code:
    if (activeSpell == SPL_TrfBloodfly            )    {    return    Spell_Logic_TrfBloodfly     (manaInvested);    };
    VisualFxInst.d
    Code:
    INSTANCE spellFX_TrfBloodfly    (CFx_Base_Proto)
    {
            visname_S             = "MFX_Transform_INIT";
            emtrjoriginnode     = "ZS_RIGHTHAND";
            emtrjmode_s         = "fixed";
            emtrjloopmode_s     = "NONE";
            emtrjeasefunc_s     = "LINEAR";
            emtrjdynupdatedelay = 5000;
            };
    
    
            instance spellFX_TrfBloodfly_KEY_INVEST_0        (C_ParticleFXEmitKey)
            {
                    //visname_S             = "MFX_Transform_ORIGIN";
                    emCreateFXID        = "spellFX_Transform_ORIGIN";
            };
    
    
            instance spellFX_TrfBloodfly_KEY_INVEST_1        (C_ParticleFXEmitKey)
            {
                    //visname_S             = "MFX_Transform_ORIGIN";
                    emCreateFXID        = "spellFX_Transform_ORIGIN";
            };
    
    
            instance spellFX_TrfBloodfly_KEY_CAST            (C_ParticleFXEmitKey)
            {
                    pfx_ppsisloopingChg = 1;
                    emCreateFXID        = "spellFX_Transform_BLEND";
    };
    instance spellFX_TrfBloodfly_ORIGIN    (CFx_Base_Proto)
    {
            visname_S                 = "MFX_Transform_ORIGIN";
            emtrjoriginnode         = "BIP01";
            emtrjmode_s             = "FIXED";
            emtrjdynupdatedelay     = 0;
            emselfrotvel_s             = "0 0 50";
    };
    
    
    instance spellFX_TrfBloodfly_BLEND    (CFx_Base_Proto)
    {
            visname_S                 = "MFX_Transform_BLEND";
            emtrjmode_s             = "FIXED";
            emtrjoriginnode         = "ZS_RIGHTHAND";
            emtrjdynupdatedelay     = 0;
            sfxid                    = "MFX_Transform_Cast";
            sfxisambient            = 1;
    
    
    };
    Ich habe mal alles reingepostet, vielleicht kann mir jemand weiter helfen

  2. Beiträge anzeigen #2 Zitieren
    Knight Avatar von Draxes
    Registriert seit
    Aug 2007
    Ort
    Mainz
    Beiträge
    1.920
     
    Draxes ist offline
    Soweit ich weiß, sind die Verwandlungsrunen von der Engine abhängig. Heißt: Du kannst keine neuen Verwandlungsrunen nach der selben Methode hinzufügen, sondern musst entweder eine andere Strategie fahren (sehr aufwendig) oder einen existierenden Verwandlungszauber verändern, indem du die Zeile Npc_SetActiveSpellInfo(self, Bloodfly); des existierenden Zaubers veränderst und dann natürlich den Namen des Zaubers, neue Manakosten etc. entsprechend anpasst.

  3. Beiträge anzeigen #3 Zitieren
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    evt. auch interessant (einen Verwandlungzauber zu einem "allgemeinen" Verwandlungszauber umbauen für unbegrenzt viele neue Verwandlungen):
    https://forum.worldofplayers.de/foru...1#post13538517

  4. Beiträge anzeigen #4 Zitieren
    Neuling
    Registriert seit
    Dec 2017
    Beiträge
    7
     
    Ehrenmann ist offline
    Zitat Zitat von Draxes Beitrag anzeigen
    Soweit ich weiß, sind die Verwandlungsrunen von der Engine abhängig. Heißt: Du kannst keine neuen Verwandlungsrunen nach der selben Methode hinzufügen, sondern musst entweder eine andere Strategie fahren (sehr aufwendig) oder einen existierenden Verwandlungszauber verändern, indem du die Zeile Npc_SetActiveSpellInfo(self, Bloodfly); des existierenden Zaubers veränderst und dann natürlich den Namen des Zaubers, neue Manakosten etc. entsprechend anpasst.
    Ja so hat es Funktioniert, Danke

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide