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

Nie działa przyciąganie gracza(item_hook)


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Willson

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

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

Napisano 12.07.2012 22:22


public item_hook(id)
{
if (used_item[id])
{
hudmsg(id,2.0,"Haku mozesz uzyc raz na runde!")
return PLUGIN_CONTINUE
}

new target = Find_Best_Angle(id,1000.0,false)

if (!is_valid_ent(target))
{
hudmsg(id,2.0,"Obiekt jest poza zasiegiem.")
return PLUGIN_CONTINUE
}

AddFlag(id,Flag_Hooking)

set_user_gravity(target,0.0)
set_task(0.1,"hook_prethink",id+TASK_HOOK,"",0,"b")
hooked[id] = target
hook_prethink(id+TASK_HOOK)
emit_sound(id,CHAN_VOICE,"weapons/xbow_hit2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

used_item[id] = true
return PLUGIN_HANDLED

}

public hook_prethink(id)
{
id -= TASK_HOOK
if(!is_user_alive(id) || !is_user_alive(hooked[id]))
{
RemoveFlag(id,Flag_Hooking)
return PLUGIN_HANDLED
}
if (get_user_button(id) & ~IN_USE)
{
RemoveFlag(id,Flag_Hooking)
return PLUGIN_HANDLED
}
if(!HasFlag(id,Flag_Hooking))
{
if (is_user_alive(hooked[id]))
set_user_gravity(id,1.0)
remove_task(id+TASK_HOOK)
return PLUGIN_HANDLED
}

//Get Id's origin
static origin1[3]
get_user_origin(id,origin1)

static origin2[3]
get_user_origin(hooked[id],origin2)

//Create blue beam
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
write_byte(1) //TE_BEAMENTPOINT
write_short(id) // start entity
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2])
write_short(sprite_line)
write_byte(1) // framestart
write_byte(1) // framerate
write_byte(2) // life in 0.1's
write_byte(5) // width
write_byte(0) // noise
write_byte(0) // red
write_byte(0) // green
write_byte(255) // blue
write_byte(200) // brightness
write_byte(0) // speed
message_end()

//Calculate Velocity
new Float:velocity[3]
velocity[0] = (float(origin1[0]) - float(origin2[0])) * 3.0
velocity[1] = (float(origin1[1]) - float(origin2[1])) * 3.0
velocity[2] = (float(origin1[2]) - float(origin2[2])) * 3.0

new Float:dy
dy = velocity[0]*velocity[0] + velocity[1]*velocity[1] + velocity[2]*velocity[2]

new Float:dx
dx = (4+player_intelligence[id]/2) * 120.0 / floatsqroot(dy)

velocity[0] *= dx
velocity[1] *= dx
velocity[2] *= dx

set_pev(hooked[id],pev_velocity,velocity)

return PLUGIN_CONTINUE
}


Nie działa ten item.Dzwięk haka jest,więc to chyba problem w publicu hook_prethink.Ma ktoś pomysł jak to naprawić?

Użytkownik Willson edytował ten post 12.07.2012 22:24

  • +
  • -
  • 0




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

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