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: