@amxpro Postat Sâmbătă la 20:23 Postat Sâmbătă la 20:23 (editat) Descriere SlayLoser este un plugin AMX Mod X (cu ReAPI) pentru Counter-Strike 1.6 care adaugă un efect spectaculos atunci când o echipă își ratează obiectivul. La sfârșitul rundei, dacă echipa nu reușește să îndeplinească misiunea, toți jucătorii acelei echipe sunt uciși instantaneu cu un fulger și sunet de tunet, iar pe ecran apare un mesaj colorat (chat) Funcționalități Omoară automat toți jucătorii echipei pierzătoare atunci când obiectivul nu este îndeplinit. Efect vizual de fulger și scântei asupra fiecărui jucător. Sunet de tunet global pentru toți jucătorii. Mesaje în chat colorate pentru ambele echipe. Cod curat, scris pe baza ReAPI pentru performanță mai bună. Cerințe AMX Mod X 1.9 + ReAPI instalat pe server (modulele reapi_amxx.dll / reapi_amxx.so) Sunetul ambience/thunder_clap.wav prezent în joc (default CS). Modelul sprites/lgtning.spr (default CS). Instalare Copiază fișierul .amxx în addons/amxmodx/plugins/. Adaugă numele pluginului în addons/amxmodx/configs/plugins.ini. Redeschide serverul. Cod Sursă // Slay Loser 0.0.1 // by @amxpro new const VERSION[] = "0.0.1"; #include <amxmodx> #include <reapi> enum _:XYZ { Float:X, Float:Y, Float:Z }; new const g_szThunderSound[] = "ambience/thunder_clap.wav"; new g_iThunderSprId; public plugin_precache() { g_iThunderSprId = precache_model("sprites/lgtning.spr"); precache_sound(g_szThunderSound); } public plugin_init() { register_plugin("Slay Loser",VERSION,"@amxpro"); RegisterHookChain(RG_RoundEnd,"RoundEnd_Post", .post = true); } public RoundEnd_Post(const WinStatus:iWinStatus,const ScenarioEventEndRound:iScenarioEvent) { switch(iScenarioEvent) { case ROUND_TERRORISTS_WIN,ROUND_TARGET_BOMB,ROUND_HOSTAGE_NOT_RESCUED: Func__KillTeam(TEAM_CT); case ROUND_CTS_WIN,ROUND_BOMB_DEFUSED,ROUND_TARGET_SAVED,ROUND_ALL_HOSTAGES_RESCUED: Func__KillTeam(TEAM_TERRORIST); } } public Func__KillTeam(const TeamName:iTeam) { new iAliveTe,iAliveCt; rg_initialize_player_counts(iAliveTe,iAliveCt); if(iTeam == TEAM_TERRORIST && !iAliveTe || iTeam == TEAM_CT && !iAliveCt) return; for(new id=1;id<=MaxClients;++id) { if(!is_user_connected(id) || !is_user_alive(id) || is_user_hltv(id)) continue; if(TeamName:get_member(id,m_iTeam) != iTeam) continue; UTIL__Thunder(id); user_kill(id); } emit_sound(0,CHAN_AUTO,g_szThunderSound,VOL_NORM,ATTN_NORM,0,PITCH_NORM); switch(iTeam) { case TEAM_TERRORIST: client_print_color(0,print_team_default,"^4*^3Teroriștii ^1nu și-au îndeplinit sarcina^4!"); case TEAM_CT: client_print_color(0,print_team_default,"^4*^3Contra-Teroriștii ^1nu și-au îndeplinit sarcina^4!"); } } stock UTIL__Thunder(const id) { new Float:fOrigin[XYZ],Float:fPos[XYZ]; get_entvar(id,var_origin,fOrigin); fOrigin[Z] -= 26.0; fPos[X] = fOrigin[X] + 150.0; fPos[Y] = fOrigin[Y] + 150.0; fPos[Z] = fOrigin[Z] + 800.0; message_begin_f(MSG_BROADCAST,SVC_TEMPENTITY); { write_byte(TE_BEAMPOINTS); write_coord_f(fPos[X]); write_coord_f(fPos[Y]); write_coord_f(fPos[Z]); write_coord_f(fOrigin[X]); write_coord_f(fOrigin[Y]); write_coord_f(fOrigin[Z]); write_short(g_iThunderSprId); write_byte(1); write_byte(5); write_byte(7); write_byte(20); write_byte(30); write_byte(200); write_byte(200); write_byte(200); write_byte(200); write_byte(200); } message_end(); message_begin_f(MSG_BROADCAST,SVC_TEMPENTITY,fOrigin); { write_byte(TE_SPARKS); write_coord_f(fOrigin[X]); write_coord_f(fOrigin[Y]); write_coord_f(fOrigin[Z]); } message_end(); message_begin_f(MSG_BROADCAST,SVC_TEMPENTITY); { write_byte(TE_LAVASPLASH); write_coord_f(fPos[X]); write_coord_f(fPos[Y]); write_coord_f(fPos[Z]) } message_end(); } Editat Duminică la 01:31 de @amxpro Citează
@amxpro Postat Sâmbătă la 20:33 Autor Postat Sâmbătă la 20:33 reapi slaylores: Descarcă de aici 1 Citează
Postări Recomandate
Alătură-te conversației
Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.