Ikarus (Pakiet skryptów) 411945 1020

O temacie

Autor orcwarrior

Zaczęty 11.06.2010 roku

Wyświetleń 411945

Odpowiedzi 1020

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jest to tabela dwuwymiarowa. Czyli tak jakbyś namalował sobie tablicę, a zaraz pod nią kolejną. pierwszy parametr[ten][nieten] oznacza kolumnę, a druga (nieten) wiersz.

Zobrazowanie:
[0 ][1][2]
[0 ][1][2]

row[0][3] =
[0 ][1][2] <-- czyli ta kolumna i ten wiersz
[0 ][1][2]
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Dałoby się odwzorować to w G2 :/ To zawraca chyba obiekt z tablicy zMAT4(w Ikarusie) która ma rozmiar [16].
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Nie. Daedalus jest zbyt okrojony.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Jednak się udało :F Dzięki klasie zMAT4 :D Ale teraz mam w uj dziwny problem... Mianowicie gdy sprawdzam do jakiej klasy należy obiekt to nic nie pisze... a CALL crashuje bo obiekt chyba nie istnieje...
Print(MEM_GetClassName(MEM_CAMERA.connectedVob)));
Wcześniej działało a teraz nie....
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Jeśli nic nie pisze, to znaczy, że MEM_GetClassName() wynosi 0.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Chciałem zrobić render przedmiotów z ekwipunku na środku. Zhookowałem tą funkcję tak:
func void Render_Test()
{
var int vptr;
if(!Hlp_IsValidHandle(vptr))
{
vptr = View_Create(1000,1000,4000,4000);
};
MEM_WriteInt(ESP + 8, getptr(vptr));
};
HookEngineF(7420608,7,Render_Test);

Działa fajnie, ale jest jeden problem :/ Mianowicie wszystkie ikonki z ramek pojawiły się na tym środku >< Ramki są puste... O co chodzi i jak temu zaradzić?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Trudno cokolwiek podpowiedzieć, bo nie znamy adresu ani nazwy tej funkcji. Najprawdopodobniej wina zmiennej. Jeśli wszystkie zmienne dotyczące view mają tą samą nazwę to się nie dziw. Nazwij to inaczej, np. EquipmentRenderInTheMiddleOfScreen (sorry, lubię długie nazwy zmiennych jeśli są one przeznaczone tylko dla jednej funkcji).

Dlaczego tak się dzieje? Masz zmienną lokalną vptr i globalną vptr, przez co za każdym razem, jeśli hook się wykona, wszystkie view przyjmują wartość View_Create(1000,1000,4000,4000);.

#GothicLogic
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Nope :F
Nawet przy takiej często powtarzalnej zmiennej dzieje się to samo:
func void Some_Render_Test()
{
var int hjnhgkjniojdgfhijmnujghujgfiohgdyyionjighfduujhiondfuyhghguidfh;
if(!Hlp_IsValidHandle(hjnhgkjniojdgfhijmnujghujgfiohgdyyionjighfduujhiondfuyhghguidfh))
{
hjnhgkjniojdgfhijmnujghujgfiohgdyyionjighfduujhiondfuyhghguidfh = View_Create(1000,1000,4000,4000);
};
MEM_WriteInt(ESP + 8, getptr(hjnhgkjniojdgfhijmnujghujgfiohgdyyionjighfduujhiondfuyhghguidfh));
};
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
Chciałem zrobić render przedmiotów z ekwipunku na środku. Zhookowałem tą funkcję tak:
func void Render_Test()
{
var int vptr;
if(!Hlp_IsValidHandle(vptr))
{
vptr = View_Create(1000,1000,4000,4000);
};
MEM_WriteInt(ESP + 8, getptr(vptr));
};
HookEngineF(7420608,7,Render_Test);

Działa fajnie, ale jest jeden problem :/ Mianowicie wszystkie ikonki z ramek pojawiły się na tym środku >< Ramki są puste... O co chodzi i jak temu zaradzić?

Without any explanation it will be hard to help you.

Do you want items to be rendered into your own view (instead of the standard inventory stuff)?
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
I'm trying change this(look at image) position to center.
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
I see.

What is you code in post #885 supposed to do? Like, what view are you accessing or creating there? What's the function called / what are its parameters (because you apparently are reading one of them)?

You need to give us some more in terms of what you have tried so far and what the results are. Otherwise you're pretty much just asking "do this for me" and I don't want to do the same brunt work that you probably already did, too! It's much faster and easier if you share your findings.
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.

Cruc

Cruc

Użytkownicy
posty666
Propsy236
Profesjabrak
  • Użytkownicy
Planuję przyjrzeć się Ikarusowi. Czy ktoś mógłby mi mniej więcej wyjaśnić na czym to polega?
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
@Lehona
My function using hook to this addres:
0x00713AC0 public: void __thiscall oCItem::RenderItem(class zCWorld *,class zCViewBase *,float)

