Modowanie Gothic 2 27800 48

O temacie

Autor gothaman

Zaczęty 2.01.2012 roku

Wyświetleń 27800

Odpowiedzi 48

HellVard

HellVard

Użytkownicy
posty520
Propsy91
Profesjabrak
  • Użytkownicy
Mam pytanie. Jeśli wprowadzę jakąś małą zmianę w już stworzonym modzie, np. dodam nową linię dialogową, to będę musiał kompilować skrypty i tworzyć paczkę z modem od nowa, prawda?

maciejh

maciejh

Rzeka
posty779
Propsy258
ProfesjaScenarzysta
  • Rzeka
Tak
 

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Mam pytanie. Jeśli wprowadzę jakąś małą zmianę w już stworzonym modzie, np. dodam nową linię dialogową, to będę musiał kompilować skrypty i tworzyć paczkę z modem od nowa, prawda?

Zależy co "wprowadzisz".
Jeśli na przykład zrobisz tylko NPCeta, lub zrobisz model broni i dodasz do niej skrypt to będziesz musiał tylko skompilować skrypty. np z  GothicStarter_mod

Ale jeśli zaczniesz robić dialogi to będziesz musiał robić paczkę z modem. I będziesz musiał kompilować skrypty prze Spacera.

Ale ogólnie jeśli nie robisz nic w dialogach (i w innych skomplikowanych rzeczach) to nie musisz robić paczki.
 

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis

EdekSumo
Wyspa Khorinis

Modowanie Gothic 2
#43 2012-01-09, 15:31(Ostatnia zmiana: 2012-01-09, 15:33)
Co Ty pierdolisz? Paczkę z modem robisz jak wydajesz moda koniec kropka. Jak grzebierz w dialogach tj. zmieniasz treść "mówioną" musisz z aktualizować dialogi i je zapisać. A jeśli zmieniasz jakieś inne skrypty wystarczy je zreparsować.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Jeśli coś modyfikujesz, musisz podmienić to w paczce z modem, lub dać w _work, ale zaznaczyć w starterze opcję "vdfs physical first", żeby oryginalny plik gothic.dat z paczki z modem nie nadpisał twojego, tylko sam został nadpisany. Możesz też wypakować vdf moda do _work, tam zmodyfikować co chcesz, a następnie odpalić "na czysto" grę.
Generalnie jest tak jak pisze Edek, swoją paczkę składasz dopiero jak chcesz wydawać. Wcześniej wystarczy folder _work.

gothaman

gothaman

Użytkownicy
posty3
Propsy1
  • Użytkownicy
Dobra popisałem odrobinkę skryptów.... nowa broń, koleś, quest i dialog. Ale gdzieś w skryptach jest jakiś błąd wczoraj spędziłem na szukanie go bardzo dużo czasu a i tak nic nie znalazłem. Czy możecie pomóc poszukać ów błędu?? Tu wysyłam napisane prze zemnie skrypty.

DIALOG:


//*********************************************************************
//   Info EXIT
//*********************************************************************
INSTANCE DIA_SLD_888_Gorhim_EXIT   (C_INFO)
{
   npc         = SLD_888_Gorhim;
   nr          = 999;
   condition   = DIA_SLD_888_Gorhim_EXIT_Condition;
   information = DIA_SLD_888_Gorhim_EXIT_Info;
   permanent   = TRUE;
   description = DIALOG_ENDE;
};

FUNC INT DIA_SLD_888_Gorhim_EXIT_Condition()
{
   return TRUE;
};

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

//*********************************************************************
//   Info Hello
//*********************************************************************
INSTANCE DIA_SLD_888_Gorhim_Witaj   (C_INFO)
{
   npc         = SLD_888_Gohrim;
   nr          = 1;
   condition   = DIA_SLD_888_Gohrim_Witaj_Condition;
   information = DIA_SLD_888_Gohrim_Witaj_Info;
   permanent   = FALSE;
   description = "Witaj";
};

FUNC INT DIA_SLD_888_Gorhim_Witaj_Condition()
{
   return TRUE;
};

