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

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

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

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

> Правила раздела

Перед созданием новой темы убедитесь, не искал ли кто-нибудь подобный плагин до вас, для этого следует воспользоваться поиском.

Все вновь созданные темы, с названием типа "Помогите найти", "А что это за плагин", "Ищу плагин", "Нужен плагин", "Подскажите пожалуйста название плагина" - будут удалены.
При создании темы постарайтесь максимально понятно сформулировать её заголовок так, чтобы он соответствовал функциям плагина который Вы ищите. В том случае, если Вам не удается сформулировать мысль и правильно расписать всё в теме, воспользуйтесь графическим редактором, к примеру Paint, что бы примерно изобразить функции нужного Вам плагина.

Патроны при спавне

Статус пользователя АльТ
сообщение 16.10.2012, 19:28
Сообщение #1


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Ищу плагин который бы давал все патроны при спавне.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Andrei
сообщение 16.10.2012, 19:37
Сообщение #2


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Скрытый текст
Код
#include < amxmodx >
#include < fakemeta >
#include < hamsandwich >

const OFFSET_LINUX = 5;
const PDATA_SAFE = 2;

const OFFSET_AWM_AMMO  = 377;
const OFFSET_SCOUT_AMMO = 378;
const OFFSET_PARA_AMMO = 379;
const OFFSET_FAMAS_AMMO = 380;
const OFFSET_M3_AMMO = 381;
const OFFSET_USP_AMMO = 382;
const OFFSET_FIVESEVEN_AMMO = 383;
const OFFSET_DEAGLE_AMMO = 384;
const OFFSET_P228_AMMO = 385;
const OFFSET_GLOCK_AMMO = 386;
const OFFSET_FLASH_AMMO = 387;
const OFFSET_HE_AMMO = 388;
const OFFSET_SMOKE_AMMO = 389;
const OFFSET_C4_AMMO = 390;

enum _:AmmoIds
{
    ammo_none,
    ammo_338magnum = 1,
    ammo_762nato,
    ammo_556natobox,
    ammo_556nato,
    ammo_buckshot,
    ammo_45acp,
    ammo_57mm,
    ammo_50ae,
    ammo_357sig,
    ammo_9mm
};

new g_iAmmoMax[ AmmoIds ] =
{
    -1,
    30, // 338magnum
    90, // 762nato
    200, // 556natobox
    90, // 556nato
    32, // buckshot
    100, // 45acp
    100, // 57mm
    35, // 50ae
    52, // 357sig
    120  // 9mm
};

new const g_iAmmoWeaponSharedBitSum[ AmmoIds ] =
{
    0,
    (1<<CSW_AWP),
    (1<<CSW_SCOUT)|(1<<CSW_G3SG1)|(1<<CSW_AK47),
    (1<<CSW_M249),
    (1<<CSW_AUG)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_M4A1)|(1<<CSW_SG552),
    (1<<CSW_XM1014)|(1<<CSW_M3),
    (1<<CSW_MAC10)|(1<<CSW_UMP45)|(1<<CSW_USP),
    (1<<CSW_P90)|(1<<CSW_FIVESEVEN),
    (1<<CSW_DEAGLE),
    (1<<CSW_P228),
    (1<<CSW_MP5NAVY)|(1<<CSW_TMP)|(1<<CSW_ELITE)|(1<<CSW_GLOCK18)
};

new g_pMsgID_AmmoX;


new const AMMOOFFSET[] = { -1, OFFSET_P228_AMMO, -1, OFFSET_SCOUT_AMMO, OFFSET_HE_AMMO, OFFSET_M3_AMMO, OFFSET_C4_AMMO, OFFSET_USP_AMMO, OFFSET_FAMAS_AMMO, OFFSET_SMOKE_AMMO, OFFSET_GLOCK_AMMO, OFFSET_FIVESEVEN_AMMO, OFFSET_USP_AMMO, OFFSET_FAMAS_AMMO, OFFSET_FAMAS_AMMO, OFFSET_FAMAS_AMMO,
OFFSET_USP_AMMO, OFFSET_GLOCK_AMMO, OFFSET_AWM_AMMO, OFFSET_GLOCK_AMMO, OFFSET_PARA_AMMO, OFFSET_M3_AMMO, OFFSET_FAMAS_AMMO, OFFSET_GLOCK_AMMO, OFFSET_SCOUT_AMMO, OFFSET_FLASH_AMMO, OFFSET_DEAGLE_AMMO, OFFSET_FAMAS_AMMO,  OFFSET_SCOUT_AMMO, -1, OFFSET_FIVESEVEN_AMMO }


public plugin_init( )
{

    RegisterHam( Ham_Spawn, "player",     "CBasePlayer__Spawn_Post", .Post = true );

    g_pMsgID_AmmoX = get_user_msgid( "AmmoX" );
}

public CBasePlayer__Spawn_Post( pPlayer )
{
    if( !is_user_alive( pPlayer ) )
    {
        return HAM_IGNORED;
    }

    UTIL_SetFullBpAmmo( pPlayer )
    
    return HAM_IGNORED;
}    

stock UTIL_set_user_bpammo( pPlayer, pWeapon , pAmount )
{
    if ( pev_valid( pPlayer ) != PDATA_SAFE )
    {
        return;
    }

    set_pdata_int( pPlayer , AMMOOFFSET[ pWeapon ] , pAmount, OFFSET_LINUX);
}

stock UTIL_SetFullBpAmmo( pPlayer )
{
    new iWeaponID , iFullbpammo, iAmmoId;
    
    iWeaponID = get_user_weapon( pPlayer , _ , _ );
    
    for( new i = 1; i < AmmoIds; i++ )
    {
        if( g_iAmmoWeaponSharedBitSum[i] & (1<<iWeaponID) )
        {
            iAmmoId = i;
            iFullbpammo = g_iAmmoMax[i];
            break;
        }
    }
    
    if( !iAmmoId ) return;
    
    UTIL_set_user_bpammo( pPlayer, iWeaponID, iFullbpammo );
    
    message_begin( MSG_ONE_UNRELIABLE, g_pMsgID_AmmoX, _, pPlayer );
    write_byte( iAmmoId );
    write_byte( iFullbpammo );
    message_end( );
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 16.10.2012, 19:57
Сообщение #3


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Bos93,
Спасибо большое. Не могли бы еще проверку на флаг добавить?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 16.10.2012, 20:12
Сообщение #4


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Давай сам,это уж как нибудь самому можно сделать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 17.10.2012, 16:04
Сообщение #5


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

Пытаюсь добавить автора, ничего не получается. По другому не видел как добавляют.
код
Код
#include < amxmodx >
#include < VIPSystem >
#include < fakemeta >
#include < hamsandwich >

#define ACCESS_FLAG VIP_FLAG_F

public plugin_init() {
    register_plugin("SpawnAmmo", "0.1", "Bos93")
}

const OFFSET_LINUX = 5;
const PDATA_SAFE = 2;

const OFFSET_AWM_AMMO  = 377;
const OFFSET_SCOUT_AMMO = 378;
const OFFSET_PARA_AMMO = 379;
const OFFSET_FAMAS_AMMO = 380;
const OFFSET_M3_AMMO = 381;
const OFFSET_USP_AMMO = 382;
const OFFSET_FIVESEVEN_AMMO = 383;
const OFFSET_DEAGLE_AMMO = 384;
const OFFSET_P228_AMMO = 385;
const OFFSET_GLOCK_AMMO = 386;
const OFFSET_FLASH_AMMO = 387;
const OFFSET_HE_AMMO = 388;
const OFFSET_SMOKE_AMMO = 389;
const OFFSET_C4_AMMO = 390;

enum _:AmmoIds
{
    ammo_none,
    ammo_338magnum = 1,
    ammo_762nato,
    ammo_556natobox,
    ammo_556nato,
    ammo_buckshot,
    ammo_45acp,
    ammo_57mm,
    ammo_50ae,
    ammo_357sig,
    ammo_9mm
};

new g_iAmmoMax[ AmmoIds ] =
{
    -1,
    30, // 338magnum
    90, // 762nato
    200, // 556natobox
    90, // 556nato
    32, // buckshot
    100, // 45acp
    100, // 57mm
    35, // 50ae
    52, // 357sig
    120  // 9mm
};

new const g_iAmmoWeaponSharedBitSum[ AmmoIds ] =
{
    0,
    (1<<CSW_AWP),
    (1<<CSW_SCOUT)|(1<<CSW_G3SG1)|(1<<CSW_AK47),
    (1<<CSW_M249),
    (1<<CSW_AUG)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_M4A1)|(1<<CSW_SG552),
    (1<<CSW_XM1014)|(1<<CSW_M3),
    (1<<CSW_MAC10)|(1<<CSW_UMP45)|(1<<CSW_USP),
    (1<<CSW_P90)|(1<<CSW_FIVESEVEN),
    (1<<CSW_DEAGLE),
    (1<<CSW_P228),
    (1<<CSW_MP5NAVY)|(1<<CSW_TMP)|(1<<CSW_ELITE)|(1<<CSW_GLOCK18)
};

new g_pMsgID_AmmoX;


new const AMMOOFFSET[] = { -1, OFFSET_P228_AMMO, -1, OFFSET_SCOUT_AMMO, OFFSET_HE_AMMO, OFFSET_M3_AMMO, OFFSET_C4_AMMO, OFFSET_USP_AMMO, OFFSET_FAMAS_AMMO, OFFSET_SMOKE_AMMO, OFFSET_GLOCK_AMMO, OFFSET_FIVESEVEN_AMMO, OFFSET_USP_AMMO, OFFSET_FAMAS_AMMO, OFFSET_FAMAS_AMMO, OFFSET_FAMAS_AMMO,
OFFSET_USP_AMMO, OFFSET_GLOCK_AMMO, OFFSET_AWM_AMMO, OFFSET_GLOCK_AMMO, OFFSET_PARA_AMMO, OFFSET_M3_AMMO, OFFSET_FAMAS_AMMO, OFFSET_GLOCK_AMMO, OFFSET_SCOUT_AMMO, OFFSET_FLASH_AMMO, OFFSET_DEAGLE_AMMO, OFFSET_FAMAS_AMMO,  OFFSET_SCOUT_AMMO, -1, OFFSET_FIVESEVEN_AMMO }


public plugin_init( )
{

    RegisterHam( Ham_Spawn, "player",     "CBasePlayer__Spawn_Post", .Post = true );

    g_pMsgID_AmmoX = get_user_msgid( "AmmoX" );
}

public CBasePlayer__Spawn_Post( pPlayer )
{
    if( !is_user_alive( pPlayer ) )
    {
        return HAM_IGNORED;
    }

    UTIL_SetFullBpAmmo( pPlayer )
    
    return HAM_IGNORED;
}    

stock UTIL_set_user_bpammo( pPlayer, pWeapon , pAmount )
{
    if ( pev_valid( pPlayer ) != PDATA_SAFE )
    {
        return;
    }

    set_pdata_int( pPlayer , AMMOOFFSET[ pWeapon ] , pAmount, OFFSET_LINUX);
}

stock UTIL_SetFullBpAmmo( pPlayer )
{
    new iWeaponID , iFullbpammo, iAmmoId;
    
    iWeaponID = get_user_weapon( pPlayer , _ , _ );
    
    for( new i = 1; i < AmmoIds; i++ )
    {
        if( g_iAmmoWeaponSharedBitSum[i] & (1<<iWeaponID) )
        {
            iAmmoId = i;
            iFullbpammo = g_iAmmoMax[i];
            break;
        }
    }
    
    if( !iAmmoId ) return;
    
    UTIL_set_user_bpammo( pPlayer, iWeaponID, iFullbpammo );
    
    message_begin( MSG_ONE_UNRELIABLE, g_pMsgID_AmmoX, _, pPlayer );
    write_byte( iAmmoId );
    write_byte( iFullbpammo );
    message_end( );
}



Отредактировал: АльТ, - 17.10.2012, 16:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MaZzai
сообщение 17.10.2012, 22:27
Сообщение #6


Стаж: 17 лет

Сообщений: 2659
Благодарностей: 1411
Полезность: 1024

Цитата
VIP_FLAG_F

а что это ?

Отредактировал: MaZzai, - 17.10.2012, 22:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 18.10.2012, 1:39
Сообщение #7
Стаж: 16 лет

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

БОС а не намудрил ли ты?

мне кажется достаточно ham_spawn + give_item и там уже все патроны.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 18.10.2012, 6:11
Сообщение #8


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Твой способ выдаст какое либо оружие,и + без запасных патрон,мой проверит оружие которое у него при спавне и даст полные запасные патроны.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя АльТ
сообщение 18.10.2012, 6:48
Сообщение #9


Стаж: 14 лет

Сообщений: 407
Благодарностей: 102
Полезность: 500

MaZzai,
да хотел вип систему поставить, но тут подумал, нафига она на классике. Будет паблик, поставлю.

С плагином уже разобрался, все указал.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя edge
сообщение 18.10.2012, 12:40
Сообщение #10


Стаж: 14 лет

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

АльТ,
На всякий случай- Авто-закупка патронов
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 18.10.2012, 21:23
Сообщение #11
Стаж: 16 лет

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

проще ф1 жать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: