Изменение цвета в чате

Тема в разделе "Общие вопросы", создана пользователем Ðǿ¢, 11 мар 2012.

Статус темы:
Закрыта.
  1. Ðǿ¢

    Ðǿ¢ Read Only

    Сообщения:
    12
    Симпатии:
    0
    Здраствуйте!
    Я хочу что бы в чате писало красным цветом я уже только что не пробывал
    Вот например это PrintToChatAll("\x03Admins online are: %s", buffer);

    Все цыфры перебрал красного цвета нету \x03


    PHP:
    #include <sourcemod>
    #include <colors>  

    #pragma semicolon 1

    new Handle:AdminListEnabled INVALID_HANDLE;
    new 
    Handle:AdminListMode INVALID_HANDLE;
    new 
    Handle:AdminListMenu INVALID_HANDLE;

    public 
    Plugin:myinfo 
    {
        
    name "Admin List",
        
    author "Fredd",
        
    description "prints admins to clients",
        
    version "1.2",
        
    url "www.sourcemod.net"
    }

    public 
    OnPluginStart()
    {
        
    CreateConVar("adminlist_version""1.2""Admin List Version"FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
        
        
    AdminListEnabled        CreateConVar("adminlist_on""1""turns on and off admin list, 1=on ,0=off");
        
    AdminListMode            CreateConVar("adminlist_mode""1""mode that changes how the list appears..");
        
        
    RegConsoleCmd("say"SayHook);
        
    RegConsoleCmd("say_team"SayHook);
    }
    public 
    Action:SayHook(clientargs)
    {
        if(
    GetConVarInt(AdminListEnabled) == 1)
        {   
            new 
    String:text[192];
            
    GetCmdArgString(textsizeof(text));
            
            new 
    startidx 0;
            if (
    text[0] == '"')
            {
                
    startidx 1;
                
                new 
    len strlen(text);
                if (
    text[len-1] == '"')
                {
                    
    text[len-1] = '\0';
                }
            }
            
            if(
    StrEqual(text[startidx], "!admins") || StrEqual(text[startidx], "/admins"))
            {
                switch(
    GetConVarInt(AdminListMode))
                {
                    case 
    1:
                    {
                        
    decl String:AdminNames[MAXPLAYERS+1][MAX_NAME_LENGTH+1];
                        new 
    count 0;
                        for(new 
    <= GetMaxClients();i++)
                        {
                            if(
    IsClientInGame(i))
                            {
                                new 
    AdminId:AdminID GetUserAdmin(i);
                                if(
    AdminID != INVALID_ADMIN_ID)
                                {
                                    
    GetClientName(iAdminNames[count], sizeof(AdminNames[]));
                                    
    count++;
                                }
                            } 
                        }
                        
    decl String:buffer[1024];
                        
    ImplodeStrings(AdminNamescount","buffersizeof(buffer));
                        
    PrintToChatAll("\x03Admins online are: %s"buffer);
                    }
                    case 
    2:
                    {
                        
    decl String:AdminName[MAX_NAME_LENGTH];
                        
    AdminListMenu CreateMenu(MenuListHandler);
                        
    SetMenuTitle(AdminListMenu"Admins Online:");
                                        
                        for(new 
    1<= GetMaxClients(); i++)
                        {
                            if(
    IsClientInGame(i))
                            {
                                new 
    AdminId:AdminID GetUserAdmin(i);
                                if(
    AdminID != INVALID_ADMIN_ID)
                                {
                                    
    GetClientName(iAdminNamesizeof(AdminName));
                                    
    AddMenuItem(AdminListMenuAdminNameAdminName);
                                }
                            } 
                        }
                        
    SetMenuExitButton(AdminListMenutrue);
                        
    DisplayMenu(AdminListMenuclient15);
                    }
                }
            }
        }
        return 
    Plugin_Continue;
    }
    public 
    MenuListHandler(Handle:menuMenuAction:actionparam1param2)
    {
        if (
    action == MenuAction_Select)
        {
            
    CloseHandle(menu);
        }
        else if (
    action == MenuAction_Cancel)
        {
            
    CloseHandle(menu);
        }
        else if (
    action == MenuAction_End)
        {
            
    CloseHandle(menu);
        }
    }
     
    Последнее редактирование: 11 мар 2012
  2. KapaT

    KapaT Эгоист

    Сообщения:
    1.983
    Симпатии:
    408
    Сергей Королев, хочешь чтоб все писали или только админы?
     
  3. Satan

    Satan

    Сообщения:
    162
    Симпатии:
    338
    Сергей Королев, CPrintToChatAll("{red}Admins online are: %s", buffer);
     
    Последнее редактирование: 12 мар 2012
  4. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.761
    Симпатии:
    1.915
    СPrintToChatAll
     
    Satan нравится это.
  5. Satan

    Satan

    Сообщения:
    162
    Симпатии:
    338
    Вечно забываю про букву C там ^_^
     
  6. Ðǿ¢

    Ðǿ¢ Read Only

    Сообщения:
    12
    Симпатии:
    0
    Я побывал Не получается я уже много плагинов хотел сделать красным цветом но там везде
    \x03 , \x01 , \x05

    Добавлено через 41 минуту
    Или вот я хочу красный цвет а там \x04[RPG Сервер] \x05Защита активирована на [\x04%i] \x05секунд", RoundToNearest(Time));
    PHP:
    #include <sourcemod>
    #include <sdktools>

    #define VERSION "1.5"
    #pragma semicolon 1

    new TeamSpec;
    new 
    TeamUna;
    new 
    bool:NoTeams false;

    new 
    Handle:SpawnProtectionEnabled;
    new 
    Handle:SpawnProtectionTime;
    new 
    Handle:SpawnProtectionNotify;
    new 
    Handle:SpawnProtectionColor;

    new 
    RenderOffs;

    enum FX
    {
        
    FxNone 0,
        
    FxPulseFast,
        
    FxPulseSlowWide,
        
    FxPulseFastWide,
        
    FxFadeSlow,
        
    FxFadeFast,
        
    FxSolidSlow,
        
    FxSolidFast,
        
    FxStrobeSlow,
        
    FxStrobeFast,
        
    FxStrobeFaster,
        
    FxFlickerSlow,
        
    FxFlickerFast,
        
    FxNoDissipation,
        
    FxDistort,               // Distort/scale/translate flicker
        
    FxHologram,              // kRenderFxDistort + distance fade
        
    FxExplode,               // Scale up really big!
        
    FxGlowShell,             // Glowing Shell
        
    FxClampMinScale,         // Keep this sprite from getting very small (SPRITES only!)
        
    FxEnvRain,               // for environmental rendermode, make rain
        
    FxEnvSnow,               //  "        "            "    , make snow
        
    FxSpotlight,     
        
    FxRagdoll,
        
    FxPulseFastWider,
    };

    enum Render
    {
        
    Normal 0,         // src
        
    TransColor,         // c*a+dest*(1-a)
        
    TransTexture,        // src*a+dest*(1-a)
        
    Glow,                // src*a+dest -- No Z buffer checks -- Fixed size in screen space
        
    TransAlpha,            // src*srca+dest*(1-srca)
        
    TransAdd,            // src*a+dest
        
    Environmental,        // not drawn, used for environmental effects
        
    TransAddFrameBlend,    // use a fractional frame value to blend between animation frames
        
    TransAlphaAdd,        // src + dest*(1-a)
        
    WorldGlow,            // Same as kRenderGlow but not fixed size in screen space
        
    None,                // Don't render.
    };

    public 
    Plugin:myinfo 
    {
        
    name "Spawn Protection",
        
    author "Fredd",
        
    description "Adds spawn protection",
        
    version VERSION,
        
    url "www.sourcemod.net"
    }

    public 
    OnPluginStart()
    {
        
    CreateConVar("spawnprotection_version"VERSION"Spawn Protection Version"FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
        
        
    SpawnProtectionEnabled        CreateConVar("sp_on""1");
        
    SpawnProtectionTime            CreateConVar("sp_time""10");
        
    SpawnProtectionNotify        CreateConVar("sp_notify""1");
        
    SpawnProtectionColor        CreateConVar("sp_color""0 255 0 120");
        
        
    AutoExecConfig(true"spawn_protection");
        
        
    RenderOffs                    FindSendPropOffs("CBasePlayer""m_clrRender");
        
        
    decl String:ModName[21];
        
    GetGameFolderName(ModNamesizeof(ModName));
        
        if(
    StrEqual(ModName"cstrike"false) || StrEqual(ModName"dod"false) || StrEqual(ModName"tf"false))
        {
            
    TeamSpec 1;
            
    TeamUna 0;
            
    NoTeams false;
            
        } else if(
    StrEqual(ModName"Insurgency"false))
        {
            
    TeamSpec 3;
            
    TeamUna 0;
            
    NoTeams false;
        }
        else if(
    StrEqual(ModName"hl2mp"false))
        {
            
    NoTeams true;
        } else
        {
            
    SetFailState("%s is an unsupported mod"ModName);
        }
        
    HookEvent("player_spawn"OnPlayerSpawn);
    }
    public 
    Action:OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
    {
        if(
    GetConVarInt(SpawnProtectionEnabled) == 1)
        {
            new 
    client     GetClientOfUserId(GetEventInt(event"userid"));
            new 
    Team     GetClientTeam(client);
            
            if(
    NoTeams == false)
            {
                if(
    Team == TeamSpec || Team == TeamUna)
                    return 
    Plugin_Continue;
            }
            if(!
    IsPlayerAlive(client))
                return 
    Plugin_Continue;
            
            
    decl String:SzColor[32];
            
    decl String:Colors[4][4];
            new 
    Float:Time float(GetConVarInt(SpawnProtectionTime));
            
            
    GetConVarString(SpawnProtectionColorSzColorsizeof(SzColor));
            
    ExplodeString(SzColor" "Colors44);
                
            
    SetEntProp(clientProp_Data"m_takedamage"01);
            
    set_rendering(clientFX:FxDistortStringToInt(Colors[0]),StringToInt(Colors[1]),StringToInt(Colors[2]), Render:RENDER_TRANSADDStringToInt(Colors[3]));
            
    CreateTimer(TimeRemoveProtectionclient);
            if(
    GetConVarInt(SpawnProtectionNotify) > 0)
                
    PrintToChat(client"\x04[RPG Сервер] \x05Защита активирована на [\x04%i] \x05секунд"RoundToNearest(Time)); 
        }
        return 
    Plugin_Continue;
    }
    public 
    Action:RemoveProtection(Handle:timerany:client)
    {
        if(
    IsClientInGame(client))
        {
            
    SetEntProp(clientProp_Data"m_takedamage"21);
            
    set_rendering(client);
            if(
    GetConVarInt(SpawnProtectionNotify) > 0)
                
    PrintToChat(client"\x04[RPG Сервер] \x05Защита отключена.");
        }
    }
    stock set_rendering(indexFX:fx=FxNoner=255g=255b=255Render:render=Normalamount=255)
    {
        
    SetEntProp(indexProp_Send"m_nRenderFX"_:fx1);
        
    SetEntProp(indexProp_Send"m_nRenderMode"_:render1);    
        
    SetEntData(indexRenderOffsr1true);
        
    SetEntData(indexRenderOffs 1g1true);
        
    SetEntData(indexRenderOffs 2b1true);
        
    SetEntData(indexRenderOffs 3amount1true);    
    }
     
    Последнее редактирование модератором: 12 мар 2012
  7. KapaT

    KapaT Эгоист

    Сообщения:
    1.983
    Симпатии:
    408
    Сергей Королев, в начала плагина добовлял #include <colors> и вообще файл лежат на сервере с этого расширения?
     
  8. Ðǿ¢

    Ðǿ¢ Read Only

    Сообщения:
    12
    Симпатии:
    0
    Ошибка при компиляции [​IMG]
     
  9. rembo

    rembo

    Сообщения:
    12
    Симпатии:
    0
    русские символы в названии папки Сергей
     
  10. September

    September

    Сообщения:
    1.185
    Симпатии:
    163
    Не хватает расширения colors

    И обнови SourceMod.
    1.4.1 ломаннуть можно
     
Статус темы:
Закрыта.