Русское сообщество по скриптингу

Как изменить гравитацию ножа в Knife-Mod Deathrun  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun

Сообщение ArtaKey » 08 май 2022, 13:05

Попробовал прописать в knifemenu и у меня получилось с компилировать.
Код: Выделить всё
public knifemenu(id, key) 
{
    switch(key) 
    
{
        case 0: 
        
{
            if(get_user_flags(id) & ADMIN_LEVEL_C)
            {
                SetKnife(id , 4)
                display_knife(id)
            }
            else
            
{
                display_knife(id)
                return PLUGIN_HANDLED
            
}
            format(vModel, 55, "models/v_knife.mdl")
            format(pModel, 55, "models/p_knife.mdl") 
        
}
        case 1: 
        
{
                SetKnife(id , 2)
                display_knife(id)
                format(vModel,55,"models/knife-mod/v_combat_knife.mdl")
                format(pModel,55,"models/knife-mod/p_combat_knife.mdl")
        }
        case 2: 
        
{
                SetKnife(id , 3)
                display_knife(id)
                format(vModel,55,"models/knife-mod/v_tixon.mdl")
                format(pModel,55,"models/knife-mod/p_tixon.mdl")
        }
        case 3: 
        
{
                SetKnife(id , 1)
                display_knife(id)
                format(vModel,55,"models/knife-mod/v_crowbars.mdl")
                format(pModel,55,"models/knife-mod/p_crowbars.mdl")
        }
        case 4: 
        
{
                SetKnife(id , 0)
                display_knife(id)
                format(vModel,55,"models/knife-mod/v_admin_knife.mdl")
                format(pModel,55,"models/knife-mod/p_admin_knife.mdl")
        }
        case 5:
        {
                SetKnife(id, 5)
                display_knife(id)
                format(vModel,55,"models/knife-mod/v_1.mdl")
                format(pModel,55,"models/knife-mod/p_1.mdl")
        }
        case 6: 
        
{
                SetKnife(id, 6)
                display_knife(id)
                format(vModel,55,"models/knife-mod/v_butcher.mdl")
                format(pModel,55,"models/knife-mod/p_butcher.mdl")
        }        
        default
: return PLUGIN_HANDLED
    
}
    SaveData(id)

    if( get_user_weapon ( id ) != CSW_KNIFE ) return PLUGIN_HANDLED;

    ExecuteHamB( Ham_Item_Deploy , get_pdata_cbase( id , 373 ) )

    CurWeapon(id)    
    return PLUGIN_HANDLED
}

А как добавить к ножу гравитацую или её изменить? Комбат имеет самую высокую гравитацию что даже прыгать не могу.
Аватара пользователя
ArtaKey
 
Сообщения: 9
Зарегистрирован: 28 янв 2022, 02:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю, но очень интересно изучать.

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun

Сообщение ArtaKey » 12 май 2022, 00:54

Короче я нашёл и понял, как работает гравитация. И проблема встала такая,
Код: Выделить всё
new Float:Gravity = ((knife_model[id] == 1 || knife_model[id] == 7) && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) / 890 : get_pcvar_float(CVAR_NORMGRAV) / 800.0
когда я поставил на 5 делает нож не тот который надо. Потом заменил на 7.
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <engine> 
#include < hamsandwich >
#include <vault>
#include <fun>
#include <fakemeta>

#define PLUGIN "Knife Mod"
#define VERSION "2.0" 
#define AUTHOR "FReeMan & CaNiBaL"

#define TASK_INTERVAL 4.0  
#define MAX_HEALTH 255 

#pragma tabsize 0

new  knife_grav[33]

new knife_model[33] 
new g_Menu
new grav_knife
[33]

new CVAR_HIGHSPEED
new CVAR_LOWSPEED
new CVAR_MINSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE 

new cvar_knife

