Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

AWP DeathMatch

, 6153
oxotnukoff
сообщение 19.9.2015, 22:23
Сообщение #1
Стаж: 13 лет

Сообщений: 164
Благодарностей: 44
Полезность: 128

Переделать на 6153

Список изменений
AWP DeathMatch MOD

by *GEORGE*

Skype:las_vegas.by

Обновления/Updates:

v 1.0
Плагин написан/Write plugin

-1.1
Добавлена бесплатная броня/Add free armor

v 1.2
Оружие удаляется, если выкинуть/Weapon remove, if dropped

v 1.3
Нельзя подбирать другое оружие/Can`t pick up others weapons

v 2.0
Добавлены квары/Adds cvars

v 3.0
Регенерация жизни за убийство/Regeneration for kill
Добавлено эффект крови и мяса/Adds effect blood and meat:3
Скринфейн эффект/ScreenFade effect
И другое/And other

Sorry, but my English bad^^

Thanks all=)
*/

awp_deathmatch.sma
Код
/*
#include <AmxModX>
#include <HamSandwich>
#include <FakeMeta_Util>

//About plugin
#define PLUGIN "AWP DeathMatch"
#define VERSION "3.0"
#define AUTHOR "*GEORGE*"

new const CFG_NAME[] = "AWP_Settings"

const OFFSET_LINUX        = 5
const OFFSET_TEAM        = 114
const m_LastHitGroup    = 75

enum
{
    FM_CS_TEAM_UNASSIGNED = 0,
    FM_CS_TEAM_T,
    FM_CS_TEAM_CT,
    FM_CS_TEAM_SPECTATOR
}

new const WEAPONENTNAMES[][] =
{
    "weapon_p228", "weapon_scout", "weapon_hegrenade", "weapon_xm1014", "weapon_mac10", "weapon_aug",
    "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550",
    "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_mp5navy", "weapon_m249",
    "weapon_m3", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_flashbang", "weapon_deagle", "weapon_sg552",
    "weapon_ak47", "weapon_p90", "weapon_c4"
}        

new const ENTITY_ZONES[][] =
{
    "func_bomb_target", "info_bomb_target", "hostage_entity", "func_hostage_rescue",
    "info_hostage_rescue", "info_vip_start", "func_vip_safetyzone", "func_escapezone",
    "func_buy_target", "info_buy_target", "buy_zone"
}    

new give_hp, hp, hp_hs, hp_max, respawn_dead, give_ammo, meat_effect, screenfade_effect, remove_weapons, only_awp, only_hs

public plugin_precache() server_cmd("exec addons/amxmodx/configs/%s.cfg", CFG_NAME)    

//Plugin functions
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    
    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Pre", 0)
    RegisterHam(Ham_Killed, "player", "fw_Killed_Pre")
    RegisterHam(Ham_Killed, "player", "fw_Killed_Post", 1)
    RegisterHam(Ham_Spawn, "player", "fw_Spawn_Post", 1)
    RegisterHam(Ham_Spawn, "weaponbox", "fw_WeaponSpawn_Post", 1)
    RegisterHam(Ham_Weapon_Reload, "weapon_awp", "fw_Reload_Post", 1)
    
    for(new i = 1; i < sizeof WEAPONENTNAMES; i++) if(WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_AddToPlayer, WEAPONENTNAMES[i], "fw_Item_AddToPlayer_Pre", 0)
    
    for(new i = 0; i < sizeof ENTITY_ZONES; i++)fm_remove_entity_name(ENTITY_ZONES[i])
    
    give_hp                = register_cvar("awp_give_health", "1")
    hp                    = register_cvar("awp_hp_for_kill", "10")
    hp_hs                = register_cvar("awp_hp_for_kill_hs", "25")
    hp_max                = register_cvar("awp_hp_max", "225")
    give_ammo            = register_cvar("awp_give_ammo", "1")
    meat_effect            = register_cvar("awp_meat_effect", "1")
    screenfade_effect    = register_cvar("awp_kill_effect", "1")
    respawn_dead        = register_cvar("awp_respawn_dead", "3.0")
    remove_weapons        = register_cvar("awp_remove_weapons", "1")
    only_awp            = register_cvar("awp_only_awp", "1")
    only_hs                = register_cvar("awp_only_headshot", "0")
}

public client_putinserver(iPlayer)
{    
    set_task(10.0, "show_message", iPlayer)

    set_task(5.0, "Execute_respawn", iPlayer)
    
    return PLUGIN_CONTINUE
}    

public fw_TakeDamage_Pre(iVictim)
{
    if(get_pcvar_num(only_hs) != 1)
        return HAM_IGNORED
        
    if(fm_get_user_hitzones(iVictim) != HIT_HEAD)
        return HAM_SUPERCEDE
        
    return HAM_IGNORED    
}    

public fw_Killed_Pre(iVictim, iAttacker, Meat)
{
    //Meat effect?
    if(get_pcvar_num(meat_effect) != 1)
        return HAM_IGNORED
    
    if(fm_get_user_hitzones(iVictim) == HIT_HEAD)
    {
        static iOrigin[3]
        get_user_origin(iVictim, iOrigin)
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_LAVASPLASH)
        write_coord(iOrigin[0])
        write_coord(iOrigin[1])
        write_coord(iOrigin[2]-26)
        message_end()
        
        SetHamParamInteger(3, 2)
    }
    
    return HAM_IGNORED
}    

public fw_Killed_Post(iVictim, iAttacker)  
{
    //Respawn for victim
    set_task(get_pcvar_float(respawn_dead), "Execute_respawn", iVictim)
    
    //Add health for killer?
    if(get_pcvar_num(give_hp) == 1)
    {
        if(fm_get_user_hitzones(iVictim) == HIT_HEAD)
            fm_set_user_health(iAttacker, fm_get_user_health(iAttacker) + get_pcvar_num(hp_hs))
        else
            fm_set_user_health(iAttacker, fm_get_user_health(iAttacker) + get_pcvar_num(hp))
        
        //Return health, if max    
        if(fm_get_user_health(iAttacker) > get_pcvar_num(hp_max))
            fm_set_user_health(iAttacker, get_pcvar_num(hp_max))
    }        

    //Effect when killed?
    if(get_pcvar_num(screenfade_effect) == 1)
        ScreenFade(iAttacker, 3, 255, 0, 0, 155)
    
    return HAM_IGNORED
}    

public fw_Spawn_Post(iPlayer)
{    
    //Give items and ammo
    fm_give_item(iPlayer, "weapon_awp")
    fm_give_item(iPlayer, "ammo_338magnum")
    fm_give_item(iPlayer, "ammo_338magnum")
    fm_give_item(iPlayer, "ammo_338magnum")
    fm_give_item(iPlayer, "weapon_knife")
    fm_give_item(iPlayer, "item_assaultsuit")
    
    return HAM_IGNORED
}

public fw_WeaponSpawn_Post(iEntity)
{
    //Remove dropped weapons?
    if(get_pcvar_num(remove_weapons) == 1)
        engfunc(EngFunc_RemoveEntity, iEntity)
  
    return HAM_IGNORED
}

public fw_Reload_Post(weapon)
{
    //Get player index
    new iPlayer = get_pdata_cbase(weapon, 41, 4)
    
    //Give ammo?
    if(get_pcvar_num(give_ammo) == 1)
        fm_give_item(iPlayer, "ammo_338magnum")
}

public fw_Item_AddToPlayer_Pre(weapon, iPlayer)
{    
    //Fix bug?
    if(get_pcvar_num(only_awp) != 1)
        return HAM_IGNORED
        
    fm_give_item(iPlayer, "weapon_awp")
    
    return HAM_SUPERCEDE
}
    
public Execute_respawn(iPlayer)
{
    //Fix bug
    if(fm_get_user_team(iPlayer) == FM_CS_TEAM_SPECTATOR)
        return PLUGIN_HANDLED
        
    //Respawn player
    ExecuteHamB(Ham_CS_RoundRespawn, iPlayer)
    
    return PLUGIN_CONTINUE
}

public show_message(iPlayer)
{
    //Message, when new player
    new name[32];  get_user_name(iPlayer, name, 31)
    
    set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 0.0, 6.0, 0.0, 0.0, -1)
    show_hudmessage(iPlayer, "Hi, %s!^nServer work on %s^nAuthor:%s", name, PLUGIN, AUTHOR)
}    

//Stocks
stock fm_get_user_team(iPlayer) return get_pdata_int(iPlayer, OFFSET_TEAM, OFFSET_LINUX)
stock fm_get_user_hitzones(iPlayer) return get_pdata_int(iPlayer, m_LastHitGroup, OFFSET_LINUX)
stock fm_get_user_health(iPlayer) return pev(iPlayer, pev_health)
//Thanks Chrescore1 :3
stock ScreenFade(id, Timer, Colors1, Colors2, Colors3, Alpha)
{
    if(!is_user_connected(id)) return
    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), _, id);
    write_short((1<<12) * Timer)
    write_short( 14<<18 )
    write_short( 1<<1 )    
    write_byte(Colors1)
    write_byte(Colors2)
    write_byte(Colors3)
    write_byte(Alpha)
    message_end()
}

AWP_Settings.cfg
Код
//Give hp for kill?/Давать за убийство?
awp_give_health 1

//Amount hp for kill?/Количество хп за убийство?
awp_hp_for_kill 10

//Amount hp for kill in head?/Количество хп за убийство в голову?
awp_hp_for_kill_hs 25    

//Max amount health?/Максимальное количество жизни?
awp_hp_max 225

//Give ammo?/Давать патроны?
awp_give_ammo 1    

Meat effect, when headshot?/Эффект мяса,когда хедшот?    
awp_meat_effect 1

//ScreenFade(red screen)?/Скринфейд(красный экран)?
awp_kill_effect 1

//Time to respawn dead?/Время респауна мёртвых?
awp_respawn_dead 3.0

//Remove weapons, if dropped?/Удалять оружие, если выкинуть?
awp_remove_weapons 1

//Only awp(can't pick up others weapons)?/Только авп(нельзя подбирать другое оружие)?
awp_only_awp 1    

Can kill only in head, if 1/Можно убить только в голову, если 1
awp_only_headshot 0

Мод работает на билде 5787

Отредактировал: oxotnukoff, - 19.9.2015, 22:30
Прикрепленные файлы:
Прикрепленный файл  awp_deathmatch.sma ( 6,8 килобайт ) Кол-во скачиваний: 40
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: