Pokaż wiadomości

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.


Wiadomości - TheKetrab

Strony: 1 ... 3 4 [5] 6 7 ... 17
81
MDS i animacje / Duale Problem
« dnia: 2017-12-29, 23:09 »
Walka tarczą jako umiejętność to zwykła zmienna: UmieWalczycTarcza = TRUE;
Przy nauce umiejętności: hero.lp = hero.lp - 10 (przy waruku if(hero.lp>10) ).
Kolejne warunki przy tarczach w funkcji on_equip: if(UmieWalczycTarcza==TRUE) to załóż.
Tak się to robi.

82
Archiwum / Gothic 2 Ucieczka
« dnia: 2017-12-28, 22:11 »
PS: Nasz drogi autor wymyślił generator losowego zombi, ale coś mu się zepsuło przez co każdy zombi wyglądał tak[...]

Pogniewam się tylko za tego PSa, bo pisałem przecież, że to wina tekstur, których nie zapakowałem do paczki z modem! Generator działa dobrze, a wyżej zaprezentowany obrazek pokazuje tylko 'wypadek przy pracy' :(

83
Pytania i problemy / PlaySound - utwór grany w grze
« dnia: 2017-12-24, 15:25 »
Gdyby to działało na tej zasadzie, odtwarzanie dźwięków lutni byłoby w skryptach, a nie MDSie.

Czyli MT zrobiło to przez MDSa? Np. tym: ?
*eventSFX (numer_klatki "nazwa_sfx_lub_pliku_wav" R:zasięg_w_cm EMPTY_SLOT - odtworzenie dźwięku, np *eventSFX (10 "Swim"), część parametrów jest opcjonalna: zasięg słyszalności i EMPTY_SLOT (którego nie użycie powoduje że poprzedni efekt dźwiękowy zostanie przerwany przez ten)

84
Pytania i problemy / PlaySound - utwór grany w grze
« dnia: 2017-12-24, 12:19 »
A co w takim razie mówią tamtejsze skrypty?

85
Pytania i problemy / PlaySound - utwór grany w grze
« dnia: 2017-12-24, 10:01 »
Dzień dobry,

chcę, by wieczorem w karczmie był grany minutowy utwór na gitarze (mniej więcej jak, 'przez mgłę widzę wyspę'). Zrobiłem to w następujący sposób: w rutynie Play_Lute usunąłem grane dźwięki i wstawiłem swój utwór.

// *********************************
// NSC benutzt Item Lute an Stand-FP
// *********************************

func void ZS_Play_Lute ()
{
Perception_Set_Normal();

B_ResetAll (self);

AI_SetWalkmode (self,NPC_WALK);

if (Npc_GetDistToWP (self,self.wp) > TA_DIST_SELFWP_MAX)
    {
AI_GotoWP (self, self.wp);
};

if (Npc_HasItems (self,ItMi_Lute) == 0)
{
CreateInvItem (self,ItMi_Lute);
};
self.aivar[AIV_TAPOSITION] = NOTINPOS;
};

func int ZS_Play_Lute_Loop ()
{
if (Npc_IsOnFP (self, "STAND"))
{
AI_AlignToFP (self);
if (self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
  {
  self.aivar[AIV_TAPOSITION] = NOTINPOS;
  };
}
else if (Wld_IsFPAvailable(self,"STAND"))
{
AI_GotoFP (self, "STAND");
AI_StandUp (self);
AI_AlignToFP (self);
self.aivar[AIV_TAPOSITION] = NOTINPOS_WALK;
}
else
{
AI_AlignToWP (self);
if (self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
  {
  self.aivar[AIV_TAPOSITION] = NOTINPOS;
  };
};

if (self.aivar[AIV_TAPOSITION] == NOTINPOS)
{
AI_UseItemToState (self,ItMi_Lute,1);
Snd_Play ("FREE_MINE_GUITAR");
self.aivar[AIV_TAPOSITION] = ISINPOS;
};

return LOOP_CONTINUE;
};

func void ZS_Play_Lute_End ()
{
AI_UseItemToState (self, ItMi_Lute, -1);
};


Dźwięk działa, ale problemy są inne:
1. Muzyka (która normalnie gra) się nie wycisza.
2. Gdy zagaduję gościa, który gra, on rozmawia ze mną, nie przerywa dźwięku, a gdy przestaję z nim gadać, to ponawia swoją rutynę i nakładają się na siebie dwie melodie niczym kanon.
3. Utwór słychać z za dużej odległości, oraz gdy odejdę na odległość (a utwór już gra) to się nie wycisza - a powinien.

Czy ktoś mógłby mi doradzić, jak pozbyć się dwóch ww. problemów?

86
Oferty pracy i pomocy / G2 Ucieczka - marketing
« dnia: 2017-12-16, 20:32 »
Cześć wszystkim,

z powodu braku wystarczający umiejętności w pewnych dziedzinach, chciałbym uzyskać pomoc przy pracy nad modyfikacją G2 Ucieczka.

https://themodders.org/index.php?topic=28755.0

Nie zajmie to nikomu dużo czasu. Będzie to raczej pomoc od czasu do czasu, gdy będziecie mieli wolny czas. Szczególnie pomocy potrzebuję w tych trzech, wymienionych w temacie, dziedzinach, jednakże każda pomoc się przyda. Wiem, że pisaliście do mnie w kwestiach swojej pomocy. Jeśli ktoś dalej jest zainteresowany i może mi pomóc w dowolnej z tych trzech dziedzin lub w jakiejś innej, to chętnych zapraszam na PW.

1. Grafik 3d
  • modele 3d (tarcze, hełmy, (miecze?)),
  • -drobne poprawki przy świecie.
2. Marketing
  • -ktoś, kto umie kręcić Gothicowe teasery,
  • -umie robić screeny (może być nawet z użyciem DirectX11),
  • -umie zadbać o rozgłos produkcji modyfikacji,
  • -będzie ogarniał facebookowy profil 'Ucieczki'.
3. Backend programistyczny
  • -ktoś, do kogo będę mógł zgłosić się w celu uzyskania pomocy z rzeczami, których sam nie potrafię zrobić,
  • -chciałbym, żeby ktoś napisał instalator do modyfikacji...


87
Archiwum / Gothic 2 Ucieczka
« dnia: 2017-12-16, 20:19 »
~ Po długim czasie...

Studiowanie zabiera mi więcej czasu, niż bym chciał. Jednak zbliża się wolny tydzień i zamierzam przysiąść do błędów wytkniętych mi podczas betatestów. Niestety, 7 dni to za mało, dlatego będę potrzebował pomocy... Zainteresowanych odsyłam do tematu w dziale ofert pracy i pomocy.

https://themodders.org/index.php?topic=28987.0

Jakiś czas temu zasugerowano mi, bym umieścił martwe smoki w GD. Tak też zrobiłem. Ciekawie chodzi się po nieprzenikających smokach ^^ (na smoki można stanąć, ponieważ są vobami). Na dowód, że ciągle robię coś nowego zamieszczam martwego smoka na bagnie oraz czarne zombie. W modzie działa generator losowych zombie - możemy spotkać cztery różne odmiany, z czego Gothic 2 używa tylko jednej.



88
Skrypty / Kilka pytań i problemów.
« dnia: 2017-12-01, 10:16 »
@problem2:
https://themodders.org/index.php?topic=6759.0

@pytanie1:
tak

@pytanie2:
framefunction lub tick tock który wywołuje AI_Teleport do randomowego waypointa w pobliżu.
żeby teleportowała się po dialogu, to ja robię taki myk, że ustawiam, żeby mnie atakowała po dialogu, a jako czar, którym mnie ma atakować, daję teleportacje. gdy się już przeteleportuje, to wyłączam to, żeby atakowała runą teleportacyjną.

@pytanie3:
jest gdzieś spellfx_fire_arrow. wydaje mi się że nawet w plikach gry.
a jeśli nie to na wogu jest paczka z różnymi spell_fx'ami do strzał.

89
Odpowiadając na pytanie: tak, próbowałem i szukałem.
Szukałem rozwiązania edytując ZEN Notepadem++, przeglądając mdsy obiektów interaktywnych, szukając w wyciągniętych przez Avallacha 'możliwościach' mdsów. Rozważałem skryptowe wymuszenie opcji CDyn bez przerwy, klatka po klatce. - niestety, nie zdołałem się dobrać do tego przez zwykłe skrypty. Stąd też pytanie o sposób Ikarusowy. Już dawno temu rozważałem pomysł, który zapodał Młody ścierwojad, ale jest on trochę kłopotliwy, gdyż obiektów interaktywnych jest bardzo dużo. Googlałem, szukałem na TM, na WoGu. Może nie dość umiejętnie? Sam nie byłem w stanie znaleźć rozwiązania, więc zwróciłem się z zapytaniem na forum. Przykro mi, że zostałem zjechany za to, że nie opowiedziałem o swoich próbach znalezienia rozwiązania; miesiąc w miesiąc, gdy się do tego zabierałem; bez skutku. No ale skoro powinienem, to przepraszam. Jeszcze raz odniosę się do pytania o Ikarusa/LeGo - pomyślałem, że w ten sposób zdołam się dobrać do właściwości asc podczas jego używania i wymusić nieprzenikalność.

90
A czy ktoś odkrył, jak temu zapobiec? Ikarusowo jakoś.

91
Dobry wieczór,

temat jest na pograniczu Spacera, MDSa i Skryptów :D

Tak jak w temacie: gdy asc (np. Roast Scavenger, BookStandy, ławki, wszystko) nie jest używany, to nie przenika, wszystko jest w porządku. Natomiast gdy dowolny NPC używa owego asc (np. ławki), to nagle ławka staje się przenikalna, mogę w nią wejść. Gdy NPC wstaje z ławki i ławka znów jest nieużywana, to asc odzyskuje swoją właściwość CDyn i znów jest nieprzenikalny.

Sprawdziłem w G2NK, w G1 - to samo. Czy wszyscy macie ten problem?
Czy tylko ja mam tak namieszane :/ Wie ktoś, jak temu zaradzić?

Pozdrawiam.

92
MDS i animacje / [G2NK]
« dnia: 2017-10-28, 15:16 »
musisz usunąć plik .tex z folderu compiled oraz plik Textures.vdf zmienić rozszerzenie na .disabled.
odpal sobie potem grę, która skompiluje ci twój plik, który edytowałeś do rozszerzenia typu tex.

93
Archiwum / Gothic 2 Ucieczka
« dnia: 2017-10-17, 15:57 »
Myrtana i wszystkie ludzkie tereny mają miejsce w wyimaginowanym świecie, a w takowych autorzy raczej pomijaja istnienie pór roku lub częściej zakładają, że pory roku trwają przez bardzo długi okres (np. w uniwersum 'Gry o Tron'). Wydaje mi się, ze czasowo jest to równolegle do akcji gry Gothic 3. A tam zimy nie ma. Więc raczej będę się przychylał do wersji bez śniegu ;p Śniegu trochę zniknie... Oczywiście Górnicza Dolina już odzyla - więcej roślinności. Ale zakładam ciągle zniszczenie gleby ze względu na orków, wojnę, oblężenie.

Fantastyczny pomysł na modernizację wulkanu ;D

94
Archiwum / Gothic 2 Ucieczka
« dnia: 2017-10-17, 12:41 »
~ A może by tak...?

Faza betatestów już trwa. Błędy będą stopniowo usuwane, a bugi maksymalnie ukrywane. Kilkanaście postów wyżej została rzucona propozycja, by w modyfikacji Górnicza Dolina częściowo powróciła do swojego dawnego wyglądu - w końcu magiczna aura mająca wpływ na krajobraz odeszła wraz ze smokami. W związku z tym zapytanie do Was:

Co myślicie o tym, by zmniejszyć teren pokryty śniegiem, częściowo przywrócić starą cytadelę albo zamienić bagno w jezioro? Zachęcam do dyskusji! Jestem bardzo ciekaw, czy taki zabieg ucieszy graczy ;] Oraz jeszcze jedna kwestia: jak myślicie, czy użycie w niektórych miejscach klimatycznego soundtracku z G1 byłoby dobrym pomysłem?







PS. Powyższa edycja została wykonana wyłącznie na potrzeby screena w mniej więcej 10 minut. Nie jest to finalna wersja.

95
Wydaje mi się, że na forum był wątek, w którym ktoś odeslal do programu konwertujacego zeny z G1 do G2 i na odwrót...

Edit: o, mam:
http://themodders.org/index.php?topic=7989&amp%3bpid=73219&st=0&#entry73219

Edit2: chyba ze chodzi Ci o sam szkielet 3d? Ja normalnie blenderem importuje i wszystko działa.

96
Może chodzi Ci o to że textury masz po drugiej stronie face'a? Mesh->Normals->Flip normals

Przynajmniej tak jest w Blenderze

97
Każdy vob ma opcję: VisualAniMode.
Kliknij na to dwa razy, zamiast NONE wyskoczy WIND, a potem WIND2.
Możesz ustawić żeby nie tylko drzewa i rośliny reagowały na wiatr, ale także beczki, skrzynie etc.

98
Umieść go w dowolnym pliku z rozszerzeniem *.d
Np. w dowolnym pliku z dialogami w folderze _Work\data\Scripts\Content\Story\Dialoge.
Wklej tam po prostu kawałek kodu, który napisałem.

99
Lekkie zmiany:

1. Nazwij mover: MOVER_PULAPKA.
2. Utwórz TriggerScript i nazwij go: PULAPKA.
3. Jeśli w twoim zwykłym triggerze TriggerTarget to PULAPKA, to teraz twój trigger jest połączony z TriggerScriptem.
4. TriggerScript ma na dole opcję onStateFunc. Ustaw: onStateFunc: PULAPKA.
5. Co to znaczy 'onStateFunc: PULAPKA'? To znaczy: wywołaj funkcję PULAPKA_S1 (w skrypcie z dopiskiem _S1, w Spacerze bez tego dopisku). Ale tutaj przyznaję, że strzeliłem byka, bo nie otworzyłem Spacera i dokładnie nie sprawdziłem, tylko pisałem z głowy :P
A więc poprawię się: TriggerScript na dole ma opcję ScriptFunc. Tam dopisz: PULAPKA.
6. Utwórz funkcję. W dowolnym pliku napisz:
var int aktywowalesPulapkeOneTime;
func void PULAPKA_S1()
{
   if(aktywowalesPulapkeOneTime==FALSE) //blokada, żeby działo się to tylko jeden raz
   {
      Wld_SendTrigger ("MOVER_PULAPKA"); //dzięki temu poruszysz moverem
      Snd_Play ("LEVELUP"); //dzięki temu wywołasz dowolny dźwięk z folderu: ...\_Work\data\Sound\SFX lub SPEACH
     //możesz np. jakiś krzyk Zombie, whatever. Jeśli chodzi ci o dźwięk poruszania się twojej pułapki (jak np. otwieranej kraty), to w poprzednim poście napisałem, jak to zrobić).

      //tu możesz dopisać jeszcze jakieś wpisy do dziennika 'ojej, zapadła się podłoga, co ja teraz zrobię?!'

      aktywowalesPulapkeOneTime=TRUE; //dzięki temu ta funkcja wykona się tylko jeden raz.
   };
};

7. O co chodzi z tym onStateFunc i ConditionFunc?
Łatwo jest zblokować jakimś warunkiem TriggerScripta. Wystarczy dopisać w funkcji w skryptach:
if(godzina jest 20-23){ zrób coś tam }; // a jak nie jest to oczywiście nie zrobi.onStateFunc i ConditionFunc używa się w MobInternach. Ławkach, przełącznikach, skrzyniach.
Pokażę na przykładzie. Weźmy stwórzmy skrzynię -> ma ona w swoich opcjach onStateFunc i ConditionFunc.
W dowolnym miejscu w skryptach stwórzmy obie funkcje:
func void SKRZYNIA_S1() //z dopiskiem _S1
{
        AI_Teleport (NASZ_229_Ayan, "TOT");
B_StartOtherRoutine (NASZ_229_Ayan,"Dead");
Wld_InsertNpc (OZYWIENIEC, "NASZ_OZYWIENIEC_40");
Snd_Play ("MFX_GhostVoice");

B_LogEntry (TOPIC_Monastir_bogowie, "Jasna cholera... [...]");
};

func int COND_SKRZYNIA()
{
if (PotworZabity == TRUE)
{
return TRUE;
}
else {
AI_Output (hero, hero,"DIA_NASZ_FunkcjaPrzelecz_55_00"); //Jakaś magiczna aura blokuje dostęp do skrzyni...
};
};

I musimy wkleić odpowiednio nazwy do opcji onStateFunc i ConditionFunc w Spacerze (tę pierwszą nie trzeba dużymi literami, ale condition func trzeba dużymi literami wywołać w Spacerze; ale to tylko taka uwaga z doświadczenia. Zawsze lepiej pisać onStateFunc i ConditionFunc w Spacerze dużymi literami :D ).

Ktoś może powiedzieć, że mogłem dać warunek w funkcji onState, a ja powiem: 'Tak, masz rację. Ale wtedy klęknę do skrzyni i ją otworzę i nic się nie stanie. A przecież nie o to mi chodzi. Jeśli np. chcemy zrobić coś takiego, że nie możesz klęknąć do szkrzyni, bo jej właściciel stoi zbyt blisko to co? To właśnie skorzystasz z opcji ConditionFunc. Bo zanim hero klęknie i otworzy skrzynie, to wykona się funkcja, która powie: 'nie, nie możesz otworzyć tej skrzyni, bo ktoś jest w pobliżu!'.

Mam nadzieję, że nie namieszałem za bardzo... :)

100
https://m.
https://www.youtube.com/watch?v=TULUolVc3X0

Strony: 1 ... 3 4 [5] 6 7 ... 17
Do góry