1
Skrypty / Funkcja wyzwalana po ataku
« dnia: 2017-01-18, 08:34 »
Sprawdź plik B_AssessDamage w nim masz takie coś jak perception

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
jesli stworze zadanie to co zrobic zeby dawalo ono expa?
B_GivePlayerXP (iloscexpa);
Nie masz pewnie player kita i system pack'a ;dPrzyjacielu temat o nazwie Spacer 2 a więc Gothic 2 NK wraz z G2MDK
A można JAŚNIEJ bo jestem JAN KOWALSKI ?Już był taki temat, bodajże w Ikarusie. Normalnymi skryptami tego nie zrobisz.=|
Da się, nawet dość prosto, nazwa zadania jest przechowywana w stringu wystarczy go dodać do defaultowego stringa.
Proszę wybaczyć !GoMan (Podmiana Tekstur)Nie, nie, NIE. Chyba się tutaj niektórzy nie oduczą tego wprowadzania w błąd. Jak ma g2mdk to absolutnie żadnym GoManem, tylko bezpośrednio podmiana plików w _Work/Data/Textures/_compiled.
Siema, pytanie jak w temacie.GoMan (Podmiana Tekstur), GothicVDFS (Wyciągnięcie Tekstur), Blender (Edycja Modeli) , G2MDK (Modele itp.) <-NAJWAŻNIEJSZE
Oto mi chodziło dziękiMusisz wskazać (jeśli masz Blendera) gdzie są teksturki do Gothic 2
Post połączony: 2015-10-12, 21:01Nie ma, musisz sam wyciągnąć z 3DSa mapy w folderze _Work/Data/Meshes/Level/NewWorld NewWorld_Part_City_P01.3DSProblem
Jak wchodzę na tego 3DSa lub inny to mam różowe tekstury.
Wszystko w blenderze, mam pod lokalizacje pod gothica
Co może być nie tak ?
Przeszukaj plik DIA_Functions.d. Jest to pewnie zrobione z wykorzystaniem wyzwalacza. Poszukaj czegoś w stylu "pozostało sekund".Znalazłem twoje dopiski, jednak więcej szczegółów nie...
if (Daron_Runen_Schutz > 0)
&& (Killed_Ober_Zombie == FALSE) //danach braucht das kein Mensch mehr.
{
Daron_Runen_Schutz -= 1;
var int tmp_minutes;
tmp_minutes = Daron_Runen_Schutz - (Daron_Runen_Schutz % 20); //4 * 5 -> die Gothic - Minuten bleiben übrig.
if (Daron_Runen_Schutz % 20 == 0)
&& (NPC_IsDead (hero) == FALSE)
{
var string print_blattern;
var int print_blattern_int;
print_blattern_int = tmp_minutes/20;
print_blattern = IntToString (print_blattern_int);
/*if (print_blattern_int > 4) //Edytowane przez Adanosa
{
print_blattern = ConcatStrings (print_blattern, " minut pozostało");
}
else if (print_blattern_int > 1) && (print_blattern_int < 5) //Edytowane przez Adanosa
{
print_blattern = ConcatStrings (print_blattern, " minuty pozostały");
}
else
{
print_blattern = ConcatStrings (print_blattern, " minuta pozostała");
};*/
if (print_blattern_int == 1) //Edytowane przez Adanosa
{
print_blattern = "Pozostała jedna minuta";
}
else if (((print_blattern_int % 10) == 2) || ((print_blattern_int % 10) == 3) || ((print_blattern_int % 10) == 4))
&& ((print_blattern_int != 12) && (print_blattern_int != 13) && (print_blattern_int != 14))
{
print_blattern = ConcatStrings (print_blattern, " minuty pozostały");
}
else
{
print_blattern = ConcatStrings (print_blattern, " minut pozostało");
};
PrintScreen (print_blattern, 2, 2, FONT_Screen, 6);
};
};
INSTANCE ItRu_Daron_Rune (C_Item)
{
name = NAME_Rune;
mainflag = ITEM_KAT_RUNE;
flags = 0;
value = 200;
visual = "ItRu_PalFullHeal.3ds";
material = MAT_STONE;
spell = SPL_PalFullHeal;
wear = WEAR_EFFECT;
effect = "SPELLFX_WEAKGLIMMER";
description = "Runa Darona";
TEXT [0] = "Ochroni mnie przed ospą";
TEXT [1] = NAME_Manakosten;
COUNT [1] = SPL_Cost_PalFullHeal;
TEXT [3] = "Trwanie (Gothic'owe-minuty):";
COUNT [3] = 60;
TEXT [5] = NAME_Value;
COUNT [5] = value;
};
To jest Runa Darona właśnie ta która nas chroni przed ospą . Mój napój ma chronić przed upałem.Pierwsze XXX odpowiada za gildię , gildia się nie zgadza. zmień na np. PAL, SLD, KDF, BDT,NONEKod: [Zaznacz]instance XXX_5000_XXX (Npc_Default)
Edytowany skrypt Hagena, praktycznie tylko kod i to jego ID.
{
// ------ NSC ------
name = "XXX";
guild = GIL_PAL;
id = 5000;
voice = 4;
flags = 0; //Joly: 0
npctype = NPCTYPE_MAIN;
// ------ 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, 6);
// ------ 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_Fighter", Face_N_Tough_Okyl, 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, 80);
// ------ TA anmelden ------
daily_routine = Rtn_Start_5000;
};
FUNC VOID Rtn_Start_5000 ()
{
TA_Stand_ArmsCrossed (08,00,20,00,"NW_CITY_HAGEN");
TA_Stand_ArmsCrossed (20,00,08,00,"NW_CITY_HAGEN");
};
FUNC VOID Rtn_ShipFree_5000 ()
{
TA_Stand_Guarding (08,00,23,00,"NW_CITY_UPTOWNPARADE_HAGEN");
TA_Stand_Guarding (23,00,08,00,"NW_CITY_UPTOWNPARADE_HAGEN");
};
Dziękichicken tam w komentarzu napisał żeby utworzyć pliki .d tak jak nazwy tych funkcji oprócz dwóch ostatnich, rozumiem że do tworzenia będzie potrzebny plik B_assessDamage (dziwne że nie znalazłem go w gmdk). Wie ktoś gdzie można takowy plik ściągnąć? z góry dziekuje :-)
Witam serdecznie. Ostatnio zainteresowały mnie miecze runiczne i chciałbym się z ich tworzeniem pobawićtak. Czy jest opcja tworzenia ich w gothicu 1 czy tylko można je robić w g2?
Przepraszam jeśli powtórzyłem wątek
Ale to nic nie zmieni, czy on sobie w tej tabeli pozmienia nastawienia czy nie. Przecież napisałem, że gra BĘDZIE czytała rozmiar tablicy jako 16 na 16 pól i teraz, jak jest ich 17, wszystko jest przesunięte o jedno pole w prawo i tym sposobem mamy farmerów mających nastawienie bandytów, bandytów mających nastawienie skazańców etc. Zostaw tę tabelę w spokoju, przywróć jej domyślne rozmiary, a nastawienie swojej nowej gildii zrób ręcznie, za pomocą 33 linijek Wld_SetGuildAttitude. Robiłem to wcześniej i wiedziałem, że grzebanie w tej tablicy skończy się źle.Okej spróbuje, cholera faktycznie jest trochę roboty z tym
Dam ci ułamek swojej funkcji ze swoją nową gildią, abyś mógł to zrozumieć:Kod: [Zaznacz]func void B_NewGuildAttitudes()
Funkcję B_NewGuildAttitudes czy jak tam ją nie nazwiesz musisz zainicjować w Startup.d w INIT_Global.
{
//wobec innych
Wld_SetGuildAttitude (GIL_REBEL, ATT_NEUTRAL, GIL_NONE);
//tu pozostałe 15 gildii
//w drugą stronę
Wld_SetGuildAttitude (GIL_NONE, ATT_NEUTRAL, GIL_REBEL);
//tu pozostałe 15 gildii
//wobec samych siebie
Wld_SetGuildAttitude (GIL_REBEL, ATT_FRIENDLY, GIL_REBEL);
};