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 3 von 3
  1. Beiträge anzeigen #1 Zitieren
    Schwertmeister Avatar von Inspirate
    Registriert seit
    Aug 2012
    Beiträge
    959
     
    Inspirate ist offline

    Wie kann ich das Öffnen von Büchern im Inventar steuern?

    Folgendes...

    Ich habe im Inventar das Buch "Der Zweite Kreis". Ich habe aber nicht das Buch "Der Erste Kreis" gelesen.

    Nun soll folgendes passieren...

    Sobald im Inventar versucht wird das Buch "Der zweite Kreis" zu lesen passiert nichts außer das ein dämonisches Fluchen zu hören ist bei jedem Öffnungsversuch. Habe ich das Buch "Der Erste Kreis" bereits gelesen soll sich "Der weite Kreis" öffnen.

    Kann ich das auf diese einfache Art für alle weiteren Kreise handhaben?

    Code:
    /*********************************************************************************************                                 Der Zweite Kreis der Magie                               **
    *******************************************************************************************/
    
    
    INSTANCE ItWr_Book_Circle_02(C_Item)
    {
        
    //    name                     =    "The Second Circle";
        name                     =    "Der Zweite Kreis";
        
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    100;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
            
    //    description            = "The Second Circle of Magic";
        description            = "Der Zweite Kreis der Magie";
        
        TEXT[5]                = NAME_Value;
        COUNT[5]            = value;
        
        FUNC VOID UseItWr_Book_Circle_02()
        {   
    
        if (WISSEN_BOOK_CIRCLE_01 == FALSE)
        { 
            Snd_Play("MYSTERY_05")
            RETURN;
        };
    
        var int nDocID;
        var string Text_1;
    
    
        if (WISSEN_BOOK_CIRCLE_02 == FALSE) && Npc_IsPlayer(self) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 2))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
                    
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,2);
            PrintScreen("Mana +2",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            WISSEN_BOOK_CIRCLE_02 = TRUE;
        };

    Hab es geändert. THX
    Geändert von Inspirate (14.09.2020 um 16:29 Uhr) Grund: elseLSE

  2. Beiträge anzeigen #2 Zitieren
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    15.205
     
    Milky-Way ist offline
    Kannst du in die Funktion UseItWr_Book_Circle_02() zu Beginn eine Anfrage einbauen
    Code:
    if Kreis1nichtgelesen
    {
        Sound
        Return;
    };
    Dann sollte der Code, der das Buch anzeigt, nicht ausgeführt werden?
    Ob das vorherige Buch bereits gelesen wurde, einfach in einer Variable speichern, die auf true gesetzt wird, sobald man das Buch gelesen hat (in der UseItWr_Book_Circle_01())

  3. Beiträge anzeigen #3 Zitieren
    Schwertmeister Avatar von Inspirate
    Registriert seit
    Aug 2012
    Beiträge
    959
     
    Inspirate ist offline
    Vielen Dank

    edit
    Das ist echt ein cooles Feature. Hier ist mal das komplette script für alle 6 Kreise und dem Buch PracticeMagic. Ist bestimmt zu gebrauchen.

    Code:
    /******************************************************************************************/
    
    VAR INT WISSEN_BOOK_CIRCLE_01;
    VAR INT WISSEN_BOOK_CIRCLE_02;
    VAR INT WISSEN_BOOK_CIRCLE_03;
    VAR INT WISSEN_BOOK_CIRCLE_04;
    VAR INT WISSEN_BOOK_CIRCLE_05;
    VAR INT WISSEN_BOOK_CIRCLE_06;
    
    
    VAR INT WISSEN_PRACTICEMAGIC;
    
    
    /******************************************************************************************/
    INSTANCE ItWr_Book_Circle_01(C_Item)
    {    
    
    
    //    name                     =    "The First Circle";
        name                     =    "Der Erste Kreis";
        
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    50;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
            
    //    description            = "The First Circle of Magic";
        description            = "Der Erste Kreis der Magie";
        
        TEXT[5]                =     NAME_Value;
        COUNT[5]            =     value;
        on_state[0]            =    UseItWr_Book_Circle_01;
    };
    
    
        FUNC VOID UseItWr_Book_Circle_01()
        { 
        
        var int nDocID;
        var string text;
        var string Text_1;
        var string Text_2;
        
        if ((WISSEN_BOOK_CIRCLE_01 == FALSE) && Npc_IsPlayer(self)) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 1))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
                    
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,1);
            PrintScreen("Mana +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
    
    
            WISSEN_BOOK_CIRCLE_01 = TRUE;
        };    
    
    
        text     = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_LIGHT));
        Text_1     = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_THUNDERBOLT));
        Text_2     = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_FIREBOLT));
        
    
    
            
            nDocID =     Doc_Create        ();                                        // DocManager 
                        Doc_SetPages    ( nDocID,  2 );                         //wieviel Pages
    
    
                        Doc_SetPage     ( nDocID,  0, "Book_Mage_L.tga",     0         ); 
                        Doc_SetPage     ( nDocID,  1, "Book_Mage_R.tga",    0        );
                        
                        //1.Seite
                          
                          Doc_SetFont     ( nDocID, -1, "font_15_book.tga"                   );     // -1 -> all pages 
                          Doc_SetMargins    ( nDocID,  0,  275, 20, 30, 20, 1           );  //  0 -> margins are in pixels
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The First Circle");
                        Doc_PrintLine    ( nDocID,  0, "Erstes Kreis der Magie");
    
    
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        Doc_SetFont     ( nDocID, -1, "font_10_book.TGA"                   );     // -1 -> all pages 
                        Doc_PrintLine    ( nDocID,  0, "");
    
    
    //                    Doc_PrintLines    ( nDocID,  0,"When the gods gave mankind the gift of magic, they taught them to make magic runes as well. The servants of the gods have taken over the glorious task of creating these artifacts of divine power and using them. The magician's Circle determines which kind of magic he is able to understand and to use. ");
                        Doc_PrintLines    ( nDocID,  0, "Als die Götter den Menschen die Fähigkeit zur Magie schenkten, schenkten sie ihnen auch das Wissen magische Runen herzustellen. Die Diener der Götter haben die ehrenvolle Aufgabe übernommen, diese Artefakte göttlicher Macht zu erschaffen und zu benutzen, wobei der Kreis des Magiers bestimmt, welche Zauber er in der Lage ist zu verstehen und anzuwenden.");
                        
                    
    
    
                        //2.Seite
                        Doc_SetMargins    ( nDocID, -1, 30, 20, 275, 20, 1           );  //  0 -> margins are in pixels (Position des Textes von den Ränder des TGAs aus, links,oben,rechts,unten)
                        Doc_PrintLine    ( nDocID,  1, "");
    
    
    //                    Doc_PrintLine    ( nDocID,  1,"Light");
                        Doc_PrintLine    ( nDocID,  1,"Licht");
                        
                        Doc_PrintLine    ( nDocID,  1,"---------------");
    
    
    //                    Doc_PrintLines    ( nDocID,  1,"Innos' first gift to mankind. A shining ball appears over the magician.");
                        Doc_PrintLines    ( nDocID,  1,"Das erste Geschenk Innos an die Menschen. Eine hell strahlende Kugel wird über dem Magier erzeugt.");
    
    
    
    
                        Doc_PrintLine    ( nDocID,  1,  Text);
                        Doc_PrintLine    ( nDocID,  1,  "" );
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Ice Bolt");
                        Doc_PrintLine    ( nDocID,  1, "Eispfeil");
                        
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"A missile of magic energy.");
                        Doc_PrintLines    ( nDocID,  1, "Ein Geschoss aus magischer Energie.");
    
    
    
    
                        Doc_PrintLine    ( nDocID,  1,  Text_1);
                        Doc_PrintLine    ( nDocID,  1, "");
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Fire Bolt");
                        Doc_PrintLine    ( nDocID,  1, "Feuerpfeil");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"A missile of magic Fire.");
                        Doc_PrintLines    ( nDocID,  1, "Ein Geschoss aus magischem Feuer.");
    
    
                        Doc_PrintLine    ( nDocID,  1,  Text_2);
                        Doc_Show        ( nDocID );
        };
        
    /*******************************************************************************************
    **                                 Der Zweite Kreis der Magie                               **
    *******************************************************************************************/
    
    
    INSTANCE ItWr_Book_Circle_02(C_Item)
    {
        
    //    name                     =    "The Second Circle";
        name                     =    "Der Zweite Kreis";
        
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    100;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
            
    //    description            = "The Second Circle of Magic";
        description            = "Der Zweite Kreis der Magie";
        
        TEXT[5]                = NAME_Value;
        COUNT[5]            = value;
    
    
        on_state[0]            =    UseItWr_Book_Circle_02;
    
    
    };
    
    
        FUNC VOID UseItWr_Book_Circle_02()
        {   
    
    
            if(WISSEN_BOOK_CIRCLE_01 == FALSE)
            { 
                Snd_Play("MYSTERY_05")
                RETURN;
            }; 
    
    
        var int nDocID;
        var string Text_1;
    
    
        if ((WISSEN_BOOK_CIRCLE_02 == FALSE) && Npc_IsPlayer(self)) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 2))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
                    
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,2);
            PrintScreen("Mana +2",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            WISSEN_BOOK_CIRCLE_02 = TRUE;
        };
    
    
        Text_1 = ConcatStrings(NAME_Manakosten,IntToString(SPL_HEALING_HP_PER_MP));
            
        
            nDocID =     Doc_Create        ()              ;                                // DocManager 
                        Doc_SetPages    ( nDocID,  2 );                         //wieviel Pages
    
    
                        Doc_SetPage     ( nDocID,  0, "Book_Mage_L.tga",     0         ); 
                        Doc_SetPage     ( nDocID,  1, "Book_Mage_R.tga",    0        );
                        
                        //1.Seite
                          
                          Doc_SetFont     ( nDocID, -1, "font_15_book.tga"                   );     // -1 -> all pages 
                          Doc_SetMargins    ( nDocID,  0,  275, 20, 30, 20, 1           );  //  0 -> margins are in pixels
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The Second Circle");
                        Doc_PrintLine    ( nDocID,  0,"Zweiter Kreis der Magie");
    
    
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        Doc_SetFont     ( nDocID, -1, "font_10_book.TGA"                   );     // -1 -> all pages 
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        
    //                    Doc_PrintLines    ( nDocID,  0,"All magic originates from the magic powers of the user. The user is called a magician.");
                        Doc_PrintLines    ( nDocID,  0, "Alle Zauber werden durch die magische Energie des Anwenders ausgelöst. Der Anwender wird als Magier bezeichnet.");
    
    
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        
    //                    Doc_PrintLines    ( nDocID,  0,"Every activation of a magic spell costs the magician a portion of his powers. These powers are referred to as mana.");
                        Doc_PrintLines    ( nDocID,  0, "Jede Aktivierung eines Zaubers kostet den Magier einen Teil seiner Kraft. Diese Kraft wird als Mana bezeichnet.");
    
    
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        
                        
                        //2.Seite
                        
                        Doc_SetMargins    ( nDocID, -1, 30, 20, 275, 20, 1           );  //  0 -> margins are in pixels (Position des Textes von den Ränder des TGAs aus, links,oben,rechts,unten)
                        Doc_PrintLine    ( nDocID,  1, "");
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Healing");
                        Doc_PrintLine    ( nDocID,  1, "Heilung");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"Adanos saw that the humans died and that it was the will of Beliar that it should be that way. And he spoke: I will not oppose the will of Beliar, but I shall give mankind the power of healing."); 
                        Doc_PrintLines    ( nDocID,  1, "Adanos sah das die Menschen starben und es der Wille Beliars war. Und er sprach: Ich stelle mich nicht gegen den Willen Beliars, doch gebe ich den Menschen die Macht der Heilung."); 
    
    
                        Doc_PrintLine    ( nDocID,  1, "");
                        Doc_PrintLine    ( nDocID,  1, "");
                    
    //                    Doc_PrintLines    ( nDocID,  1,"This spell has the power of healing the magician.");
                        Doc_PrintLines    ( nDocID,  1, "Dieser Zauber birgt die Macht, den Magier zu heilen.");
    
    
    //                    Doc_PrintLine    ( nDocID,  1,"Investment spells");
                        Doc_PrintLine    ( nDocID,  1, "Aufrechterhaltungszauber");
                        
                        Doc_PrintLine    ( nDocID,  1,  Text_1);
                        Doc_PrintLine    ( nDocID,  1, "");
                        Doc_PrintLine    ( nDocID,  1, "");
                        
                        Doc_Show        ( nDocID );
    };
                                            
    /******************************************************************************************/
    INSTANCE ItWr_Book_Circle_03 (C_Item)
    {
        
    //    name                     =    "The Third Circle";
        name                     =    "Der Dritte Kreis";
    
    
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    150;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
        
    //    description            = "The Third Circle of Magic";
        description            = "Der Dritte Kreis der Magie";
        
        TEXT[5]                = NAME_Value;
        COUNT[5]            = value;
        on_state[0]            =    UseItWr_Book_Circle_03;
        
        
    };
        FUNC VOID UseItWr_Book_Circle_03()
        {   
        
            if(WISSEN_BOOK_CIRCLE_02 == FALSE)
            { 
            Snd_Play("MYSTERY_05")
            RETURN;
            }; 
            
        var int nDocID;
        var string text;
        var string Text_1;
        var string Text_2;
    
    
        if ((WISSEN_BOOK_CIRCLE_03 == FALSE) && Npc_IsPlayer(self)) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 3))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,3);
            PrintScreen("Mana +3",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            WISSEN_BOOK_CIRCLE_03 = TRUE;
        };
    
    
        text = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_FIREBALL));
        Text_1 = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_ICECUBE));
        Text_2 = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_THUNDERBALL));
    
    
            nDocID =     Doc_Create        ()              ;                                // DocManager 
                        Doc_SetPages    ( nDocID,  2 );                         //wieviel Pages
    
    
                        Doc_SetPage     ( nDocID,  0, "Book_Mage_L.tga",     0         ); 
                        Doc_SetPage     ( nDocID,  1, "Book_Mage_R.tga",    0        );
                        
                        //1.Seite
                          
                          Doc_SetFont     ( nDocID, -1, "font_15_book.tga"                   );     // -1 -> all pages 
                          Doc_SetMargins    ( nDocID,  0,  275, 20, 30, 20, 1           );  //  0 -> margins are in pixels
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The Third Circle");
                        Doc_PrintLine    ( nDocID,  0, "Dritter Kreis der Magie");
                        
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        Doc_SetFont     ( nDocID, -1, "font_10_book.TGA"                   );     // -1 -> all pages 
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        
    //                    Doc_PrintLines    ( nDocID,  0,"Some spells can be charged with a certain amount of magic power. They are also known as charging spells.");
                        Doc_PrintLines    ( nDocID,  0, "Manche Zauber können mit einer bestimmten größeren Menge von magischer Energie gespeist werden. Diese werden auch Aufladungszauber genannt.");
    
    
                        Doc_PrintLine    ( nDocID,  0, "");
                        
    //                    Doc_PrintLines    ( nDocID,  0,"Other spells remain in force for as long as the magician lets his mana flow into them. These spells are referred to as investment spells.");
                        Doc_PrintLines    ( nDocID,  0, "Andere Zauber werden aufrechterhalten solange der Magier sein Mana in diesen Spruch einfliessen lässt. Solche Zauber nennt man Aufrechterhaltungszauber.");
    
    
                        //2.Seite
                        
                        Doc_SetMargins    ( nDocID, -1, 30, 20, 275, 20, 1           );  //  0 -> margins are in pixels (Position des Textes von den Ränder des TGAs aus, links,oben,rechts,unten)
                        Doc_PrintLine    ( nDocID,  1, "");
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Fireball");
                        Doc_PrintLine    ( nDocID,  1, "Feuerball");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"Innos' second gift to the children of Fire. A ball of fire, which burns its victims.");
                        Doc_PrintLines    ( nDocID,  1, "Das zweite Geschenk Innos an die Kinder des Feuers. Ein Ball aus Feuer der seine Opfer verbrennt");
    
    
    //                    Doc_PrintLine    ( nDocID,  1,"Charging Spell");
                        Doc_PrintLine    ( nDocID,  1, "Aufladungszauber");
                        
                        Doc_PrintLine    ( nDocID,  1, Text);
                        Doc_PrintLine    ( nDocID,  1, "");
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Ice Block");
                        Doc_PrintLine    ( nDocID,  1, "Eisblock");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"The victim is enclosed in a block of ice. A spell from the temple of the Magicians of Water.");
                        Doc_PrintLines    ( nDocID,  1, "Das Opfer wird in einen Eisblock eingefroren. Ein Zauber aus dem Tempel der Wassermagier");
    
    
                        Doc_PrintLine    ( nDocID,  1, "");
                        Doc_PrintLine    ( nDocID,  1, Text_1);
                        Doc_PrintLine    ( nDocID,  1, "");
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Ball Lightning");
                        Doc_PrintLine    ( nDocID,  1, "Kugelblitz");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"A ball of magic power.");
                        Doc_PrintLines    ( nDocID,  1, "Eine Kugel, geschaffen aus magischer Energie.");
    
    
                        Doc_PrintLine    ( nDocID,  1,  Text_2);
                        Doc_Show        ( nDocID );
    };
    
    
    /******************************************************************************************/
    INSTANCE ItWr_Book_Circle_04 (C_Item)
    {
        
    //    name                     =    "The Fourth Circle";
        name                     =    "Der Vierte Kreis";
    
    
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    200;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
        
    //    description            = "The Fourth Circle of Magic";
        description            = "Der Vierte Kreis der Magie";
            
        TEXT[5]                = NAME_Value;
        COUNT[5]            = value;
        on_state[0]                =    UseItWr_Book_Circle_04;
        
        
    };
        FUNC VOID UseItWr_Book_Circle_04()
        {  
        
            if(WISSEN_BOOK_CIRCLE_03 == FALSE)
            { 
            Snd_Play("MYSTERY_05")
            RETURN;
            };
            
        var int nDocID;
        var string text;
        var string Text_1;
        var string Text_2;
        
        if ((WISSEN_BOOK_CIRCLE_04 == FALSE) && Npc_IsPlayer(self)) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 4))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,4);
            PrintScreen("Mana +4",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            WISSEN_BOOK_CIRCLE_04 = TRUE;
    
    
        };
        text = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_FIRESTORM));
        Text_1 = ConcatStrings(NAME_Manakosten,IntToString(SPL_ZAPPED_DAMAGE_PER_SEC));
        Text_2 = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_DESTROYUNDEAD));
    
    
            nDocID =     Doc_Create        ()              ;                                // DocManager 
                        Doc_SetPages    ( nDocID,  2 );                         //wieviel Pages
    
    
                        Doc_SetPage     ( nDocID,  0, "Book_Mage_L.tga",     0         ); 
                        Doc_SetPage     ( nDocID,  1, "Book_Mage_R.tga",    0        );
                        
                        //1.Seite
                          
                          Doc_SetFont     ( nDocID, -1, "font_15_book.tga"                   );     // -1 -> all pages 
                          Doc_SetMargins    ( nDocID,  0,  275, 20, 30, 20, 1           );  //  0 -> margins are in pixels
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The Fourth Circle");
                        Doc_PrintLine    ( nDocID,  0, "Vierter Kreis der Magie");
    
    
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        Doc_SetFont     ( nDocID, -1, "font_10_book.TGA"                   );     // -1 -> all pages 
                        Doc_PrintLine    ( nDocID,  0, "");
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The Magic");
                        Doc_PrintLine    ( nDocID,  0, "Die Magie ");
                        
    //                    Doc_PrintLine    ( nDocID,  0,"of Teleportation");
                        Doc_PrintLine    ( nDocID,  0, "der Teleportation");
                        
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
    
    
                        Doc_PrintLines    ( nDocID,  0,"The special feature of these magic formulas is that, although they are bound in runes, they can be cast by anybody with magic powers. The magic of these formulas can be activated at once. There are no restrictions to the teleportation spell.");
                        Doc_PrintLines    ( nDocID,  0, "Das besondere an diesen magischen Formeln ist, das sie, obwohl als Runen geschaffen, von jedem der magische Energie in sich trägt gesprochen werden können. Die Magie, die diese Formeln umgibt, kann sofort aktiviert werden. Es gibt keine Einschränkungen für Teleportationszauber.");
                        
    
    
                        //2.Seite
    
    
                        Doc_SetMargins    ( nDocID, -1, 30, 20, 275, 20, 1           );  //  0 -> margins are in pixels (Position des Textes von den Ränder des TGAs aus, links,oben,rechts,unten)
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Storm of Fire");
                        Doc_PrintLine    ( nDocID,  1, "Feuersturm    ");
                                            
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"Like the fireball, this spell affects one foe, but then leaps to other foes as well.");
                        Doc_PrintLines    ( nDocID,  1, "Ähnlich dem Feuerball wirkt dieser Zauber auf einen Gegner, springt von dort aus jedoch auf weitere Gegner über.");
    
    
    //                    Doc_PrintLine    ( nDocID,  1,"Charging spell");
                        Doc_PrintLine    ( nDocID,  1, "Aufladungszauber");
    
    
                        Doc_PrintLine    ( nDocID,  1, "");
                        Doc_PrintLine    ( nDocID,  1, Text);
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Chain Lightning");
                        Doc_PrintLine    ( nDocID,  1, "Blitz");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"The spell is leaping to more targets, the longer it is working. The power of lighning is hard to control. Thus, the caster himself may become a target.");
                        Doc_PrintLines    ( nDocID,  1, "Der Zauber springt auf mehrere Opfer über. Die Kraft des Blitzes ist schwer zu kontrollieren so das der Magier selbst Opfer werden kann");
    
    
                        Doc_PrintLine    ( nDocID,  1,  Text_1);
                        Doc_PrintLine    ( nDocID,  1, "");    
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Death to the Undead");
                        Doc_PrintLine    ( nDocID,  1, "Untote vernichten");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"This spell banishes undead creatures of darkness.");    
                        Doc_PrintLines    ( nDocID,  1, "Die Geschöpfe der Finsternis werden mit diesem Zauber verbannt.");    
    
    
                        Doc_PrintLine    ( nDocID,  1, Text_2);
                        
                        Doc_Show        ( nDocID );
        };
    
    
    /******************************************************************************************/
    INSTANCE  ItWr_Book_Circle_05(C_Item)
    {
    
    
    //    name                     =    "The Fifth Circle";
        name                     =    "Der Fünfte Kreis";
    
    
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    250;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
        
    //    description                = "The Fifth Circle of Magic";
        description                = "Der Fünfte Kreis der Magie";    
        
        TEXT[5]                = NAME_Value;
        COUNT[5]            = value;
        on_state[0]            =    UseItWr_Book_Circle_05;
        
        
    };
        FUNC VOID UseItWr_Book_Circle_05()
        {   
        
            if(WISSEN_BOOK_CIRCLE_04 == FALSE)
            { 
            Snd_Play("MYSTERY_05")
            RETURN;
            };
    
    
        var int nDocID;
        var string Text_1;
        var string Text_2;
    
    
        if ((WISSEN_BOOK_CIRCLE_05 == FALSE) && Npc_IsPlayer(self)) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 5))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,5);
            PrintScreen("Mana +5",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            WISSEN_BOOK_CIRCLE_05 = TRUE;
        };
    
    
        Text_1 = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_FIRERAIN));
        Text_2 = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_ICEWAVE));
    
    
            nDocID =     Doc_Create        ()              ;                                // DocManager 
                        Doc_SetPages    ( nDocID,  2 );                         //wieviel Pages
    
    
                        Doc_SetPage     ( nDocID,  0, "Book_Mage_L.tga",     0         ); 
                        Doc_SetPage     ( nDocID,  1, "Book_Mage_R.tga",    0        );
                        
                        //1.Seite
                          
                          Doc_SetFont     ( nDocID, -1, "font_15_book.tga"                   );     // -1 -> all pages 
                          Doc_SetMargins    ( nDocID,  0,  275, 20, 30, 20, 1           );  //  0 -> margins are in pixels
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The Fifth Circle");
                        Doc_PrintLine    ( nDocID,  0, "Fünfter Kreis der Magie");
    
    
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        Doc_SetFont     ( nDocID, -1, "font_10_book.TGA"                   );     // -1 -> all pages 
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        
    //                    Doc_PrintLine    ( nDocID,  0,"Rain of Fire");
                        Doc_PrintLine    ( nDocID,  0, "Feuerregen");
    
    
                        Doc_PrintLine    ( nDocID,  0,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  0,"The power of divine Fire hits every creature within range of the magician.");
                        Doc_PrintLines    ( nDocID,  0, "Die Macht des göttlichen Feuers trifft jedes Lebewesen im Wirkungsbreich des Magiers.");
    
    
                        Doc_PrintLine    ( nDocID,  0, Text_1);                    
                        
                        
                        //2.Seite
                        
                        Doc_SetMargins    ( nDocID, -1, 30, 20, 275, 20, 1           );  //  0 -> margins are in pixels (Position des Textes von den Ränder des TGAs aus, links,oben,rechts,unten)
                        Doc_PrintLine    ( nDocID,  1, "");
                        
    //                    Doc_PrintLine    ( nDocID,  1,"Wave of Ice");
                        Doc_PrintLine    ( nDocID,  1, "Eiswelle    ");
    
    
                        Doc_PrintLine    ( nDocID,  1,"---------------");
                        
    //                    Doc_PrintLines    ( nDocID,  1,"A magic Wave of Ice extends over any foes and freezes them for a short period of time. During this period, the victims are paralyzed and damaged. ");
                        Doc_PrintLines    ( nDocID,  1, "Ein Feld aus magischem Eis erstreckt sich über alle Gegner und friert diese für einen kurzen Zeitraum ein. Während dieser Zeit sind die Opfer bewegungsunfähig und erleiden Schaden.");
    
    
    //                    Doc_PrintLines    ( nDocID,  1,"A spell from the temple of the Magicians of Water.");
                        Doc_PrintLines    ( nDocID,  1, "Ein Zauber aus dem Tempel der Wassermagier.");
    
    
                        Doc_PrintLine    ( nDocID,  1, Text_2);
                        Doc_Show        ( nDocID );
    };
    
    
    /******************************************************************************************/
    INSTANCE  ItWr_Book_Circle_06(C_Item)
    {    
        //name                     =    "The Sixth Circle";
        name                     =    "Der Sechste Kreis";
        mainflag                 =    ITEM_KAT_DOCS;
        flags                     =     ITEM_MULTI;
    
    
        value                     =    300;
    
    
        visual                     =    "ItWr_Book_02_03.3ds";
        material                 =    MAT_LEATHER;
    
    
        scemeName                =    "MAP";
    
    
    //    description            = "Sixth Circle of Magic";
        description            = "Der Sechste Kreis der Magie";
            
        TEXT[5]                = NAME_Value;
        COUNT[5]            = value;
        on_state[0]            =    UseItWr_Book_Circle_06;
        
        
    };
        FUNC VOID UseItWr_Book_Circle_06()
        {  
        
            if(WISSEN_BOOK_CIRCLE_05 == FALSE)
            { 
            Snd_Play("MYSTERY_05")
            RETURN;
            };
        
        var int nDocID;
        var string text;
        
        if ((WISSEN_BOOK_CIRCLE_06 == FALSE) && Npc_IsPlayer(self)) //&& (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 6))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,1);
            //PrintScreen("Geschick +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,6);
            PrintScreen("Mana +6",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            WISSEN_BOOK_CIRCLE_06 = TRUE;
        };
        
        text = ConcatStrings(NAME_Manakosten,IntToString(SPL_SENDCAST_BREATHOFDEATH));
                
            nDocID =     Doc_Create        ()              ;                                // DocManager 
                        Doc_SetPages    ( nDocID,  2 );                         //wieviel Pages
    
    
                        Doc_SetPage     ( nDocID,  0, "Book_Mage_L.tga",     0         ); 
                        Doc_SetPage     ( nDocID,  1, "Book_Mage_R.tga",    0        );
                        
                        //1.Seite
                          
                          Doc_SetFont     ( nDocID, -1, "font_15_book.tga"                   );     // -1 -> all pages 
                          Doc_SetMargins    ( nDocID,  0,  275, 20, 30, 20, 1           );  //  0 -> margins are in pixels
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"The Sixth Circle");
                        Doc_PrintLine    ( nDocID,  0, "Sechster Kreis der Magie");
    
    
                        Doc_SetFont     ( nDocID, -1, "font_10_book.TGA"                   );     // -1 -> all pages 
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, "");
    
    
    //                    Doc_PrintLine    ( nDocID,  0,"Breath of Death");
                        Doc_PrintLine    ( nDocID,  0, "Hauch des Todes");
    
    
                        Doc_PrintLine    ( nDocID,  0,"---------------");
    
    
    //                    Doc_PrintLines    ( nDocID,  0,"Beliar's breath. A cloud of destructive air, which may kill any being instantly.");
                        Doc_PrintLines    ( nDocID,  0, "Der Atem Beliars. Eine Wolke aus lebenverschlingendem Nichts, die jedes Wesen augenblicklich töten kann.");
    
    
                        Doc_PrintLine    ( nDocID,  0, "");
                        Doc_PrintLine    ( nDocID,  0, Text);                    
                        
                        
                        //2.Seite
                        
                        Doc_SetMargins    ( nDocID, -1, 30, 20, 275, 20, 1           );  //  0 -> margins are in pixels (Position des Textes von den Ränder des TGAs aus, links,oben,rechts,unten)
                        Doc_PrintLine    ( nDocID,  1, "");
                        Doc_PrintLine    ( nDocID,  1, "");
    
    
    //                    Doc_PrintLine    ( nDocID,  1,"Ring of Death");
                        Doc_PrintLine    ( nDocID,  1, "Ring des Todes");
                        
                        Doc_PrintLine    ( nDocID,  1,"---------------");
    
    
    //                    Doc_PrintLines    ( nDocID,  1,"There are hardly any records about the rune carrying the powers of URIZIEL.");    
                        Doc_PrintLines    ( nDocID,  1, "Nicht viel ist überliefert über die Rune mit der Macht von URIZIEL ");    
    
    
    //                    Doc_PrintLines    ( nDocID,  1,"It is only known that it has Beliar's powers.");
                        Doc_PrintLines    ( nDocID,  1, "Es ist nur soviel bekannt als das sie Beliars Mächte in sich birgt.");
    
    
                        Doc_PrintLine    ( nDocID,  1, "");
                        
                        Doc_Show        ( nDocID );
    };
    
    
    /******************************************************************************************/ 
    instance PRACTICEMAGIC(C_Item)
    {
        name = "Zauberbuch";
        mainflag = ITEM_KAT_DOCS;
        flags = ITEM_MISSION|ITEM_MULTI;
        value = 0;
        visual = "ItWr_Book_02_03.3ds";
        material = MAT_LEATHER;
        scemeName = "MAP";
        on_state[0] = usepracticemagic;
        description = name;
        text[0] = "Verschiedene Zauberformeln zur praktischen ";
        text[1] = "Anwendung der magischen Künste.";
    };
    
    
    
    
    func void usepracticemagic()
    {
    
    
        if((wissen_practicemagic == FALSE) && Npc_IsPlayer(self))
        {
            //B_GiveXP(50);
            //PrintScreen("Erfahrungspunkte +50",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
                    
            //hero.lp = hero.lp + 1;
            //PrintScreen("Lernpunkte +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_DEXTERITY,2);
            //PrintScreen("Geschick +2",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            //Npc_ChangeAttribute(self,ATR_STRENGTH,1);
            //PrintScreen("Stärke +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            //Snd_Play("LevelUp");
            
            Npc_ChangeAttribute(self,ATR_MANA_MAX,1);
            PrintScreen("Mana +1",-1,-1,"FONT_OLD_20_WHITE.TGA",3);
            Snd_Play("LevelUp");
            
            wissen_practicemagic = TRUE;
        };
    
    
        var int magereaktion;
        var int traincounter;
        
        traincounter = traincounter + 1;
        if(traincounter == 10)
        {
            B_BuyAttributePoints (other, ATR_MANA_MAX, 5*LPCOST_ATTRIBUTE_MANA,0);
        };
        magereaktion = Hlp_Random(100);
        if(magereaktion <= 25)
        {
            AI_PlayAni(self,"T_PRACTICEMAGIC");
        }
        else if(magereaktion <= 50)
        {
            AI_PlayAni(self,"T_PRACTICEMAGIC2");
        }
        else if(magereaktion <= 75)
        {
            AI_PlayAni(self,"T_PRACTICEMAGIC3");
        }
        else if(magereaktion <= 100)
        {
            AI_PlayAni(self,"T_PRACTICEMAGIC4");
        };
    };
    
    
    /******************************************************************************************/

    Hier ist das script BOOKS_MAGIC.D

    Es besteht aus den Büchern zu den 6 Kreisen & dem Buch Practicemagic.

    Was macht das script?
    Es kann nur der Reihe nach die Bücher der 6 Kreise gelesen werden und jedes Buch gibt dabei dem Helden Mana in Höhe des gelesenen Kreises. Fehlt ein gelesener Kreis in der Reihe ertönt ein dämonisches Fauchen beim Versuch das Buch ohne Vorgänger zu lesen.
    Geändert von Inspirate (14.09.2020 um 19:51 Uhr)

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