Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Pytanie o cel, w funkcji get_user_aiming


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 Robiin

    Godlike

  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 048
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 26.03.2016 02:40

Jeżeli w funkcji get_user_aiming mam składnie

get_user_aiming(index, id, body, distance=9999 ])

wtedy (przykładowo)

new id2, body;
new Float:dist = get_user_aiming(id, id2, body);
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1);
show_hudmessage(id, "Dist: %.2f ID: %d Body: %d", dist, id2, body);

Czyli funkcja zwróci mi dystans do kolizyjnego obiektu, ID gracza w którego mierzę, i ciało.

 

 

Pytanie (najpewniej) głupie, i banalne, ale mam z tym problem i chciałbym go rozwiązać.

 

Jeżeli chcę pobrać nick gracza w którego mierzę, jak to zrobić?

Wiem, jest funkcja get_user_name, ale nie wiem jak wykonać ją na target, czyli osobie w którą mierzę.

 

 

 

Próbowałem różnych "cudów" ale no niestety, nie wyszło (i z resztą nie miało prawa, jakby nie patrzeć)

 

Spoiler

 

 

Dlatego moje pytanie; Jak wykonywać operacje na target, osobie w którą mierzę, w funkcji get_user_aiming

 

Tak, wiem że (get_user_aiming(id X, id2 Y))

X = Ja

Y = Target

 

ale naprawdę, nie wiem jak wykonać tę operację na targecie  :facepalm:  :facepalm:  :facepalm:

 


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#2 Asiap

    Wszechpomocny

  • Girl

Reputacja: 171
Profesjonalista

  • Postów:323
  • Lokalizacja:Kętrzyn
Offline

Napisano 26.03.2016 03:18

get_user_name(id2, sName, 31)


  • +
  • -
  • 2

#3 Robiin

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 106
Super Hero

  • Postów:2 048
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 26.03.2016 13:03

Jestem mało kumaty, albo głupi :P

 

Jakiś przykładzik, na którym bym widział dokładnie o co chodzi? ;P


  • +
  • -
  • 0

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#4 MrBully

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:233
  • Imię:Mateusz
  • Lokalizacja:Nieznana
Offline

Napisano 26.03.2016 13:59

#include < amxmodx >
#include < fakemeta >

public plugin_init()
{
register_plugin("amxx.pl", "1.0", "Fili:P");
register_forward(FM_PlayerPreThink, "FW_PreThink");
}

public FW_PreThink(id)
{
if(is_user_alive(id))
{
new sName[32];
new id2, body;
new Float:dist = get_user_aiming(id, id2, body);
get_user_name(id2, sName, 31);
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1);
show_hudmessage(id, "Odleglosc: %.2f ^n Nick: %s", dist, sName);
}
}

takie coś wygląda wiem bo sam się z tym bawiłem  tylko że z entami ....

 

 

 

  


    Tak, wiem że (get_user_aiming(id X, id2 Y))

    X = Ja

    Y = Target

    ale naprawdę, nie wiem jak wykonać tę operację na targecie  [ :facepalm:]   [:facepalm:]   [:facepalm:]

 

 

get_user_aiming(id1,id2,body)

id  Ty

id 2 Cel

body część ciała

opcionalnie po body może być jeszcze dist czyli określa jak blisko  masz być celu by to działało :) ( w sensie maxymalny zasięg )

 

 

tu dokładne szczegóły

http://amxx.pl/dokum...get_user_aiming

 


Użytkownik TheMarkerxD edytował ten post 26.03.2016 14:05

  • +
  • -
  • 1

#5 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 26.03.2016 16:08

Themarker a co się stanie jak on wyceluje nie w gracza tylko jakiś byt kolizyjny? Twoja funkcja będzie srała error logami kilkadziesiąt razy na sekundę, że function get_user_name line xxx;-nie znaleziono gracza o id 315 :P

#include < amxmodx >
#include < fakemeta >

public plugin_init()
{
register_plugin("amxx.pl", "1.0", "Fili:P");
register_forward(FM_PlayerPreThink, "FW_PreThink");
}

public FW_PreThink(id)
{
if(is_user_alive(id))
{
new sName[32];
new id2, body;
new Float:dist = get_user_aiming(id, id2, body);
if(is_user_connected(id2)){
get_user_name(id2, sName, 31);
}else{
pev(id2,pev_classname,sName,31)
}
set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 0.1, 0.1);
show_hudmessage(id, "Odleglosc: %.2f ^n Nick: %s", dist, sName);
}
}

Taka funkcja zwróci Ci nick gracza jeśli celujesz w gracza, albo classname bytu w który celujesz, jeśli to nie gracz.


  • +
  • -
  • 2

#6 MrBully

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:233
  • Imię:Mateusz
  • Lokalizacja:Nieznana
Offline

Napisano 26.03.2016 16:16

masz racje + :) całkowicie o tym zapomniałem


  • +
  • -
  • 1




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych