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

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

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

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

История благодарностей участнику bandit123 ::: Спасибо сказали: 19
Дата поста: В теме: За сообщение: Спасибо сказали:
4.11.2015, 12:03 Не появляется gold awp csdm
Код:
give_item(id, "weapon_deagle")

>>
Код:
give_item(id, "weapon_awp")
amax
16.9.2015, 14:29 vip_system
NeMirofff, с работы вечером приеду помогу, если никто не опередит

ps.gif Пару кваров выносить в cfg лишнее думаю, в исходнике настроишь под себя через дефайны
Блокировка карт есть в исходнике
Код:
new iMap_Name[32], iMap_Prefix[][] = { "awp_", "aim_", "35hp", "fy_" }; здесь префиксы карт на которых не будет работать вип

Cкрытый текст
[attachment=35712:vip_system.sma]


upd: допустил незначительную ошибку перезалил
NeMirofff
6.9.2015, 20:46 Map Manager by Mistrick [2.5.61]
Цитата(Bloo @ 6.9.2015, 21:23) *
bandit123, это не совсем рестарт, это game comercing, т.е. начало новой игры. Можно использовать например RoundControle

Немного не так выразился
Inf19
5.9.2015, 20:17 Admin, Vip and Lady models 0.3b обновление от 03.05.2014 (Админ, Вип и Женские модели для Т и СТ)
Цитата(ThePhoenix @ 5.9.2015, 20:38) *
Ребят,кто-то может с плагина AdminVipLady,выпилить Вип модель :)
Нужно только Админ + Lady.
Если не сложно)
Попробовал выпилить,не вышло,не компилируется:
вот я пробовал
Код:
Код
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#pragma semicolon 1

#define MAX_PLAYERS 32

#define admin ADMIN_BAN
#define lady ADMIN_LEVEL_E

#define BIT_VALID(%1,%2) ((%1) & (1 << ((%2) - 1)))
#define BIT_ADD(%1,%2) ((%1) |= (1 << ((%2) - 1)))
#define BIT_SUB(%1,%2) ((%1) &= ~(1 << ((%2) - 1)))
#define BIT_NOT_VALID(%1,%2) (~(%1) & (1 << ((%2) - 1)))

new g_iBitClientAdmin, g_iBitClientLady, g_iBitCustomModel;

public plugin_init()
{
    register_plugin("Admin, Vip and Lady models", "0.3b", "Freedo.m +mod.Leg");
    RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
    register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0);
}

public plugin_precache()
{
    precache_model("models/player/lady_teeee/lady_teeee.mdl");
    precache_model("models/player/lady_ctttt/lady_ctttt.mdl");

    precache_model("models/player/admin_teeee/admin_teeee.mdl");
    precache_model("models/player/admin_ctttt/admin_ctttt.mdl");

}

public client_putinserver(id)
{
    resetBit(id);

    new flags = get_user_flags(id);
    if (flags & lady)
        BIT_ADD(g_iBitClientLady, id);
    else if (flags & admin)
        BIT_ADD(g_iBitClientAdmin, id);
}

public client_disconnect(id)
{
    resetBit(id);
}
public resetBit(id)
{
    BIT_SUB(g_iBitCustomModel, id);
    BIT_SUB(g_iBitClientLady, id);
    BIT_SUB(g_iBitClientAdmin, id);
}

public Ham_PlayerSpawn_Post(id)
{
    if (is_user_alive(id))
    {
        if(BIT_VALID(g_iBitClientLady, id))
        {
            switch(cs_get_user_team(id))
            {
                case CS_TEAM_T: fm_cs_set_user_model(id, "lady_teeee");
                case CS_TEAM_CT: fm_cs_set_user_model(id, "lady_ctttt");
            }
        }

        else if(BIT_VALID(g_iBitClientAdmin, id))
        {
            switch(cs_get_user_team(id))
            {
                case CS_TEAM_T: fm_cs_set_user_model(id, "admin_teeee");
                case CS_TEAM_CT: fm_cs_set_user_model(id, "admin_ctttt");
            }
        }

}

new g_szPlayerModel[MAX_PLAYERS + 1][32];

public FM_SetClientKeyValue_Pre(id, const szInfobuffer[], const szKey[])
{
    if(BIT_VALID(g_iBitCustomModel, id) && equal(szKey, "model"))
    {
        static szCurrentModel[32];
        fm_cs_get_user_model(id, szCurrentModel, charsmax(szCurrentModel));
        if(!equal(szCurrentModel, g_szPlayerModel[id])) fm_cs_set_user_model(id, g_szPlayerModel[id]);
        return FMRES_SUPERCEDE;
    }
    return FMRES_IGNORED;
}

stock fm_cs_get_user_model(id, szModel[], szLen) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModel, szLen);
stock fm_cs_set_user_model(id, const szModelName[])
{
    engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModelName);
    copy(g_szPlayerModel[id], charsmax(g_szPlayerModel[]), szModelName);
    BIT_ADD(g_iBitCustomModel, id);
}

stock fm_cs_reset_user_model(id)
{
    BIT_SUB(g_iBitCustomModel, id);
    dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));
}

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

#pragma semicolon 1

#define MAX_PLAYERS 32

#define admin ADMIN_BAN
#define lady ADMIN_LEVEL_G

#define BIT_VALID(%1,%2) ((%1) & (1 << ((%2) - 1)))
#define BIT_ADD(%1,%2) ((%1) |= (1 << ((%2) - 1)))
#define BIT_SUB(%1,%2) ((%1) &= ~(1 << ((%2) - 1)))
#define BIT_NOT_VALID(%1,%2) (~(%1) & (1 << ((%2) - 1)))

new g_iBitClientAdmin, g_iBitClientLady, g_iBitCustomModel;

public plugin_init()
{
register_plugin("Admin, Vip and Lady models", "0.3b", "Freedo.m +mod.Leg");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawn_Post", 1);
register_forward(FM_SetClientKeyValue, "FM_SetClientKeyValue_Pre", 0);
}

public plugin_precache()
{
precache_model("models/player/lady_teeee/lady_teeee.mdl");
precache_model("models/player/lady_ctttt/lady_ctttt.mdl");

precache_model("models/player/admin_teeee/admin_teeee.mdl");
precache_model("models/player/admin_ctttt/admin_ctttt.mdl");
}

public client_putinserver(id)
{
resetBit(id);

new flags = get_user_flags(id);
if (flags & lady)
BIT_ADD(g_iBitClientLady, id);
else if (flags & admin)
BIT_ADD(g_iBitClientAdmin, id);
}

public client_disconnect(id)
{
resetBit(id);
}
public resetBit(id)
{
BIT_SUB(g_iBitCustomModel, id);
BIT_SUB(g_iBitClientLady, id);
BIT_SUB(g_iBitClientAdmin, id);
}

public Ham_PlayerSpawn_Post(id)
{
if (is_user_alive(id))
{
if(BIT_VALID(g_iBitClientLady, id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "lady_teeee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "lady_ctttt");
}
}

else if(BIT_VALID(g_iBitClientAdmin, id))
{
switch(cs_get_user_team(id))
{
case CS_TEAM_T: fm_cs_set_user_model(id, "admin_teeee");
case CS_TEAM_CT: fm_cs_set_user_model(id, "admin_ctttt");
}
}
else fm_cs_reset_user_model(id);
}

}

new g_szPlayerModel[MAX_PLAYERS + 1][32];

public FM_SetClientKeyValue_Pre(id, const szInfobuffer[], const szKey[])
{
if(BIT_VALID(g_iBitCustomModel, id) && equal(szKey, "model"))
{
static szCurrentModel[32];
fm_cs_get_user_model(id, szCurrentModel, charsmax(szCurrentModel));
if(!equal(szCurrentModel, g_szPlayerModel[id])) fm_cs_set_user_model(id, g_szPlayerModel[id]);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}

stock fm_cs_get_user_model(id, szModel[], szLen) engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModel, szLen);
stock fm_cs_set_user_model(id, const szModelName[])
{
engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", szModelName);
copy(g_szPlayerModel[id], charsmax(g_szPlayerModel[]), szModelName);
BIT_ADD(g_iBitCustomModel, id);
}

