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.


Pokaż wątki - Siemekk

Strony: 1 2 [3] 4 5 ... 8
41
Skrypty / [PFX]Jak stworzyć pfx na samej klindze
« dnia: 2017-02-28, 17:43 »
Otóż tak jak w pytaniu. Chciałbym zrobić ok .5 PFX do miecza runicznego, ale gdy stworzyłem już jeden to wygląda on tak:
Spoiler
Zamiast tak:
Spoiler
Te pomarańczowe kropki to cząsteczki :F I pytanie jak mógłbym stworzyć/sprawić by PFX obejmował np. tylko klingę? Czytałem poradnik z WoG'a ale nic tam o tym nie ma, dlatego też piszę tutaj.

42
Skrypty / Klasy silnika
« dnia: 2017-02-21, 17:32 »
Czy są może gdzieś udostępnione te klasy? Chciałbym niekiedy poszukać wskaźników np. do klasy deszczu, ale nie wiem czy gdzieś są one dostępne.  W g2ext jest ich mała ilość, a w AST też nie ma niektórych tak jak np. (Chyba. Piszę nawę z głowy) zskyoutdoorrainfx.

43
Skrypty / Dziwny problem z parserem
« dnia: 2017-02-12, 19:26 »
Mam bardzo dziwny problem z parserem... Chcę uporządkować pliki modyfikacji poprzez rozmieszczenie ich w różnych folderach, a potem parsowanie ich za pomocą nowego .src (Tak jak w LeGo lub BSM)
Jednak gra nie widzi plików z mojej modyfikacji... O co chodzi? Parsowanie wygląda tak:
Gothic.src
Items\MissionItems_Addon.d
AI\Magic\B_MagicHurtNPC.d
UnBalance\Header.src
Story\B_Content\B_ScHasBeliarsWeapon.d
a w pliku Header.src tak:
Menu\NewMenuStatus.d
Ale gra tego nie widzi... Ktoś mógłby mi powiedzieć o co biega?

44
Pytania i problemy / Maksymalny rozmiar tekstury
« dnia: 2017-02-10, 22:10 »
Tak jak w pytaniu... Jakie wymiary ma max. tekstura jaką obsłuży gothic?  4096x4096 czy mniej?
Krótko i na temat :D

45
Tak jak w temacie mam problem :/ Mianowicie Importuje sobie zbroję (Np. Armor_PAL_H.asc) oraz jakiś model 3d. I mam takie pytanie jak mogę przypiąć ten obiekt do kości, tak abym mógł ustalić mu właściwą pozycję? Czy jakiś miły grafik 3d byłby skłonny pomóc?

46
Skrypty / Problem z animacjami
« dnia: 2017-01-30, 16:44 »
Tak więc bez gadania mam dziwny problem i nie wiem jak sobie z nim poradzić. Mianowicie gdy mam wyciągnięty łuk i odpalam sprint klawiszem ~ to po wyłączeniu sprintu nie mogę strzelić z łuku... Czym to może być spowodowane?
(Podmieniłem też animację na inną i bez skutku :< )
Druga sprawa to mam system wierzchowców. Gdy bohater siądzie na zwierzę ma mu się załączyć MDS... Ale to się nie dzieje...
Kod:
if(Crait_Up == FALSE)
{
if(Npc_GetDistToNpc(hiro,_Crait) <= 250)
{
SetAsPlayer(_Crait);
Ext_PutInSlot2(Crait,"BIP01 PELVIS01",pc_hero);
AI_Teleport(hiro,"TOT_DEB");
Mdl_ApplyOverlayMds(pc_hero,"MOUNT_SHADOW.mds");
Crait_Up = TRUE;
}
else
{
Print("Za daleko...");
};
};
Tyle kodu starczy (dodam, że wierzchowca normalnie dosiada)
No i trzecie... Mam obrażenia obszarowe. Ale gdy przeciwnik ma zginąć (oCNPC::DoDie) to czasem biegnie w bok aż się nie odbuguje... Ktoś wie jak takim rzeczom zaradzić?  Używałem AI_StandUpQuick, NPC_ClearAIQUEUE, ale to nic nie daje :<
Byłbym wdzięczny za pomoc!