public plugin_init
() { 
    
    register_plugin
(PLUGIN, VERSION, AUTHOR) 
    
    register_event
("CurWeapon","CurWeapon","be","1=1") 
    register_event
( "Damage", "event_damage", "be" )
    
    g_Menu 
= register_menuid("Knife Mod")
    register_menucmd(g_Menu, 1023, "knifemenu")
    register_forward(FM_EmitSound, "sound_emit")
    
    register_clcmd
("say /knife", "display_knife")
    register_clcmd("knifes", "display_knife")
    
    CVAR_HIGHSPEED 
= register_cvar("km_highspeed","340")
    CVAR_LOWSPEED = register_cvar("km_lowspeed","250")
    CVAR_MINSPEED = register_cvar("km_lowspeed","230")
    CVAR_HEALTH_ADD = register_cvar("km_addhealth", "5")
    CVAR_DAMAGE = register_cvar("km_damage", "4")
    CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "100")
    CVAR_LOWGRAV = register_cvar("km_lowgravity" , "550")
    CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")

    cvar_knife = register_cvar("knife_enable","1")
}
public sound_emit(id, channel, sample[])
{
    if(is_user_alive(id) )
    {
    if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
    {
        if(knife_model[id] == 0)
        return FMRES_IGNORED
        if 
(sample[14] == 'h')
        {
                if (sample[17] == 'w')
                {
                if(knife_model[id] == 5)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 4)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife4/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 2)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife2/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 3)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife3/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 1)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                }
                else
                
{
                if(knife_model[id] == 5)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 4)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife4/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 2)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife2/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 3)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife3/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 1)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                }

        }
        else 
        
{
                if (sample[15] == 'l')
                {
                if(knife_model[id] == 5)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 4)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife4/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 2)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife2/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 3)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife3/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 1)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                }
                else if(sample[17] == 'b')
                {
                if(knife_model[id] == 5)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 4)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife4/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 2)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife2/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 3)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife3/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                if(knife_model[id] == 1)
                emit_sound(id, CHAN_WEAPON, "weapons/knife_sound/knife1/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
                }
        }
        return FMRES_SUPERCEDE
    
}
    
    
}
    return FMRES_IGNORED
}

public plugin_natives()
{
   register_library("knife")
   register_native("knife_grav", "_grav_knife", 1)
}

public _grav_knife(id, num)
knife_grav[id] = num
    
public plugin_precache
() { 
    precache_model
("models/knife-mod/v_butcher.mdl") 
    precache_model
("models/knife-mod/p_butcher.mdl") 
    precache_model
("models/knife-mod/v_combat_knife.mdl") 
    precache_model
("models/knife-mod/p_combat_knife.mdl") 
    precache_model
("models/knife-mod/v_admin_knife.mdl")
    precache_model("models/knife-mod/p_admin_knife.mdl")
    precache_model("models/knife-mod/v_tixon.mdl")
    precache_model("models/knife-mod/p_tixon.mdl")
    precache_model("models/knife-mod/v_crowbars.mdl")
    precache_model("models/knife-mod/p_crowbars.mdl")
    precache_model("models/knife-mod/v_1.mdl")
    precache_model("models/knife-mod/p_1.mdl")
    precache_model("models/v_knife.mdl") 
    precache_sound
("weapons/knife_sound/knife1/4.wav")
    precache_sound("weapons/knife_sound/knife2/4.wav")
    precache_sound("weapons/knife_sound/knife3/4.wav")
    precache_sound("weapons/knife_sound/knife4/4.wav")
    precache_sound("weapons/knife_sound/current4.wav")
    precache_sound("weapons/knife_sound/current3.wav")
    precache_sound("weapons/knife_sound/current1.wav")
    precache_sound("weapons/knife_sound/knife1/1.wav")
    precache_sound("weapons/knife_sound/knife1/2.wav")
    precache_sound("weapons/knife_sound/knife1/3.wav")
    precache_sound("weapons/knife_sound/knife2/1.wav")
    precache_sound("weapons/knife_sound/knife2/2.wav")
    precache_sound("weapons/knife_sound/knife2/3.wav")
    precache_sound("weapons/knife_sound/knife3/1.wav")
    precache_sound("weapons/knife_sound/knife3/2.wav")
    precache_sound("weapons/knife_sound/knife3/3.wav")
    precache_sound("weapons/knife_sound/knife4/1.wav")
    precache_sound("weapons/knife_sound/knife4/2.wav")
    precache_sound("weapons/knife_sound/knife4/3.wav")

}
 

public Hook_WeaponList
( iPlayer )
{
    engclient_cmd( iPlayer, "weapon_knife" )
    return PLUGIN_HANDLED
}

public display_knife(id) 
{
    if(!(get_pcvar_num(cvar_knife)))
    return PLUGIN_CONTINUE

    new menuBody
[512]
    add(menuBody, 511, "\yВыбирете нож!\w^n^n")
    if(get_user_flags(id) & ADMIN_LEVEL_C)
    {
        add(menuBody, 511, "\r1. \wСерп \d(\rАдмин\d)\w^n")
    }
    else
    
{
        add(menuBody, 511, "\d1. Админский нож \d(\rАдмин\y/\rВИП\d)\w^n")
    }
    add(menuBody, 511, "\r2. \wКросбарс \d(\rНе слышно шагов\d)\w^n")
    add(menuBody, 511, "\r3. \wСтронг \r(Скорость \y+\d)\w^n")
    add(menuBody, 511, "\r4. \wКомбат \d(\rГравитация \y+\d)\w^n")
    add(menuBody, 511, "\r5. \wСтандартный нож \d(\rВозобновление HP \y+\d)\w^n")
    add(menuBody, 511, "\r6. \wСильний \d(\rБольшой урон \y+\d)\w^n^n")
    add(menuBody, 511, "\r7. \wМясной Нож \d(\rГравитация \y++\d)\w^n")

    add(menuBody, 511, "\r0. \wВыход^n")

    new keys = ( 1<<| 1<<| 1<<| 1<<| 1<<| 1<<| 1<<| 1<<| 1<<)
    show_menu(id, keys, menuBody, -1, "Knife Mod")
    return PLUGIN_HANDLED
}

public knifemenu(id, key) 
{
    switch(key) 
    
{
        case 0: 
        
{
            if(get_user_flags(id) & ADMIN_LEVEL_C)
            {
                SetKnife(id , 4)
                display_knife(id)
            }
            else
            
{
                display_knife(id)
                return PLUGIN_HANDLED
            
}
        }
        case 1: 
        
{
                SetKnife(id , 2)
                display_knife(id)
        }
        case 2: 
        
{
                SetKnife(id , 3)
                display_knife(id)
        }
        case 3: 
        
{
                SetKnife(id , 1)
                display_knife(id)
        }
        case 4: 
        
{
                SetKnife(id , 0)
                display_knife(id)
        }
        case 5:
        {
                SetKnife(id, 5)
                display_knife(id)
        }
        case 6: 
        
{
                SetKnife(id, 6)
                display_knife(id)
        }        
        case 7
:
        {
                SetKnife(id, 7)
                display_knife(id)
        }    
        default
: return PLUGIN_HANDLED
    
}
    SaveData(id)

    if( get_user_weapon ( id ) != CSW_KNIFE ) return PLUGIN_HANDLED;

    ExecuteHamB( Ham_Item_Deploy , get_pdata_cbase( id , 373 ) )

    CurWeapon(id)    
    return PLUGIN_HANDLED
} 

    public SetKnife
(id, Knife) {
        new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo); 
                           
        if
(Weapon != CSW_KNIFE)
            return;
     
        knife_model
[id] = Knife;       
    
        new const szModel
[][][] = {                 
            
{"models/v_knife.mdl", "models/p_knife.mdl"},   
            
{"models/knife-mod/v_combat_knife.mdl", "models/knife-mod/p_combat_knife.mdl"},
            {"models/knife-mod/v_tixon.mdl", "models/knife-mod/p_tixon.mdl"},
            {"models/knife-mod/v_crowbars.mdl", "models/knife-mod/p_crowbars.mdl"},
            {"models/knife-mod/v_admin_knife.mdl", "models/knife-mod/p_admin_knife.mdl"},
            {"models/knife-mod/v_1.mdl", "models/knife-mod/p_1.mdl"},
            {"models/knife-mod/v_butcher.mdl", "models/knife-mod/p_butcher.mdl"}
    };                             
                                                             
    entity_set_string
(id, EV_SZ_viewmodel, szModel[Knife][0]);
    entity_set_string(id, EV_SZ_weaponmodel, szModel[Knife][1]);
    }

public event_damage( id ) {
    
    new victim_id 
= id;
    if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
    new dmg_take 
= read_data( 2 );
    new dmgtype = read_data( 3 );
    new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
    new Float:damage = dmg_take * multiplier;
    new health = get_user_health( victim_id );
    
    new iWeapID
, attacker_id = get_user_attacker( victim_id, iWeapID );
    
    if
( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
        return PLUGIN_HANDLED
    
}
    
    if
( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 5  || iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4) {
        
        if
( floatround(damage) >= health ) {
            if( victim_id == attacker_id ) {
                return PLUGIN_CONTINUE
                
}else{
                log_kill( attacker_id, victim_id, "knife", 1 );
            }
            
            return PLUGIN_CONTINUE
            
}else {
            if( victim_id == attacker_id ) return PLUGIN_CONTINUE
            
            fakedamage
( victim_id, "weapon_knife", damage, dmgtype );
        }
    }
    return PLUGIN_CONTINUE
}


public CurWeapon(id)
{
    new Weapon = read_data(2)
    
    if
(knife_model[id] == 4 && Weapon == CSW_KNIFE)
    client_cmd(id,"spk sound/weapons/knife_bublik/current4.wav")

    if(knife_model[id] == 3 && Weapon == CSW_KNIFE)
    client_cmd(id,"spk sound/weapons/knife_bublik/current3.wav")

    if(knife_model[id] == 4 && !(is_user_admin(id)))
    knife_model[id] = 1

    if
(knife_model[id] == 1 && Weapon == CSW_KNIFE)
    client_cmd(id,"spk sound/weapons/knife_bublik/current1.wav")

    if(knife_model[id] == 5 && Weapon == CSW_KNIFE)
    client_cmd(id,"spk sound/weapons/knife_bublik/current3.wav")

    // Set Knife Model
    SetKnife(id, knife_model[id])
    SetKnife(id, knife_model[id])      
    
    
// Task Options
    
    if
(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
        set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
    else if(task_exists(id))
        remove_task(id)
    
    
// Abilities
    set_user_footsteps(id , ( (knife_model[id] == 1 && Weapon == CSW_KNIFE) ? 1 : 0) )
    
    new Float
:Gravity = ((knife_model[id] == 1 || knife_model[id] == 7) && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) / 890 : get_pcvar_float(CVAR_NORMGRAV) / 800.0
    
    if
(grav_knife[id] >= 1)
    {
    //
    }
        else
        
{
            set_user_gravity(id , Gravity)
        }
        
    
/*
    something ? ok : else

    ===

    if (something) {
    ok
    } else {
    else
    }
    */

    
    
// Speed
    new Float:Speed
    if
(Weapon != CSW_KNIFE)
        return PLUGIN_CONTINUE
    else if
(knife_model[id] == 3)
        Speed = get_pcvar_float(CVAR_HIGHSPEED)
    else if(knife_model[id] == 2)
        Speed = get_pcvar_float(CVAR_LOWSPEED)
    else if(knife_model[id] == 1)
        Speed = get_pcvar_float(CVAR_LOWSPEED)
    else if(knife_model[id] == 0)
        Speed = get_pcvar_float(CVAR_LOWSPEED)
    else if(knife_model[id] == 5)
        Speed = get_pcvar_float(CVAR_MINSPEED)
    else if(knife_model[id] == 4 && Weapon == CSW_KNIFE)
    {
        Speed = get_pcvar_float(CVAR_HIGHSPEED)
        if(grav_knife[id] >= 1)
        {
        //
        }
        else
        
{
            set_user_gravity(id , 0.6)
            set_user_footsteps(id ,1)
            set_user_maxspeed(id , 450.0)
        }
        return PLUGIN_CONTINUE
    
}
    else
    
{
    
    if
(grav_knife[id] >= 1)
    {
    //
    }
    else
    
{
        set_user_gravity(id , 1.0)
        set_user_footsteps(id ,0)
        set_user_maxspeed(id , 250.0)
    }
    return PLUGIN_CONTINUE
    
}    
    set_user_maxspeed
(id, Speed)
    
    return PLUGIN_HANDLED   
    
}

stock log_kill(killer, victim, weapon[],headshot) {
    user_silentkill( victim );
    
    message_begin
( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
    write_byte( killer );
    write_byte( victim );
    write_byte( headshot );
    write_string( weapon );
    message_end();
    
    new kfrags 
= get_user_frags( killer );
    set_user_frags( killer, kfrags++ );
    new vfrags = get_user_frags( victim );
    set_user_frags( victim, vfrags++ );
    
    return  PLUGIN_CONTINUE
} 


public task_healing
(id) {  
    new addhealth 
= get_pcvar_num(CVAR_HEALTH_ADD)  
    if 
(!addhealth)
        return  
    
    new maxhealth 
= get_pcvar_num(CVAR_HEALTH_MAX)  
    if 
(maxhealth > MAX_HEALTH) { 
        set_pcvar_num
(CVAR_HEALTH_MAX, MAX_HEALTH)  
        maxhealth 
= MAX_HEALTH 
    
}  
    
    new health 
= get_user_health(id)   
    
    if 
(is_user_alive(id) && (health < maxhealth)) { 
        set_user_health
(id, health + addhealth)
        set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
        show_hudmessage(id,"|Восстановление HP|")
        message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
        write_short(1<<10)
        write_short(1<<10)
        write_short(0x0000)
        write_byte(0)
        write_byte(200)
        write_byte(0)
        write_byte(75)
        message_end()
    }
    
    else 
{
        if (is_user_alive(id) && (health > maxhealth))
            remove_task(id)
    }
}
  

public client_disconnect
(id) {  
    if
(task_exists(id)) remove_task(id)  
}   

public client_authorized
(id)
    {
    LoadData(id)
}

SaveData(id)
{
 
    
    new authid
[32]
    get_user_authid(id, authid, 31)
    
    new vaultkey
[64]
    new vaultdata[64]
    
    format
(vaultkey, 63, "KMOD_%s", authid)
    format(vaultdata, 63, "%d", knife_model[id])
    set_vaultdata(vaultkey, vaultdata)
}

LoadData(id) 
{ 
    new authid
[32] 
    get_user_authid
(id,authid,31)
    
    new vaultkey
[64], vaultdata[64]
    
    format
(vaultkey, 63, "KMOD_%s", authid)
    get_vaultdata(vaultkey, vaultdata, 63)
    knife_model[id] = str_to_num(vaultdata)
    
}

В чём дело? Только некоторые ножи дают такую возможность, помогите. Где я не разглядел? помогите пожалуйста.
Аватара пользователя
ArtaKey
 
Сообщения: 9
Зарегистрирован: 28 янв 2022, 02:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю, но очень интересно изучать.

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun

Сообщение [N][E][M][E][C] » 12 май 2022, 14:29

Case начинаются с 0, почем 7 а не 6? Вот тебе ответ. Соответственно пункт в меню 1, а кейс 0, 2 кейс 1.....
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun

Сообщение f1sT » 13 май 2022, 20:53

Аватара пользователя
f1sT
 
Сообщения: 66
Зарегистрирован: 30 ноя 2014, 14:46
Откуда: cs_assault
Благодарил (а): 8 раз.
Поблагодарили: 27 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++/Pawn/Sql/Php

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun

Сообщение БиЗоН » 13 май 2022, 22:18

f1sT, этот код ему ничем не поможет, если только он не решит выкинуть свой доисторический и взять нормальный за основу.
Вечно занятой. Вечно в павне.
Аватара пользователя
БиЗоН
 
Сообщения: 165
Зарегистрирован: 24 мар 2014, 21:05
Благодарил (а): 10 раз.
Поблагодарили: 49 раз.
Опыт программирования: Больше трех лет

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun

Сообщение ArtaKey » 14 май 2022, 13:35

[N][E][M][E][C] писал(а):Case начинаются с 0, почем 7 а не 6? Вот тебе ответ. Соответственно пункт в меню 1, а кейс 0, 2 кейс 1.....


Я ставил на 5 и грава не на том ноже, который добавлял.
А с 6 вообще нету способности.
Когда добавлял нож, прописал
Код: Выделить всё
    add(menuBody, 511, "\r7. \wМясной Нож \d(\rГравитация \y++\d)\w^n")

Код: Выделить всё
    new keys = ( 1<<| 1<<| 1<<| 1<<| 1<<| 1<<| 1<<| 1<<

Код: Выделить всё
         case 6: 
        
{
                SetKnife(id, 6)
                display_knife(id)
        }

И всё!
Когда ставлю на new Float:Gravity = ((knife_model[id] == 1 || knife_model[id] == 6)
У ножа с которого поставил, нету гравы. Беру Мясной нож и у него нету способности.
Аватара пользователя
ArtaKey
 
Сообщения: 9
Зарегистрирован: 28 янв 2022, 02:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю, но очень интересно изучать.

Re: Как изменить гравитацию ножа в Knife-Mod Deathrun  [Решено]

Сообщение ArtaKey » 11 июн 2022, 14:19

Впрочем, большое спасибо что дали понять как изменять гравитацию. Теперь надо мне разобраться, как давать эту способность ножам! :-)
Код: Выделить всё
    SetKnife(id, knife_model[id])
    SetKnife(id, knife_model[id])      
    
    
// Task Options
    
    if
(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
        set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
    else if(task_exists(id))
        remove_task(id)
    
    
// Abilities
    set_user_footsteps(id , ( (knife_model[id] == 1 && Weapon == CSW_KNIFE) ? 1 : 0) )
    
    new Float
:Gravity = ((knife_model[id] == 1 || knife_model[id] == 6) && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) / 890 : get_pcvar_float(CVAR_NORMGRAV) / 800.0
    
    if
(grav_knife[id] >= 1)
    {
    //
    }
        else
        
{
            set_user_gravity(id , Gravity)
        }
Аватара пользователя
ArtaKey
 
Сообщения: 9
Зарегистрирован: 28 янв 2022, 02:09
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю, но очень интересно изучать.

Пред.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8