stock fm_cs_reset_user_model(id)
{
BIT_SUB(g_iBitCustomModel, id);
dllfunc(DLLFunc_ClientUserInfoChanged, id, engfunc(EngFunc_GetInfoKeyBuffer, id));
}

ps.gif Флаги выставишь сам какие нужно
ThePhoenix
27.8.2015, 10:05 Ваш голос в опросе.
Готово
Problem
25.8.2015, 21:51 XyLiGaN - С Днём Рождения!
Поздравляю, желаю тебе счастья, добра, удачи и крепкого здоровья smile.gif
XyLiGaN
21.8.2015, 0:59 Редактирование ВИП плагина!
Держи
Cкрытый текст
Код:
/*                  VIP для пабликов.
Автор: neygomon. Помощь по коду: s1lent

Возможности:
* Чат-тег сообщений от випки [Не игрока в чате, а от плагина]
* Звук и соощение при подключении игрока
* WeaponMenu for VIP(vipmenu, /vipmenu) - оружия: ak47, m4a1, awp, пулемет.
Так же чат команды: /ak47, /m4a1, /awp, /b51.
* Damager
* Доп HP за убийства
* VIP статус в TAB (нормальным способом, а не через ж... как в предыдущей версии)
* При спавне VIP игрока выдает дигл(отключаемо), гранаты(отключаемо), броню.

Используемые модули: cstrike, fakemeta, hamsandwich, colorchat
*/
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

// #### Конфигурационные defines ####
#define VIP_ACCESS ADMIN_LEVEL_H // Флаг доступа VIP (по дефолту флаг "t" ADMIN_LEVEL_H)
#define CHATTAG "^3[^4VIP INFO^3]^4" // Префикс перед сообщениями || ^1 - желтый ^3 - цвет команды ^4 - зеленый
#define VIPCONNECTED_SOUND "misc/neugomon/vip.wav" // Звук при заходе VIP игрока на сервер
#define VIPROUND 2 // C какого раунда можно открыть вип меню
#define AWPM249RND 5 // С какого раунда доступны AWP и пулемет

// #define AUTOVIPMENU // Автоматически открывать в начале рануда Вип меню (выключено по дефолту)
#define VIPAUTODEAGLE // В начале каждого раунда давать Дигл
#define VIPAUTOGRENADE // Давать в начале каждого раунда гранаты
#define VIPTAB // Показывать статус VIP в таблице на tab
// #### Конфигурационные defines ####

#define is_user_vip(%0) (get_user_flags(%0) & VIP_ACCESS)

new g_roundCount;

new bool:isWarmupRound = true, bool:isFirstRound = true, bool:iUseWeapon[33] = false, bool:bDefuse = false;

new const PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
new const SECONDARY_WEAPONS_BITSUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE);

public plugin_precache() precache_sound(VIPCONNECTED_SOUND);

new iMaxPlayers;
new bool:g_iBlockBonus;

public plugin_init()
{
register_plugin("VIPka", "1.2", "neygomon");

register_event("TextMsg","eventRoundRestart","a","2&#Game_w");
register_event("TextMsg","eventCommencingRestart","a","2&#Game_C");
register_event("HLTV","eventRoundStartHLTV","a","1=0","2=0");

#if defined VIPTAB
if(engfunc(EngFunc_FindEntityByString,FM_NULLENT,"classname","func_vip_safetyzone"))
register_message(get_user_msgid("ScoreAttrib"),"messageScoreAttrib");
#endif
if(engfunc(EngFunc_FindEntityByString,FM_NULLENT,"classname","func_bomb_target"))
bDefuse = true;

RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1);

register_clcmd("say /vipmenu", "CmdMenu");
register_clcmd("vipmenu", "CmdMenu");
register_clcmd("say", "hook_say");
register_clcmd("say_team", "hook_say");

register_menucmd(register_menuid("Vip Menu"), MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4, "handler");

iMaxPlayers = get_maxplayers();

new iMap_Name[32], iMap_Prefix[][] = { "awp_", "aim_" }
get_mapname(iMap_Name, charsmax(iMap_Name))
for(new i; i < sizeof(iMap_Prefix); i++)
{
if(containi(iMap_Name, iMap_Prefix[i]) != -1)
g_iBlockBonus = true
}
}

public client_putinserver(id)
{
if(is_user_vip(id)) VipConnectNotice(id);
}

public eventCommencingRestart() isFirstRound = isWarmupRound = true;

public eventRoundRestart() g_roundCount = 0;

public eventRoundStartHLTV()
{
if(isFirstRound)
{
isFirstRound = false;
g_roundCount = 0;
}
g_roundCount++;
if(isWarmupRound)
{
isWarmupRound = false;
g_roundCount = 0;
}
arrayset(iUseWeapon, false, iMaxPlayers);
}

public Player_Spawn(id)
{
if(g_iBlockBonus) return;

if(is_user_alive(id) && is_user_vip(id))
{
#if defined VIPAUTOGRENADE
fm_give_item(id, "weapon_hegrenade");
fm_give_item(id, "weapon_flashbang");
fm_give_item(id, "weapon_smokegrenade");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
#endif
#if defined VIPAUTODEAGLE
give_item_ex(id,"weapon_deagle",35,1)
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
#endif
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
if(bDefuse && cs_get_user_team(id) == CS_TEAM_CT) cs_set_user_defuse(id, 1);

#if defined AUTOVIPMENU
CmdMenu(id);
#endif
}
}

public hook_say(id)
{
static szMsg[256];
read_args(szMsg,255);
remove_quotes(szMsg);

if(szMsg[0] != '/')
{
return 0;
}
static a;
static const szChoosedWP[][] = { "/ak47", "/m4a1", "/awp", "/b51" };
for(a = 0; a < sizeof szChoosedWP; a++)
{
if(equal(szMsg,szChoosedWP[a]))
{
if(!is_allow_use(id))
{
break;
}
if(a > 1 && g_roundCount < AWPM249RND)
{
return chat_message(id, 6);
}
return handler(id,a);
}
}
return 0;
}

public CmdMenu(id)
{
if(is_user_vip(id))
{
if(is_user_alive(id))
{
if(g_roundCount > 0)
{
if(!iUseWeapon[id])
{
if(g_roundCount >= VIPROUND)
{
static szMenu[512],iLen,iKey;

iKey = MENU_KEY_0|MENU_KEY_1|MENU_KEY_2;
iLen = formatex(szMenu,511,"\yVIP \wWeaponMenu^n^n\y1. \wВзять AK47^n\y2. \wВзять M4A1^n");

if(g_roundCount < AWPM249RND)
{
iLen += formatex(szMenu[iLen],511 - iLen,"\y3. \dВзять AWP \r[c %d раунда]^n\y4. \dВзять Пулемет \r[c %d раунда]^n^n",AWPM249RND,AWPM249RND);
}
else
{
iKey |= MENU_KEY_3|MENU_KEY_4;
iLen += formatex(szMenu[iLen],511 - iLen,"\y3. \wВзять AWP^n\y4. \wВзять Пулемет^n^n");
}
formatex(szMenu[iLen],511 - iLen,"\y0. \wВыход");
set_pdata_int(id, 205, 0);
return show_menu(id,iKey,szMenu,-1,"Vip Menu");
}
else chat_message(id, 0);
}
else chat_message(id, 1);
}
else chat_message(id, 2);
}
else chat_message(id, 3);
}
else chat_message(id, 4);
return PLUGIN_HANDLED;
}

public handler(id, key)
{
switch(key)
{
case 0:
{
give_item_ex(id,"weapon_ak47",90,1);
iUseWeapon[id] = true;
}
case 1:
{
give_item_ex(id,"weapon_m4a1",90,1);
iUseWeapon[id] = true;
}
case 2:
{
if(g_roundCount < AWPM249RND)
chat_message(id, 6);
else
{
give_item_ex(id,"weapon_awp",30,1);
iUseWeapon[id] = true;
}
}
case 3:
{
if(g_roundCount < AWPM249RND)
chat_message(id, 6);
else
{
give_item_ex(id,"weapon_m249",250,1);
iUseWeapon[id] = true;
}
}
}
return 1
}

stock give_item_ex(id,currWeaponName[],ammoAmount,dropFlag=0)
{
static weaponsList[32], weaponName[32], weaponsNum, currWeaponID;
currWeaponID = get_weaponid(currWeaponName);
if(dropFlag)
{
weaponsNum = 0;
get_user_weapons(id,weaponsList,weaponsNum);
for (new i;i < weaponsNum;i++)
{
if(((1 << currWeaponID) & PRIMARY_WEAPONS_BITSUM && (1 << weaponsList[i]) & PRIMARY_WEAPONS_BITSUM) | ((1 << currWeaponID) & SECONDARY_WEAPONS_BITSUM && (1 << weaponsList[i]) & SECONDARY_WEAPONS_BITSUM))
{
get_weaponname(weaponsList[i],weaponName,charsmax(weaponName));
engclient_cmd(id,"drop",weaponName);
}
}
}
fm_give_item(id,currWeaponName);
cs_set_user_bpammo(id,currWeaponID,ammoAmount);
}

public VipConnectNotice(id)
{
chat_message(0, 5);
client_cmd(0,"spk ^"%s^"", VIPCONNECTED_SOUND);
}

stock chat_message(id, message=0)
{
switch(message)
{
case 0: client_print_color(id, 0, "%s Оружия доступны только с^3 %d ^4раунда!", CHATTAG, VIPROUND);
case 1: client_print_color(id, 0, "%s Вы ^3уже брали ^4оружие в этом раунде!", CHATTAG);
case 2: client_print_color(id, 0, "%s Разминочный раунд. ^3Запрещено ^4пользоваться командой!", CHATTAG);
case 3: client_print_color(id, 0, "%s Для использования данной команды вы должны быть ^3живы^4!", CHATTAG);
case 4: client_print_color(id, 0, "%s ^3Только VIP-игрок ^4может пользоваться этой командой!", CHATTAG);
case 5:
{
new name[32];
get_user_name(id, name, charsmax(name));
client_print_color(id, 0, "%s На сервер зашёл ^3VIP клиент ^1%s", CHATTAG, name);
}
case 6: client_print_color(id, 0, "%s Данное оружие доступно только с^3 %d ^4раунда!", CHATTAG, AWPM249RND);
}
return 1
}

bool:is_allow_use(id)
{
if(!is_user_vip(id))
{
chat_message(id, 4);
return false;
}
if(!is_user_alive(id))
{
chat_message(id, 3);
return false;
}
if(!g_roundCount)
{
chat_message(id, 2);
return false;
}
if(iUseWeapon[id])
{
chat_message(id, 1);
return false;
}
if(g_roundCount < VIPROUND)
{
chat_message(id, 0);
return false;
}
return true;
}

#if defined VIPTAB
public MessageScoreAttrib(iMsgId, iDest, iReceiver)
{
static id; id = get_msg_arg_int(1);
if(is_user_vip(id) && !get_msg_arg_int(2))
{
set_msg_arg_int(2, ARG_BYTE, 4);
}
}
#endif
CSGOLDPUBLIC
24.6.2015, 21:31 OpenGL Detector BETA by Mazdan
Цитата(VkriterT @ 24.6.2015, 19:52) *
[ 7] Orpheu RUN - orpheu_amxx_i386 v2.6.3 pl5 ANY ANY
[ 1] opengl detector 0.8.16ob kanagava opengl32_0816b. running

билд 5787, у меня все отлично работает.Добавьте в тему что можно и последний орфей юзать.


Скрытый текст
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
Exe build: 11:30:00 Aug 28 2012 (5787)

[12]Orpheu RUN - orpheu_amxx_i386 v2.6.3 pl1 ANY ANY
[2] opengl detector 0.8.16ob kanagava opengl32_0816b. running



Так же проблем не наблюдаю, все прекрасно работает.
Bloo
1.6.2015, 11:46 resetscore
Norman111, при return set_user score выходит ошибка при компиляции warning 209: функция cmdResetScore(id) должна возвращать какое-либо значение (return 1; к примеру, либо 0), ставим в конце паблика return 1 либо 0
Norman111
1.6.2015, 10:29 resetscore
Цитата(Norman111 @ 1.6.2015, 10:36) *
Тогда set_user_score без return не может работать

Все верно функция должна быть возвращена
Скрытый текст
Код:
#include <amxmodx>
#include <csstats_custom>

public plugin_init() {
register_clcmd("say /rs", "cmdResetScore")
register_clcmd("say .кы", "cmdResetScore")
}

public cmdResetScore(id) {
if(!is_user_connected(id)) return PLUGIN_HANDLED

set_user_score(id, 0, 0)
PrintChat(id, "^1[^4ResetScore^1] Счет обнулен")

return 1;
}

PrintChat(const iReceiver, const Msg[]) {
message_begin(MSG_ONE, 76, .player=iReceiver);
write_byte(iReceiver);
write_string(Msg);
message_end();
}
Norman111
1.6.2015, 1:14 resetscore
Да просто убрал return
Скрытый текст
Код:
#include <amxmodx>
#include <csstats_custom>

public plugin_init() {
register_clcmd("say /rs", "cmdResetScore")
}

public cmdResetScore(id) {
set_user_score(id, 0, 0)
}
tenb63rus
7.5.2015, 15:36 Варнинг при компиляции
YrkinSon, координату x измени, -2 не может быть
YrkinSon
19.4.2015, 13:11 Модификация админ вгк
Цитата([0]x[0] @ 19.4.2015, 14:03) *

Скрытый текст
Код:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>


const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)
|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)


public plugin_init()
{
register_plugin("Admins are VIP's + grenades + kevlar", "1.0", "Eg@r4$il{")
register_event("ResetHUD", "ResetHUD", "be")
}

public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if (is_user_admin(id))
{
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
strip_user_weapons(id)
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
drop_weapons(id, 1)
give_item(id, "weapon_deagle")
give_item(id, "weapon_knife")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id, "ammo_50ae")
give_item(id,"item_assaultsuit")
cs_set_user_money(id, 800)
}
return PLUGIN_HANDLED
}
stock drop_weapons(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) & PRIMARY_WEAPONS_BIT_SUM))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}

В таком виде:
admin_vgk.sma(6) : error 010: invalid function or declaration
admin_vgk.sma(58) : error 017: undefined symbol "PRIMARY_WEAPONS_BIT_SUM"

2 Errors.
Could not locate output file admin_vgk.amx (compile failed).


[attachment=32763:admin_vgk.sma]
[0]x[0]
12.4.2015, 14:43 С праздником #2
С праздником всех, уважайте и помогайте друг другу.

ps.gif Всем добра
damilurg, Scalario
28.3.2015, 10:54 Steam Bonus
Andrey777best, проверь.
Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183 || defined NO_NATIVE_COLORCHAT
#include <colorchat>
#endif

#pragma semicolon 1

#define PLUGIN "Steam Bonus"
#define VERSION "1.2"
#define AUTHOR "Stimul"
#define PREFIX "^1[^4|18+|Сервер^1]"

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define reset_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

#define NUM_MONEY 500 // Количество денег

new g_bIsConnected;
new g_bIsSteam;
new g_bProcedure;
new g_RoundCount;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

RegisterHam(Ham_CS_RoundRespawn, "player", "fw_CS_RoundRespawn_Post", true);
register_logevent("Round_End", 2, "1=Round_End");
}

public Round_End(){
g_RoundCount++;
}

public client_putinserver(id)
{
set_bit(g_bIsConnected, id);

if(is_user_steam(id))
{
set_bit(g_bIsSteam, id);
reset_bit(g_bProcedure, id);
}
else
reset_bit(g_bIsSteam, id);
}

public client_disconnect(id)
reset_bit(g_bIsConnected, id);