But when i override 2nd arg, all "icons from inventory" move to center screen.
(I don't have PrintScreen, only this "example of error")


@Cruc Ikarus pozwala np. na wywołanie funkcji silnika z poziomu gry, dostanie się do obiektów klas gry i ich swobodna modyfikacja. I jeszcze więcej, możliwości są duże (przykład Free-Aim autorstwa mud-freak), ale wymaga to też większej wiedzy niż dialogi i itemy :F Jeżeli jesteś zainteresowany to masz tam dokumentacje (Po niemiecku, ale zawsze coś)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Cruc

Cruc

Użytkownicy
posty666
Propsy236
Profesjabrak
  • Użytkownicy
Miałem nadzieję na jakąś angielską dokumentację, której nie byłem w stanie wygrzebać, ale chyba będę musiał sobie poradzić z pomocą tanslatorem i moim łamanym niemieckim. Dzięki.
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
@Siemek: I see. Maybe I can take a quick look at it myself next week and see what I can do.

Miałem nadzieję na jakąś angielską dokumentację, której nie byłem w stanie wygrzebać, ale chyba będę musiał sobie poradzić z pomocą tanslatorem i moim łamanym niemieckim. Dzięki.

I'm sure it will be no problem to help translate something if you have any questions, either on here or at WoG :)
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.

Cruc

Cruc

Użytkownicy
posty666
Propsy236
Profesjabrak
  • Użytkownicy
@Lehona Thank you so much!
 
while (!success) try{...}

Najlepszy modder od gothic multiplayer - polecam pytać go o wszystko!

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Czy z poziomu gry da się zmienić alfę tekstury? Męczę się z systemem pogodowym i mam problem z kanałem alfa... Po prostu się nie zmienia nawet gdy ustawiłem zmienną z klasy zCSkyState : m_bAlphaDir na true;
O co chodzi? Czy ktoś wie jak to naprawić?(Nie mam zamiaru robić +-100 tekstur różniących się tylko kanałem alfa)
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

carelion

carelion

RaveN Studio
Moete Kita Zo!
posty153
Propsy73
Profesjabrak
  • RaveN Studio
  • Moete Kita Zo!
Spróbuj tego:
//enum zTMat_AlphaFunc
const int RND_ALPHA_FUNC_MAT_DEFAULT = 0;
const int RND_ALPHA_FUNC_NONE = 1;         
const int RND_ALPHA_FUNC_BLEND = 2;
const int RND_ALPHA_FUNC_ADD     = 3;               
const int RND_ALPHA_FUNC_SUB    = 4;
const int RND_ALPHA_FUNC_MUL = 5;     
const int RND_ALPHA_FUNC_MUL2 = 6;     
const int RND_ALPHA_FUNC_TEST = 7;
const int RND_ALPHA_FUNC_BLEND_TEST = 8;

func int zCMaterial_SearchName(var string _mname) { //return zCMaterial
CALL_zStringPtrParam(STR_Upper(_mname));
CALL__cdecl(zCMaterial__SearchName);
return CALL_RetValAsInt();
};

func void zCMaterial_SetAlpha(var string _mname, var int blendType, var int alpha) {
var int mat; mat = zCMaterial_SearchName(_mname);
if(!mat) { return; };
MEM_WriteInt(mat+116, blendType);
MEM_WriteInt(mat+56, RGBA(255, 255, 255, alpha));
};
Wywołaj tylko raz:
zCMaterial_SetAlpha("NazwaMaterialu",  RND_ALPHA_FUNC_BLEND, alpha);
Na pierwszym lepszym materiale działa bez problemu:
Spoiler
 

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota

Siemekk
Złote Wrota

Ikarus (Pakiet skryptów)
#898 2017-03-19, 21:17(Ostatnia zmiana: 2017-03-20, 14:20)
Dzięki, ale chciałbym jeszcze dopisać to nim zabiorę się za twój sposób:
Po rozmowie z twórcą AST wiem, że muszę zmienić kolor poligonu. Z takiego zapisu

wiem, że muszę dostać się do "zCVertFeature", jednak gdy już tam jestem i zmieniam kolor (RGBA, HEX->DEC) to wywala mi grę. Czy to jest dobry sposób aby dostać się do tego czego chcę?
func void ofdjkjdg()
{
if(MEM_KeyState(KEY_Z)==KEY_PRESSED)
{
var zCPolygon pol; pol = _^(MEM_SkyController.skyLayer1_skyPoly);
var zCVertFeature v; v = _^(pol.feature);
Print("poligonik nr 2 kolor ");
Print(IntToString(v.lightDyn));
v.lightDyn = zCOLOR_RED;
};
};
Edit:: W twoim skrypcie co jest materiałem? xD Np. Itmi_Gold.tga ?

Post połączony: 2017-03-20, 14:20
Edit::
@carelion sprawdziłem, ale twoja metoda nie działa :<
if(MEM_KeyState(KEY_Z)==KEY_PRESSED)
{
var int ptr; ptr = MEM_ReadInt(MEM_SkyController.skyLayer1_skyPoly + 24);
var int col; col = MEM_ReadInt(ptr + 56);
MEM_WriteInt(ptr + 116, zRND_ALPHA_FUNC_BLEND);
MEM_WriteInt(ptr+56, ChangeAlpha(col,0));
};
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Czy da się pobrać Instancję ze Stringa? Np. Hlp_GetInstFromString("itar_pal_h"); Jest to możliwe? OBY! :D
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.


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