Прошу помощи в Spawn Protection v1.5

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

  1. Ðǿ¢

    Ðǿ¢ Read Only

    Сообщения:
    12
    Симпатии:
    0
    Я пытаюсь использовать [INC] Colors v.1.0.5
    Для изменения цвета делаю вроде все правильно но выдает ошибку при компиляции Не могу понять в чем проблема
    Вот ошибка [​IMG][​IMG]
    PHP:
    #include <sourcemod>
    #include <sdktools>
    #include <colors>

    #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""5");
        
    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)
                
    CPrintToChatAll("{red}[RPG Сервер] {olive}Защита активирована на {red}[{green}%i{red}] {olive}секунд"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)
               
    CPrintToChatAll(client"{red}[RPG Сервер] {olive}Защита отключена...");
        }
    }
    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);    
    }
     
    Последнее редактирование: 13 мар 2012
  2. Игорь Охремчук

    Игорь Охремчук Админ uaplayer.com

    Сообщения:
    243
    Симпатии:
    366
    :)
     

    Вложения:

    • plugin.sp
      Размер файла:
      5,2 КБ
      Просмотров:
      23
    • plugin.smx
      Размер файла:
      7,4 КБ
      Просмотров:
      9
    Ðǿ¢ нравится это.
  3. Ðǿ¢

    Ðǿ¢ Read Only

    Сообщения:
    12
    Симпатии:
    0
    А вот еще почему пишется не 1 раз а много
    [​IMG]
     
  4. Игорь Охремчук

    Игорь Охремчук Админ uaplayer.com

    Сообщения:
    243
    Симпатии:
    366
    В плагине используется ведь функция CPrintToChatAll();
    То-есть каждый раз, когда игрок спавнится - всем в чат пишет данную фразу.
    Измени на CPrintToChat(client, "message")
     
    Ðǿ¢ нравится это.
  5. Ðǿ¢

    Ðǿ¢ Read Only

    Сообщения:
    12
    Симпатии:
    0
    БОльшое спасибо, за помошь.