47
Skrypty / Gothic II [LeGo] Listy
« dnia: 2017-01-27, 20:09 »
Tak jak w temacie chciałbym nauczyć się tworzyć Listy z LeGo.
Podstawowe pytania:
1) Do czego się ich używa?
2) Jak wygląda ich struktura?
3) Jak dodawać, usuwać i zarządzać listami?
Od razu mówię, że zapoznałem się z  tym, ogarniam co tam jest i te skróty, ale nie mam żadnego przykładu jak się to dzierży.
(Nie ma żadnych przykładów z zakładce 'Beispiele'.

48
Ukończone modyfikacje / [G2NK] UnBalance v1.4.1
« dnia: 2017-01-27, 17:08 »
MODYFIKACJA ZOSTAŁA PORZUCONA A LINKI USUNIĘTE. PROSZĘ MNIE NIE NĘKAĆ O LINKI BO ICH NIE MAM! DZIĘKUJĘ ZA UWAGĘ.


Długi czas oczekiwania dobiegł końca... Mamy wersję 1.4 ! Premiera miała być ok. 14 lutego, ale dzięki pomocy testerów udało się szybciej!
Opis modyfikacji:
Modyfikacja wykorzystuje świat z L'hvier Edition (wersja 0.9.3). Modyfikacja nie zmienia nic w fabule, ale za to dodaje mnóstwo dodatków! Jeżeli więc grałeś w Gothic II i było ci zbyt 'nudno' to ta modyfikacja jest dla ciebie!

Modyfikacja oferuje:
-Nowe menu statystyk
-Nowe opcje w menu: Paski kinowe, Wolne celowanie, Pasek doświadczenia i wiele więcej
-Obrażenia obszarowe
-Celownik do łuków, kusz oraz zaklęć
-Kilka nowych pancerzy
-Możliwość odzyskania Uriziela
-Nowa wersja rytuału Innosa
-Walkę dwoma mieczami
-Walkę tarczą
-Nowe animacje walki (Orkowe bronie, włócznie)
-Nowe umiejętności (Szybka nauka, Kostury magiczne, Rozbicie)
-Nowy system teleportacji

FIX 1.4.1
-Zakładając Hełm bohater nie ma kucyka
-Crait działa już właściwie
-Nowe dialogi są już widoczne
-Naprawiono alchemię
-Nie ma już błędu ze zbroją pana cienia
-Naprawiono błąd z niepojawieniem się Erola
-Kołczany nie znikają po wczytaniu gry
-Poprawiono system sprintu (Max. wytrzymałość to 500, informacje o bonusie zostają wyświetlone w momencie awansu na kolejny poziom
-Można wykonać questa u Canthara
-Lester ma już poprawny dialog dot. powrotu z GD
-Przeciwnicy powinni już padać normalnie a nie biegać w lewo (do testów)
To wszystko z tego patch'a dodatkowo SystemPack został uaktualniony do wersji 1.6 (Zalecane zmniejszenie Interface w SystemPack.ini bez tego paski będą "brzydko wyglądały")
I wiele wiele więcej!!!

Screeny z gry:
Spoiler














Częste pytania
Spoiler
P:Mam problem z Crashami.
O:W tej wersji zostały one ograniczone, lecz jeżeli jakiś wystąpił (nie dotyczy DX) to wyślij mi Screena na PW

P:Nie widzę nic podczas gry na DX11!
O: Wyłącz paski kinowe oraz pobierz DX w wersji 17_1 nie 17_4!!!

P:Jak modyfikacja zmienia poziom trudności?
O:Masz możliwość wyboru ;)

P:Kto uczy walki tarczą?
O:Podstawowi nauczyciele to Arlik i Fester tyle ci wystarczy.

P:Kto uczy walki dualami?
O:Dowiesz się ;) Wymaga pokazania komuś dwóch mieczy.

