Иконка ресурса

Smoke Grenade Modes 0.0.3

Нет прав для скачивания
Сообщения
2,833
Реакции
1,666
Помог
75 раз(а)
Пользователь Алексеич разместил новый ресурс:

Smoke Grenade Modes - Режим телепорта для дымовой гранаты + некие плюшки

Думаю вы все слышали про Teleport Smoke Grenade от VEN'a. Его плагин полностью заменил дымовуху.

Но убрать дым - это преступление, и вот тут появилась идея сделать его с переключением, т.е, чтобы можно было сменить режимы нажав ПКМ.

Добавил эффект телепорта и возможность купить более чем одну штуку.
Узнать больше об этом ресурсе...
 
Сообщения
87
Реакции
54
Помог
1 раз(а)
В чем отличия 3-х версий ? Не считая названия спойлеров.
 
Сообщения
2,833
Реакции
1,666
Помог
75 раз(а)
L4D2, В одном телепорт есть, куда кинул дым, туда и телепортишься
в другом есть настройка количества гранат и цена
третий без цены, одна граната и без телепорта
По исходникам можно понять.
 
Сообщения
87
Реакции
54
Помог
1 раз(а)
Алексеич, Чтобы не глядеть исходники, нужно чтобы пользователю было понятно, в чем их отличия :)
 
Сообщения
2,833
Реакции
1,666
Помог
75 раз(а)
L4D2, Так как описания как такового не существует, wopox1337 думаю своим скриптерским глазом точно опишет все три исходника
 
Сообщения
87
Реакции
54
Помог
1 раз(а)
Алексеич, если будет сегодня время, то гибкую настройку пришью :)
 
Сообщения
87
Реакции
54
Помог
1 раз(а)
Объединил в один плагин. По мне так удобнее ) Может кому-то так даже лучше будет.

В архиве присутствуют все исходники (3-и оригинальные), и мой исправленный: sg_modes.sma

НАСТРОЙКИ:
Код:
#define TELEPORT_MOD_A        0        // [1-On//0-Off] Teleport mod (Цена, Кол-во - Гранат)
#define TELEPORT_MOD_B 0 // [1-On//0-Off] Teleport mod Beta (Цена, Кол-во, Модель - Гранат)
#define TELEPORT_MOD_С 1 // [1-On//0-Off] Lite Teleport mod "Легкий мод Без цен и количество закупок"

#define SMOKE_MAX 5 // Максимальное число покупки гранат
#define SMOKE_COST 50 // Цена одной "Smoke Grenade"

// Своя модель гранаты
// #define USE_MODEL // Раскомментировать в том случае если стоит Квар "TELEPORT_MOD_B 1"

// Ваша новая модель "Smoke Grenade"
#define V_MODEL "models/custom/v_smokegrenade.mdl" // view weapon model
#define P_MODEL "models/custom/p_smokegrenade.mdl" // player weapon model
#define W_MODEL "models/custom/w_smokegrenade.mdl" // world weapon model


 

Вложения

Сообщения
16
Реакции
9
Помог
1 раз(а)
не кто не пробовал добавить флаг на использование телепорта?
 
Сообщения
59
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
А как мне сделать что бы без покупки была телепорт граната , у меня она просто даётся за выполнения задания
подскажите пожалуйста
 

met

Сообщения
171
Реакции
42
А можно ли эффект телепорта переместить на FB? Либо сделать переключение режимов между Frostnade и Teleport
 
Сообщения
702
Реакции
54
Как можно поменять "smoke" на "flash"? У меня просто смок уже используется! Режимы я вроде вырезал,а вот как изменить замену смока на замену флэшки не понимаю))
Код:
// Copyright © 2016 Vaqtincha

/****************************************************
*    Credits: to
*
*    VEN - "Teleport Smoke Grenade"
*    ConnorMcLeod - Cstrike Pdatas
*
*****************************************************/

//================= CONFIG START ====================//

new const TELEPORT_SOUND[]= "player/pl_step4.wav"

//================== CONFIG END =====================//


#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define MAX_PLAYERS 32

#define get_weapon_owner(%1)    get_pdata_cbase(%1, m_pPlayer, XO_WEAPON)

const SMOKE_GROUND_OFFSET = 6
const SMOKE_EVENT = 1<<1
// offsets
#if AMXX_VERSION_NUM < 183
    const m_bHasShield = 1<<24
    const m_iUserPrefs = 510
    #define HasShield(%1)    (get_pdata_int(%1, m_iUserPrefs) & m_bHasShield)
#else
    const m_bHasShield = 2043
    #define HasShield(%1)    get_pdata_bool(%1, m_bHasShield)
#endif
const m_pPlayer = 41
const m_usEvent = 114

new const Float:gflSign[4][2] = {{1.0, 1.0}, {1.0, -1.0}, {-1.0, -1.0}, {-1.0, 1.0}}
new const class[] = "weapon_smokegrenade"
new bool:gbMode[MAX_PLAYERS + 1]


public plugin_precache()
    precache_sound(TELEPORT_SOUND) // for custom sounds

public plugin_init()
{
    register_plugin("Smoke Grenade Modes Lite", "0.0.3", "Vaqtincha")

    register_forward(FM_EmitSound, "FM_EmitSound_Pre", false)
    RegisterHam(Ham_Weapon_SecondaryAttack, class, "Ham_SecAttack_Post", true)
    RegisterHam(Ham_Item_Deploy, class, "Ham_ItemDeploy_Post", true)
}

public client_putinserver(id)
    gbMode[id] = true // default smoke mode: true|false (teleport|smoke)

public FM_EmitSound_Pre(ent, channel, const sound[])
{
    if(!equal(sound, "weapons/sg_explode.wav"))
        return FMRES_IGNORED

    if(~get_pdata_int(ent, m_usEvent) & SMOKE_EVENT)
        return FMRES_IGNORED
    
    static owner; owner = pev(ent, pev_owner)
    if(gbMode[owner])
    {
        static Float:p_origin[3]
        pev(owner, pev_origin, p_origin)
        p_origin[2] -= 30
        teleport_sprite_effect(p_origin)

        static Float:origin[3]
        pev(ent, pev_origin, origin)
        origin[2] += SMOKE_GROUND_OFFSET
        teleport_sprite_effect(origin)
        // safe remove
        engfunc(EngFunc_SetOrigin, ent, Float:{-8191.0, -8191.0, -8191.0})
        // engfunc(EngFunc_RemoveEntity, ent)

        static Float:mins[3], hull
        pev(owner, pev_mins, mins)
        origin[2] -= mins[2] + SMOKE_GROUND_OFFSET
        hull = pev(owner, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN
        
        if(!is_user_alive(owner)) // owner killed
            return FMRES_IGNORED

        if(is_hull_vacant(origin, hull))
            engfunc(EngFunc_SetOrigin, owner, origin)
        else{
            static Float:vec[3]
            vec[2] = origin[2]
            for(new i; i < sizeof(gflSign); ++i)
            {
                vec[0] = origin[0] - mins[0] * gflSign[0]
                vec[1] = origin[1] - mins[1] * gflSign[1]
                if(is_hull_vacant(vec, hull))
                {
                    engfunc(EngFunc_SetOrigin, owner, vec)
                    break
                }
            }
        }
        emit_sound(owner, CHAN_BODY, TELEPORT_SOUND, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
    }
    return FMRES_IGNORED
}

stock teleport_sprite_effect(const Float:origin[3])
{
    message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
    write_byte(TE_TELEPORT)
    write_coord(floatround(origin[0]))        // position x
    write_coord(floatround(origin[1]))        // position y
    write_coord(floatround(origin[2])+30)    // position z
    message_end()
}

// by VEN
stock bool:is_hull_vacant(const Float:origin[3], hull)
{
    new tr = 0
    engfunc(EngFunc_TraceHull, origin, origin, 0, hull, 0, tr)
    if(!get_tr2(tr, TR_StartSolid) && !get_tr2(tr, TR_AllSolid) && get_tr2(tr, TR_InOpen))
        return true
    
    return false
}
 
Сообщения
580
Реакции
338
Предупреждения
1
Помог
9 раз(а)
ThePhoenix, реапи присутствуется?
 
Сообщения
678
Реакции
56
Помог
16 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Как можно ограничить покупку гранаты в раунде? SMOKE_MAX - значение сколько можно купить за раз. Было бы хорошо еще устанавливать, сколько их можно купить за раунд.
 
Сообщения
678
Реакции
56
Помог
16 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
данная тема еще жива?
есть такая проблема, что не работает автозакупка гранаты на F2. как бы исправить такой баг.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу