Problemy z wstawianiem pierwszych NPC 199461 279

O temacie

Autor Buła

Zaczęty 24.10.2008 roku

Wyświetleń 199461

Odpowiedzi 279

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Nie!

To znaczy że obydwie postacie mają takie samo id rutyny
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Tab

Tab

Użytkownicy
posty14
Propsy1
  • Użytkownicy
stworzyłem tej postaci  skrypt i było wszystko w porządku tylko mam problem z wpisaniem go do startupa. Bo wyskakuje mi content/story/startup.d unknow identifikater SLD_888_Roderic. Pomoże ktoś?
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Wld_InsertNpc (SLD_888_Roderic      , "Waypoint w świecie");

Tylko zastanawia mnie to że błąd rutyny miał id 1500, a ten Roderic ma id 888
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

MrocznyPaladyn

MrocznyPaladyn

Użytkownicy
posty47
Propsy12
  • Użytkownicy
Kolego a czy ID Twojej postaci wynosi 888 i start Rutyny 888 i rutyna 888 a í czy aby masz pwnosć że Taka wartość nie jest już zajęt?.
 

Tab

Tab

Użytkownicy
posty14
Propsy1
  • Użytkownicy
No cóż ID wziołem z tutków czipa więc nie sprawdzałem
 

MrocznyPaladyn

MrocznyPaladyn

Użytkownicy
posty47
Propsy12
  • Użytkownicy
To pozmieniaj te wartosci Na np 5060  w GNK napewno wolna jest no chyb że Ty już taka masz:) ale myśle że nie i wtedy zobacz powinno działac. Nie mam przed oczami skryptu ale ID 888 cos mi sie wydaje że jest zajęte na bank.
 

Toworish

Toworish

Użytkownicy
http://chomikuj.pl/ToWoRiSh
posty1664
Propsy254
ProfesjaNierób
  • Użytkownicy
  • http://chomikuj.pl/ToWoRiSh
Właśnie podaj cały skrypt postaci bo podejrzewam że masz tam nieco popierdolone linijki
 
Niebawem...Pierdolnę se poradniki do Goticzka. Albo i nie, bo sie mnie nie chce.

Tab

Tab

Użytkownicy
posty14
Propsy1
  • Użytkownicy
Oto on

instance SLD_888_rode (Npc_Default)
{
   // ------ NSC ------
   name       = "Roderic";
   guild       = GIL_SLD;
   id          = 888;
   voice       = 13;
   flags       = 0;                              //NPC_FLAG_IMMORTAL oder 0
   npctype      = NPCTYPE_MAIN;
   
   // ------ Attribute ------
   B_SetAttributesToChapter (self, 5);                                                   //setzt Attribute und LEVEL entsprechend dem angegebenen Kapitel (1-6)
      
   // ------ Kampf-Taktik ------
   fight_tactic      = FAI_HUMAN_MASTER;   // MASTER / STRONG / NORMAL / COWARD
   
   // ------ Equippte Waffen ------                                                   //Munition wird automatisch generiert, darf aber angegeben werden
   EquipItem         (self, ItMw_1h_Sld_Axe);
   
   
   // ------ Inventory ------
   B_CreateAmbientInv    (self);
      
   // ------ visuals ------                                                         //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wird
   B_SetNpcVisual       (self, MALE, "Hum_Head_Pony", Face_N_Drax, BodyTex_N, ITAR_fech);      
   Mdl_SetModelFatness   (self, 0);
   Mdl_ApplyOverlayMds   (self, "Humans_Relaxed.mds"); // Tired / Militia / Mage / Arrogance / Relaxed
   
   // ------ NSC-relevante Talente vergeben ------
   B_GiveNpcTalents (self);
   
   // ------ Kampf-Talente ------                                                      //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetzt
   B_SetFightSkills (self, 100); //Grenzen für Talent-Level liegen bei 30 und 60

   // ------ TA anmelden ------
   daily_routine       = Rtn_Start_888;
};

FUNC VOID Rtn_Start_888 ()
{
   TA_Smalltalk      (07,00,21,00,"RODERIC");
   TA_Smalltalk       (21,00,07,00,"RODERIC");
};

co do ID nie może byćzajente bo już stworzyłem postaćz takim samym ID i wszystko działało.
 

MrocznyPaladyn

MrocznyPaladyn

Użytkownicy
posty47
Propsy12
  • Użytkownicy
Kolego z tego scryptu wynika że masz wstawic w  Startupa- SLD_888_rode ! A nie SLD_888_Roderic xd
 

Tab

Tab

Użytkownicy
posty14
Propsy1
  • Użytkownicy
Dizęki na śmierćo tym zapomniałem XD. Ale mam za to kolejny problem ta postaćjest we wszystkim mistrzem a trzyma miecz jak zielony.
 

Kyniu

Kyniu

Użytkownicy
posty112
Propsy8
  • Użytkownicy
Mam pewien Problem. Gdy dodaję postać do Startupa[robię wszystko dobrze], to Spacer wyskakuje mi z błędem:
00:00 ++++++++++++++ Start by  ++++++++++++++
01:08 Fatal:-1 U:PAR: \_WORK\DATA\SCRIPTS\CONTENT\STORY\STARTUP.D: Unknown identifier : KDW_789434_KYNIU .... <zParser.cpp,#599>

i tylko z tym błędem, Npc dałem do folderu NPC, Dialog do Dialoge a tu macie zapis  Startupa:
// *********
// BIGCASTLE01A
// *********
func void STARTUP_BIGCASTLE01A ()
{
                Wld_InsertNpc            (PAL_345031_Testowy_Paladyn,"FIRST_WAYPOINT");  
Wld_InsertNpc            (PAL_456789_Testowy_Paladyn_2,"PALADINS_GO_CASTLE_06");
Wld_InsertNpc            (BDT_55043_Testowy_Bandyta,"PALADINS_HOUSE_03");
   
   






         Wld_InsertNpc            (KDW_789434_Kyniu,"START_THE_GAME");
};
             
        func void INIT_SUB_BIGCASTLE01A ()
        {
        };

func void INIT_BIGCASTLE01A ()
{
        B_InitMonsterAttitudes ();
        B_InitGuildAttitudes();
        B_InitNpcGlobals ();
       
        INIT_SUB_BIGCASTLE01A();
};

A tu macie NPC'ta:
instance KDF_789434_Kyniu (NPC_Default)
{
    // ----- NPC -----
    name = "Kyniu";
    guild = 4;
    id = 789434;
    voice = 17;
    flags = NPC_FLAG_IMMORTAL|NPC_FLAG_GHOST;
    npctype = NPCTYPE_FRIEND;
    level = 30;

    // ----- Attributes -----
    attribute[ATR_STRENGTH] = 111;
    attribute[ATR_DEXTERITY] = 111;
    attribute[ATR_HITPOINTS_MAX] = 111;
    attribute[ATR_HITPOINTS] = 111;
    attribute[ATR_MANA_MAX] = 111;
    attribute[ATR_MANA] = 111;

// ------ Kampf-Taktik ------
        fight_tactic            = FAI_HUMAN_Master;


    // ----- Hitchance -----
    HitChance [NPC_TALENT_1H] = 20;
    HitChance [NPC_TALENT_2H] = 20;
    HitChance [NPC_TALENT_BOW] = 20;
    HitChance [NPC_TALENT_CROSSBOW] = 20;

    B_SetNpcVisual     (self, MALE, "HUM_HEAD_BALD", Face_N_Raven, BodyTex_P, ITAR_KDF_L);
    Mdl_SetModelFatness     (self, 1);
    Mdl_ApplyOverlayMds     (self, "Humans_Mage.mds");

    // ----- Give NPC his Talents -----
    B_GiveNpcTalents (self);

    // ----- Inventory -----

    // ------ TA anmelden ------
    daily_routine = Rtn_Start_789434;
};

FUNC VOID Rtn_Start_789434 ()
{
TA_Stand_Guarding(07,00,22,00,"PALADINS_GO_CASTLE_07");
TA_Stand_Guarding(22,00,07,00,"PALADINS_GO_CASTLE_07");
};

Sprawdzałem czy istnieje taki Waypoint[sam go robiłem] i czy nazwa jest dobra i było ok.
W czym tu problem jest?
 


Kyniu

Kyniu

Użytkownicy
posty112
Propsy8
  • Użytkownicy
Ah, dzięki ; ).to poprawne jest KDW czy KDF?[dla Magów Ognia]

@EDIT:wiem już, KDF.
Dzięki za pomoc.
 

Asztar

Asztar

Użytkownicy
posty33
Propsy4
  • Użytkownicy
Witam.


Ja mam problem z dodaniem nowego NPC do nowego świata w Gothic 2 + Noc Kruka.

Oto NPC:

instance PAL_90001_Veroz (Npc_Default)
{
// ------ NSC ------
name = "Veroz";
guild = GIL_PAL;
id = 90001;
voice = 10;
flags   = 0;
npctype = NPCTYPE_FRIEND;

// ------ AIVARS ------
aivar[AIV_ToughGuy] = TRUE;
aivar[AIV_ToughGuyNewsOverride] = TRUE;
aivar[AIV_IGNORE_Murder] = TRUE;
aivar[AIV_IGNORE_Theft] = TRUE;
aivar[AIV_IGNORE_Sheepkiller] = TRUE;

// ------ Attribute ------
B_SetAttributesToChapter (self, 4);

// ------ Kampf-Taktik ------
fight_tactic = FAI_HUMAN_MASTER;

// ------ Equippte Waffen ------
EquipItem (self, ItMw_2h_Pal_Sword);

// ------ Inventory ------
B_CreateAmbientInv (self);


// ------ visuals ------
B_SetNpcVisual (self, MALE, "Hum_Head_FatBald", Face_N_Raven, BodyTex_N, ITAR_PAL_H);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Militia.mds");

// ------ NSC-relevante Talente vergeben ------
B_GiveNpcTalents (self);

// ------ Kampf-Talente ------
B_SetFightSkills (self, 70);

// ------ TA anmelden ------
daily_routine = Rtn_Start_90001;
};
FUNC VOID Rtn_Start_90001 ()
{
TA_Stand_ArmsCrossed  (12,00,00,00,"WP_TUP1_01");
TA_Stand_ArmsCrossed  (00,00,12,00,"WP_TUP1_02");
};



