Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Siekacz
Head Chief of Poziomkaz
Dołączył: 28 Sty 2006
Posty: 132
Przeczytał: 0 tematów
Skąd: Siedlce
|
Wysłany: 2006/02/05 10:50 Temat postu: Jak stworzyć nowego NPC |
|
|
Traffix wyjaśnie ci jak sie zamieszcza nowego NPC...
Najpierw zrób se jakiś waypoint w spacerze i nazwij go np.. OCC_KURDE
JAk to zrobisz to zapisz se świat jako World.zen Zamiesczasz go w
Gothic PL\_Work\Data\Worlds.
Potem zrób se swoją postać np Grd_999_Traffix (najlepiej skopiuj se jakiegoś innego strażnika (chyba musi mieć imie np Cutter)na swój plik i pozmieniaj sobie jego skrypty..
instance GRD_999_Traffix (Npc_Default)
{
//-------- primary data --------
name = "Traffix";
npctype = npctype_main;
guild = GIL_GRD;
level = 20;
voice = 8;
id = 999;
//-------- abilities --------
attribute[ATR_STRENGTH] = 100;
attribute[ATR_DEXTERITY] = 80;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX]= 280;
attribute[ATR_HITPOINTS] = 280;
//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Militia.mds");
// body mesh ,bdytex,skin,head mesh ,headtex,teethtex,ruestung
Mdl_SetVisualBody (self,"hum_body_Naked0", 0 , 0,"Hum_Head_Bald", 3, 1, GRD_ARMOR_H);
B_Scale (self);
Mdl_SetModelFatness(self,1);
self.aivar[AIV_IMPORTANT] = TRUE;
fight_tactic = FAI_HUMAN_STRONG;
//-------- Talente --------
Npc_SetTalentSkill (self, NPC_TALENT_1H,2);
Npc_SetTalentSkill (self, NPC_TALENT_2H,1);
Npc_SetTalentSkill (self, NPC_TALENT_CROSSBOW,1);
//-------- inventory --------
EquipItem (self, ItMw_1H_Sword_03);
EquipItem (self, ItRw_Crossbow_01);
CreateInvItems (self, ItAmBolt, 30);
CreateInvItem (self, ItFoMutton);
CreateInvItems (self, ItMiNugget,20);
CreateInvItem (self, ItFo_Potion_Health_01);
CreateInvItem (self, ItLsTorch);
//-------------Daily Routine-------------
daily_routine = Rtn_start_999;
};
FUNC VOID Rtn_start_999 ()
{
TA_Smalltalk (23,35,08,35,"OCC_KURDE");
TA_Smalltalk (08,35,23,35,"OCC_KURDE");
};
TA_Smalltalk- oznacza że będzie rozmawiał z innymi jak go postawisz obok inego NPC .
OCC_KURDE -Twój Waypoint
wszędzie gdzie jest 999 będziesz musiał wpisać swuj id (Musi być taki jakiego nikt nie ma)
Puźniej przerabiasz starupa
Jest w Gothic PL\_Work\Data\Scripts\Content\Story
I dopisujesz linijke:
Wld_InsertNpc (Grd_999_Traffix,"OC1");
//OCC_KURDE
Najlepiej dopisz tą linijke tam gdzie są inni strażnicy(Grd).
No i tyle zapisujesz to i powinien być. Jak coś zrobisz źle to i tak ci sie gothic nie włączy.
Zamiast //OCC_KURDE możesz użyć innego waypointa (i to ci radze) wtedy nie będziesz musiał zapisywać nowego świata.
To tyle jak coś napisałem źle to mnie poprawcie
Prawa Autorskie
Uwaga treść tego posta nie może być kopiowana do celów własnych w całosci jak i w częsci ,jezeli chcesz uzyskać prawo do jej używania skontaktuj się z autorem. Ten poradnik jest stworzony tylko i wyłącznie na użytek tego forum!!
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Ojciec redaktor
Modder
Dołączył: 30 Sty 2006
Posty: 105
Przeczytał: 0 tematów
Skąd: Żagań
|
Wysłany: 2006/02/16 10:05 Temat postu: |
|
|
A jak zrobiż, żeby w pewnym miejscu leżał martwy NPC?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Siekacz
Head Chief of Poziomkaz
Dołączył: 28 Sty 2006
Posty: 132
Przeczytał: 0 tematów
Skąd: Siedlce
|
Wysłany: 2006/02/16 10:28 Temat postu: |
|
|
Cytat: |
A jak zrobiż, żeby w pewnym miejscu leżał martwy NPC? |
Mi sie wydaje że tak po prostu sie nieda (Ale głowy za to niedam!)
To sie chyba robi w skryptach zadań!!
Ale mówie ja niejestem pewien!!
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Ojciec redaktor
Modder
Dołączył: 30 Sty 2006
Posty: 105
Przeczytał: 0 tematów
Skąd: Żagań
|
Wysłany: 2006/02/16 12:05 Temat postu: |
|
|
a może w attribute[ATR_HITPOINTS] = wpisac 0?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Siekacz
Head Chief of Poziomkaz
Dołączył: 28 Sty 2006
Posty: 132
Przeczytał: 0 tematów
Skąd: Siedlce
|
Wysłany: 2006/02/16 12:11 Temat postu: |
|
|
Wtedy jak przyjdziesz do niego wogóle go nie będzie!!!
(Żeby to było takie proste )
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Ojciec redaktor
Modder
Dołączył: 30 Sty 2006
Posty: 105
Przeczytał: 0 tematów
Skąd: Żagań
|
Wysłany: 2006/02/16 12:23 Temat postu: |
|
|
Ale to napewno da się zrobić. Przecierz martwy nek leżał w jaskini.
Pytanie tylko jak. Może bardziej zaawansowani użytkownicy będą wiedzieć?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Siekacz
Head Chief of Poziomkaz
Dołączył: 28 Sty 2006
Posty: 132
Przeczytał: 0 tematów
Skąd: Siedlce
|
Wysłany: 2006/02/16 12:28 Temat postu: |
|
|
Ja ci mówie jest jakiś skrypt w zadaniu jeśli chodzi o Neka
Przyjrze sie zaraz i ci napisze jaki!!
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Ojciec redaktor
Modder
Dołączył: 30 Sty 2006
Posty: 105
Przeczytał: 0 tematów
Skąd: Żagań
|
Wysłany: 2006/02/16 12:42 Temat postu: |
|
|
A i jeszce jedno. Czy mógłbys numery głosów wypisać i podac przykłady kto się nimi w grze posluguje?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Siekacz
Head Chief of Poziomkaz
Dołączył: 28 Sty 2006
Posty: 132
Przeczytał: 0 tematów
Skąd: Siedlce
|
Wysłany: 2006/02/16 12:49 Temat postu: |
|
|
Npc_ChangeAttribute (nek, ATR_HITPOINTS, -nek.attribute[ATR_HITPOINTS_MAX]);
To jest w starup.d
Tak sie chyba tworzy zabitych ludzi!!
A co do głosu to sobie sam sprawdź.
Poglądaj se skrypty ludzi i sprawdź kto ma jaki głos!!
Wybacz ale mi sie nie chce!!
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Ojciec redaktor
Modder
Dołączył: 30 Sty 2006
Posty: 105
Przeczytał: 0 tematów
Skąd: Żagań
|
Wysłany: 2006/02/16 12:51 Temat postu: |
|
|
Oks, dzieki wielkie, zara sprawdze skrypt.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
zysk
Administrator
Dołączył: 26 Sty 2006
Posty: 49
Przeczytał: 0 tematów
|
Wysłany: 2006/02/16 17:26 Temat postu: |
|
|
Trzeba jeszcze dać przedmiot z flagą misji. Najlepiej użyć funkcji B_KillNpc. Ona daje odpowiednią monetę.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Ojciec redaktor
Modder
Dołączył: 30 Sty 2006
Posty: 105
Przeczytał: 0 tematów
Skąd: Żagań
|
Wysłany: 2006/02/16 19:52 Temat postu: |
|
|
Ja mam taki o to fragment skryptu
Kod: |
Wld_InsertNpc (PRT_1605_Stryk,"");
var C_NPC nek; nek = Hlp_GetNpc(PRT_1605_Stryk);
Npc_ChangeAttribute (Stryk, ATR_HITPOINTS, -Stryk.attribute[ATR_HITPOINTS_MAX]);
|
Czy jest poprawny?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
orcwarrior
Administrator
Dołączył: 24 Sie 2005
Posty: 495
Przeczytał: 0 tematów
Skąd: Brzeziny
|
Wysłany: 2006/02/16 21:13 Temat postu: |
|
|
lol of lol napisał: |
Ja mam taki o to fragment skryptu
Kod: |
Wld_InsertNpc (PRT_1605_Stryk,"");
var C_NPC nek; nek = Hlp_GetNpc(PRT_1605_Stryk);
Npc_ChangeAttribute (Stryk, ATR_HITPOINTS, -Stryk.attribute[ATR_HITPOINTS_MAX]);
|
Czy jest poprawny? |
Zamias nek daj inna zmienna chyba ze neka usunąłeś
A to czy jest poprawny to się okaże,jak zSpy użyjesz ale raczej pow9inien działac
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|