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

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

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

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

Добавить флаги чтобы плагин работал только для админов

, Auto Reload On New Round
Статус пользователя STOMPER
сообщение 28.12.2014, 7:42
Сообщение #1


Стаж: 11 лет

Сообщений: 81
Благодарностей: 1
Полезность: 14

Добавьте пожалуйста флаги, чтобы работал для админов с флагом "i" (чат)
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Reloaded Weapons On New Round"
#define AUTHOR "ConnorMcLeod"
#define VERSION "2.1.0"

#define XO_WEAPON 4
#define m_pNext 42
#define m_fInReload 54

#define XO_PLAYER 5
#define m_flNextAttack 83
#define m_bNotKilled 113
#define m_rgpPlayerItems_Slot1 368
#define m_rgpPlayerItems_Slot2 369

new g_bitFirstSpawn
#define MarkUserFirstSpawn(%0) g_bitFirstSpawn |= 1<<(%0&31)
#define ClearUserFirstSpawn(%0) g_bitFirstSpawn &= ~(1<<(%0&31))
#define IsUserFirstSpawn(%0) ( g_bitFirstSpawn & 1<<(%0&31) )

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "Ham_CBasePlayer_Spawn_Pre", 0)
}

public client_connect(id)
{
MarkUserFirstSpawn(id)
}

public client_putinserver(id)
{
ClearUserFirstSpawn(id)
}

public Ham_CBasePlayer_Spawn_Pre( id )
{
if( !IsUserFirstSpawn(id) && get_pdata_int(id, m_bNotKilled, XO_PLAYER) )
{
new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, XO_PLAYER)
set_pdata_float(id, m_flNextAttack, -0.001, XO_PLAYER)

for(new iPlayerItems=m_rgpPlayerItems_Slot1, iWeapon; iPlayerItems<=m_rgpPlayerItems_Slot2; iPlayerItems++)
{
iWeapon = get_pdata_cbase(id, iPlayerItems, XO_PLAYER)
while( pev_valid(iWeapon) )
{
set_pdata_int(iWeapon, m_fInReload, 1, XO_WEAPON)
ExecuteHamB(Ham_Item_PostFrame, iWeapon)
iWeapon = get_pdata_cbase(iWeapon, m_pNext, XO_WEAPON)
}
}

set_pdata_float(id, m_flNextAttack, flNextAttack, XO_PLAYER)
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Realution
сообщение 28.12.2014, 7:57
Сообщение #2


Стаж: 11 лет

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

Код
Код:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Reloaded Weapons On New Round"
#define AUTHOR "ConnorMcLeod"
#define VERSION "2.1.0"

#define XO_WEAPON 4
#define m_pNext 42
#define m_fInReload 54

#define XO_PLAYER 5
#define m_flNextAttack 83
#define m_bNotKilled 113
#define m_rgpPlayerItems_Slot1 368
#define m_rgpPlayerItems_Slot2 369

new g_bitFirstSpawn
#define MarkUserFirstSpawn(%0) g_bitFirstSpawn |= 1<<(%0&31)
#define ClearUserFirstSpawn(%0) g_bitFirstSpawn &= ~(1<<(%0&31))
#define IsUserFirstSpawn(%0) ( g_bitFirstSpawn & 1<<(%0&31) )

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_Spawn, "player", "Ham_CBasePlayer_Spawn_Pre", 0)
}

public client_connect(id)
{
MarkUserFirstSpawn(id)
}

public client_putinserver(id)
{
ClearUserFirstSpawn(id)
}

public Ham_CBasePlayer_Spawn_Pre( id )
{
if( get_user_flags(id) & ADMIN_CHAT && !IsUserFirstSpawn(id) && get_pdata_int(id, m_bNotKilled, XO_PLAYER) )
{
new Float:flNextAttack = get_pdata_float(id, m_flNextAttack, XO_PLAYER)
set_pdata_float(id, m_flNextAttack, -0.001, XO_PLAYER)

for(new iPlayerItems=m_rgpPlayerItems_Slot1, iWeapon; iPlayerItems<=m_rgpPlayerItems_Slot2; iPlayerItems++)
{
iWeapon = get_pdata_cbase(id, iPlayerItems, XO_PLAYER)
while( pev_valid(iWeapon) )
{
set_pdata_int(iWeapon, m_fInReload, 1, XO_WEAPON)
ExecuteHamB(Ham_Item_PostFrame, iWeapon)
iWeapon = get_pdata_cbase(iWeapon, m_pNext, XO_WEAPON)
}
}

set_pdata_float(id, m_flNextAttack, flNextAttack, XO_PLAYER)
}
}


Отредактировал: Realution, - 28.12.2014, 7:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя STOMPER
сообщение 28.12.2014, 11:43
Сообщение #3


Стаж: 11 лет

Сообщений: 81
Благодарностей: 1
Полезность: 14

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