Tworzenie przedmiotu w wyznaczonym miejscu 1420 5

O temacie

Autor Siemekk

Zaczęty 1.10.2016 roku

Wyświetleń 1420

Odpowiedzi 5

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Tak sobie myślałem nad zastosowaniem Wld_PlayEffect, View i PFX. Chodzi mi o to że gdy trzymam np. KEY_X to pojawia się celownik na środku ekranu, i w miejscu gdzie jest celowni (porusznaie myszką [coś jak celowanie])  po naciśnięciu klawisza Z pojawia się Item. To to jest w miarę proste. Tylko problemem jest pobieranie koordynatów. Jak najlepiej je pobierać ? Z jakiej klasy. Tak , że np. gdy patrzymy w ściane pod kątem x* to przy ścianie pojawia się przedmiot (wykrywanie ścian czy coś w tym stylu)

Le koncept by PAINT studio:
 

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.
Do wykrywania ścian potrzebujesz klasy zCCollisionDetector albo pobawić się z funkcją zCVob::DetectCollision(zMAT4 *)   0061D890. Koordynaty możesz pobierać z czegokolwiek, nawet oCNpc. Problemem będzie wyznaczanie miejsca nacelowanego przez gracza.

W systemie gry są też funkcje, które wykrywają coś przed postacią, dziury przed postacią itp.
 
: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
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
Chodzi mi o takie coś:
Wyłączyłem stare celowanie, zrobiłem celownik i obrót postaci.
Jednak strzała nie leci tam gdzie jest celownik tylko ----->(w taki sposób <)
Więc wpadłem na pomysł by tworzyć przedmiot tam gdzie jest celownik (bohater patrzy) i go przemieszczać na kolejne miejsca gdzie bohater patrzy. Czyli takie dynamiczne przemieszczanie Voba.
Później to już pobawienie się z kierunkiem strzały. Ale do tego wykorzystam to:
void __thiscall oCAIArrow::SetTarget(zCVob *)    0x006A0FF0 0 6 public: void
 

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.
Będziesz musiał pogadać o tym z Mud Freakiem. On całkowicie przerobił system celowania i wie co gdzie i jak. Zapytaj go o wskazówki.
 
: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.

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
Chodzi mi o takie coś:
Wyłączyłem stare celowanie, zrobiłem celownik i obrót postaci.
Jednak strzała nie leci tam gdzie jest celownik tylko ----->(w taki sposób <)
Więc wpadłem na pomysł by tworzyć przedmiot tam gdzie jest celownik (bohater patrzy) i go przemieszczać na kolejne miejsca gdzie bohater patrzy. Czyli takie dynamiczne przemieszczanie Voba.
Później to już pobawienie się z kierunkiem strzały. Ale do tego wykorzystam to:
void __thiscall oCAIArrow::SetTarget(zCVob *)    0x006A0FF0 0 6 public: void

I'm pretty sure that is exactly what mud-freak is doing. Look at his code (on WoG) to see how that works :)
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.

Siemekk

Siemekk

Złote Wrota
Untersturmfuhrer
posty2143
Propsy1151
ProfesjaProgramista
  • Złote Wrota
  • Untersturmfuhrer
He share code ?

In AST example i see this:
zCVob* pCam = _ogame->GetCamera()->m_pVob;
// Начальная позиция
zVEC3 vCamPos = pCam->GetPositionWorld();
// Направляющий вектор
zVEC3 vVector = pCam->GetAtVectorWorld();
// Рабочий мир
zCWorld* pWorld = _player->GetHomeWorld();
// Трассировка
if(pWorld->TraceRayFirstHit(vCamPos, vVector * 10000, (zCVob*)NULL, zTRACERAY_VOB_CHECK_COLLDET | zTRACERAY_IGNORE_CHARACTERS))
{

zVEC3 vTarget = pWorld->m_RayReport.m_vIntersect;
zCLineCache::GetLine()->Line3D(vTarget,vTarget + zVEC3(0,100,0),zCOLOR(255,255,100),0);
if(_player->m_nAttribute[2] - nReduceMana >= 0)
{
if(_zinput->GetMouseButtonPressedLeft())
{

if(MyTimer(10,-1,T_PRIMARY))
{

_player->SetCollDet(0);
_player->SetPositionWorld(vTarget + zVEC3(0,100,0));

_player->SetCollDet(1);
It is possible use this to Insert Item  :hmmm:
 

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


0 użytkowników i 2 gości przegląda ten wątek.
0 użytkowników
Do góry