Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Wyświetla tylko niewidoczne obiekty
#1
Cześć,   Próbowałem robić chams na niewidocznych obiektach, ale nie udało mi się, więc zapytam, czy to możliwe.   przeczytaj komentarze w kodzie @ cvar.chams.flValue, aby zobaczyć, co próbowałem     Kod:   #define SETTEX (a) if (tex. ## a &&! IsBadReadPtr ((void *) tex. ## a, 4)) pDevice -> SetTexture (0, tex. ## a); HRESULT WINAPI nDrawIndexedPrimitive (LPDIRECT3DDEVICE9 pDevice, D3DPRIMITIVETYPE pType, INT BaseIndex, UINT MinIndex, UINT NumVertices, UINT StartIndex, UINT PrimitiveCount) {_asm pushad; if (texReset == NULL) {CreateTextures (pDevice); } pDevice -> GetStreamSource (0, & la, & KE, & m_Stride); if (PlayerBody) {// przechowuje stan DWORD dwOldZEnable = D3DZB_TRUE; pDevice -> GetRenderState (D3DRS_ZENABLE, & dwOldZEnable); if (cvar. wire. flValue) {pDevice -> SetRenderState (D3DRS_FILLMODE, D3DFILL_WIREFRAME); } If (cvar. Wire. FlValue || cvar. Chams. FlValue || cvar. Wallhack. FlValue) {pDevice -> SetRenderState (D3DRS_FOGENABLE, false); pDevice -> SetRenderState (D3DRS_ZENABLE, D3DZB_FALSE); } If (cvar. Chams. FlValue) {SETTEX (custom1); // kolor niewidocznych obiektów (oh wallhack jest włączony dla chams, więc widzę wszystko i koloruję wszystko) pDrawIndexedPrimitive (pDevice, pType, BaseIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount); pDevice -> SetRenderState (D3DRS_ZENABLE, dwOldZEnable); // SETTEX (custom2); // nic tu nie rób, ponieważ chcę tylko niewidoczne obiekty (ale nie działa bo wszystko zmieniło wszystkich graczy przed ...)}} popap; return pDrawIndexedPrimitive (pDevice, pType, BaseIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount); }   więc chcę, aby normalni widoczni gracze (lub obiekty) pozostali takimi, jakimi są i kolorują tylko normalnie niewidoczne obiekty.
Reply
#2
Oto co powinieneś zrobić: Zacytować: if (modelrec) { wyłącz zbuffer; przechowywać oryginalną teksturę; chamit; zadzwoń do oryginalnego DIP; przywróć normalny zbuffer; przywrócić oryginalną teksturę; }
Reply
#3
to jest dokładnie to, co robi mój kod ... jeśli spojrzysz na to, to zauważyłem, że skomentowałem drugie wywołanie, ale kończy się to po prostu, że wszyscy gracze są kolorowani kolorem pierwszego wywołania settexture być może będę musiał przechowywać oryginalną teksturę i ustawić ją ponownie na odtwarzaczu lub coś w tym stylu: O
Reply
#4
tak. właśnie to powinieneś zrobić. trochę mi brakowało mojej edycji. ponieważ po zmianie tekstury nie powraca do następnej klatki.
Reply
#5
co teraz zrobiłem: Kod: if (cvar. half_chams. flValue) {LPDIRECT3DBASETEXTURE9 oldTex; pDevice -> GetTexture (0, i oldTex); SETTEX (custom1); pDrawIndexedPrimitive (pDevice, pType, BaseIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount); pDevice -> SetRenderState (D3DRS_ZENABLE, dwOldZEnable); if (oldTex &&! IsBadReadPtr ((void *) oldTex, 4)) pDevice -> SetTexture (0, oldTex); } Wynik: Ten obraz został przeskalowany. Kliknij ten pasek, aby wyświetlić pełny obraz. Oryginalny obraz ma rozmiar 1024x768. wygląda na to, że tego nie chciałem, ponieważ nadal koloruje części widocznych graczy (części, których nie widzę: P) Nie wiem, czy można go usunąć również: P
Reply
#6
Spróbuj tego posta przez CallMeEclipse: http://www.unknowncheats.me/forum/d3...e-culling.html Nie wiem, który tryb cull zrobi to, co chcesz.
Reply
#7
Twoja lista rozpoznawania modeli obejmuje te rzeczy. Musisz naprawić swoją listę
Reply
#8
Próbowałem uboju, ale kończy się, że niektóre inne części mojego widocznego odtwarzacza są kolorowe, ale nie sądzę, żebym mógł to naprawić za pomocą mojej listy rozpoznawania modeli. tak jak jego tors to cała rzecz dookoła niego, więc jeśli mam numvert i primcount dla niego, to koloruję go w pełni (lub krokiem) po prostu rysuje tę część, której nie widzę z mojej pozycji w kolorze ... w każdym razie pomóżcie o pomoc
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)