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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Помогите с цветами (ОЧЕНЬ НУЖНО)

, цветное сообщение от палгина в чате
Статус пользователя my_world243
сообщение 7.2.2011, 19:23
Сообщение #1
Стаж: 15 лет

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

Помогите сделать цветное сообщение плагина, в чате Counter-Strike 1.6

Примеры:
[attachment=13364:rtv.bmp]


Помогите кто чем может.

Спасибо за внимание
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя my_world243
сообщение 7.2.2011, 20:02
Сообщение #2
Стаж: 15 лет

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

Нужно что-то вроде етого:
CODE
// Name
switch (get_pcvar_num (g_NameColor))
{
case 1:
format (strName, 191, "%s%s", alive, name)

case 2:
format (strName, 191, "%s^x04%s", alive, name)

case 3:
{
color = "SPECTATOR"
format (strName, 191, "%s^x03%s", alive, name)
}

case 4:
{
color = "CT"
format (strName, 191, "%s^x03%s", alive, name)
}

case 5:
{
color = "TERRORIST"
format (strName, 191, "%s^x03%s", alive, name)
}

case 6:
{
get_user_team (id, color, 9)
format (strName, 191, "%s^x03%s", alive, name)
}
}

// Message
switch (get_pcvar_num (g_MessageColor))
{
case 1: // Yellow
format (strText, 191, "%s", message)

case 2: // Green
format (strText, 191, "^x04%s", message)

case 3: // White
{
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}

case 4: // Blue
{
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}

case 5: // Red
{
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}

else // Player is not admin. Team-color name : Yellow message
{
get_user_team (id, color, 9)

format (strName, 191, "%s^x03%s", alive, name)

format (strText, 191, "%s", message)
}

format (message, 191, "%s^x01 : %s", strName, strText)

sendMessage (color, isAlive) // Sends the colored message

return PLUGIN_CONTINUE
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolian
сообщение 7.2.2011, 20:02
Сообщение #3


Стаж: 15 лет

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

Вот тема с описанием и командами плагина: https://c-s.net.ua/forum/topic28441.html
Прикрепленные файлы:
Прикрепленный файл  5297_admin_chat_colo.rar ( 13,52 килобайт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Doogle
сообщение 7.2.2011, 20:06
Сообщение #4


Стаж: 15 лет

Сообщений: 345
Благодарностей: 93
Полезность: 75

Kolian,
Ты различаешь разницу между сообщениями HUD и сообщениями в чате ?
Ты различаешь разницу между своими сообщениями на Экране и от плагина в чате ?

На скрине где добавлен цвет, судя по всему плагин Galileo. Тебе нужно в него добавить цвет ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя my_world243
сообщение 7.2.2011, 20:10
Сообщение #5
Стаж: 15 лет

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

Цитата
На скрине где добавлен цвет, судя по всему плагин Galileo. Тебе нужно в него добавить цвет ?


Да. Плагин Galileo, но как сделать чат как там???

Отредактировал: my_world243, - 7.2.2011, 20:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 8.2.2011, 13:44
Сообщение #6


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(my_world243 @ 7.2.2011, 21:10) *
Да. Плагин Galileo, но как сделать чат как там???

инклуд colorchat'а
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя my_world243
сообщение 8.2.2011, 18:19
Сообщение #7
Стаж: 15 лет

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

Плагин Deathrun Shop v 4.0
Помогите сделать чтобы надпись "[Deathrun Shop]" была красным цветом в чате.

Я делал так:
Цитата
client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_BOTHGREN_ITEM" );
ColorChat( id, TEAM_COLOR, "[Deathrun Shop] %L", id, "DRSHOP_BOTHGREN_ITEM", message );


У меня выдает ошыбку (картинка):
http://s013.radikal.ru/i324/1102/7c/d1aad41fc79b.bmp

*.sma
Код
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>

// Let's force the semicolon on every endline
#pragma semicolon 1

// Some defines
#define PICKUP_SND "items/gunpickup2.wav"
#define HEALTH_SOUND "items/smallmedkit1.wav"
#define ARMOR_SOUND "items/ammopickup2.wav"
#define CLOACK_SOUND "hornet/ag_buzz1.wav"
#define LJ_SOUND "fvox/powermove_on.wav"
#define SOUND_NVGOFF "items/nvg_off.wav"
#define ADMIN_ACCESS_CMD ADMIN_KICK    
#define HAS_NVGS (1<<0)
#define USES_NVGS (1<<8)
#define get_user_nvg(%1) (get_pdata_int(%1,m_iNvg) & HAS_NVGS)
#define OFFSET_MONEY     115

// Plugin informations
new const PLUGIN[] = "Deathrun Shop";
new const VERSION[] = "4.0";
new const AUTHOR[] = "tuty";

// Zomg lot of globals
new gDrShopOn;
new gHeCost;
new gBothGrenadesCost;
new gSilentCost;
new gHealthCost;
new gArmorCost;
new gSpeedCost;
new gGravityCost;
new gInvisCost;
new gSpeedCvar;
new gGravityCvar;
new gAdvertiseCvar;
new gHealthPointCvar;
new gArmorPointCvar;
new gAdvertiseTimeCvar;
new gInvisPercent;
new gKillerPointsCvar;
new gSuiciderPointsCvar;
new gSavePlayerPoints;
new gNoclipCost;
new gVault;
new gNoclipTime;
new gJetSprite;
new gJetPackCost;
new gJetTime;
new gDeagleCost;
new gMsgItemPickup;
new gLongJumpTime;
new gLongJumpCost;
new gGlowCost;
new gNvgCost;
new gMessageNVG;
new gMsgMoney;

// Item variables
new HasHe[ 33 ];
new HasBothGren[ 33 ];
new HasSilent[ 33 ];
new HasHealth[ 33 ];
new HasArmor[ 33 ];
new HasSpeed[ 33 ];
new HasGravity[ 33 ];
new HasInvis[ 33 ];
new HasNoclip[ 33 ];
new HasJet[ 33 ];
new HasDeagle[ 33 ];
new HasLongJump[ 33 ];
new HasGlow[ 33 ];
new HasNVG[ 33 ];
new gName[ 32 char ];
new gSteamID[ 32 ];
new vKey[ 64 ];
new vData[ 64 ];

// Player points, need this to save points, load points, etc
new gKillerPoints[ 33 ];
new g_Saved_Money[33];

// Offsets for nvg
const m_iNvg = 129;
const m_iLinuxDiff = 5;

// So, let's get started
public plugin_init()
{
    // Registering the plugin to show when you type amx_plugins..
    register_plugin( PLUGIN, VERSION, AUTHOR );
    
    // Registering a little cvar to see wich servers using this plugin
    register_cvar( "drshop_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );

    // Register some usefull events
    register_logevent( "logevent_round_start", 2, "1=Round_Start" );
    register_event( "DeathMsg", "Hook_Deathmessage", "a" );
    register_event( "CurWeapon", "HookCurWeapon", "be", "1=1" );
    
    // Called when a player is performing a jump
    RegisterHam( Ham_Player_Jump, "player", "bacon_playerJumping" );
    
    // We need this forward to find if player has suicided with kill in console
    // We can't do that on deathmsg because player die in traps by suicide,.. trigger_hurt or world.. etc
    register_forward( FM_ClientKill, "forward_kill" );
    
    // Command for setting points to player/@all
    register_concmd( "deathrun_set_points", "cmdSetPoints", ADMIN_ACCESS_CMD, "<name/@all> <points> - set points to a player" );
    
    // Command for reseting points to palyer/@all
    register_concmd( "deathrun_reset_points", "cmdResetPoints", ADMIN_ACCESS_CMD, "<name/@all> - reset player points" );
    
    // Command for opening the menu
    register_clcmd( "say drshop", "DeathrunShop" );
    register_clcmd( "say /drshop", "DeathrunShop" );
    register_clcmd( "say_team drshop", "DeathrunShop" );
    register_clcmd( "say_team /drshop", "DeathrunShop" );
    
    // Command to see our points
    register_clcmd( "say money", "ShowPoints" );
    register_clcmd( "say /money", "ShowPoints" );
    register_clcmd( "say_team money", "ShowPoints" );
    register_clcmd( "say_team /money", "ShowPoints" );

    
    // Let's register the cvars, a lot of cvars but huh.. stf
    gDrShopOn = register_cvar( "deathrun_shop", "1" );
    gHeCost = register_cvar( "deathrun_he_cost", "3000" );
    gBothGrenadesCost = register_cvar( "deathrun_bothgrenades_cost", "3500" );
    gSilentCost = register_cvar( "deathrun_silent_cost", "6000" );
    gHealthCost = register_cvar( "deathrun_health_cost", "4000" );
    gArmorCost = register_cvar( "deathrun_armor_cost", "4000" );
    gSpeedCost = register_cvar( "deathrun_speed_cost", "16000" );
    gGravityCost = register_cvar( "deathrun_gravity_cost", "16000" );
    gNoclipCost = register_cvar( "deathrun_noclip_cost", "16000" );
    gJetPackCost = register_cvar( "deathrun_jetpack_cost", "16000" );
    gInvisCost = register_cvar( "deathrun_invisibility_cost", "16000" );
    gSpeedCvar = register_cvar( "deathrun_speed_power", "400.0" );
    gNoclipTime = register_cvar( "deathrun_noclip_duration", "3" );
    gJetTime = register_cvar( "deathrun_jetpack_duration", "16000" );
    gDeagleCost = register_cvar( "deathrun_deagle_cost", "16000" );
    gGravityCvar = register_cvar( "deathrun_gravity_power", "0.5" );
    gAdvertiseCvar = register_cvar( "deathrun_advertise_message", "1" );
    gHealthPointCvar = register_cvar( "deathrun_health_points", "255" );
    gArmorPointCvar = register_cvar( "deathrun_armor_points", "400" );
    gAdvertiseTimeCvar = register_cvar( "deathrun_advertise_time", "7.0" );
    gInvisPercent = register_cvar( "deathrun_invisibility_percentage", "0" );
    gKillerPointsCvar = register_cvar( "deathrun_killer_bonuspoints", "5000" );
    gSuiciderPointsCvar = register_cvar( "deathrun_suicider_loose_points", "5000" );
    gSavePlayerPoints = register_cvar( "deathrun_save_points", "0" );
    gLongJumpTime = register_cvar( "deathrun_longjump_duration", "6" );
    gLongJumpCost = register_cvar( "deathrun_longjump_cost", "10000" );
    gGlowCost = register_cvar( "deathrun_glow_cost", "1500" );
    gNvgCost = register_cvar( "deathrun_nvg_cost", "4000" );

    // Let's find/do some stuff here
    gMsgItemPickup = get_user_msgid( "ItemPickup" );
    gMessageNVG = get_user_msgid( "NVGToggle" );
    gMsgMoney = get_user_msgid( "Money" );
    
    // Register the multilingual file
    register_dictionary( "DeathrunShop.txt" );
    
    // Spawn функция будет вызываться после спавна игрока
    RegisterHam(Ham_Spawn, "player", "Spawn", 1);
}

// Precache stuff
public plugin_precache()
{
    gJetSprite = precache_model( "sprites/explode1.spr" );
    precache_sound( PICKUP_SND );
    precache_sound( HEALTH_SOUND );
    precache_sound( ARMOR_SOUND );
    precache_sound( CLOACK_SOUND );
    precache_sound( LJ_SOUND );
}

// Plugin cfg, here we do some ugly shit ever
public plugin_cfg()
{
    new iCfgDir[ 32 ], iFile[ 192 ];
    
    // We need to find the configs directory, and to add the configuration file
    get_configsdir( iCfgDir, charsmax( iCfgDir ) );
    formatex( iFile, charsmax( iFile ), "%s/DeathrunShop.cfg", iCfgDir );
        
    // If file not exists, let's create one but empty
    if( !file_exists( iFile ) )
    {
        server_print( "[Deathrun Shop] %L", LANG_SERVER, "DRSHOP_SVPRINT", iFile );
        write_file( iFile, " ", -1 );
    }
    
    // Else, let's load the cvars from cfg
    else
    {        
        server_print( "[Deathrun Shop] %L", LANG_SERVER, "DRSHOP_SVPRINT_DONE", iFile );
        server_cmd( "exec %s", iFile );
    }
    
    // Set the server maxspeed to a high value, need it for speed item
    server_cmd( "sv_maxspeed 99999999.0" );
}

// When client is connecting, let's reset stuff and load client's points
public client_connect( id )
{
    HasHe[ id ] = false;
    HasBothGren[ id ] = false;
    HasSilent[ id ] = false;
    HasHealth[ id ] = false;
    HasArmor[ id] = false;
    HasSpeed[ id ] = false;
    HasGravity[ id ] = false;
    HasInvis[ id ] = false;
    HasNoclip[ id ] = false;
    HasJet[ id ] = false;
    HasDeagle[ id ] = false;
    HasLongJump[ id ] = false;
    HasGlow[ id ] = false;
    HasNVG[ id ] = false;
    gKillerPoints[id] = 0;
    g_Saved_Money[id] = 0;
    
    // Load client points
    load_client_points( id );
}

// When client has disconnected let's reset stuff and save points
public client_disconnect( id )
{
    HasHe[ id ] = false;
    HasBothGren[ id ] = false;
    HasSilent[ id ] = false;
    HasHealth[ id ] = false;
    HasArmor[ id] = false;
    HasSpeed[ id ] = false;
    HasGravity[ id ] = false;
    HasInvis[ id ] = false;
    HasNoclip[ id ] = false;
    HasJet[ id ] = false;
    HasDeagle[ id ] = false;
    HasLongJump[ id ] = false;
    HasGlow[ id ] = false;
    HasNVG[ id ] = false;
    
    // If player is not a bot, let's save the points
    if( get_pcvar_num( gSavePlayerPoints ) != 0 && !is_user_bot( id ) )
    {
        // Save player points is cvar is 1
        save_client_points( id );
    }
}

// When client has entered on sv, need to show him a hudmessage
public client_putinserver( id )
{
    if( get_pcvar_num( gAdvertiseCvar ) != 0 )
    {
        // Need to set task, 7 default because need to wait for player choosing a team or something
        set_task( get_pcvar_float( gAdvertiseTimeCvar ), "ShowPlayerInfo", id );
    }
}

// Deathrun shop menu with items
public DeathrunShop( id )
{
    // If cvar is set to 0, player can't open the shop
    if( get_pcvar_num( gDrShopOn ) != 1 )
    {
        client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_DISABLED" );
        return PLUGIN_HANDLED;
    }
    
    // If player is dead, cant buy items
    if( !is_user_alive( id ) )
    {
        client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_ONLY_ALIVE" );
        return PLUGIN_HANDLED;
    }
    
    // Menu stuff
    new szText[ 555 char ];
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_MENU_TITLE", VERSION, fm_get_user_money(id) );
    
    new menu = menu_create( szText, "shop_handler" );

    // Menu item 1
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_1", get_pcvar_num( gHeCost ) );
    menu_additem( menu, szText, "1", 0 );
    
    // Menu item 2
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_2", get_pcvar_num( gBothGrenadesCost ) );
    menu_additem( menu, szText, "2", 0 );
    
    // Menu item 3
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_3", get_pcvar_num( gSilentCost ) );
    menu_additem( menu, szText, "3", 0 );
    
    // Menu item 4
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_4", get_pcvar_num( gHealthPointCvar ), get_pcvar_num( gHealthCost ) );
    menu_additem( menu, szText, "4", 0 );
    
    // Menu item 5
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_5", get_pcvar_num( gArmorPointCvar ), get_pcvar_num( gArmorCost ) );
    menu_additem( menu, szText, "5", 0 );
    
    // Menu item 6
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_6", get_pcvar_num( gSpeedCost ) );
    menu_additem( menu, szText, "6", 0 );
    
    // Menu item 7
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_7", get_pcvar_num( gGravityCost ) );
    menu_additem( menu, szText, "7", 0 );
    
    // Menu item 8
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_8", get_pcvar_num( gInvisPercent ), get_pcvar_num( gInvisCost ) );
    menu_additem( menu, szText, "8", 0 );
    
    // Menu item 9
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_9", get_pcvar_num( gNoclipTime ), get_pcvar_num( gNoclipCost ) );
    menu_additem( menu, szText, "9", 0 );
    
    // Menu item 10
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_10", get_pcvar_num( gJetTime ), get_pcvar_num( gJetPackCost ) );
    menu_additem( menu, szText, "10", 0 );
    
    // Menu item 11
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_11", get_pcvar_num( gDeagleCost ) );
    menu_additem( menu, szText, "11", 0 );
    
    // Menu item 12
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_12", get_pcvar_num( gLongJumpTime ), get_pcvar_num( gLongJumpCost ) );
    menu_additem( menu, szText, "12", 0 );
    
    // Menu item 13
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_13", get_pcvar_num( gGlowCost ) );
    menu_additem( menu, szText, "13", 0 );
    
    // Menu item 14
    formatex( szText, charsmax( szText ), "%L", id, "DRSHOP_ITEM_14", get_pcvar_num( gNvgCost ) );
    menu_additem( menu, szText, "14", 0 );
    
    menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
    
    // Show the menu, with current page 0
    menu_display( id, menu, 0 );

    return PLUGIN_CONTINUE;
}

// Menu commands
public shop_handler( id, menu, item )
{
    // If key is 0, let's close the menu
    if( item == MENU_EXIT )
    {
        menu_destroy( menu );
        return PLUGIN_HANDLED;
    }
    
    // Getting the menu information
    new data[ 6 ], iName[ 64 ], access, callback;
    menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );

    // Get menu keys
    new key = str_to_num( data );
    
    // Here we find the player points
    new money = fm_get_user_money(id);
    g_Saved_Money[id] = money;
    
    switch( key )
    {
        // Menu item 1
        case 1:
        {
            // If already has item, show a damn print and return
            if( HasHe[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gHeCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            give_item( id, "weapon_hegrenade" );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_GRENADE_ITEM" );
            HasHe[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gHeCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 2
        case 2:
        {
            // If already has item, show a damn print and return
            if( HasBothGren[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gBothGrenadesCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            give_item( id, "weapon_hegrenade" );
            give_item( id, "weapon_flashbang" );
            give_item( id, "weapon_flashbang" );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_BOTHGREN_ITEM" );
            HasBothGren[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gBothGrenadesCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 3
        case 3:
        {
            // If already has item, show a damn print and return
            if( HasSilent[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gSilentCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }    
            
            // Let's give the item, and do some stuff
            set_user_footsteps( id, 1 );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_SILENTWALK_ITEM" );
            HasSilent[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gSilentCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 4
        case 4:
        {
            // If already has item, show a damn print and return
            if( HasHealth[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gHealthCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_health( id, get_user_health( id ) + get_pcvar_num( gHealthPointCvar ) );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_HEALTH_ITEM", get_pcvar_num( gHealthPointCvar ) );
            HasHealth[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gHealthPointCvar));
            emit_sound( id, CHAN_ITEM, HEALTH_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 5
        case 5:
        {
            // If already has item, show a damn print and return
            if( HasArmor[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gArmorCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_armor( id, get_user_armor( id ) + get_pcvar_num( gArmorPointCvar ) );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_ARMOR_ITEM", get_pcvar_num( gArmorPointCvar ) );    
            HasArmor[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gArmorPointCvar));
            emit_sound( id, CHAN_ITEM, ARMOR_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 6
        case 6:
        {
            // If already has item, show a damn print and return
            if( HasSpeed[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gSpeedCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_maxspeed( id, get_pcvar_float( gSpeedCvar ) );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_SPEED_ITEM" );
            HasSpeed[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gSpeedCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 7
        case 7:
        {
            // If already has item, show a damn print and return
            if( HasGravity[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gGravityCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_gravity( id, get_pcvar_float( gGravityCvar ) );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_GRAVITY_ITEM" );
            HasGravity[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gGravityCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 0 );
        }
        
        // Menu item 8
        case 8:
        {
            // If already has item, show a damn print and return
            if( HasInvis[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
            
            if( get_user_team( id ) == 2 )
            {
                client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_ONLY_T" );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gInvisCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_rendering( id, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, get_pcvar_num( gInvisPercent ) );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_INVISIBILITY_ITEM" );
            HasInvis[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gInvisCost));
            emit_sound( id, CHAN_ITEM, CLOACK_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
        
        // Menu item 9
        case 9:
        {
            // If already has item, show a damn print and return
            if( HasNoclip[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gNoclipCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_task( float( get_pcvar_num( gNoclipTime ) ), "remove_noclip", id );
            set_user_noclip( id, 1 );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_NOCLIP_ITEM" );
            HasNoclip[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gNoclipCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
        
        // Menu item 10
        case 10:
        {
            // If already has item, show a damn print and return
            if( HasJet[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gJetPackCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_task( float( get_pcvar_num( gJetTime ) ), "remove_jetpack", id );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_JETPACK_ITEM" );
            HasJet[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gJetPackCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
        
        // Menu item 11
        case 11:
        {
            // If already has item, show a damn print and return
            if( HasDeagle[ id ] || user_has_weapon( id, CSW_DEAGLE ) )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gDeagleCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            strip_user_weapons( id );
            give_item( id, "weapon_knife" );
            give_item( id, "weapon_deagle" );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_DEAGLE_ITEM" );
            HasDeagle[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gDeagleCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
        
        // Menu item 12
        case 12:
        {
            // If already has item, show a damn print and return
            if( HasLongJump[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gLongJumpCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            // Setting the temporary long jump
            set_temporary_longjump( id );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_LJ_ITEM" );
            HasLongJump[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gLongJumpCost));
            emit_sound( id, CHAN_ITEM, LJ_SOUND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
        
        // Menu item 13
        case 13:
        {
            // If already has item, show a damn print and return
            if( HasGlow[ id ] )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gGlowCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_rendering( id, kRenderFxGlowShell, random( 256 ), random( 256 ), random( 256 ), kRenderNormal, random( 256 ) );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_GLOW_ITEM" );
            HasGlow[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gGlowCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
        
        // Menu item 13
        case 14:
        {
            // If already has item, show a damn print and return
            if( HasNVG[ id ] || get_user_nvg( id ) )
            {
                allready_have( id );
                return PLUGIN_HANDLED;
            }
        
            // If player does not have enough points, show a print and return
            if( money < get_pcvar_num( gNvgCost ) )
            {
                dont_have( id );
                return PLUGIN_HANDLED;
            }
            
            // Let's give the item, and do some stuff
            set_user_nvg( id, 1 );
            
            client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_NVG_ITEM" );
            HasNVG[ id ] = true;
            
            fm_set_user_money(id, money - get_pcvar_num(gNvgCost));
            emit_sound( id, CHAN_ITEM, PICKUP_SND, VOL_NORM , ATTN_NORM , 0 , PITCH_NORM );
            menu_display( id, menu, 1 );
        }
    }
    
    return PLUGIN_HANDLED;
}

// Command for setting points | admin only
public cmdSetPoints( id, level, cid )
{
    // If user doesn't have acces to command, return
    if( !cmd_access( id, level, cid, 2 ) || !get_pcvar_num( gDrShopOn ) )
    {
        return PLUGIN_HANDLED;
    }
    
    // Need to read the first argument
    new argument[ 32 ];
       read_argv( 1, argument, charsmax( argument ) );

    // Need to read second argument
    new give_points[ 5 ];
    read_argv( 2, give_points, charsmax( give_points ) );

    // We are getting the gift from second argument
    new gift = str_to_num( give_points );
    
    new iPlayer[ 32 ], iNum, all;
    get_players( iPlayer, iNum, "c" );

    // Lets see if argument 1 is @all
    if( equal( argument, "@all" ) )
    {
        for( new i; i < iNum; i++ )
        {
            // Find the index
            all = iPlayer[ i ];
            
            // Set points to all
            new i_Money;
            i_Money = fm_get_user_money(all);
            fm_set_user_money(all, i_Money + gift);
            
            // Show a print in chat
            get_user_name( id, gName, charsmax( gName ) );
            client_print( 0, print_chat, "[Deathrun Shop] %L", LANG_PLAYER, "DRSHOP_SHOW_ALLCMD", gName, gift );
        }
    }
            
    else
    {
        // Now, we find the target
        new player = cmd_target( id, argument, 10 );

        // If is not a valid target, return
        if( !player )
        {
               return PLUGIN_HANDLED;
        }
    

        // Get admin, and target name/
        new TargetName[ 32 char ];
        get_user_name( player, TargetName, charsmax( TargetName ) );
        get_user_name( id, gName, charsmax( gName ) );    
    
        // Setting target points
        new i_Money;
        i_Money = fm_get_user_money(player);
        fm_set_user_money(player, i_Money + gift);
        client_print( 0, print_chat, "[Deathrun Shop] %L", LANG_PLAYER, "DRSHOP_SHOW_CMD", gName, gift, TargetName );
    }

    return PLUGIN_HANDLED;
}

// Command for reseting points | admin only
public cmdResetPoints( id, level, cid )
{
    // If user doesn't have acces to command, return
    if( !cmd_access( id, level, cid, 2 ) || !get_pcvar_num( gDrShopOn ) )
    {
        return PLUGIN_HANDLED;
    }
    
    // Need to read the first argument
    new argument[ 32 ];
       read_argv( 1, argument, charsmax( argument ) );
    
    new iPlayer[ 32 ], iNum, all;
    get_players( iPlayer, iNum, "c" );

    // Lets see if argument 1 is @all
    if( equal( argument, "@all" ) )
    {
        for( new i; i < iNum; i++ )
        {
            // Find the index
            all = iPlayer[ i ];
            
            // Set points to all
            fm_set_user_money(all, 0, 1);
            
            // Show a print in chat
            get_user_name( id, gName, charsmax( gName ) );
            client_print( 0, print_chat, "[Deathrun Shop] %L", LANG_PLAYER, "DRSHOP_SHOWRESET_ALLCMD", gName );
        }
    }
            
    else
    {
        // Now, we find the target
        new player = cmd_target( id, argument, 10 );

        // If is not a valid target, return
        if( !player )
        {
               return PLUGIN_HANDLED;
        }
    

        // Get admin, and target name
        new TargetName[ 32 char ];
        get_user_name( player, TargetName, charsmax( TargetName ) );
        get_user_name( id, gName, charsmax( gName ) );    
    
        // Setting target points
        fm_set_user_money(all, 0, 1);
        client_print( 0, print_chat, "[Deathrun Shop] %L", LANG_PLAYER, "DRSHOP_SHOWRESET_CMD", gName, TargetName );
    }

    return PLUGIN_HANDLED;
}
    
// We need to find if player has performed a jump, and set some velocity
public bacon_playerJumping( id )
{
    // If plugin is on, and user has jetpack item
    if( get_pcvar_num( gDrShopOn ) != 0 && HasJet[ id ] )
    {
        // Get user origins from feet
        new iOrigin[ 3 ];
        get_user_origin( id, iOrigin, 0 );
        
        // Modify origin a bit
        iOrigin[ 2 ] -= 20;
        
        // Get player velocity
        new Float:fVelocity[ 3 ];
        pev( id, pev_velocity, fVelocity );

        // Modify velocity a bit
        fVelocity[ 2 ] += 93;
        
        // Set the player velocity and add a flame effect, jetpack style
        set_pev( id, pev_velocity, fVelocity );
        create_flame( iOrigin );
    }
}    

// We need to check is player has changed his weapon
public HookCurWeapon( id )
{
    // If plugin is on, and user has speed item, let's set the speed again
    if( get_pcvar_num( gDrShopOn ) != 0 && HasSpeed[ id ] )
    {
        set_user_maxspeed( id, get_pcvar_float( gSpeedCvar ) );
    }
}

// Command for show points
public ShowPoints( id )
{
    // Set a hud message
    set_hudmessage( 255, 42, 212, 0.03, 0.86, 2, 6.0, 5.0 );
    
    // We show player points on hud
    show_hudmessage( id, "[Deathrun Shop] %L", id, "DRSHOP_POINTS_INFO", fm_get_user_money(id) );
    
    // We show player points on chat
    client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_POINTS_INFO", fm_get_user_money(id) );
    
    return PLUGIN_CONTINUE;
}

// Here we show player hud information about this god damn shop
public ShowPlayerInfo( id )
{
    // Set a hud message
    set_hudmessage( 0, 189, 255, -1.0, 0.82, 0, 6.0, 12.0 );
    
    // Now we show the info message in hud channel
    show_hudmessage( id, "%L", id, "DRSHOP_HUD_INFO" );
}

// If player has suicided by console
public forward_kill( id )
{
    // Check if plugin is on, and user is alive
    if( get_pcvar_num( gDrShopOn ) == 1 && is_user_alive( id ) )
    {
        // Set player points with suicide cvar
        client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_SHOW_LOOSER", get_pcvar_num( gSuiciderPointsCvar ) );
        gKillerPoints[ id ] -= get_pcvar_num( gSuiciderPointsCvar );
    }
}

// Event for round start */        
public logevent_round_start()
{
    // If plugin is on...
    if( get_pcvar_num( gDrShopOn ) == 1 )
    {
        // I used this native because with get_maxplayers will recieve a damn error with invalid player id..
        // This is good because we can skip the damn bots
        new iPlayers[ 32 ], iNum, i, id;
        get_players( iPlayers, iNum, "c" );
        
        for( i = 0; i < iNum; i++ )
        {
            // Find the index
            id = iPlayers[ i ];
            
            // Reseting items
            HasHe[ id ] = false;
            HasBothGren[ id ] = false;
            HasSilent[ id ] = false;
            HasHealth[ id ] = false;
            HasArmor[ id] = false;
            HasSpeed[ id ] = false;
            HasGravity[ id ] = false;
            HasInvis[ id ] = false;
            HasNoclip[ id ] = false;
            HasJet[ id ] = false;
            HasDeagle[ id ] = false;
            HasLongJump[ id ] = false;
            HasGlow[ id ] = false;
            HasNVG[ id ] = false;
            
            set_user_gravity( id, 1.0 );    
            set_user_maxspeed( id, 0.0 );
            set_user_footsteps( id, 0 );
            set_user_noclip( id, 0 );
            set_user_rendering( id );
            set_user_nvg( id, 0 );
            remove_user_nvg( id );
            remove_task( id );
        }
    }
}

// Event when player died
public Hook_Deathmessage()
{
    // If plugin is on...
    if( get_pcvar_num( gDrShopOn ) == 1 )
    {
        // Get the killer and attacker
        new killer = read_data( 1 );
        new victim = read_data( 2 );

        // If player has died with world / trigger_hurt
        if( killer == victim )
        {
            return PLUGIN_HANDLED;
        }
        
        // Setting killer points when killed a enemy
        gKillerPoints[ killer ] += get_pcvar_num( gKillerPointsCvar );
    
        // Reseting items
        HasHe[ victim ] = false;
        HasBothGren[ victim ] = false;
        HasSilent[ victim ] = false;
        HasHealth[ victim ] = false;
        HasArmor[ victim ] = false;
        HasSpeed[ victim ] = false;
        HasGravity[ victim ] = false;
        HasInvis[ victim ] = false;
        HasNoclip[ victim ] = false;
        HasJet[ victim ] = false;
        HasDeagle[ victim ] = false;
        HasLongJump[ victim ] = false;
        HasGlow[ victim ] = false;
        HasNVG[ victim ] = false;
        
        set_user_gravity( victim, 1.0 );    
        set_user_maxspeed( victim, 0.0 );
        set_user_footsteps( victim, 0 );
        set_user_noclip( victim, 0 );
        set_user_rendering( victim );
        set_user_nvg( victim, 0 );
        remove_user_nvg( victim );
        remove_task( victim );
    }
    
    return PLUGIN_CONTINUE;
}

// Now we need to remove the noclip
public remove_noclip( id )
{
    HasNoclip[ id ] = false;
    set_user_noclip( id, 0 );
    client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_NOCLIP_OFF", get_pcvar_num( gNoclipTime ) );
}

// Now we need to remove the jetpack
public remove_jetpack( id )
{
    HasJet[ id ] = false;
    client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_JETPACK_OFF", get_pcvar_num( gJetTime ) );
}

// Now we need to remove the longjump
public remove_lj( index )
{
    HasLongJump[ index ] = false;
    engfunc( EngFunc_SetPhysicsKeyValue, index, "slj", "0" );
    client_print( index, print_chat, "[Deathrun Shop] %L", index, "DRSHOP_LJ_OFF", get_pcvar_num( gLongJumpTime ) );
}

// Usefull stocks on this plugin
// Display a message in chat if player already have the item
stock allready_have( id )
{
    client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_ALLREADY_HAVE" );
}    

// Display a message in chat if player don't have enough points
stock dont_have( id )
{
    client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_DONTHAVE_POINTS" );
}    

// Saving player points
stock save_client_points( index )
{
    // Open the vault file
    gVault = nvault_open( "DeathrunShop_SavedPoints" );
    
    // If vault return -1, lets stop this shit
    if( gVault == INVALID_HANDLE )
    {
        set_fail_state( "[Deathrun Shop] nValut ERROR: =-> Invalid-Handle" );
    }
    
    // Get the player steamid
    get_user_authid( index, gSteamID, charsmax( gSteamID ) );
    
    // Setting stuff on vault file, and close the file
    formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
    formatex( vData, charsmax( vData ), "%d", gKillerPoints[ index ] );
    nvault_set( gVault, vKey, vData );
    nvault_close( gVault );
}

// Loading client points
stock load_client_points( index )
{
    // Open the vault file
    gVault = nvault_open( "DeathrunShop_SavedPoints" );
    
    // If vault return -1, lets stop this shit
    if( gVault == INVALID_HANDLE )
    {
        set_fail_state( "[Deathrun Shop] nValut ERROR: =-> Invalid-Handle" );
    }
    
    // Get the player steamid
    get_user_authid( index, gSteamID, charsmax( gSteamID ) );
    
    // Get the player points, then, close the nvault vile
    formatex( vKey, charsmax( vKey ), "%sPOINTS", gSteamID );
    gKillerPoints[ index ] = nvault_get( gVault, vKey );
    nvault_close( gVault );
}

// Flame jetpack effect stock
stock create_flame( origin[ 3 ] )
{
    message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
    write_byte( TE_SPRITE );
    write_coord( origin[ 0 ] );
    write_coord( origin[ 1 ] );
    write_coord( origin[ 2 ] );
    write_short( gJetSprite );
    write_byte( 3 );
    write_byte( 99 );
    message_end();
}

// Setting temporary longjump stock
stock set_temporary_longjump( index )
{
    // Let's show to player the jetpack item on hud
    message_begin( MSG_ONE_UNRELIABLE, gMsgItemPickup, _, index );
    write_string( "item_longjump" );
    message_end();

    // Setting the jetpack on
    engfunc( EngFunc_SetPhysicsKeyValue, index, "slj", "1" );
    
    // Setting the time before jetpack will go off
    set_task( float( get_pcvar_num( gLongJumpTime ) ), "remove_lj", index );
}

// Stock for setting user nightvision */
// This stock is more good than cstrike native( give errors )
stock set_user_nvg( index, nvgoggles = 1 )
{
    if( nvgoggles )
    {
        set_pdata_int( index, m_iNvg, get_pdata_int( index, m_iNvg ) | HAS_NVGS );
    }

    else
    {
        set_pdata_int( index, m_iNvg, get_pdata_int( index, m_iNvg ) & ~HAS_NVGS );
    }
}

// Stock for removing turned on nightvision from players. Let's call, force remove nvg
stock remove_user_nvg( index )
{
    new iNvgs = get_pdata_int( index, m_iNvg, m_iLinuxDiff );

    if( !iNvgs )
    {
        return;
    }

    if( iNvgs & USES_NVGS )
    {
        emit_sound( index, CHAN_ITEM, SOUND_NVGOFF, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );

        emessage_begin( MSG_ONE_UNRELIABLE, gMessageNVG, _, index );
        ewrite_byte( 0 );
        emessage_end();
    }

    set_pdata_int( index, m_iNvg, 0, m_iLinuxDiff );
}  
stock fm_get_user_money( index )
{
    new money = get_pdata_int( index, OFFSET_MONEY );
    return money;
}

stock fm_set_user_money( index, money, flash = 1 )
{
    set_pdata_int( index, OFFSET_MONEY, money );
    fm_set_money( index, money, flash );
    return 1;
}
stock fm_set_money( index, money, flash )
{
    message_begin( MSG_ONE_UNRELIABLE, gMsgMoney, {0, 0, 0}, index );
    write_long( money );
    write_byte( flash ? 1 : 0 );
    message_end();
}
public Spawn(id)
{
    // Если кол-во денег больше 0, то выполняем код
    if (gKillerPoints[id] > 0)
    {
        // Даем игроку деньги
        fm_set_user_money(id, gKillerPoints[id]);
        // Обнуляем переменную, чтобы при следующих распавнах ему не выдавались деньги снова
        gKillerPoints[id] = 0;
    }

    g_Saved_Money[id] = fm_get_user_money(id);
}

Большое спасибо за внимание.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 8.2.2011, 18:51
Сообщение #8
Стаж: 16 лет

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

я бы помог но есть 2-3 разновидности колорчата - в инклюде и там по разному немного.
я как то делал все плагины с цветным чатом - у тебя колорчат от numb?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 8.2.2011, 23:36
Сообщение #9
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

my_world243,
Эту строку:
Код
client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_BOTHGREN_ITEM" );
Заменяешь на эту:
Код
ColorChat(id, RED, "[Deathrun Shop] ^x01%L", id, "DRSHOP_BOTHGREN_ITEM")

Добавляешь в начало плагина там где:
Код
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>
Это:
Код
#include <colorchat>

Копируешь инклуд colorchat.inc в папку include.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя my_world243
сообщение 9.2.2011, 13:58
Сообщение #10
Стаж: 15 лет

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

STR@TEG

Спаибо вам бальшое!!!!!

Отредактировал: my_world243, - 9.2.2011, 14:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя my_world243
сообщение 10.2.2011, 19:59
Сообщение #11
Стаж: 15 лет

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

Цитата(STR@TEG @ 9.2.2011, 0:36) *
my_world243,
Эту строку:
Код
client_print( id, print_chat, "[Deathrun Shop] %L", id, "DRSHOP_BOTHGREN_ITEM" );
Заменяешь на эту:
Код
ColorChat(id, RED, "[Deathrun Shop] ^x01%L", id, "DRSHOP_BOTHGREN_ITEM")

Добавляешь в начало плагина там где:
Код
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <nvault>
#include <hamsandwich>
#include <fakemeta>
Это:
Код
#include <colorchat>

Копируешь инклуд colorchat.inc в папку include.


А можно тот же самый результат, только без colorchat.inc?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 11.2.2011, 0:09
Сообщение #12
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Цитата(my_world243 @ 10.2.2011, 20:59) *
А можно тот же самый результат, только без colorchat.inc?
В этом плагине нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя my_world243
сообщение 11.2.2011, 6:44
Сообщение #13
Стаж: 15 лет

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

Как я понял не во всех плагинах можно сделать цветной чат?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 11.2.2011, 9:34
Сообщение #14
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

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