RSSy MYGO.pl Opublikowano Czerwiec 19, 2022 o 17:30 RSSy Udostępnij Opublikowano Czerwiec 19, 2022 o 17:30 Hi. I'm using this fireworks plugin for my DeathRun Server: Code: /*=============================================================================================================================================== [CS 1.6] Gameplay: Fireworks On End Round * Description: When the round end the person will be able to celebrate with fireworks pressing the button or auto relasing * Required modules: - amxmodx - fakemeta * Cvars - amx_fireworks_enable "1" // Enable/Disable Plugin - amx_fireworks_admin_only "0" // Only Admins ? - amx_fireworks_admin_flag "b" // Flag Acess - amx_fireworks_type "0" // Type of Fireworks (0 - Automatic Relase | 1 - IN_USE | 2 - IN_ATTACK) - amx_fireworks_message_enable "0" // Enable/Disable Fireworks Messages ================================================================================================================================================*/ #include <amxmodx> #include <fakemeta> #include <xs> #define PLUGIN "[CS 1.6] Gameplay: Fireworks on End Round" #define VERSION "1.3" #define AUTHOR "[P]erfec[T] [S]cr[@]s[H]" #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1)) #define TASK_AUTORELASE 3102130 #define AUTO_RELASE_INTERVAL 0.6 new g_fireworks_team, g_trailSpr, g_exploSpr, cvar_enable, cvar_admin_only, cvar_admin_flag, cvar_type, cvar_enable_message, flag_acess, g_maxplayers new const fireworks_model[] = "sprites/3dmflared.spr" new const fireworks_class[] = "amxx_fireworks" #if AMXX_VERSION_NUM < 183 new g_msgsaytext #endif enum { TEAM_UNASSIGNED = 0, TEAM_T = 1, TEAM_CT = 2, TEAM_SPECTATOR = 3 }; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("amx_fireworks", VERSION, FCVAR_SERVER|FCVAR_UNLOGGED); register_dictionary("amx_fireworks.txt") cvar_enable = register_cvar("amx_fireworks_enable", "1") cvar_admin_only = register_cvar("amx_fireworks_admin_only", "0") cvar_admin_flag = register_cvar("amx_fireworks_admin_flag", "b") cvar_type = register_cvar("amx_fireworks_type", "0") cvar_enable_message = register_cvar("amx_fireworks_message_enable", "0") register_forward(FM_Touch, "fw_Touch") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin") register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin") g_maxplayers = get_maxplayers() #if AMXX_VERSION_NUM < 183 g_msgsaytext = get_user_msgid("SayText") #endif } public plugin_cfg() { new szFlags[24]; get_pcvar_string(cvar_admin_flag, szFlags, charsmax(szFlags)) flag_acess = read_flags(szFlags) } public plugin_precache() { precache_model(fireworks_model) g_trailSpr = precache_model("sprites/laserbeam.spr") g_exploSpr = precache_model("sprites/fireworks.spr") } public t_win() { if(!get_pcvar_num(cvar_enable)) return; g_fireworks_team = TEAM_T client_printcolor(0, "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_ENABLE") if(get_pcvar_num(cvar_type) <= 0) set_task(AUTO_RELASE_INTERVAL, "auto_relase", TASK_AUTORELASE, _, _, "b") else client_printcolor(0, "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_BUTTON", get_pcvar_num(cvar_type) >= 2 ? "IN_ATTACK" : "E (IN_USE)") } public ct_win() { if(!get_pcvar_num(cvar_enable)) return; g_fireworks_team = TEAM_CT client_printcolor(0, "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_ENABLE") if(get_pcvar_num(cvar_type) <= 0) set_task(AUTO_RELASE_INTERVAL, "auto_relase", TASK_AUTORELASE, _, _, "b") else client_printcolor(0, "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_BUTTON", get_pcvar_num(cvar_type) >= 2 ? "IN_ATTACK" : "E (IN_USE)") } public event_round_start() { g_fireworks_team = 0 remove_task(TASK_AUTORELASE) client_printcolor(0, "%L %L", LANG_PLAYER, "FIREWORKS_TAG", LANG_PLAYER, "FIREWORKS_DISABLE") } public auto_relase() { if(!g_fireworks_team || !get_pcvar_num(cvar_enable)) { remove_task(TASK_AUTORELASE) return; } for(new id = 1; id <= g_maxplayers; id++) make_fireworks(id) } public fw_PlayerPreThink(id) { static iButton; iButton = pev(id, pev_button) static iOldButton; iOldButton = pev(id, pev_oldbuttons) if((iButton & IN_USE) && !(iOldButton & IN_USE) && get_pcvar_num(cvar_type) == 1 || (iButton & IN_ATTACK) && !(iOldButton & IN_ATTACK) && get_pcvar_num(cvar_type) >= 2) make_fireworks(id) } public make_fireworks(id) { if(!is_user_alive(id) || get_user_team(id) != g_fireworks_team || !get_pcvar_num(cvar_enable) || !(get_user_flags(id) & flag_acess) && get_pcvar_num(cvar_admin_only)) return; new Float:Origin[3], Float:vAngle[3], Float:flVelocity[3] // Get position from eyes get_user_eye_position(id, Origin) pev(id, pev_v_angle, vAngle) new NewEnt = fm_create_entity("info_target") set_pev(NewEnt, pev_classname, fireworks_class) engfunc(EngFunc_SetModel, NewEnt, fireworks_model) set_pev(NewEnt, pev_size, Float:{ -1.5, -1.5, -1.5 }, Float:{ 1.5, 1.5, 1.5 }) set_pev(NewEnt, pev_origin, Origin) // Set Entity Angles (thanks to Arkshine) make_vector(vAngle) set_pev(NewEnt, pev_angles, vAngle) set_pev(NewEnt, pev_solid, SOLID_BBOX) set_pev(NewEnt, pev_scale, 0.1) set_pev(NewEnt, pev_spawnflags, SF_SPRITE_STARTON) set_pev(NewEnt, pev_framerate, 25.0) set_rendering(NewEnt, kRenderFxNone, 0, 0, 0, kRenderTransAdd, 255) set_pev(NewEnt, pev_movetype, MOVETYPE_FLY) set_pev(NewEnt, pev_owner, id) // Set Entity Velocity velocity_by_aim(id, 700, flVelocity) set_pev(NewEnt, pev_velocity, flVelocity) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) // TE id write_short(NewEnt) // entity write_short(g_trailSpr) // sprite write_byte(9) // life write_byte(3) // width write_byte(random_num(0,255)) // r write_byte(random_num(0,255)) // g write_byte(random_num(0,255)) // b write_byte(255) // brightness message_end() } // Touch Forward public fw_Touch(ent, id) { if (!pev_valid(ent)) return FMRES_IGNORED new class[32], Float:originF[3]; pev(ent, pev_classname, class, charsmax(class)) if(equal(class, fireworks_class)) { pev(ent, pev_origin, originF) // Get origin message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_SPRITE); engfunc(EngFunc_WriteCoord, originF[0]+random_float(-5.0, 5.0)); engfunc(EngFunc_WriteCoord, originF[1]+random_float(-5.0, 5.0)); engfunc(EngFunc_WriteCoord, originF[2]+200.0); write_short(g_exploSpr); write_byte(15); write_byte(200); message_end(); engfunc(EngFunc_RemoveEntity, ent) } return FMRES_IGNORED } stock get_user_eye_position(id, Float:flOrigin[3]) { static Float:flViewOffs[3] pev(id, pev_view_ofs, flViewOffs) pev(id, pev_origin, flOrigin) xs_vec_add(flOrigin, flViewOffs, flOrigin) } stock make_vector(Float:flVec[3]) { flVec[0] -= 30.0 engfunc(EngFunc_MakeVectors, flVec) flVec[0] = -(flVec[0] + 30.0) } // Colored Chat (client_printcolor) stock client_printcolor(const id, const input[], any:...) { if(!get_pcvar_num(cvar_enable_message)) return static msg[191] vformat(msg, charsmax(msg), input, 3) replace_all(msg, charsmax(msg), "!g", "^4") // Green Color Chat replace_all(msg, charsmax(msg), "!y", "^1") // Default Color Char replace_all(msg, charsmax(msg), "!t", "^3") // Team Color Char #if AMXX_VERSION_NUM < 183 new count = 1, players[32] if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { message_begin(MSG_ONE_UNRELIABLE, g_msgsaytext, _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } #else client_print_color(id, print_team_default, msg) #endif } // Set rendering from fakemeta_util stock set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) { new Float:RenderColor[3]; RenderColor[0] = float(r); RenderColor[1] = float(g); RenderColor[2] = float(b); set_pev(entity, pev_renderfx, fx); set_pev(entity, pev_rendercolor, RenderColor); set_pev(entity, pev_rendermode, render); set_pev(entity, pev_renderamt, float(amount)); return 1; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1046\\ f0\\ fs16 \n\\ par } */ Can anyone edit it, to works only if CT win? I mean now is when CT kill the terro, T relase this fireworks. And same thing for T (when T kill CT, CT release fireworks) I have DR server, so i want to launch fireworks when X player kill T. (only from the player who kill the T). For Ts , i want to don't have this fireworks. Przeczytaj cały wpis Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi