Witam, zachciało mi się napisać plugin który będzie pomagał w odnalezieniu leżącej paki.
Pomyslałem że to będzie proste. Bynajmniej ![]()
Użyłem eventu BombDrop oraz efektu Hound Eye z HL (TE_BEAMCYLINDER) ![]()
Problem w tym że w evencie BombDrop pierwsze trzy argumenty to nie jak myślałem origin paki, lecz origin gracza w momencie dropnięcia paki.
No i puszcza mi sprite'a z miejsca gdzie stałem podczas dropu zamiast od środeczka paki ![]()
1. Jak pobrać origin leżącej na ziemi paki?
2. Jak zapętlić "puszczanie" BEAMCYLINDER np. co 3 sekundy, dopóki paka nie zostanie podniesiona (BombPickup)
Prosił bym o przykłady jak pobrać origin entów (leżąca paka jest entem?) oraz przykłady Tasków, jak to ugryźć? Bo chyba taskiem będziemy "puszczać" efekt?
Z góry dzięki za pomoc, liczę na Was ![]()
#include <amxmodx>
new gSprBeam
public plugin_init()
{
register_plugin("Houndeye Bomb", "0.1", "psilocybe")
register_event("BombDrop", "bomb_drop", "b", "4=0")
}
public plugin_precache()
{
gSprBeam = precache_model("sprites/white.spr")
}
public bomb_drop()
{
client_print(0, print_chat, "X: %d, Y: %d, Z: %d", read_data(1), read_data(2), read_data(3)); // sprawdzalem czy pobiera wpolrzedne
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, {0,0,0} );
write_byte( TE_BEAMCYLINDER );
write_coord( read_data(1) );
write_coord( read_data(2) );
write_coord( read_data(3) );
write_coord( read_data(1) );
write_coord( read_data(2) + 5 );
write_coord( read_data(3) + 150 );
write_short( gSprBeam );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 200 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 10 ); // r, g, b
write_byte( 10 ); // r, g, b
write_byte( 180 ); // brightness
write_byte( 2 ); // speed
message_end();
}
Ps. Gdyby ktoś był w stanie wyciągnąć efekt HoundEye z HL to było by za***iście, chodzi o to że pieski puszczały kilka kółeczek gdy szczekały i na pewno nie było tasków ![]()
Wykład nt. HoundEye'ów:
![]()


Dodatki SourceMod





