public fw_CS_RoundRespawn_Post(id)
{
if(get_bit(g_bIsConnected, id) && get_bit(g_bIsSteam, id) && g_RoundCount > 3)
{
if(!get_bit(g_bProcedure, id))
{
cs_set_user_money(id, cs_get_user_money(id) + NUM_MONEY);
client_print_color(id, 0, "%s ^1Ты получаешь бонус за STEAM: ^4'%d$'", PREFIX, NUM_MONEY);
set_bit(g_bProcedure, id);
}
else
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
give_item(id, "weapon_smokegrenade");
client_print_color(id, 0, "%s ^1Ты получаешь бонус за STEAM: ^4'все гранаты'", PREFIX);
reset_bit(g_bProcedure, id);
}
}
}

stock bool:is_user_steam(id)
{
static dp_pointer;

if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}

new szAuthid[34];
get_user_authid(id, szAuthid, charsmax(szAuthid));

return (containi(szAuthid, "LAN") < 0);
}
Andrey777best
28.3.2015, 9:10 Steam Bonus
Andrey_iokhin, пробуй
Код:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <dhudmessage>

#if AMXX_VERSION_NUM < 183
#include <colorchat>
#endif

#pragma semicolon 1

#define PLUGIN "Steam Bonus"
#define VERSION "1.2"
#define AUTHOR "Stimul"
#define PREFIX "[Steam бонус]"

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) (%1 |= (1 << (%2 & 31)))
#define reset_bit(%1,%2) (%1 &= ~(1 << (%2 & 31)))

// Цвет DHUD сообщения
#define COLOR_RED random(255) // Количество красного цвета
#define COLOR_GREEN random(255) // Количество зелёного цвета
#define COLOR_BLUE random(255) // Количество синего цвета

#define TIME 5.0 // Время показа

#define NUM_MONEY 1000 // Количество денег

new g_bIsConnected;
new g_bIsSteam;
new g_bProcedure;
new g_RoundCount;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

RegisterHam(Ham_CS_RoundRespawn, "player", "fw_CS_RoundRespawn_Post", true);
register_logevent("Round_End", 2, "1=Round_End");
}

public Round_End()
{
g_RoundCount++;
}

public client_putinserver(id)
{
set_bit(g_bIsConnected, id);

if(is_user_steam(id))
{
set_bit(g_bIsSteam, id);
reset_bit(g_bProcedure, id);
set_task(3.0, "WelcomeMessage", id);
}
else
reset_bit(g_bIsSteam, id);
}

public client_disconnect(id)
reset_bit(g_bIsConnected, id);

public WelcomeMessage(id)
{
if(get_bit(g_bIsConnected, id))
{
static szName[32];
get_user_name(id, szName, charsmax(szName));

set_dhudmessage(COLOR_RED, COLOR_GREEN, COLOR_BLUE, -1.0, 0.3, 0, 0.0, TIME);
show_dhudmessage(id, "Привет, %s!", szName);
set_dhudmessage(COLOR_RED, COLOR_GREEN, COLOR_BLUE, -1.0, 0.34, 0, 0.0, TIME);
show_dhudmessage(id, "У тебя Steam, поэтому каждый раунд ты будешь получать бонусы");
}
}

public fw_CS_RoundRespawn_Post(id)
{
if(get_bit(g_bIsConnected, id) && get_bit(g_bIsSteam, id) && g_RoundCount > 3)
{
if(!get_bit(g_bProcedure, id))
{
cs_set_user_money(id, cs_get_user_money(id) + NUM_MONEY);
client_print_color(id, 0, "^3%s ^1Ты получаешь бонус: ^4'%d$'", PREFIX, NUM_MONEY);
set_bit(g_bProcedure, id);
}
else
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
give_item(id, "weapon_smokegrenade");
client_print_color(id, 0, "^3%s ^1Ты получаешь бонус: ^4'все гранаты'", PREFIX);
reset_bit(g_bProcedure, id);
}
}

}

stock bool:is_user_steam(id)
{
static dp_pointer;

if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id);
server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}

new szAuthid[34];
get_user_authid(id, szAuthid, charsmax(szAuthid));

return (containi(szAuthid, "LAN") < 0);
}
Andrey_iokhin