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

Problem z wywołaniem działania po wycelowaniu


  • Zamknięty Temat jest zamknięty
4 odpowiedzi w tym temacie

#1 Willson

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:74
  • Lokalizacja:Białystok
Offline

Napisano 04.03.2012 09:14

new target = Find_Best_Angle(id,1000.0,true)
if (!is_valid_ent(target))
{
hudmsg(id,2.0,"Nie celujesz w nikogo")
return PLUGIN_CONTINUE
}


stock Find_Best_Angle(id,Float:dist, same_team = false)
{
new Float:bestangle = 0.0
new winner = -1

for (new i=0; i < MAX; i++)
{
if (!is_user_alive(i) || i == id || (get_user_team(i) == get_user_team(id) && !same_team))
continue

if (get_user_team(i) != get_user_team(id) && same_team)
continue

//User has spell immunity, don't target

new Float:c_angle = Find_Angle(id,i,dist)

if (c_angle > bestangle && Can_Trace_Line(id,i))
{
winner = i
bestangle = c_angle
}

}

return winner
}



stock Float:Find_Angle(Core,Target,Float:dist)
{
new Float:vec2LOS[2]
new Float:flDot
new Float:CoreOrigin[3]
new Float:TargetOrigin[3]
new Float:CoreAngles[3]

pev(Core,pev_origin,CoreOrigin)
pev(Target,pev_origin,TargetOrigin)

if (get_distance_f(CoreOrigin,TargetOrigin) > dist)
return 0.0

pev(Core,pev_angles, CoreAngles)

for ( new i = 0; i < 2; i++ )
vec2LOS[i] = TargetOrigin[i] - CoreOrigin[i]

new Float:veclength = Vec2DLength(vec2LOS)

//Normalize V2LOS
if (veclength <= 0.0)
{
vec2LOS[x] = 0.0
vec2LOS[y] = 0.0
}
else
{
new Float:flLen = 1.0 / veclength;
vec2LOS[x] = vec2LOS[x]*flLen
vec2LOS[y] = vec2LOS[y]*flLen
}

//Do a makevector to make v_forward right
engfunc(EngFunc_MakeVectors,CoreAngles)

new Float:v_forward[3]
new Float:v_forward2D[2]
get_global_vector(GL_v_forward, v_forward)

v_forward2D[x] = v_forward[x]
v_forward2D[y] = v_forward[y]

flDot = vec2LOS[x]*v_forward2D[x]+vec2LOS[y]*v_forward2D[y]

if ( flDot > 0.5 )
{
return flDot
}

return 0.0
}


Gdy celuje w kogoś to nadal pokazuje mi:Nie celujesz w nikogo.Jak to poprawić?
  • +
  • -
  • 0

#2 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 04.03.2012 10:33

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod X > Problemy
do
Scripting AMXX > Problemy


  • +
  • -
  • 0

#3 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 554
Godlike

  • Postów:11 979
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 04.03.2012 10:44

Wyciągnij sobie kod stąd
http://amxx.pl/topic...ll-of-duty-aim/
  • +
  • -
  • 0

#4 Willson

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:74
  • Lokalizacja:Białystok
Offline

Napisano 04.03.2012 12:47

Z tego chyba nie da sie wyciągnąć.


Hmm a może funcja get_user_aiming ?

Można zamknąć.

Użytkownik Willson edytował ten post 04.03.2012 12:02

  • +
  • -
  • 0

#5 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 04.03.2012 13:04

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





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

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