FUNC VOID DIA_SLD_888_Gorhim_Witaj_Info()
{
   AI_Output (other,self ,"DIA_SLD_888_Gohrim_Witaj_15_00"); //Witaj
   AI_Output (self ,other,"DIA_SLD_888_Gohrim_Witaj_32_01"); //Daj mi spokój!
   AI_Output (other,self ,"DIA_SLD_888_Gohrim_Witaj_15_02"); //dlaczego?
   AI_Output (self ,other,"DIA_SLD_888_Gohrim_Witaj_32_03"); //Arrgghh! Moja głowa!
   
};

//*********************************************************************
//   Zadanie
//*********************************************************************
INSTANCE DIA_SLD_888_Gorhim_zadanie   (C_INFO)
{
   npc         = SLD_888_Gohrim;
   nr          = 1;
   condition   = DIA_SLD_888_Gohrim_Witaj_Condition;
   information = DIA_SLD_888_Gohrim_Witaj_Info;
   permanent   = FALSE;
   description = "co tam?";
};

FUNC INT DIA_SLD_888_Gorhim_zadanie_Condition()
{
if (Npc_KnowsInfo(other,DIA_SLD_888_Gorhmim_Siema))
{
   return TRUE;
};
};

FUNC VOID DIA_SLD_888_Gorhim_zadanie_Info()
{
   AI_Output (other,self ,"DIA_SLD_888_Gohrim_zadanie_15_00"); //Możę ci w czymś pomóc?
   AI_Output (self ,other,"DIA_SLD_888_Gohrim_zadanie_32_01"); //Pomóc? Jeśli możesz...
   AI_Output (other,self ,"DIA_SLD_888_Gohrim_zadanie_15_02"); //Co mam dla ciebie zrobić?
   AI_Output (self ,other,"DIA_SLD_888_Gohrim_zadanie_32_03"); //Idz do tawerny i przynieś mi piwo.
   AI_Output (other,self ,"DIA_SLD_888_Gohrim_zadanie_15_04"); //Co za to dostanę?
        AI_Output (self ,other,"DIA_SLD_888_Gohrim_zadanie_32_05"); //To zależy jak szybko się uwiniesz.
        AI_Output (other,self ,"DIA_SLD_888_Gohrim_zadanie_15_06"); //Ruszam!

Log_CreateTopic (TOPIC_piwko, LOG_MISSION);
Log_SetTopicStatus (TOPIC_piwko, LOG_RUNNING);
B_LogEntry (TOPIC_Piwko,"Gorhim potrzebuje piwa.");

};

//*********************************************************************
//   Koniec zadania
//*********************************************************************
INSTANCE DIA_SLD_888_Gorhim_browar   (C_INFO)
{
   npc         = SLD_888_Gohrim;
   nr          = 1;
   condition   = DIA_SLD_888_Gohrim_Witaj_Condition;
   information = DIA_SLD_888_Gohrim_Witaj_Info;
   permanent   = FALSE;
   description = "Mam piwo!";
};

FUNC INT DIA_SLD_888_Gorhim_browar_Condition()
{
if (Npc_KnowsInfo(other,DIA_SLD_888_Gorhmim_zadanie))
&& (npc_hasitems (other, itfo_beer) >= 1)
{
   return TRUE;
};
};

FUNC VOID DIA_SLD_888_Gorhim_browar_Info()
{
   AI_Output (other,self ,"DIA_SLD_888_Gohrim_browar_15_00"); //Oto twoje piwo!
   AI_Output (self ,other,"DIA_SLD_888_Gohrim_browar_32_01"); //Dzięki! Nawet nie wiesz ile to dla mnie znaczy!
   AI_Output (self ,other,"DIA_SLD_888_Gohrim_browar_32_03"); //No dobra, tu jest twoja nagroda.
        AI_Output (other,self ,"DIA_SLD_888_Gohrim_browar_15_06"); //Dzięki! Ruszam dalej w drogę.

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 Gorhimowi piwo.");
Log_SetTopicStatus (TOPIC_piwko, LOG_SUCCESS);

};

MIECZ
INSTANCE ItMw_Addon_Miecz półksiężyca (C_Item)
{   
   name          ="Miecz półksiężyca";  

   mainflag       =ITEM_KAT_NF;
   flags          =ITEM_2HD_SWD|ITEM_MISSION;   
   material       =MAT_METAL;

   value          =1000;

   damageTotal        =120;
   damagetype       =DAM_EDGE;   
   range          =110;      

   cond_atr[2]         =ATR_STRENGTH;
   cond_value[2]        =100;
   visual          ="ItMw_065_1h_sword_bastard_03.3DS";

   description             = name;
   TEXT[1]                 = "Ten miecz jest wykonany z dziwnego metalu przypominającego srebro";
        TEXT[2]         = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]       = NAME_Str_needed;            COUNT[3]   = cond_value[2];
   TEXT[4]       = NAME_TwoHanded;
   TEXT[5]         = NAME_Value;               COUNT[5]   = value;
};

ZADANIE :
const string  TOPIC_Piwo = "Piwo dla Gorhim";

KOLES:

nstance SLD_888_Gorhim (Npc_Default) // Postać stworzył Oskar
{
// ------ NSC ------
name   = "Gohrim";
guild   = GIL_SLD;
id   = 888;
voice   = 5;
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_addon_Miecz półksiężyca);
CreateInvItems          (self, ItRw_Arrow, 10);
CreateInvItems (self, itri_prot_fire_01, 1);

// ------ 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_Lee, BodyTex_N, ITAR_ITAR_DJG_Crawler);  
Mdl_SetModelFatness (self, 1);
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, 60); //Grenzen für Talent-Level liegen bei 30 und 60

// ------ TA anmelden ------
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");
};

MIECZ:

INSTANCE ItMw_Addon_Miecz półksiężyca (C_Item)
{   
   name          ="Miecz półksiężyca";  

   mainflag       =ITEM_KAT_NF;
   flags          =ITEM_2HD_SWD|ITEM_MISSION;   
   material       =MAT_METAL;

   value          =1000;

   damageTotal        =120;
   damagetype       =DAM_EDGE;   
   range          =110;      

   cond_atr[2]         =ATR_STRENGTH;
   cond_value[2]        =100;
   visual          ="ItMw_065_1h_sword_bastard_03.3DS";

   description             = name;
   TEXT[1]                 = "Ten miecz jest wykonany z dziwnego metalu przypominającego srebro";
        TEXT[2]         = NAME_Damage;               COUNT[2]   = damageTotal;
   TEXT[3]       = NAME_Str_needed;            COUNT[3]   = cond_value[2];
   TEXT[4]       = NAME_TwoHanded;
   TEXT[5]         = NAME_Value;               COUNT[5]   = value;
};
 

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy925
ProfesjaLvl designer
  • Wyspa Khorinis
//*********************************************************************
// Koniec zadania
//*********************************************************************
INSTANCE DIA_SLD_888_Gorhim_browar (C_INFO)
{
npc = SLD_888_Gohrim;
nr = 1;
condition = DIA_SLD_888_Gohrim_Witaj_Condition;
information = DIA_SLD_888_Gohrim_Witaj_Info;
permanent = FALSE;
description = "Mam piwo!";
};

FUNC INT DIA_SLD_888_Gorhim_browar_Condition()
{
if (Npc_KnowsInfo(other,DIA_SLD_888_Gorhmim_zadanie))
&& (npc_hasitems (other, itfo_beer) >= 1)
{
return TRUE;
};
};

FUNC VOID DIA_SLD_888_Gorhim_browar_Info()
{
AI_Output (other,self ,"DIA_SLD_888_Gohrim_browar_15_00"); //Oto twoje piwo!
AI_Output (self ,other,"DIA_SLD_888_Gohrim_browar_32_01"); //Dzięki! Nawet nie wiesz ile to dla mnie znaczy!
AI_Output (self ,other,"DIA_SLD_888_Gohrim_browar_32_03"); //No dobra, tu jest twoja nagroda.
AI_Output (other,self ,"DIA_SLD_888_Gohrim_browar_15_06"); //Dzięki! Ruszam dalej w drogę.

B_giveinvitems(other, self, itfo_beer, 1); // tu był błąd
Createinvitems (self, itmi_gold, 50);
B_giveinvitems (self, other, itmi_gold, 50);
B_LogEntry (TOPIC_Piwko,"Dałem Gorhimowi piwo.");
Log_SetTopicStatus (TOPIC_piwko, LOG_SUCCESS);

};

Znalazłem na razie jeden błąd zobacz czy działa i kolejnym razem wklej treść błędu.
 

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Moze lepiej zmien kod miecza ?
Nie dość że w kodzie są polskie znaki to jeszcze jest spacja.
Zmień instance miecza.
Potem zmien EquipItem u goscia ktorego robiles.
 



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