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

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

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

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

Что не так с золотым ак?

, Большой урон
Статус пользователя amax
сообщение 26.10.2015, 11:36
Сообщение #1


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Здравствуйте. Почему у ак такой большой урон. Стоит урон "2" куда еще меньше? Убивает с 1 патрона. Дамаг примерно -150хп
Плагин должен быть без buyzona
исходник
Код
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>

#define is_valid_player(%1) (1 <= %1 <= 32)

new const AK47_BIT_SUM = (1<<CSW_AK47)

new AK_V_MODEL[64] = "models/goldw/v_golden_ak.mdl"
new AK_P_MODEL[64] = "models/goldw/p_golden_ak.mdl"

new g_hasZoom[33], gold_damage, golden_model, goldak_cost
new bool:g_HasAk[33]

public plugin_init() {
    register_plugin("GoldenAK47 Remake ", "1.0", "Alienware")
    register_clcmd("say /goldenak", "cmdGoldenAk")
    
    gold_damage = register_cvar("goldenak_dmg", "2")
    golden_model = register_cvar("goldenak_custommodel", "1")
    goldak_cost = register_cvar("goldenak_cost", "2500")
      
    register_event("DeathMsg", "Death", "a")
    register_event("WeapPickup", "checkModel", "b","1=19")
    register_event("CurWeapon", "checkWeapon", "be","1=1")

    RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
    RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
        
    register_forward(FM_CmdStart, "fw_CmdStart")
}

public client_connect(id)
    g_HasAk[id] = false

public client_disconnect(id)
    g_HasAk[id] = false

public Death()
    g_HasAk[read_data(2)] = false

public fwHamPlayerSpawnPost(id)
    g_HasAk[id] = false

public plugin_precache() {
    precache_model(AK_V_MODEL)
    precache_model(AK_P_MODEL)
    precache_sound("weapons/zoom.wav")
}

public cmdGoldenAk(id) {
    if(!is_user_alive(id)) return
    
    new money = cs_get_user_money(id)
    
    if(money < get_pcvar_num(goldak_cost)) {
        ColorChat(id, GREEN, "^x01[^x04CSDM by amax^x01] Денег подкопи^x04")
        return
    }
    
    drop_weapon(id, 1)                
    give_item(id, "weapon_ak47")
    cs_set_user_bpammo(id, CSW_AK47, 90)
    cs_set_user_money(id, money - get_pcvar_num(goldak_cost))
    ColorChat(id, GREEN, "^x01[^x04CSDM by amax^x01] Ты купил^x04 Золотой АК")
    g_HasAk[id] = true
}

public checkModel(id) {      
    new szWeapID = read_data(2)
      
    if(szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(golden_model) == 1) {
        set_pev(id, pev_viewmodel2, AK_V_MODEL)
        set_pev(id, pev_weaponmodel2, AK_P_MODEL)
    }
    return PLUGIN_HANDLED
}

public checkWeapon(id) {
    new plrWeapId
    plrWeapId = get_user_weapon(id)

    if (plrWeapId == CSW_AK47 && g_HasAk[id])
        checkModel(id)
    else
        return PLUGIN_CONTINUE
    
    return PLUGIN_HANDLED
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage) {
    if(is_valid_player(attacker) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker])
        SetHamParamFloat(4, damage * get_pcvar_float(gold_damage))
}

public fw_CmdStart( id, uc_handle, seed ) {
    if(!is_user_alive(id))
        return PLUGIN_HANDLED
      
    if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !( pev(id, pev_oldbuttons) & IN_ATTACK2)) {
        new szWeapID = get_user_weapon(id)

        if(szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true) {
            g_hasZoom[id] = true
            cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 0)
            emit_sound(id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100)
        } else if(szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id]) {
            g_hasZoom[id] = false
            cs_set_user_zoom(id, CS_RESET_ZOOM, 0)        
        }
    }
    return PLUGIN_HANDLED
}

stock drop_weapon(id, dropwhat) {
    static weapons[32], num, i, weaponid
    num = 0
    get_user_weapons(id, weapons, num)
    
    for (i = 0; i < num; i++) {
        weaponid = weapons[i]
        
        if ((dropwhat == 1 && ((1<<weaponid) & AK47_BIT_SUM))) {
            static wname[32]
            get_weaponname(weaponid, wname, charsmax(wname))
            engclient_cmd(id, "drop", wname)
        }
    }
}


Отредактировал: amax, - 26.10.2015, 12:21


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя LiSkeiJ
сообщение 26.10.2015, 11:50
Сообщение #2


Стаж: 11 лет
Город: Запорожье

Сообщений: 161
Благодарностей: 47
Полезность: 131

amax, Попробуйте этот ТЫК
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя amax
сообщение 26.10.2015, 11:58
Сообщение #3


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Цитата(LiSkeiJ @ 26.10.2015, 16:45) *
amax, Попробуйте этот ТЫК

нет, этот с "buyzona" мне надо, чтобы хоть где и хоть когда можно было бы купить.


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 26.10.2015, 12:14
Сообщение #4
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

amax,
Цитата
Код:
#define INBUYZONE

комментируйте если хотите купить любом месте.

поставить // перед #define INBUYZONE не судьба?

Отредактировал: Vaqtincha, - 26.10.2015, 12:19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя amax
сообщение 26.10.2015, 12:20
Сообщение #5


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Цитата(Vaqtincha @ 26.10.2015, 17:09) *
amax,
поставить // перед #define INBUYZONE не судьба?


Это отвечает за w_model?
Cкрытый текст
Код
public fw_SetModel ( ent, model[] )
{
    if ( pev_valid ( ent ) != 2 )
        return FMRES_IGNORED

    if ( strlen ( model ) < 8 )
        return FMRES_IGNORED

    if ( model[7] != 'w' || model[8] != '_' )
        return FMRES_IGNORED

    static sClassName[32]
    pev ( ent, pev_classname, sClassName, charsmax ( sClassName ) )
    
    if ( !equal ( sClassName, "weaponbox" ) )
        return FMRES_IGNORED

    new id = pev ( ent, pev_owner )

    if ( pev_valid ( id ) != 2 )
        return FMRES_IGNORED
    
    for (new i, iItem; i < MAX_ITEM_TYPES; i++)
    {
        iItem = get_pdata_cbase ( ent, m_rgpPlayerItems_CWeaponBox + i, XO_WEAPON )
        
        if ( pev_valid ( iItem ) == 2 && pev(iItem, pev_impulse))
        {
            g_HasAk[id] = false
            engfunc ( EngFunc_SetModel, ent, AK_W_MODEL )
            return FMRES_SUPERCEDE
        }
    }
    return FMRES_IGNORED
}

Просто я пытаюсь убрать все, что связано с w моделькой

Отредактировал: amax, - 26.10.2015, 12:22


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 26.10.2015, 12:28
Сообщение #6
Стаж: 11 лет

Сообщений: 981
Благодарностей: 352
Полезность: < 0

amax, да. (из plugin_init убери форфард тоже если она есть)
вот только интересно зачем тебе это?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя amax
сообщение 26.10.2015, 12:32
Сообщение #7


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Цитата(Vaqtincha @ 26.10.2015, 17:23) *
amax, да. (из plugin_init убери форфард тоже если она есть)
вот только интересно зачем тебе это?

прост на csdm оружие, если выбрасывается, то исчезает. (или вообще не выбрасывается))
Так что не хочу сервер нагружать моделькой)


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: