Posiadam serwer paintball + klasy (silnik codmod) i chciałbym, aby serwer paintball był serwer paintball dlatego chcę zrobić wszystko realistycznie. Chodzi mi tutaj o zmiane animacji w klasie na animacje wybuchu smoke na pb lub flashbanga (wyrzucasz jeden granat i po chwili on wyrzuca małe, które wybuchają). Nie wiem czy coś takiego jest możliwe, ale wydaje mi się, że tak. Wczoraj próbowałem coś skleić, ale mi nie wyszło.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <codmod> #include <hamsandwich> #include <colorchat> #include <engine> #define DMG_BULLET (1<<1) new bool:ma_klase[33]; new const nazwa[] = "Paintballowy Kamikadze"; new const opis[] = "Wybucha po smierci zadajac 50(+intelgencja) obrazen"; new const bronie = 1<<CSW_MP5NAVY; new const zdrowie = 10; new const kondycja = 5; new const inteligencja = 15; new const wytrzymalosc = 10; new sprite_blast, sprite_white; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("DeathMsg", "Death", "ade"); } public plugin_precache() { sprite_white = precache_model("sprites/smokepuff.spr") ; sprite_blast = precache_model("sprites/smokepuff.spr"); } public Death() { new id = read_data(2); if(ma_klase[id]) Eksploduj(id); } public Eksploduj(id) { new Float:fOrigin[3], iOrigin[3]; entity_get_vector( id, EV_VEC_origin, fOrigin); iOrigin[0] = floatround(fOrigin[0]); iOrigin[1] = floatround(fOrigin[1]); iOrigin[2] = floatround(fOrigin[2]); message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin); write_byte(TE_EXPLOSION); write_coord(iOrigin[0]); write_coord(iOrigin[1]); write_coord(iOrigin[2]); write_short(sprite_blast); write_byte(32); write_byte(20); write_byte(0); message_end(); message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin ); write_byte( TE_BEAMCYLINDER ); write_coord( iOrigin[0] ); write_coord( iOrigin[1] ); write_coord( iOrigin[2] ); write_coord( iOrigin[0] ); write_coord( iOrigin[1] + 300 ); write_coord( iOrigin[2] + 300 ); write_short( sprite_white ); write_byte( 0 ); // startframe write_byte( 0 ); // framerate write_byte( 10 ); // life write_byte( 10 ); // width write_byte( 255 ); // noise write_byte( 255 ); // r, g, b write_byte( 100 );// r, g, b write_byte( 100 ); // r, g, b write_byte( 128 ); // brightness write_byte( 8 ); // speed message_end(); new entlist[33]; new numfound = find_sphere_class(id, "player", 300.0 , entlist, 32); for (new i=0; i < numfound; i++) { new pid = entlist[i]; if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid)) continue; cod_inflict_damage(id, pid, 50.0, 0.7); } return PLUGIN_CONTINUE; }
Oczywiście kompilacja powiodła się, ale nie uzyskałem pożądanego efektu czyli wybuchu smoke. Moge zarzucić folder sprite jeżeli ktoś potrzebuje do modyfikacji.
Dodam, że jest to tylko zmieniona klasa Generał.
Dziękuje jeżeli ktoś pomoze ;]
Załączone pliki
Użytkownik answerr. edytował ten post 15.07.2014 19:11