P:Wywala mnie do pulpitu, nie widzę pasków mimo iż nie mam DX11
O:To może się zdarzyć i módl się oby na początku. Błąd psuje save i konieczna jest nowa gra (Podczas gry u siebie miałem to tylko 1 raz i to na wersji 1.2, błąd może się pojawić w 1.4 z powodu pasku wytrzymałości oraz menu statystyk.

WAŻNE!!!
Nie używajcie QuickSave (F5) Powoduje on błędy w grze... Duplikacja pasków, błędy z Menu statystyk - jednym słowem bardzo, ale to bardzo buguję grę nie używajcie go pod żadnym pozorem!!!
Modyfikacja korzysta z zaklęć oraz pakietu "Free-Aim" autorstwa Mud-Freak/szapp opartego na licencji MIT.
Skrypty modyfikacji
Autor-szapp

Spoiler::: Mapa z aktu 5 która ma złą teksturę:
Spoiler
Należy jej użyć, by Quest ruszył dalej!!!


49
C, C++ / [C++]Nauka obiektowości
« dnia: 2017-01-18, 20:03 »
Znam destruktory, konstruktory, klasy, pracę z klasą etc. Jednak nie znam jeszcze kilku rzeczy których nie wiem gdzie szukać? Nie wiem jak się nazywają XD Chodzi mi mniej więcej o:
nt A;
int* B = &A;
int** C = &B;
A = 10;
Print(A);
Print(*B);
Print(**C);
Print(&A);
To są chyba operacje bitowe, ale zapewne się mylę. Jak to się nazywa :F I gdzie najlepiej się uczyć.
Dalej są funkcje Statyczne i zmienne nie mogę nigdzie znaleźć jakiegoś fajnego tutoriala.
Ostatnim są metody wirtualne :F Tych rzeczy nie rozumiem :/ Więc prosiłbym o pomoc (Najlepiej przekierowania do jakiegoś fajnego i dobrego poradnika :) )

50
Skrypty / Niepojawiające się dialogi.
« dnia: 2017-01-17, 17:03 »
Chyba najwyższy czas napisać o tym poradnik, połowa tematów dotyczy właśnie tego. Dobra ruszajmy!

I.Redefix
Pobieramy program stąd oraz go konfigurujemy co jest banalne... Parsujemy dialogi i odpalamy grę! Jeżeli działa to brawo! Jeśli zaś nie to patrz na punkt 2 który jest niżej.
II.Modyfikacja pliku ini
Nasze dialogi się nie pojawiają do co za &^&6 pisał ten &%$($& poradnik dla &&&#@ niedorozwojów? Spokojnie... Jeżeli dalej nie pojawiają się nasze dialogi kierujemy się do pliku konfiguracyjnego naszego moda... U mnie jest to: D:\Gothic II\System\UnBalance.ini
Odpalam go. I mam taką linijkę:
Spoiler
Zamieniam ją na takie coś:
Spoiler
Odpalam grę. Idę do pierwszego lepszego NPC i gotowe! Wszystko działa jak należy... Mam nadzieje, że teraz będzie mniej tematów w problematyce które głównie dot. niepojawiających się dialogów. Dziękuje i życzę udanych dialogów  :ok:

51
Skrypty / Wyłączenie zaklęć MagBook'a
« dnia: 2017-01-14, 21:13 »
Tak jak w temacie. Jak to zrobić? Mam wyłączone przypisywanie zaklęć do Mag_Book'a, ale gdy użyje AI_ReadySpell(hero,91,5);
To jedno zaklęcie się przypisuje :/ Jak się czegoś takiego pozbyć? Od Gratt'a wiem, że wyłączył wszystkie zaklęcia, tylko jak można takie coś osiągnąć  :hmmm:
Wyłączenie zapisywania zaklęć do Mag_Book'a:
MemoryProtectionOverride(7577148, 5);
MEM_WriteByte(7577148+0, 233); 
MEM_WriteByte(7577148+1, 229);
MEM_WriteByte(7577148+3, 000); 
MEM_WriteByte(7577148+2, 001); 
MEM_WriteByte(7577148+4, 000);

52
Skrypty / Zablokowanie zakładania przedmiotów
« dnia: 2017-01-11, 17:13 »
Tak jak w temacie... Jak czegoś takiego dokonać  :hmmm: Przypisywanie zaklęć do magbook'a można wyłączyć za pomocą MemoryProtectionOverride i MEM_WriteByte. Ale co z zakładaniem kuszy i miecza? Ktoś mógłby podpowiedzieć gdzie szukać?

53
Skrypty / [C++] Zrozumienie "nietypowego" zapisu klasy
« dnia: 2017-01-08, 19:18 »
Cześć. Od paru dni piszę sobie w C++ własny plugin. Mam mały problem ze zrozumieniem pewnej rzeczy... Mianowicie mam klasę:
#include "_ASTHookData.h"

#define _ON TRUE
#define _OFF FALSE

template <class T>
class CInvoke
{
CHookData m_data;

public:

CInvoke(int, PFUNC = NULL, BOOL = _ON); // Create hook-info

operator T(); // Return detour pointer to func
};

template <class T>
CInvoke<T>::CInvoke(int addr, PFUNC detour, BOOL bOn)
{
// Define hook-info data
m_data.Detour = detour;
m_data.Pointer = (T)addr;
m_data.Original = (T)addr;

// Register data
if(detour && bOn)
CCallBack::Attach(m_data);
}

template <class T>
CInvoke<T>::operator T()
{
return (T&)m_data.Pointer;
}
CInvoke- Gratt stworzył ją by ułatwić sobie pisanie funkcji(chyba hookujących).
Przykład użycia wygląda tak:
CInvoke< void(__thiscall*)(void*,float)> pSetFarZSca (Adres,nazwa funckcji, zBool)

void __fastcall pSetFarZSca (zCSkyControlerOutdoor* _this, void*, float farg)
{
NazwaFunkcji(_this,farg);
}
I teraz pytanie: O co chodzi :/ Rozumiem tylko tą część: pSetFarZSca (Adres,nazwa funckcji, zBool)
Ale nie umiem zrozumieć tego: CInvoke< void(__thiscall*)(void*,float)> O co tutaj chodzi? __thiscall to chyba z IDA się wzięło, void to chyba typ funkcji lol, a float to argument. Ale Bardzo bym prosił o wyjaśnienie jeżeli ktoś by potrafił :) Z góry dzięki.

P.S To jest z niepublikowanej wersji AST z numerkiem 003 XD

54
Skrypty / Kalkulacja pozycji zCView
« dnia: 2017-01-07, 21:02 »
Tak jak w temacie... Chciałbym się dowiedzieć jak najefektywniej ustawiać pozycje zCView dla tekstury.
Na przykład mam teksturę o rozmiarze: 256x256.
I teraz jak to przekalkulować na pozycję wirtualną?
Max. liczba w pozycji wirtualnej x-y wynosi 2^13 = 8192;
Jeżeli dam takie coś:
zCView(0,0,512,512);
To będzie za mały... Więc czy jest jakiś fajny sposób by przeliczyć ile trzeba dodać w pozycji x oraz y aby tekstura dobrze pasowała?
Z góry dzięki za odp ;)
P.S
zCView = C++: zCView* v = new zCView(x,y,x1,y2);

55
Skrypty / Gothic 2 Bariera
« dnia: 2017-01-01, 14:18 »
Szperając w klasach zEngine znalazłem tę dotyczącą bariery.
class oCBarrier
{
public:
zCMesh* m_pMesh; //0x0
int myPolyList; //0x4
myVert* m_pVert; //0x8
int m_nSizeVert; //0xC
int m_nSizePoly; //0x10
void* m_pThunder; //0x14
int m_nMaxThunders; //0x18
int m_nNumThunders; //0x1C
int actualIndex; //0x1D
int rootBoltIndex;       
int m_nIndexThunder1[10];
int m_nSizeThunder1;
int m_nIndexThunder2[10];
int m_nSizeThunder2;
int m_nIndexThunder3[10];
int m_nSizeThunder3;
int m_nIndexThunder4[10];
int m_nSizeThunder4;     
int m_nCurrentIndex;     
int m_bFadeCycle;   
int m_nAlphaFade;
int m_bUpFade;     
int m_bDownFade;     
int bFlashing; 
int fFlashTime;
void* m_pSfxThunder1;
int m_nHandleThunder1;
void* m_pSfxThunder2;
int m_nHandleThunder2;
void* m_pSfxThunder3;
int m_nHandleThunder3;
void* m_pSfxThunder4;
int m_nHandleThunder4;
void* m_pDecal;
BOOL m_bThunder1;
BOOL m_bThunder2;
BOOL m_bThunder3;
BOOL m_bThunder4;    
zVEC2* m_pTexUVs;
oCBarrier(void)
{
XCALL(0x006B8FC0);
};

~oCBarrier(void)
{
XCALL(0x006B9190);
};

void Init(void)
{
XCALL(0x006B9440);
};

void Initialise(int)
{
XCALL(0x006B9BF0);
};

void AddTremor( zTRenderContext&)
{
XCALL(0x006B9CE0);
};

void RenderLayer( zTRenderContext&,int,int&)
{
XCALL(0x006B9CF0);
};

int Render( zTRenderContext&,int,int)
{
XCALL(0x006B9F30);
};

void InitThunder( myThunder*)
{
XCALL(0x006BA9C0);
};

void RemoveThunder( myThunder*)
{
XCALL(0x006BA9F0);
};

int AddThunderSub( myThunder*,int,int,int,int)
{
XCALL(0x006BAAA0);
};

int AddThunder(int,int,float,zTThunderSector)
{
XCALL(0x006BADE0);
};

int RenderThunder( myThunder*, zTRenderContext&)
{
XCALL(0x006BB4B0);
};

void RenderThunderList( zTRenderContext&)
{
XCALL(0x006BB770);
};
};
Cóż, czy więc jest możliwe stworzenie bariery w G2? Co by było do tego potrzebne (poza: PFX, Tekstury, dźwięki).
Z góry dzięki za pomoc  :ok:

56
Skrypty / Różnica między MEM_ReadInt a MEM_PtrToInst
« dnia: 2016-12-29, 16:37 »
W tym temacie nie mam żadnego problemu, tylko jestem bardzo ciekawy jak to działa.
MEM_ReadInt/WriteInt wiem jak działa, oraz dobrze wiem że nie potrzebuje struktury klasy w grze, a pointery otrzymuje z bitów. Zaś MEM_PtrToInst / _^ potrzebuje budowę klasy, aby otrzymać to co chcę za pomocą:
zmienna.wartość; Jednak w jaki sposób to działa? W jaki sposób gra wie, że to akurat jest ten pointer?

57
Skrypty / Problem z adresem
« dnia: 2016-12-18, 13:42 »
Chcę napisać funkcję która powala przeciwnika do nieprzytomności. (DropUnconscious). Jednak nie wiem czemu funkcja mi crashuje :/
target_ptr = oCNpc_GetPointer(target);
ocnpc_attacker = oCNpc_GetPointer(hero);
CALL_IntParam (0); //float param
CALL_IntParam (ocnpc_attacker);//hero
CALL__thiscall (target_ptr, 7560880);//slf
Ktoś wie co może być grane :/ Wcześniej zdawało się działać, ale teraz już nie :/

58
Spacer / Nowy obiekt (typu pochodnia)
« dnia: 2016-12-14, 16:02 »
Tak na szybko... Jak zrobić coś a'la pochodnia? Chcę zrobić lampion który w środku ma pfx ognia. Więc jak takie coś zrobić?
(Jak połączyć model + pfx oraz zapisać)

59
Skrypty / Zachowanie animacji
« dnia: 2016-12-12, 16:00 »
Na początku podziękowania dla @bgb który kiedyś mi pięknie napisał co zrobić, aby animacja się zachowała... Ok. w takim razie Let's go.
Wymagany Ikarus oraz pakiet Broadcasts
Teraz omówmy o co chodzi. Jak wiemy, gdy damy npc OverlayMds dla nowego stylu walki, po wczytaniu walczy on po staremu... Opatentowałem jak prosto temu zaradzić... Wystarczy wykorzystać 1 Aivar, kilka warunków oraz pakiet Broadcasts.
Teraz do sedna ;)
Zacznijmy od stworzenia jednej stałej  w pliku AI_Constants.d
const int AIV_Broadcasts_Anim = 91;Pięknie. Teraz wybierzmy naszego npc. U mnie będzie to Hagen, ponieważ musi posiadać u mnie arcymistrza.
instance PAL_200_HAGEN(NPC_DEFAULT)
{
name[0] = "Lord Hagen";
guild = GIL_PAL;
id = 200;
voice = 4;
flags = NPC_FLAG_IMMORTAL;
npctype = NPCTYPE_MAIN;
aivar[AIV_TOUGHGUY] = TRUE;
aivar[AIV_TOUGHGUYNEWSOVERRIDE] = TRUE;
aivar[AIV_IGNORE_MURDER] = TRUE;
aivar[AIV_IGNORE_THEFT] = TRUE;
aivar[AIV_IGNORE_SHEEPKILLER] = TRUE;
/*
        itd.

*/
};
Dodajmy mu nasz aivar w następujący sposób:
aivar[AIV_Broadcasts_Anim] = 1; //Można zapisać na stałych co bardziej polecam, mimo to dla przykładu dajmy 1
Git. To teraz część Ikarusowa. Napiszmy funkcję BS_SaveAnim()
Gdzie w argumencie musi być c_npc.
Czyli tak:
func void BS_SaveAnim(var c_npc slf)
{
/*I tutaj dajemy warunki w zależności od ilości stylów. Ja dam tutaj jeden dla przykładu ;) */
if(slf.aivar[AIV_Broadcasts_Anim]==1)// arcymistrz
{
Mdl_RemoveOverlayMds(slf,"Humans_1hst2.mds"); //Wyłącz mu stary styl (ten bo ma >60% walki mieczem)
Mdl_RemoveOverlayMds(slf,"SHIELD_UNSKILLED.mds"); //Wyłącz mu obecny styl
Mdl_ApplyOverlayMds(slf,"SHIELD_UNSKILLED.mds");//I włącz go na nowo...
};
};
Gotowe! Od tej pory każdy npc którego aivar[AIV_Broadcasts_Anim] ma wartość jeden będzie walczył z ustalonym stylem walki!
Jednak to nie koniec. Musimy to wywołać... Ale jak? Nic prostszego! W Init_Global (startup.d) dodajemy taką linijkę:
DoForAll(BS_SaveAnim); //Słusznie zauważył [member=12353]Xardas47[/member] DoForAll będzie lepsze bo nie wywołujemy tego co klatkę ;)
Jeżeli jakieś problemy występują to śmiało piszcie ;)

60
Spacer / Teksturowanie gotowego zena
« dnia: 2016-12-12, 14:06 »
Cześć! Chciałbym przeteksturować niektóre elementy L'hivera, ale czy jest to możliwe z poziomu spacera? Pytam się bo nie wiem znam zbyt dobrze na spacerze :/

Strony: 1 2 [3] 4 5 ... 8
Do góry