←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Czy da się pobrać origin "o jeden dale...

  • +
  • -
Ossal - zdjęcie Ossal 08.06.2015

Chyba jasno napisane :P
Powiedzmy, że chcemy pobrać origin, który byłby punktem mierzenia gracza, gdyby coś linii mierzenia nie zatrzymało (ściana, gracz itp)
Sytuacja ma się na przykład tak:

new Origin[3]
get_user_origin(id,Origin,0)
new Aim[3]
get_user_origin(id,Aim,2)
Czyli wystarczyło by przedłużyć linie między tymi dwoma punktami, no właśnie tylko do jakiego punktu ją przedłużyć? Do napotkania jakiejś przeszkody, ale jak wykryć ścianę, która w znacznej większości przypadków nie jest entem?
Podsumowując: potrzebuje stocka wyznaczającego punkt mierzenia gracza pomijając pierwszy napotkany element. Da się to w ogóle zrobić? Czekam na odp, pozdrawiam :)
Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 08.06.2015

Tylko traceline od miejsca zatrzymanego przez sciane/ent :)

Odpowiedz

  • +
  • -
Ossal - zdjęcie Ossal 08.06.2015

No właśnie czytałem o tracelinach i wiem, że jest coś takiego, ale z czym to się je to ni cholery :P

Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 08.06.2015

Wystarczyło poszukać na forum w najbardziej oczywistych miejscach -> http://amxx.pl/topic...rzedza-graczem/ i trochę przerobić, no chyba że ja Cię nie rozumiem, bo dziwnie to napisałeś.
Odpowiedz

  • +
  • -
Ossal - zdjęcie Ossal 08.06.2015

sebul, znam tego stocka, używałem go nawet, ale nie widzę związku z moją potrzebą :P
A tak btw to Twoją funkcję bardzo łatwo jest zastąpić :D
Edit: "Podsumowując: potrzebuje stocka wyznaczającego punkt mierzenia gracza pomijając pierwszy napotkany element." - czego tu nie rozumieć? :o
get_user_origin(id,origin,2) pobiera miejsce gdzie trafi potencjalny pocisk, czyli jak mierzymy w gracza to originem mierzenia będzie plus/minus origin gracza(enta) w który mierzymy, a mi chodzi, żeby zrobić funkcję która jakby "zignoruje" to, że napotkała coś na drodze i zwróci origin tak jakby tego gracza nie było w tym miejscu (czyli punkt za tymże graczem), tak jakby, gdzie trafi pocisk po tym jak przeleci przez gracza.
Bardziej tego się wyjaśnić nie da :)


Użytkownik Ossal edytował ten post 08.06.2015 16:34
Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 08.06.2015

Pozostaje traceline od miejsca w ktore trafi odpowiednia funkcja (http://amxx.pl/dokum...get_user_aiming)

Odpowiedz

  • +
  • -
Puchate - zdjęcie Puchate 08.06.2015

 

 

 tak jakby, gdzie trafi pocisk po tym jak przeleci przez gracza.

Nie wnikając w szczegóły techniczne (oraz nie wiem czy Cię dobrze zrozumiałem), aby zignorować przeszkodę po drodze musi być ona SOLID_NOT.

Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 08.06.2015


Nie wnikając w szczegóły techniczne (oraz nie wiem czy Cię dobrze zrozumiałem), aby zignorować przeszkodę po drodze musi być ona SOLID_NOT.

Chyba źle zrozumiałeś... Wyobraź sobie sytuację: strzelam do gracza i kula przechodzi na wylot, chcę pobrać w pluginie miejsce w którym ta kula uderzyła po przejściu np przez głowę gracza w ścianę i np narysować tam penisa na ścianie... Nawet jeśli kula nie przeszła chciałbym wiedzieć w którym miejscu by ona w ścianę uderzyła.

 

Inny przykład: chcę stworzyć perk, który zadaje obrażenia wszystkim przeciwnikom na linii strzału, nie ważne przez ile ciał przejdzie pocisk.

Odpowiedz

  • +
  • -
Ossal - zdjęcie Ossal 09.06.2015

Pany, ten strzał był tylko hipotetyczny, chodzi o pobranie originu w dowolnym momencie gry ;)

Odpowiedz

  • +
  • -
NoLiFeR - zdjęcie NoLiFeR 01.07.2015

Gwyn też tylko daje "przykłady" :))

Odpowiedz