Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

MYGO.pl

RSSy
  • Postów

    28682
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Treść opublikowana przez MYGO.pl

  1. [CSS/CSGO] SLAYER Force Round End v1.0 Description: A very simple plugin that will forcefully end the round at the correct round time limit when there is no objective in the Map. You can also set which team (Draw, CT, T) will win if the round was forcefully ended. This plugin is very useful in maps like $2000$ in CSS. Hope you like it :) Requirements: Sourcemod 1.8+ . Attached Files [CSS-CSGO] SLAYER Force Round End.zip (5.5 KB) Wyświetl pełny artykuł
  2. some players have voice ban from valve. is there a any plugin can disable in our community server ? Wyświetl pełny artykuł
  3. REQUIREMENTS Mods: latest Steam version of Counter-Strike 1.6 Metamod: Metamod 1.21p38 AMXX: Version 1.10 + Description: Mutation Knight is a Counter-Strike server side gameplay modification, developed as an AMX Mod X plugin. At the beginning of the round, a random players will be selected and will become Mutants. The goal of the Mutant is to turn other players into Mutants. The Mutant levels up after picking up a supply crate or after turning another player into a Mutant or damaging the Knight. After reaching level 4, the Mutant turns into an Armored Terminator. The goal of the Soldiers is to survive. A team of Soldiers automatically increases their level and damage every 30 seconds. At 4th level, all Soldiers transforming into the Knights, which has the abilities to block damage with its sword and random 1 hit kill. The goal of the Knights is to kill all Mutants and Terminators orjust to survive till round end. Abilities: - Mutant: SpeedUp at Level 2+, HP increases every Level - Terminator: Invincibility for 10 seconds, every soldier staying close to Terminator while he uses skill, drops their weapon. - Soldiers: Second Level gives additional ammo, Third Level givesHeartbeat sensor (allows to detect Mutants/Terminators on radar) and additional ammo multiplied x2. After reaching level Four, all soldiers will become Knights (Ghostblades). - Ghostblade: Can randomly 1 hit kill depended on enemy health and ability to block front damage with defence stance. Supply Crate: - Mutants: Increases Mutant Level by one - Soldiers: Randomly gives Backpack Ammo, Nano Armor or Stun Grenade. Download game resources: Game Resources Attached Files GameScripts.zip (80.9 KB) Przeczytaj cały wpis
  4. Hello, I want exactly such a plugin, but is the code readable, will you be able to improve it, because I see that it is not approved PHP Code: #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fun> #define PLUGIN "Vip GunMenu" #define VERSION "1.0" #define AUTHOR "SenaTor" #define ADMIN_ACCESS ADMIN_CHAT new bool:imaC4[33]; new menu; new cvar_second; public plugin_init() { register_plugin("Gun Menu", "1.0", "26-{indra}") register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) cvar_second = register_cvar("Show_Menu_seconds", "0") } public fw_PlayerSpawn_Post(id) { if (!is_user_alive(id)) return; set_task(get_pcvar_float(cvar_second), "Vip_menu", id) } public Vip_menu(id) { if (!is_user_alive(id)) return new flags = get_user_flags(id) menu = menu_create("[VIP \r[Gun] \wMenu]", "VIP_handler") if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yM4A1") else menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yM4A1") if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yAK47") else menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yAK47") if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yAWP \r[VIP]", "", ADMIN_ACCESS) else menu_additem( menu, "\dDeagle \r+ \d[HE+FB] \r+ \dAWP \r[VIP]", "", ADMIN_ACCESS) if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \ySG552 \r[VIP]", "", ADMIN_ACCESS) else menu_additem( menu, "\dDeagle \r+ \d[HE+FB] \r+ \dSG552 \r[VIP]", "", ADMIN_ACCESS) if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yAUG \r[VIP]", "", ADMIN_ACCESS) else menu_additem( menu, "\dDeagle \r+ \d[HE+FB] \r+ \dAUG \r[VIP]", "", ADMIN_ACCESS) if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yFAMAS \r[VIP]", "", ADMIN_ACCESS) else menu_additem( menu, "\dDeagle \r+ \d[HE+FB] \r+ \dFAMAS \r[VIP]", "", ADMIN_ACCESS) if(flags & ADMIN_CHAT) menu_additem( menu, "\wDeagle \r+ \w[HE+FB] \r+ \yGALIL \r[VIP]", "", ADMIN_ACCESS) else menu_additem( menu, "\dDeagle \r+ \d[HE+FB] \r+ \dGALIL \r[VIP]", "", ADMIN_ACCESS) menu_display(id, menu, 0) } public VIP_handler(id, EXIT, item) { if (!is_user_alive(id)) return PLUGIN_HANDLED if(item == MENU_EXIT) { menu_destroy(EXIT); return PLUGIN_HANDLED; } switch(item) { case 0: { if(!is_user_alive(id)) return PLUGIN_CONTINUE; else { if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) imaC4[id] = true; else imaC4[id] = false; strip_user_weapons(id); give_item(id, "weapon_m4a1"); cs_set_user_bpammo(id, CSW_M4A1, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant(id); } } } } case 1: { if(!is_user_alive(id)) return PLUGIN_CONTINUE; else { if( user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) imaC4[id] = true; else imaC4[id] = false; strip_user_weapons(id); give_item(id, "weapon_ak47"); cs_set_user_bpammo(id, CSW_AK47, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item(id, "weapon_c4"); } cs_set_user_plant(id); } } } case 2: { if(!is_user_alive(id)) return PLUGIN_CONTINUE; else { if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) imaC4[id] = true; else imaC4[id] = false; strip_user_weapons( id ); give_item(id, "weapon_awp"); cs_set_user_bpammo(id, CSW_AWP, 30); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item( id, "weapon_c4"); cs_set_user_plant(id); } } } case 3: { if(!is_user_alive(id)) return PLUGIN_CONTINUE; else { if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) imaC4[id] = true; else imaC4[id] = false; strip_user_weapons( id ); give_item(id, "weapon_sg552"); cs_set_user_bpammo(id, CSW_SG552, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant(id); } } } case 4: { if(!is_user_alive( id)) return PLUGIN_CONTINUE; else { if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) imaC4[id] = true; else imaC4[id] = false; strip_user_weapons( id ); give_item(id, "weapon_aug"); cs_set_user_bpammo(id, CSW_AUG, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant( id ); } } } case 5: { if(!is_user_alive(id)) return PLUGIN_CONTINUE; else { if( user_has_weapon( id, CSW_C4 ) && get_user_team( id ) == 1 ) imaC4[id] = true; else imaC4[ id ] = false; strip_user_weapons(id); give_item(id, "weapon_famas"); cs_set_user_bpammo(id, CSW_FAMAS, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item( id, "weapon_c4" ); cs_set_user_plant( id ); } } } case 6: { if(!is_user_alive(id)) return PLUGIN_CONTINUE; else { if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1) imaC4[ id ] = true; else imaC4[id] = false; strip_user_weapons(id); give_item(id, "weapon_galil"); cs_set_user_bpammo(id, CSW_GALIL, 90); give_item(id, "weapon_deagle"); cs_set_user_bpammo(id, CSW_DEAGLE, 35); give_item(id,"weapon_knife"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "item_kevlar"); give_item(id, "item_assaultsuit"); if(imaC4[id]) { give_item(id, "weapon_c4"); cs_set_user_plant(id); } } } return PLUGIN_HANDLED; } Przeczytaj cały wpis
  5. MYGO.pl

    RSSVsh2

    L 05/07/2023 - 20:49:35: [SM] Blaming: vsh2.smx L 05/07/2023 - 20:49:35: [SM] Call stack trace: L 05/07/2023 - 20:49:35: [SM] [0] GetEntProp L 05/07/2023 - 20:49:35: [SM] [1] Line 835, ./include/vsh2.inc::VSHHealthBar.iPercent.get L 05/07/2023 - 20:49:35: [SM] [2] Line 1110, vsh2.sp::Timer_DrawGame L 05/07/2023 - 20:49:37: [SM] Exception reported: Invalid file handle 0 (error 4) What does that mean? I put my own boss in it to test it and then he wrote what is above. Przeczytaj cały wpis
  6. Hello everybody !! Sorry for taking from your time but I am looking for a plugin for cs 1.6 server (amx vers 1.9) that looks like this : Soul / spirit leave body when player get killed . https://vm.tiktok.com/ZGJuJEyoR/ I do not want to make advertising or something but i saw this on TikTok and I did not find the plugin . Do somebody can help me with a source code / model / plugin ? Thanks a lot ! Przeczytaj cały wpis
  7. Hi, I always thought Day of Defeat Source was good because it's quite fast but recently I got bored so I thought to boost it by speeding up the game a bit, which gives it a bit of a facelift . The plugin automatically creates a folder and configuration file in dod/cfg/dod_speed/dod_speed.cfg Sorry for my english but im' french. ;-) Attached Files Get Plugin or Get Source (dod_speed.sp - 1.7 KB) Wyświetl pełny artykuł
  8. A plugin that play a sound when: - 30 Seconds are left - 10 Seconds are left - 1 enemy is remaining - MatchPoint - If you T or Ct I have the sound effects from Valorant (Just wanted to ask such plugin exists) Wyświetl pełny artykuł
  9. MYGO.pl

    RSSsmx

    I have i question. Is any free software to open and edit .smx file? Przeczytaj cały wpis
  10. Furien Supreme - v0.0.1, released at : 05/05/2023 Looking for a Furien API? Now you can easily register Classes and Weapons! The best part? Furiens can now see the invisible furiens wich improves the team gameplay. Information & DifferencesInvisibility is set on AddToFullPack, this way furiens can see furiens (half invisible) Easy to register Classes Easy to register Weapons Allows you to build special weapons like converting Zombie weapons into this Mod Classes can have it's own model You can easily register a class or weapon for VIP/Admin only (Set by Flag) AutoJoin Feature (enable/disable) on configuration file Configuration File Code: ;If 1 Furiens can NOT pick weapons from ground WEAPONS_HUMANS_ONLY 1 ; If 1 bomb will be removed PLANT_NOT_ALLOWED 0 ; If 1 player will autojoin AUTO_JOIN_TEAM 1 ; Game Name GAME_NAME "Furien Supreme" ; Models HUMAN_MODEL gign FURIEN_MODEL leet Include File Code: enum { Primary_Weapon, Secondary_Weapon } /** * Registers Furien Classes * * @param szName Class Name * @param szDesc Class Description * @param szModel Player model * @param fSpeed Class Speed * @param fGravity Class Gravity * @param szFlag Flag required to use the Class * @param szFlagDesc Description - ie. "VIP" * @return An internal Furien Class ID */ native furien_register_class(const szName[], const szDesc[], const szModel[], Float:fSpeed, Float:fGravity, const szFlag[], const szFlagDesc[]) /** * Registers Weapons * * @param szName Class Name * @param Secondary Primary = 0 | Secondary = 1 * @param szFlag Flag required to use the Weapon * @param szFlagDesc Description - ie. "VIP" * @return An internal Weapon Class ID */ native furien_register_weapon(const szName[], Secondary, const szFlag[], const szFlagDescription[]) /** * Get furien Class * * @param Id Player Index * @return Furien Class ID */ native furien_get_user_class(id) /** * Called when a player choses his Furien Class * * @param id Player's Index * @param ClassID Index of the Class. Required on sub-plugins */ forward furien_class_selected(id, ClassID) /** * Called when a player choses his Primary/Secondary Weapons * * @param id Player's Index * @param WeaponID INTERNAL Index of the Weapon. Required on sub-plugins */ forward furien_primary_selected(id, WeaponID) forward furien_secondary_selected(id, WeaponID) /** * Called when after player spawned and stuff assigned * * @param id Player's Index */ forward furien_spawn_post(id) The current Weapon & Classes Plugins are pretty basic and you can find them at second post. Later i will post here some better ones Attached Files Get Plugin or Get Source (furien_supreme.sma - 17.7 KB) furien_supreme.inc (1.7 KB) furien.ini (262 Bytes) Przeczytaj cały wpis
  11. MYGO.pl

    RSSteam system

    Hello to everyone This plugin does not work, there is no error in the plugin, but there is a problem, it does not open, so I understood it, can anyone solve it? respects Attached Files Get Plugin or Get Source (team.sma - 54.0 KB) Przeczytaj cały wpis
  12. Hello, can anyone help me with adding zp_has_round_started on my jetpack plugin Code: #include <amxmodx> #include <fun> #include <engine> #include <fakemeta> #include <hamsandwich> #include <zp_apocalypse> #include <colorchat> // HUD messages const Float:HUD_EVENT_X = -1.0 const Float:HUD_EVENT_Y = 0.17 const Float:HUD_INFECT_X = 0.05 const Float:HUD_INFECT_Y = 0.45 const Float:HUD_SPECT_X = -1.0 const Float:HUD_SPECT_Y = 0.8 const Float:HUD_STATS_X = 0.02 const Float:HUD_STATS_Y = 0.9 #pragma tabsize 0 #define PLUGINNAME "[ZP] Extra: Jetpack+Bazooka" #define VERSION "1.0" #define AUTHOR "HCS" #define MAX_PLAYERS 32 #define ACCESS_LEVEL ADMIN_LEVEL_A #define TE_EXPLOSION 3 #define TE_BEAMFOLLOW 22 #define TE_BEAMCYLINDER 21 #define JETPACK_COST 60 // set how may ammopacks the Jatpack+Rocket cost new ROCKET_MDL[64] = "models/rpgrocket.mdl" new ROCKET_SOUND[64] = "weapons/rocketfire1.wav" new getrocket[64] = "items/9mmclip2.wav" new bool:fly[33] = false new bool:rocket[33] = false new bool:rksound[33] = false new bool:shot[33] = false new frame[33]; new const Float:g_flCoords[][] = { {0.50, 0.40}, {0.56, 0.44}, {0.60, 0.50}, {0.56, 0.56}, {0.50, 0.60}, {0.44, 0.56}, {0.40, 0.50}, {0.44, 0.44} } new g_iPlayerPos[MAX_PLAYERS+1] new Float:gltime = 0.0 new Float:last_Rocket[33] = 0.0 new Float:jp_cal[33] = 0.0 new Float:jp_soun[33] = 0.0 new flame, explosion, trail, white new g_flyEnergy[33], hasjet[33] new cvar_jetpack, cvar_jetpackSpeed, cvar_RocketDmg, cvar_Dmg_range, cvar_jetpackUpSpeed, cvar_jetpackAcrate ,cvar_RocketDelay, cvar_RocketSpeed, cvar_fly_max_engery, cvar_fly_engery, cvar_regain_energy, g_item_jetpack, cvar_cal_time, cvar_oneround public plugin_init() { register_plugin(PLUGINNAME, VERSION, AUTHOR) g_item_jetpack = zp_register_extra_item("\r[Item] \wJetPack + Bazooka", JETPACK_COST, ZP_TEAM_HUMAN) cvar_jetpack = register_cvar("zp_jetpack", "2") cvar_jetpackSpeed=register_cvar("zp_jp_forward_speed","350.0") cvar_jetpackUpSpeed=register_cvar("zp_jp_up_speed","35.0") cvar_jetpackAcrate=register_cvar("zp_jp_accelerate","50.0") cvar_RocketDelay=register_cvar("zp_jp_rocket_delay","20.0") cvar_RocketSpeed=register_cvar("zp_jp_rocket_speed","1700") cvar_RocketDmg=register_cvar("zp_jp_rocket_damage","950") cvar_Dmg_range=register_cvar("zp_jp_damage_radius","600") cvar_fly_max_engery = register_cvar("zp_jp_max_engery", "10") cvar_fly_engery = register_cvar("zp_jp_engery", "1") cvar_regain_energy = register_cvar("zp_jp_regain_energy", "1") cvar_cal_time = register_cvar("zp_jp_energy_cal", "1.0") cvar_oneround = register_cvar("zp_jp_oneround", "0") register_event("CurWeapon", "check_models", "be") register_event("DeathMsg", "player_die", "a") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") register_forward(FM_StartFrame, "fm_startFrame") register_forward(FM_PlayerPreThink, "fm_prethink") register_forward(FM_EmitSound, "emitsound") } public plugin_precache() { precache_model("models/p_egon.mdl") precache_model("models/zp_apocalypse/v_egon.mdl") precache_model("models/w_egon.mdl") precache_sound("jetpack.wav") precache_sound("jp_blow.wav") precache_model(ROCKET_MDL) precache_sound(ROCKET_SOUND) precache_sound(getrocket) explosion = precache_model("sprites/zerogxplode.spr") trail = precache_model("sprites/smoke.spr") flame = precache_model("sprites/xfireball3.spr") white = precache_model("sprites/white.spr") } public client_putinserver(id) { fly[id] = false rocket[id] = false hasjet[id] = 0 g_flyEnergy[id] = 0 } public client_disconnect(id) { fly[id] = false rocket[id] = false hasjet[id] = 0 g_flyEnergy[id] = 0 } public event_round_start() { remove_jetpacks(); if (get_pcvar_num(cvar_oneround) == 1) { for (new id; id <= 32; id++) hasjet[id] = 0, g_flyEnergy[id] = 0, fly[id] = false; } } public fm_startFrame(){ gltime = get_gametime() static id for (id = 1; id <= 32; id++) { frame[id]++; } } public fm_prethink(id) { if(is_user_alive(id)) jp_forward(id) } public jp_forward(player) { if (!is_user_alive(player) && (zp_get_user_zombie(player) || zp_get_user_nemesis(player) || zp_get_user_survivor(player))) return FMRES_IGNORED if (!hasjet[player]) return FMRES_IGNORED if(jp_cal[player] < gltime){ jp_energy(player); jp_cal[player] = gltime + get_pcvar_float(cvar_cal_time) } check_rocket(player) new clip,ammo new wpnid = get_user_weapon(player,clip,ammo) if (wpnid == CSW_KNIFE || wpnid != CSW_KNIFE){ if(get_pcvar_num(cvar_jetpack) == 1){ if(!(pev(player, pev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK){ if((g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){ if(jp_soun[player] < gltime){ jp_soun[player] = gltime + 1.0 } } else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){ if(jp_soun[player] < gltime){ emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH) jp_soun[player] = gltime + 1.0 } } } human_fly(player) attack(player) } if((pev(player,pev_button)&IN_ATTACK2)){ attack2(player) } } if((get_pcvar_num(cvar_jetpack) == 2 && !(pev(player, pev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK)){ if((g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){ if(jp_soun[player] < gltime){ jp_soun[player] = gltime + 1.0 } } else if((g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){ if(jp_soun[player] < gltime){ emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH) jp_soun[player] = gltime + 1.0 } } human_fly(player) attack(player) } return FMRES_IGNORED } public jp_energy(player) { if (!(pev(player, pev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK) { // Get our current velocity new clip,ammo new wpnid = get_user_weapon(player,clip,ammo) if (wpnid == CSW_KNIFE) { // flying if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09) g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery); // Increase distance counter } } else if ((get_pcvar_num(cvar_jetpack) == 2 && !(pev(player, pev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK)) { if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09) g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery); // Increase distance counter } // Walking/Runnig if (pev(player, pev_flags) & FL_ONGROUND) g_flyEnergy[player] = g_flyEnergy[player] + get_pcvar_num(cvar_regain_energy);// Decrease distance counter } public attack(player) { //code snippa from TS_Jetpack 1.0 - Jetpack plugin for The Specialists. //http://forums.alliedmods.net/showthread.php?t=55709&highlight=jetpack //By: Bad_Bud if(fly[player]) { static Float:JetpackData[3] pev(player,pev_velocity,JetpackData) new fOrigin[3],Float:Aim[3] VelocityByAim(player, 10, Aim) get_user_origin(player,fOrigin) fOrigin[0] -= floatround(Aim[0]) fOrigin[1] -= floatround(Aim[1]) fOrigin[2] -= floatround(Aim[2]) if((pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK) && !(pev(player, pev_flags) & FL_ONGROUND)) { message_begin(MSG_ALL,SVC_TEMPENTITY) write_byte(17) write_coord(fOrigin[0]) write_coord(fOrigin[1]) write_coord(fOrigin[2]) write_short(flame) write_byte(9) write_byte(180) message_end() static Float:Speed Speed=floatsqroot(JetpackData[0]*JetpackData[0]+JetpackData[1]*JetpackData[1]) if(Speed!=0.0)//Makes players only lay down if their speed isn't 0; if they are thrusting forward. { set_pev(player,EV_INT_movetype,6) set_pev(player, pev_frame, 0.9) } if(Speed<get_pcvar_float(cvar_jetpackSpeed)) Speed+=get_pcvar_float(cvar_jetpackAcrate) static Float:JetpackData2[3] pev(player,pev_angles,JetpackData2) JetpackData2[2]=0.0//Remove the Z value/ angle_vector(JetpackData2,ANGLEVECTOR_FORWARD,JetpackData2) JetpackData2[0]*=Speed JetpackData2[1]*=Speed JetpackData[0]=JetpackData2[0] JetpackData[1]=JetpackData2[1] } if(JetpackData[2]<get_pcvar_float(cvar_jetpackSpeed)&&JetpackData[2]>0.0)//Jetpacks get more power on the way down -- it helps landing. JetpackData[2]+=get_pcvar_float(cvar_jetpackUpSpeed) else if(JetpackData[2]<0.0) JetpackData[2]+=(get_pcvar_float(cvar_jetpackUpSpeed)*1.15) set_pev(player,pev_velocity,JetpackData) } } public attack2(player) { if (rocket[player]) { new rocket = create_entity("info_target") if(rocket == 0) return PLUGIN_CONTINUE entity_set_string(rocket, EV_SZ_classname, "zp_jp_rocket") entity_set_model(rocket, ROCKET_MDL) entity_set_size(rocket, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}) entity_set_int(rocket, EV_INT_movetype, MOVETYPE_FLY) entity_set_int(rocket, EV_INT_solid, SOLID_BBOX) new Float:vSrc[3] entity_get_vector(player, EV_VEC_origin, vSrc) new Float:Aim[3],Float:origin[3] VelocityByAim(player, 64, Aim) entity_get_vector(player,EV_VEC_origin,origin) vSrc[0] += Aim[0] vSrc[1] += Aim[1] entity_set_origin(rocket, vSrc) new Float:velocity[3], Float:angles[3], fOrigin[3] VelocityByAim(player, get_pcvar_num(cvar_RocketSpeed), velocity) entity_set_vector(rocket, EV_VEC_velocity, velocity) vector_to_angle(velocity, angles) entity_set_vector(rocket, EV_VEC_angles, angles) entity_set_edict(rocket,EV_ENT_owner,player) entity_set_float(rocket, EV_FL_takedamage, 1.0) set_pev(rocket, pev_effects, EF_LIGHT) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(rocket) write_short(trail) write_byte(25) write_byte(8) write_byte(255) write_byte(255) write_byte(255) write_byte(200) message_end() message_begin( MSG_BROADCAST, SVC_TEMPENTITY ); write_byte( TE_BEAMTORUS ); write_coord( fOrigin[0]); // Start X write_coord( fOrigin[1] ); // Start Y write_coord( fOrigin[2]); // Start Z write_coord( fOrigin[0] ); // End X write_coord( fOrigin[1] ); // End Y write_coord( fOrigin[2] + 10); // End Z write_short( flame ); // sprite write_byte( 0 ); // Starting frame write_byte( 0 ); // framerate * 0.1 write_byte( 8 ); // life * 0.1 write_byte( 50 ); // width write_byte( 0 ); // noise write_byte( 0 ); // color r,g,b write_byte( 255 ); // color r,g,b write_byte( 0 ); // color r,g,b write_byte( 255 ); // brightness write_byte( 0 ); // scroll speed message_end(); emit_sound(rocket, CHAN_WEAPON, ROCKET_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM) shot[player] = true last_Rocket[player] = gltime + get_pcvar_num(cvar_RocketDelay) } return PLUGIN_CONTINUE } public check_models(id) { if (zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id)) return FMRES_IGNORED if(hasjet[id]) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) if ( wpnid == CSW_KNIFE ) { switchmodel(id) } return PLUGIN_CONTINUE } return PLUGIN_CONTINUE } public switchmodel(id) { entity_set_string(id,EV_SZ_viewmodel,"models/zp_apocalypse/v_egon.mdl") entity_set_string(id,EV_SZ_weaponmodel,"models/p_egon.mdl") } public remove_jetpacks() { new nextitem = find_ent_by_class(-1,"zp_jp_jetpack") while(nextitem) { remove_entity(nextitem) nextitem = find_ent_by_class(-1,"zp_jp_jetpack") } return PLUGIN_CONTINUE } public emitsound(entity, channel, const sample[]) { if(is_user_alive(entity)) { new clip,ammo new weapon = get_user_weapon(entity,clip,ammo) if(hasjet[entity] && weapon == CSW_KNIFE) { if(equal(sample,"weapons/knife_slash1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_slash2.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_deploy1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hitwall1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit1.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit2.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit3.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_hit4.wav")) return FMRES_SUPERCEDE if(equal(sample,"weapons/knife_stab.wav")) return FMRES_SUPERCEDE } } return FMRES_IGNORED } public human_fly(player) { if (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery)*0.1) { jp_off(player); } if (g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.1) { jp_on(player); } } public jp_on(player) { fly[player] = true } public jp_off(player) { fly[player] = false } public check_rocket(player) { if (last_Rocket[player] > gltime) { rk_forbidden(player) rksound[player] = true } else { if (shot[player]) { rksound[player] = false shot[player] = false } rk_sound(player) rk_allow(player) } } public rk_allow(player) { rocket[player] = true } public rk_forbidden(player) { rocket[player] = false } public rk_sound(player) { if (!rksound[player]) { engfunc(EngFunc_EmitSound, player, CHAN_WEAPON, getrocket, 1.0, ATTN_NORM, 0, PITCH_NORM) client_print(player, print_center, "[!] BAZOOKA IS READY [!]") rksound[player] = true } else if (rksound[player]) { } } public player_die() { new id = read_data(2) if(hasjet[id]) { hasjet[id] = 0 rocket[id] = false g_flyEnergy[id] = 0 } return PLUGIN_CONTINUE } public pfn_touch(ptr, ptd) { if(is_valid_ent(ptr)) { new classname[32] entity_get_string(ptr,EV_SZ_classname,classname,31) if(equal(classname, "zp_jp_jetpack")) { if(is_valid_ent(ptd)) { new id = ptd if(id > 0 && id < 34) { if(!hasjet[id] && !zp_get_user_zombie(id) && is_user_alive(id)) { hasjet[id] = 1 g_flyEnergy[id] = get_pcvar_num(cvar_fly_engery) rocket[id] = true client_cmd(id,"spk items/gunpickup2.wav") engclient_cmd(id,"weapon_knife") switchmodel(id) remove_entity(ptr) } } } }else if(equal(classname, "zp_jp_rocket")) { new Float:fOrigin[3] new iOrigin[3] entity_get_vector(ptr, EV_VEC_origin, fOrigin) FVecIVec(fOrigin,iOrigin) jp_radius_damage(ptr) 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(explosion) write_byte(55) write_byte(15) write_byte(0) message_end() 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(explosion) write_byte(65) write_byte(15) write_byte(0) message_end() 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(explosion) write_byte(85) write_byte(15) write_byte(0) message_end() message_begin(MSG_ALL,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]) write_coord(iOrigin[2]+650) write_short(white) write_byte(0) write_byte(1) write_byte(6) write_byte(100) write_byte(1) write_byte(255) write_byte(255) write_byte(255) write_byte(200) write_byte(0) message_end() message_begin(MSG_ALL,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]) write_coord(iOrigin[2]+650) write_short(white) write_byte(0) write_byte(1) write_byte(6) write_byte(100) write_byte(1) write_byte(255) write_byte(255) write_byte(255) write_byte(200) write_byte(0) message_end() message_begin(MSG_ALL,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]) write_coord(iOrigin[2]+650) write_short(white) write_byte(0) write_byte(1) write_byte(6) write_byte(100) write_byte(1) write_byte(255) write_byte(255) write_byte(255) write_byte(200) write_byte(0) message_end() if(is_valid_ent(ptd)) { new classname2[32] entity_get_string(ptd,EV_SZ_classname,classname2,31) if(equal(classname2,"func_breakable")) force_use(ptr,ptd) } remove_entity(ptr) } } return PLUGIN_CONTINUE } public zp_user_infected_pre(player, infector){ hasjet[player] = 0; g_flyEnergy[player] = 0; rocket[player] = false; } public zp_extra_item_selected(player, itemid) { new clip,ammo new weapon = get_user_weapon(player,clip,ammo) new name[32] get_user_name(player, name, 31) if (itemid == g_item_jetpack) { ColorChat(player, GREY, "^4[ZP]^1 ^1Press ^3-CTRL+SPACE-^1 to fly!") ColorChat(player, GREY, "^4[ZP]^1 ^1Press ^3-RIGHT CLICK-^1 to shoot!") hasjet[player] = 1 g_flyEnergy[player] = get_pcvar_num(cvar_fly_max_engery) rocket[player] = true client_cmd(player,"spk items/gunpickup2.wav") if(weapon == CSW_KNIFE) { switchmodel(player) } else { engclient_cmd(player,"weapon_knife"),switchmodel(player) } } } stock jp_radius_damage(entity) { new id = entity_get_edict(entity,EV_ENT_owner) new packs,name[32]; for(new i = 1; i < 33; i++) { if(is_user_alive(i)) { new dist = floatround(entity_range(entity,i)) if(dist <= get_pcvar_num(cvar_Dmg_range)) { new hp = get_user_health(i) new Float:damage = get_pcvar_float(cvar_RocketDmg)-(get_pcvar_float(cvar_RocketDmg)/get_pcvar_float(cvar_Dmg_range))*float(dist) new Origin[3] get_user_origin(i,Origin) new iPos = ++g_iPlayerPos[id] if( iPos == sizeof(g_flCoords) ) { iPos = g_iPlayerPos[id] = 0 } if(zp_get_user_zombie(id) != zp_get_user_zombie(i)) { get_user_name(i,name,31); if(damage>=800) packs = 2; else packs = 1; if(hp > damage) { zp_set_user_ammo_packs ( id, zp_get_user_ammo_packs ( id ) + packs ); jp_take_damage(i,floatround(damage),Origin,DMG_BLAST) ColorChat(id, GREY, "^4[ZP]^1 Damage to ^4%s^1 :: ^4%i^1 damage", name, floatround(damage)) set_hudmessage( 0, 40, 80, Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.1, 2.5, 0.02, 0.02, -1 ) //show_hudmessage( id, "%i", floatround(damage) ) } else { log_kill(id,i,"Jetpack Rocket",0) zp_set_user_ammo_packs ( id, zp_get_user_ammo_packs ( id ) + 4 ); ColorChat(0, GREY, "", name) } } } } } } stock log_kill(killer, victim, weapon[], headshot) { // code from MeRcyLeZZ set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET) ExecuteHamB(Ham_Killed, victim, killer, 2) // set last param to 2 if you want victim to gib set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT) message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg")) write_byte(killer) write_byte(victim) write_byte(headshot) write_string(weapon) message_end() // if(get_user_team(killer)!=get_user_team(victim)) set_user_frags(killer,get_user_frags(killer) +1) if(get_user_team(killer)==get_user_team(victim)) set_user_frags(killer,get_user_frags(killer) -1) new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10] get_user_name(killer, kname, 31) get_user_team(killer, kteam, 9) get_user_authid(killer, kauthid, 31) get_user_name(victim, vname, 31) get_user_team(victim, vteam, 9) get_user_authid(victim, vauthid, 31) log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", kname, get_user_userid(killer), kauthid, kteam, vname, get_user_userid(victim), vauthid, vteam, weapon) return PLUGIN_CONTINUE; } stock jp_take_damage(victim,damage,origin[3],bit) { message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim) write_byte(21) write_byte(20) write_long(bit) write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]) message_end() set_user_health(victim,get_user_health(victim)-damage) client_cmd(victim,"spk fvox/flatline.wav") msg_screen_fade(victim, 1, 255, 0, 0, 115) msg_screen_shake( victim, 255<<10, 10<<10, 255<<10 ); } stock msg_screen_fade(id, holdtime, r, g, b, a) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0, 0, 0}, id) write_short(seconds_to_units(holdtime)) write_short(seconds_to_units(holdtime)) write_short(0) write_byte(r) write_byte(g) write_byte(b) write_byte(a) message_end() } stock seconds_to_units(time) { return ((1 << 10) * (time)) } public msg_screen_shake( id, Amplitud , Duracion, Frecuencia ){ message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenShake"), {0,0,0}, id); write_short(255<<10); write_short(10<<10); write_short(255<<10); message_end() } Przeczytaj cały wpis
  13. Hello, I would like a plugin in which if the timer (mp_roundtime) reaches 0, a command is automatically executed, for example "amx_cvar sv_restart 1", if possible.. Thank you :wink: Przeczytaj cały wpis
  14. Hey there! Biohazard mod compiles with sma+cfg https://forums.alliedmods.net/showthread.php?t=68523 Weapon is specified in cfg Is it possible to disable some weapons by cvar? Maybe like this: new cvar_weapoff cvar_weapoff = register_cvar("bh_weapoff", "0") if(get_pcvar_num(cvar_weapoff)){weapon} Sometimes there's a need to balance some maps due to low players count and switch off some guns .cfg example: Code: new g_primaryweapons[][][] = { { "weapon1", "weapon_1" }, { "weapon2", "weapon_2" }, { "weapon3", "weapon_3" }, { "weapon4", "weapon_4" }, { "weapon5", "weapon_5" }, { "weapon6", "weapon_6" }, { "weapon7", "weapon_7" }, { "weapon8", "weapon_8" }, { "weapon9", "weapon_9" }, { "weapon10", "weapon_10" }, { "weapon11", "weapon_11" }, { "weapon12", "weapon_12" }, { "weapon13", "weapon_13" }, { "weapon14", "weapon_14" }, { "weapon15", "weapon_15" }, { "weapon16", "weapon_16" }, { "weapon17", "weapon_17" }, { "weapon18", "weapon_18" } }.sma weaponmenu Code: public display_weaponmenu(id, menuid, pos) { if(pos < 0 || menuid < 0) return static start start = pos * 8 static maxitem maxitem = menuid == MENU_PRIMARY ? sizeof g_primaryweapons : sizeof g_secondaryweapons if(start >= maxitem) start = pos = g_menuposition[id] static menubody[512], len len = formatex(menubody, 511, "\y%L\w^n^n", id, menuid == MENU_PRIMARY ? "MENU_TITLE2" : "MENU_TITLE3") static end end = start + 8 if(end > maxitem) end = maxitem static keys keys = MENU_KEY_0 static a, b b = 0 for(a = start; a < end; ++a) { keys |= (1<<b) len += formatex(menubody[len], 511 - len,"\w[\y%d\w] %s^n", ++b, menuid == MENU_PRIMARY ? g_primaryweapons[a][0]: g_secondaryweapons[a][0]) } if(end != maxitem) { formatex(menubody[len], 511 - len, "^n\w[\y9\w] %L^n\w[\y0\w] %L", id, "MENU_MORE", id, pos ? "MENU_BACK" : "MENU_EXIT") keys |= MENU_KEY_9 } else formatex(menubody[len], 511 - len, "^n\w[\y0\w] %L", id, pos ? "MENU_BACK" : "MENU_EXIT") show_menu(id, keys, menubody, -1, menuid == MENU_PRIMARY ? "Primary" : "Secondary") } public action_prim(id, key) { if(!is_user_alive(id) || g_zombie[id]) return PLUGIN_HANDLED switch(key) { case 8: display_weaponmenu(id, MENU_PRIMARY, ++g_menuposition[id]) case 9: display_weaponmenu(id, MENU_PRIMARY, --g_menuposition[id]) default: { g_player_weapons[id][0] = g_menuposition[id] * 8 + key equipweapon(id, EQUIP_PRI) display_weaponmenu(id, MENU_SECONDARY, g_menuposition[id] = 0) } } return PLUGIN_HANDLED } public action_sec(id, key) { if(!is_user_alive(id) || g_zombie[id]) return PLUGIN_HANDLED switch(key) { case 8: display_weaponmenu(id, MENU_SECONDARY, ++g_menuposition[id]) case 9: display_weaponmenu(id, MENU_SECONDARY, --g_menuposition[id]) default: { g_menufailsafe[id] = false remove_task(TASKID_WEAPONSMENU + id) g_player_weapons[id][1] = g_menuposition[id] * 8 + key equipweapon(id, EQUIP_SEC) equipweapon(id, EQUIP_GREN) } } return PLUGIN_HANDLED } stock equipweapon(id, weapon) { if(!is_user_alive(id)) return static weaponid[2], weaponent, weapname[32] if(weapon & EQUIP_PRI) { weaponent = fm_lastprimary(id) weaponid[1] = get_weaponid(g_primaryweapons[g_player_weapons[id][0]][1]) if(pev_valid(weaponent)) { weaponid[0] = fm_get_weapon_id(weaponent) if(weaponid[0] != weaponid[1]) { get_weaponname(weaponid[0], weapname, 31) bacon_strip_weapon(id, weapname) } } else weaponid[0] = -1 if(weaponid[0] != weaponid[1]) bacon_give_weapon(id, g_primaryweapons[g_player_weapons[id][0]][1]) fm_set_user_bpammo(id, weaponid[1], g_weapon_ammo[weaponid[1]][MAX_AMMO]) } if(weapon & EQUIP_SEC) { weaponent = fm_lastsecondry(id) weaponid[1] = get_weaponid(g_secondaryweapons[g_player_weapons[id][1]][1]) if(pev_valid(weaponent)) { weaponid[0] = fm_get_weapon_id(weaponent) if(weaponid[0] != weaponid[1]) { get_weaponname(weaponid[0], weapname, 31) bacon_strip_weapon(id, weapname) } } else weaponid[0] = -1 if(weaponid[0] != weaponid[1]) bacon_give_weapon(id, g_secondaryweapons[g_player_weapons[id][1]][1]) fm_set_user_bpammo(id, weaponid[1], g_weapon_ammo[weaponid[1]][MAX_AMMO]) } if(weapon & EQUIP_GREN) { static i for(i = 0; i < sizeof g_grenades; i++) if(!user_has_weapon(id, get_weaponid(g_grenades[i]))) bacon_give_weapon(id, g_grenades[i]) } }Please, I need a help Przeczytaj cały wpis
  15. Hello everyone I want nemesis mode for deathmatch mode that I can use outside of zombie mode, I will not use it with zombie mod plugins Przeczytaj cały wpis
  16. Like the exploding cars plugin, but cars have health to disappear after taking too much damage. All tank related props will have health, not just cars. Setting car health to negative value will be a multiplier of the tank's max health, helping immediately making the plugin adapt to your server. Infected Health Gauge Redux is an optional dependency to see how much health the car has in real time. Attached Files Get Plugin or Get Source (l4d2_cars_health.sp - 13.8 KB) Wyświetl pełny artykuł
  17. Hello, is there any function that make player any one will got near him will start getting damage i want the radius in controled with cvar and damage also thanks <3 Przeczytaj cały wpis
  18. Hello. This would be my first boss. I got the script from this site: https://github.com/VSH2-Devs/Vs-Saxt...lugin-Tutorial ) I hope you will like it. The .smx file should be placed in the tf/addons/sourcemod/plugins folder. The .sp file should be placed in the tf/addons/sourcemod/scripting directory. The config should be placed in tf/addons/saxton_hale/boss_cfg. Everything worked for me during testing. I hope it works out for you too. Attached Files Free Soldier Boss.zip (25.3 KB) Wyświetl pełny artykuł
  19. Sorry for my their poor English. Health gauge is displayed on center text. HP: |-##########=====-| Tank sample1.jpg (center text) l4d_infectedhp_type 0 l4d_infectedhp_num 1 l4d_infectedhp_bar 50 sample2.jpg (hint text) l4d_infectedhp_type 1 l4d_infectedhp_num 1 l4d_infectedhp_bar 20 CVARS: l4d_infectedhp : 1 (plugin enable) l4d_infectedhp_bar : 100 (length of HP bar. min:10 max:200) l4d_infectedhp_tank : 1 l4d_infectedhp_boomer : 1 l4d_infectedhp_hunter : 1 l4d_infectedhp_smoker : 1 l4d_infectedhp_jockey : 1 l4d_infectedhp_spitter : 1 l4d_infectedhp_charger : 1 // NEW! (ver 1.0.1) // l4d_infectedhp_witch : 1 l4d_infectedhp_health : "#" (The character of the Health gauge can be changed) l4d_infectedhp_damage : "=" (The character of the Damage gauge can be changed) // NEW! (ver 1.0.2) // l4d_infectedhp_type : 0 (health bar type. def:0 / center text:0 / hint text:1) l4d_infectedhp_num : 0 (health value display. def:0 / hidden:0 / visible:1) CHANGELOG: -1.0.0 Initial release. -1.0.1 The witch's health gauge display is supported. -1.0.2 bug fix. hint text display is supported. health value display is supported. -Redux Native to show health gauge on anything ( car for my ongoing plugin ) Thanks views: ver 1.0.1 - 1531 views Attached Thumbnails Attached Files Get Plugin or Get Source (l4d_infectedhp_redux.sp - 10.3 KB) Wyświetl pełny artykuł
  20. Sigsegv made their own fix of the MvM gibs 8 years ago, but it's a fix using a different framework than Sourcemod and is not compatible with Windows servers. This is a hacked-together alternative out of curiosity. It removes the initial ragdoll as it's both too early and too late to change it's properties with default Sourcemod functions and spawns a new ragdoll that's set to spawn gibs. I tried my best to make it work similarly to the gibbing system, including 10-damage-threshold-or-crit-to-gib. Works fine from my testing, but I expect there can be rare one-frame-shenanigans that happen and cause ragdolls to either duplicate or vanish. Code: Version 1.0.0 - Initial release.-= ConVars =- sm_mvm_gibs_enable 1.0 [0.0/1.0] = Enable the MvM Gibs Restore plugin. sm_mvm_gibs_teams 3.0 [0.0/3.0] = Choose which team in MvM can gib. (BITFLAGS) 1 = RED (MANN) can gib. 2 = BLU (MACHINE) can gib. Attached Files Get Plugin or Get Source (MvMGibsRestore.sp - 8.8 KB) Wyświetl pełny artykuł
  21. Hello, Im looking for a simple plugin that only uses amx_vote, without votemap of whatever..etc.. just amx_vote Do not tell me to use default adminvote bcz i already have a custom votmap But i just need this plugin Amx_vote “word#1” “word#2) Thank you :D Przeczytaj cały wpis
  22. Hello. This would be my first boss. I took the script from this page: https://github.com/VSH2-Devs/Vs-Saxt...lugin-Tutorial) I hope you will like it. .smx file should be placed in tf/addons/sourcemod/plugins. .sp file must be placed in tf/addons/sourcemod/scripting. config should be placed in tf/addons/saxton_hale/boss_cfg. Everything worked for me when testing. I hope it will work for you too. Attached Files Free Soldier Boss.zip (25.3 KB) Przeczytaj cały wpis
  23. Hello . I'd like a plugin for the top 15, that doesn't use the csstats.dat file. The problem is that , the file keeps being re-created every time the server crashes or is restarted . Also, if possible, I'd like that the plugin to have the same usually commands as the default one ( I'm saying about /me, /hp , etc. ) . I'm using and old version of the AmxModX, and I think that might be the problem . But changing that, would be the last resort Przeczytaj cały wpis
  24. i was wondering if someone had a plugin for l4d1 that plays the weapon pin sounds in the sound folder ingame for when you finish a mag ingame Przeczytaj cały wpis
  25. Hi, this plugin allows you to reload garand without being at the end of the loader like k98. This is a plugin originaly made by FeuerSturm and use dukehacks plugin, I just updated it to not use dukehacks plugin like this it work only with sourcemod. This plugin create folder and file setting in : dod/cfg/dod_reloadgarand/dod_reloadgarand.cfg Sorry for my english but i'm french. ;-) Attached Files Get Plugin or Get Source (dod_reloadgarand_source.sp - 3.0 KB) Wyświetl pełny artykuł
×
×
  • Dodaj nową pozycję...