Waypointy  "WP_TUP1_01 i 02" są dodane już do nowego świata i połączone.

Teraz będzie startup.d :



/// *********
// TuptuSMod_modworld
// *********

func void STARTUP_TuptuSMod_modworld ()
{
            Wld_InsertNpc         (PAL_90001_Veroz,"WP_TUP1_01");
};

    func void INIT_SUB_TuptuSMod_modworld ()
    {
    };

func void INIT_TuptuSMod_modworld ()
{
    B_InitMonsterAttitudes ();
    B_InitGuildAttitudes();
    B_InitNpcGlobals ();
   
    INIT_SUB_TuptuSMod_modworld();
};

Linijki "TuptuSMod_modworld" zamiast samej linijki "modworld" dałem bo myślę ,że trzeba podać folder świata. Jeżeli nie trzeba i wystarczy samo "modworld" to już tak próbowałem i też jest wielka i tłusta dupa. Co jest w tym źle? W spacerze kliknąłem Świat - Kompiluj świat (z zaznaczonym silnikiem Outdoor) ,a następnie Kompiluj Światło. Później zapisałem swojego zena. Do folderu system dodałem plik ini

[INFO]
Title=TuptuŚ MoD
Webpage=
Description=
Icon=GothicStarter.exe
version=1.0
Authors=TuptuS
[FILES]
vdf=TuptuSMoD.mod
Game=Content\Gothic
FightAI=Content\Fight
Menu=System\Menu
Camera=System\Camera
Music=System\Music
SoundEffects=System\SFX
ParticleEffects=System\ParticleFX
VisualEffects=System\VisualFX
OutputUnits=OU
[SETTINGS]
World=TuptuSMod\modworld.ZEN
Player=pc_hero
[OPTIONS]

Po tym zbudowałem paczkę z modem przez VDFS.

do paczki dodałem takie pliki jak :

modworld.zen
pal_90001_veroz.d
startup.d
gothic.scr
gothic.dat

Proszę o udzielenie pomocy. Postaci nie ma w nowym świecie ,a po przyzwaniu kodem NPC czyni swoją powinność.
 
[/b]
[/b]

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Może głupie pytanie, ale nie napisałeś tego wprost, więc się zapytam: zreparsowałeś skrypty przed dodaniem gothic.dat do moda? Gothic.src w ogóle nie trzeba dołączać, jest potrzebny tylko do parsowania.

Asztar

Asztar

Użytkownicy
posty33
Propsy4
  • Użytkownicy
tak zrobiłem to ,a nawet kilkukrotnie.
 
[/b]
[/b]

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Po pierwsze, w nazwie funkcji NIE umieszczasz nazwy folderu. Wzoruj się bezpośrednio na innych startupach. Po drugie, w ramach testu daj tam PrintScreena o długim czasie życia, tak żebyś mógł łatwo zweryfikować że funkcja się w ogóle odpaliła. Ewentualnie odpowiednio użyty PrintDebug który wydrukuje tekst prosto do konsoli.

Asztar

Asztar

Użytkownicy
posty33
Propsy4
  • Użytkownicy
Cytuj
PrintScreena o długim czasie życia
Screena wiem jak zrobić ,ale o długości życia nie słyszałem ?

chyba ,że nie chodzi o klawisz PrintScreen na klawiaturze.
 
[/b]
[/b]

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Tak powinno być:
/// *********
// TuptuSMod_modworld
// *********

func void STARTUP_TuptuSMod_modworld ()
{
   Wld_InsertNpc           (PAL_90001_Veroz,"WP_TUP1_01");
   INIT_TuptuSMod_modworld ();
};

func void INIT_TuptuSMod_modworld ()
{
        B_InitMonsterAttitudes ();
        B_InitGuildAttitudes();
        B_InitNpcGlobals ();
};

Asztar

Asztar

Użytkownicy
posty33
Propsy4
  • Użytkownicy
Dodałem to do startupa tylko zmieniłem tuptusmod_modworld na samo modworld bo parę błędów przy naprawianiu skryptów wyskakiwało. Teraz gdy linijki są zmienione wyskakuje trzy błędy :

U:PAR Unknown identifitier : INIT_MODWORLD ( line 4810 )
U:PAR Expected ';' ( line 4810 )
U:PAR Unknown identifiter : ) ( line 4810 )



Linijka 4809 -    Wld_InsertNpc         (PAL_90001_Veroz,"WP_TUP1_01");
Linijka 4810 -    INIT_MODWORLD ();
 
[/b]
[/b]


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry