Nie mogę wstawić postaci 2794 4

O temacie

Autor Matti

Zaczęty 11.02.2010 roku

Wyświetleń 2794

Odpowiedzi 4

Matti

Matti

Użytkownicy
posty7
  • Użytkownicy

Matti

Nie mogę wstawić postaci
2010-02-12, 00:43(Ostatnia zmiana: 2010-02-12, 09:14)
Stworzyłem skryptami postać z ( .d ) wgrałem do folderu NPC
dialogi ( .d ) wgrałem do folderu MISSION
wszystko jest git tylko jak chce w spacerze dodać tą postać to nie ma jej na liście.
Pomocy! Potrzebuje tej postaci w moim modzie ! Co mam zrobić ?
 

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Nie wstawia się za pomocą Spacera NPCów, tylko za pomocą skryptów. Musisz ją jeszcze wpisać w plik startup.d.

Matti

Matti

Użytkownicy
posty7
  • Użytkownicy

Matti

Nie mogę wstawić postaci
#2 2010-02-12, 10:08(Ostatnia zmiana: 2010-02-12, 14:50)
Znalazłem startup, są skrypty ale nie wiem jak mam dodać. Nie znam sie na tym.

oto skrypt postaci


[b]instance SLD_888_Wiechu (Npc_Default) // Postać stworzył Czip17
{
// ------ NPC ------
name = "Wiechu";
guild = GIL_SLD;
id = 888;
voice = 5;
flags   = 0; //NPC_FLAG_IMMORTAL oder 0
npctype = NPCTYPE_MAIN;

// ------ Atrybuty ------
B_SetAttributesToChapter (self, 5); //setzt Attribute und LEVEL entsprechend dem angegebenen Kapitel (1-6)

// ------ Taktyka Walki ------
fight_tactic = FAI_HUMAN_MASTER; // MASTER / STRONG / NORMAL / COWARD

// ------ Nałożona broń ------ //Munition wird automatisch generiert, darf aber angegeben werden
EquipItem (self, Itmw_addon_naszakosa);
CreateInvItems (self, itri_prot_fire_01, 1);

// ------ Inwentarz ------
B_CreateAmbientInv (self);

// ------ Wygląd ------ //Muss NACH Attributen kommen, weil in B_SetNpcVisual die Breite abh. v. STR skaliert wird
B_SetNpcVisual (self, MALE, "Hum_Head_Pony", Face_N_Lee, BodyTex_N, ITAR_DJG_Crawler);
Mdl_SetModelFatness (self, 0);
Mdl_ApplyOverlayMds (self, "Humans_Relaxed.mds"); // Mage / Militia / Tired
 // Relaxed / Arrogance
// --Istotne talenty NPCa (dziwne to to :P)--
B_GiveNpcTalents (self);

// ------ Talent walki ------ //Der enthaltene B_AddFightSkill setzt Talent-Ani abhängig von TrefferChance% - alle Kampftalente werden gleichhoch gesetzt
B_SetFightSkills (self, 70);

// ------ Rutyna ------
daily_routine = Rtn_Start_888;
};

FUNC VOID Rtn_Start_888 ()
{
TA_Stand_Eating (07,00,21,00,"NW_TAVERNE_04");
TA_Stand_ArmsCrossed (21,00,07,00,"NW_TAVERNE_04");
};[/b]

oto skrypt misji



[b]//*********************************************************************
// Info EXIT
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_EXIT   (C_INFO)
{
npc = SLD_888_Wiechu;
nr  = 999;
condition   = DIA_SLD_888_Wiechu_EXIT_Condition;
information = DIA_SLD_888_Wiechu_EXIT_Info;
permanent   = TRUE;
description = DIALOG_ENDE;
};

FUNC INT DIA_SLD_888_Wiechu_EXIT_Condition()
{
return TRUE;
};

FUNC VOID DIA_SLD_888_Wiechu_EXIT_Info()
{
AI_StopProcessInfos (self);
};

//*********************************************************************
// Info Hello
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_siema   (C_INFO)
{
npc = SLD_888_Wiechu;
  nr  = 1;
  condition   = DIA_SLD_888_Wiechu_siema_Condition;
  information = DIA_SLD_888_Wiechu_siema_Info;
  permanent   = FALSE;
  description = "Co słychać?";
};

FUNC INT DIA_SLD_888_Wiechu_siema_Condition()
{
return TRUE;
};

FUNC VOID DIA_SLD_888_Wiechu_siema_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_siema_15_00"); //Co słychać?
AI_Output (self, other,"DIA_SLD_888_Wiechu_siema_55_01"); //Umieram...


};

//*********************************************************************
// Zadanie
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_zadanie   (C_INFO)
{
npc = SLD_888_Wiechu;
  nr  = 1;
  condition   = DIA_SLD_888_Wiechu_zadanie_Condition;
  information = DIA_SLD_888_Wiechu_zadanie_Info;
  permanent   = FALSE;
  description = "Umierasz?";
};

FUNC INT DIA_SLD_888_Wiechu_zadanie_Condition()
{
if (npc_knowsinfo (other, DIA_SLD_888_Wiechu_siema))
{
return TRUE;
};
};

FUNC VOID DIA_SLD_888_Wiechu_zadanie_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_zadanie_15_00"); //Jak to umierasz?
AI_Output (self, other,"DIA_SLD_888_Wiechu_zadanie_55_01"); //Umieram, bo od jakiś 10 minut nie piłem żadnego browara i nie mam wystarczająco dużo sił by dojść do tawerny, a w okolicy nie ma żadnego teszczaka czy stonki, gdzie mógłbym kupić jakiegoś browca.
AI_Output (self, other,"DIA_SLD_888_Wiechu_zadanie_55_02"); //Jeżeli mógłbyś mi przynieść jakieś piwo byłbym ci dozgonnie wdzięczny.

Log_CreateTopic (TOPIC_piwko, LOG_MISSION);
Log_SetTopicStatus (TOPIC_piwko, LOG_RUNNING);
B_LogEntry (TOPIC_piwko, "Wiesław potrzebuje piwa");

};


//*********************************************************************
// Koniec zadania
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_browar   (C_INFO)
{
npc = SLD_888_Wiechu;
  nr  = 1;
  condition   = DIA_SLD_888_Wiechu_browar_Condition;
  information = DIA_SLD_888_Wiechu_browar_Info;
  permanent   = FALSE;
  description = "Mam browara";
};

FUNC INT DIA_SLD_888_Wiechu_browar_Condition()
{
if (npc_knowsinfo (other, DIA_SLD_888_Wiechu_zadanie))
&& (npc_hasitems (other, itfo_beer) >= 1)
{
return TRUE;
};
};

FUNC VOID DIA_SLD_888_Wiechu_browar_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_browar_15_00"); //Mam piwo.
B_giveinvitems (other, self, itfo_beer, 1);
AI_Output (self, other,"DIA_SLD_888_Wiechu_browar_55_01"); //Bożesz ty mój! Chłopie ratujesz mi życie!
B_UseItem (self,ItFo_Beer);
AI_Output (self, other,"DIA_SLD_888_Wiechu_browar_55_02"); //Naprawdę wielkie dzięki! Weź kilka złociszy w nagrodę.


Createinvitems (self, itmi_gold, 50);
B_giveinvitems (self, other, itmi_gold, 50);
B_LogEntry (TOPIC_piwko, "Dałem Wiechowi piwo");
Log_SetTopicStatus (TOPIC_piwko, LOG_SUCCESS);
B_GivePlayerXP (XP_Wiechu_piwko);
};

//*********************************************************************
// List Thekli
//*********************************************************************
INSTANCE DIA_SLD_888_Wiechu_list   (C_INFO)
{
npc = SLD_888_Wiechu;
  nr  = 1;
  condition   = DIA_SLD_888_Wiechu_list_Condition;
  information = DIA_SLD_888_Wiechu_list_Info;
  permanent   = FALSE;
  description = "Mam list";
};

FUNC INT DIA_SLD_888_Wiechu_list_Condition()
{
if (npc_knowsinfo (other, DIA_SLD_888_Wiechu_zadanie))
&& (npc_hasitems (other, itfo_beer) >= 1)
{
return TRUE;
};
};

FUNC VOID DIA_SLD_888_Wiechu_list_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Wiechu_list_15_00"); //Mam piwo.
B_giveinvitems (other, self, itfo_beer, 1);
AI_Output (self, other,"DIA_SLD_888_Wiechu_list_55_01"); //Bożesz ty mój! Chłopie ratujesz mi życie!
B_UseItem (self,ItFo_Beer);
AI_Output (self, other,"DIA_SLD_888_Wiechu_list_55_02"); //Naprawdę wielkie dzięki! Weź kilka złociszy w nagrodę.


B_giveinvitems (other, self, itfo_beer, 1);
Createinvitems (self, itmi_gold, 50);
B_giveinvitems (self, other, itmi_gold, 50);
B_LogEntry (TOPIC_piwko, "Dałem Wiechowi piwo");
Log_SetTopicStatus (TOPIC_piwko, LOG_SUCCESS);
};[/b]
 

LordSmarkula

LordSmarkula

Użytkownicy
posty141
Propsy1
  • Użytkownicy
Nie jestem pewien, ale to chyba działa podobnie do kodów, czyli piszesz coś w stylu insert SLD_888_Wiechu. Musisz poszukać jak to jest zrobione w startupie. Jeśli sam będziesz szukał rozwiązań więcej się przy tym nauczysz.
 
Ludzie zamienili religię na telewizję. Teraz telewizja daje lepsze efekty w manipulowaniu ludźmi.



Znakiem bogatej młodzieży nie wiedzącej co zrobić z pieniędzmi nie powinien być banan, a nadgryzione jabłuszko.

Pawciow

Pawciow

Użytkownicy
posty533
Propsy70
ProfesjaTłumacz
  • Użytkownicy

Pawciow

Nie mogę wstawić postaci
#4 2010-02-12, 11:56(Ostatnia zmiana: 2010-02-12, 14:50)
npca wpisujesz w odpowiednią linijkę w Startup.d (zgodność waypointu z terenem), w Twoim przypadku wstaw Wiecha tu (chyba, że chcesz zmienić waypointy w pliku npca, to musisz odpowiednio gdzie indziej):

func void STARTUP_NewWorld_Part_Forest_01()
{
Wld_InsertItem(itmi_erolskelch,"FP_SPAWN_KELCH");
Wld_InsertNpc(BDT_1009_Bandit_L,"NW_FOREST_CAVE1_IN_04");
Wld_InsertNpc(BDT_1010_Bandit_L,"NW_FOREST_CAVE1_IN_05");
Wld_InsertNpc(BDT_1011_Bandit_M,"NW_FOREST_CAVE1_IN_06");
Wld_InsertNpc(SLD_840_Alvares,"FARM2");
Wld_InsertNpc(SLD_841_Engardo,"FARM2");
Wld_InsertNpc(BAU_940_Akil,"FARM2");
Wld_InsertNpc(BAU_941_Kati,"FARM2");
Wld_InsertNpc(BAU_942_Randolph,"FARM2");
Wld_InsertNpc(BAU_943_Bauer,"FARM2");
Wld_InsertNpc(BAU_944_Ehnim,"FARM2");
Wld_InsertNpc(BAU_945_Egill,"FARM2");
Wld_InsertNpc(Sheep,"NW_FARM2_OUT_02");
Wld_InsertNpc(Sheep,"NW_FARM2_OUT_02");
Wld_InsertNpc(BAU_970_Orlan,"TAVERNE")
Wld_InsertNpc(SLD_888_Wiechu,"NW_TAVERNE_04") //np. tutaj wpis pod Orlanem

wpisy SLD_888_Wiechu.d oraz DIA_SLD_888_Wiechu musisz dodać też do pliku Gothic.src (w obojętnie które miejsce)w taki sposób:
Story\NPC\SLD_888_Wiechu.d //(plik powinien być w tym folderze)
Story\Dialoge\DIA_SLD_888_Wiechu.d //(jak wyżej)

tak powinno być w przypadku G2 NK, skoro masz folder missions, to moddujesz pewnie g1, tam w pliku gothic.src nie musisz dodawać tych wpisów, ponieważ są tam takie:

STORY\MISSIONS\DIA*.D //(czyli gothic spacer parsuje wszystkie pliki .d z tego folderu)
STORY\NPC\*.D //(jak wyżej)

chyba, że tak nie masz, to wtedy wstaw;

natomiast widziałem filmik na yt i tam ten npc jest w g2 nk, więc rób wszystko pod g2 nk lub zmień waypoint Wiechowi, jeśli robisz w g1


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