Raised This Month: $51 Target: $400
 12% 

Beaconme (simple) German/English


Post New Thread Reply   
 
Thread Tools Display Modes
Author
Changelog.txt
Junior Member
Join Date: May 2014
Plugin ID:
4225
Plugin Version:
1,0
Plugin Category:
General Purpose
Plugin Game:
Any
Plugin Dependencies:
    Servers with this Plugin:
     
    Plugin Description:
    Unapprover:
    Reason for Unapproving:
    No plugin
    Old 05-30-2014 , 16:06   Beaconme (simple) German/English
    Reply With Quote #1

    -closed-

    Last edited by Changelog.txt; 05-31-2014 at 04:47. Reason: Attachments removed
    Changelog.txt is offline
    arthurdead
    Senior Member
    Join Date: Jul 2013
    Old 05-30-2014 , 17:48   Re: Beaconme (simple) German/English
    Reply With Quote #2

    no source
    arthurdead is offline
    ecca
    Sexy Santa
    Join Date: Jan 2011
    Old 05-30-2014 , 18:05   Re: Beaconme (simple) German/English
    Reply With Quote #3

    Upload sourcecode or get the thread trashed.
    __________________
    ecca is offline
    Changelog.txt
    Junior Member
    Join Date: May 2014
    Old 05-30-2014 , 18:22   Re: Beaconme (simple) German/English
    Reply With Quote #4

    fuck you
    bann me please

    Last edited by Changelog.txt; 05-31-2014 at 04:50.
    Changelog.txt is offline
    ecca
    Sexy Santa
    Join Date: Jan 2011
    Old 05-30-2014 , 19:11   Re: Beaconme (simple) German/English
    Reply With Quote #5

    English version

    PHP Code:
    public PlVers:__version =
    {
        
    version 5,
        
    filevers "1.5.0-dev+3830",
        
    date "05/30/2014",
        
    time "21:56:56"
    };
    new 
    Float:NULL_VECTOR[3];
    new 
    String:NULL_STRING[4];
    public 
    Extension:__ext_core =
    {
        
    name "Core",
        
    file "core",
        
    autoload 0,
        
    required 0,
    };
    new 
    MaxClients;
    public 
    Extension:__ext_sdktools =
    {
        
    name "SDKTools",
        
    file "sdktools.ext",
        
    autoload 1,
        
    required 1,
    };
    public 
    Extension:__ext_cstrike =
    {
        
    name "cstrike",
        
    file "games/game.cstrike.ext",
        
    autoload 0,
        
    required 1,
    };
    new 
    String:CTag[6][0];
    new 
    String:CTagCode[6][16] =
    {
        
    "",
        
    "\x04",
        
    "\x03",
        
    "\x03",
        
    "\x03",
        
    "\x05"
    };
    new 
    bool:CTagReqSayText2[6] =
    {
        
    001110
    };
    new 
    bool:CEventIsHooked;
    new 
    bool:CSkipList[66];
    new 
    bool:CProfile_Colors[6] =
    {
        
    110000
    };
    new 
    CProfile_TeamIndex[6] =
    {
        -
    1, ...
    };
    new 
    bool:CProfile_SayText2;
    new 
    Handle:Timers[66];
    new 
    g_BeamSprite;
    new 
    g_HaloSprite;
    new 
    redColor[4] =
    {
        
    2557575255
    };
    new 
    blueColor[4] =
    {
        
    7575255255
    };
    new 
    bool:g_allo[66];
    public 
    Plugin:myinfo =
    {
        
    name "Beaconme",
        
    description "Outbreak",
        
    author "Changelog.txt (Outbreak)",
        
    version "1.0",
        
    url "http://www.Outbreak.de"
    };
    public 
    __ext_core_SetNTVOptional()
    {
        
    MarkNativeAsOptional("GetFeatureStatus");
        
    MarkNativeAsOptional("RequireFeature");
        
    MarkNativeAsOptional("AddCommandListener");
        
    MarkNativeAsOptional("RemoveCommandListener");
        
    MarkNativeAsOptional("BfWriteBool");
        
    MarkNativeAsOptional("BfWriteByte");
        
    MarkNativeAsOptional("BfWriteChar");
        
    MarkNativeAsOptional("BfWriteShort");
        
    MarkNativeAsOptional("BfWriteWord");
        
    MarkNativeAsOptional("BfWriteNum");
        
    MarkNativeAsOptional("BfWriteFloat");
        
    MarkNativeAsOptional("BfWriteString");
        
    MarkNativeAsOptional("BfWriteEntity");
        
    MarkNativeAsOptional("BfWriteAngle");
        
    MarkNativeAsOptional("BfWriteCoord");
        
    MarkNativeAsOptional("BfWriteVecCoord");
        
    MarkNativeAsOptional("BfWriteVecNormal");
        
    MarkNativeAsOptional("BfWriteAngles");
        
    MarkNativeAsOptional("BfReadBool");
        
    MarkNativeAsOptional("BfReadByte");
        
    MarkNativeAsOptional("BfReadChar");
        
    MarkNativeAsOptional("BfReadShort");
        
    MarkNativeAsOptional("BfReadWord");
        
    MarkNativeAsOptional("BfReadNum");
        
    MarkNativeAsOptional("BfReadFloat");
        
    MarkNativeAsOptional("BfReadString");
        
    MarkNativeAsOptional("BfReadEntity");
        
    MarkNativeAsOptional("BfReadAngle");
        
    MarkNativeAsOptional("BfReadCoord");
        
    MarkNativeAsOptional("BfReadVecCoord");
        
    MarkNativeAsOptional("BfReadVecNormal");
        
    MarkNativeAsOptional("BfReadAngles");
        
    MarkNativeAsOptional("BfGetNumBytesLeft");
        
    MarkNativeAsOptional("PbReadInt");
        
    MarkNativeAsOptional("PbReadFloat");
        
    MarkNativeAsOptional("PbReadBool");
        
    MarkNativeAsOptional("PbReadString");
        
    MarkNativeAsOptional("PbReadColor");
        
    MarkNativeAsOptional("PbReadAngle");
        
    MarkNativeAsOptional("PbReadVector");
        
    MarkNativeAsOptional("PbReadVector2D");
        
    MarkNativeAsOptional("PbGetRepeatedFieldCount");
        
    MarkNativeAsOptional("PbReadRepeatedInt");
        
    MarkNativeAsOptional("PbReadRepeatedFloat");
        
    MarkNativeAsOptional("PbReadRepeatedBool");
        
    MarkNativeAsOptional("PbReadRepeatedString");
        
    MarkNativeAsOptional("PbReadRepeatedColor");
        
    MarkNativeAsOptional("PbReadRepeatedAngle");
        
    MarkNativeAsOptional("PbReadRepeatedVector");
        
    MarkNativeAsOptional("PbReadRepeatedVector2D");
        
    MarkNativeAsOptional("PbSetInt");
        
    MarkNativeAsOptional("PbSetFloat");
        
    MarkNativeAsOptional("PbSetBool");
        
    MarkNativeAsOptional("PbSetString");
        
    MarkNativeAsOptional("PbSetColor");
        
    MarkNativeAsOptional("PbSetAngle");
        
    MarkNativeAsOptional("PbSetVector");
        
    MarkNativeAsOptional("PbSetVector2D");
        
    MarkNativeAsOptional("PbAddInt");
        
    MarkNativeAsOptional("PbAddFloat");
        
    MarkNativeAsOptional("PbAddBool");
        
    MarkNativeAsOptional("PbAddString");
        
    MarkNativeAsOptional("PbAddColor");
        
    MarkNativeAsOptional("PbAddAngle");
        
    MarkNativeAsOptional("PbAddVector");
        
    MarkNativeAsOptional("PbAddVector2D");
        
    MarkNativeAsOptional("PbReadMessage");
        
    MarkNativeAsOptional("PbReadRepeatedMessage");
        
    MarkNativeAsOptional("PbAddMessage");
        
    VerifyCoreVersion();
        return 
    0;
    }

    Float:operator+(Float:,_:)(Float:oper1oper2)
    {
        return 
    oper1 float(oper2);
    }

    bool:StrEqual(String:str1[], String:str2[], bool:caseSensitive)
    {
        return 
    strcmp(str1str2caseSensitive) == 0;
    }

    Handle:StartMessageOne(String:msgname[], clientflags)
    {
        new 
    players[1];
        
    players[0] = client;
        return 
    StartMessage(msgnameplayers1flags);
    }

    TE_SendToAll(Float:delay)
    {
        new 
    total;
        new 
    clients[MaxClients];
        new 
    1;
        while (
    <= MaxClients)
        {
            if (
    IsClientInGame(i))
            {
                
    total++;
                
    clients[total] = i;
                
    i++;
            }
            
    i++;
        }
        return 
    TE_Send(clientstotaldelay);
    }

    TE_SetupBeamRingPoint(Float:center[3], Float:Start_RadiusFloat:End_RadiusModelIndexHaloIndexStartFrameFrameRateFloat:LifeFloat:WidthFloat:AmplitudeColor[4], SpeedFlags)
    {
        
    TE_Start("BeamRingPoint");
        
    TE_WriteVector("m_vecCenter"center);
        
    TE_WriteFloat("m_flStartRadius"Start_Radius);
        
    TE_WriteFloat("m_flEndRadius"End_Radius);
        
    TE_WriteNum("m_nModelIndex"ModelIndex);
        
    TE_WriteNum("m_nHaloIndex"HaloIndex);
        
    TE_WriteNum("m_nStartFrame"StartFrame);
        
    TE_WriteNum("m_nFrameRate"FrameRate);
        
    TE_WriteFloat("m_fLife"Life);
        
    TE_WriteFloat("m_fWidth"Width);
        
    TE_WriteFloat("m_fEndWidth"Width);
        
    TE_WriteFloat("m_fAmplitude"Amplitude);
        
    TE_WriteNum("r"Color[0]);
        
    TE_WriteNum("g"Color[1]);
        
    TE_WriteNum("b"Color[2]);
        
    TE_WriteNum("a"Color[3]);
        
    TE_WriteNum("m_nSpeed"Speed);
        
    TE_WriteNum("m_nFlags"Flags);
        
    TE_WriteNum("m_nFadeLength"0);
        return 
    0;
    }

    CPrintToChat(clientString:szMessage[])
    {
        if (
    client <= 0)
        {
            
    ThrowError("Invalid client index %d"client);
        }
        if (!
    IsClientInGame(client))
        {
            
    ThrowError("Client %d is not in game"client);
        }
        
    decl String:szBuffer[252];
        
    decl String:szCMessage[252];
        
    SetGlobalTransTarget(client);
        
    Format(szBuffer250""szMessage);
        
    VFormat(szCMessage250szBuffer3);
        new 
    index CFormat(szCMessage250, -1);
        if (
    index == -1)
        {
            
    PrintToChat(clientszCMessage);
        }
        else
        {
            
    CSayText2(clientindexszCMessage);
        }
        return 
    0;
    }

    CFormat(String:szMessage[], maxlengthauthor)
    {
        if (!
    CEventIsHooked)
        {
            
    CSetupProfile();
            
    HookEvent("server_spawn"CEvent_MapStartEventHookMode:2);
            
    CEventIsHooked 1;
        }
        new 
    iRandomPlayer = -1;
        if (
    author != -1)
        {
            if (
    CProfile_SayText2)
            {
                
    ReplaceString(szMessagemaxlength"{teamcolor}""\x03"true);
                
    iRandomPlayer author;
            }
            else
            {
                
    ReplaceString(szMessagemaxlength"{teamcolor}"CTagCode[1][0], true);
            }
        }
        else
        {
            
    ReplaceString(szMessagemaxlength"{teamcolor}"""true);
        }
        new 
    i;
        while (
    6)
        {
            if (!(
    StrContains(szMessageCTag[i][0][0], true) == -1))
            {
                if (!
    CProfile_Colors[i][0][0])
                {
                    
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[1][0], true);
                }
                else
                {
                    if (!
    CTagReqSayText2[i][0][0])
                    {
                        
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[i][0][0], true);
                    }
                    if (!
    CProfile_SayText2)
                    {
                        
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[1][0], true);
                    }
                    if (
    iRandomPlayer == -1)
                    {
                        
    iRandomPlayer CFindRandomPlayerByTeam(CProfile_TeamIndex[i][0][0]);
                        if (
    iRandomPlayer == -2)
                        {
                            
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[1][0], true);
                        }
                        else
                        {
                            
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[i][0][0], true);
                        }
                    }
                    
    ThrowError("Using two team colors in one message is not allowed");
                }
            }
            
    i++;
        }
        return 
    iRandomPlayer;
    }

    CFindRandomPlayerByTeam(color_team)
    {
        if (
    color_team)
        {
            new 
    1;
            while (
    <= MaxClients)
            {
                if (
    IsClientInGame(i))
                {
                    return 
    i;
                }
                
    i++;
            }
            return -
    2;
        }
        return 
    0;
    }

    CSayText2(clientauthorString:szMessage[])
    {
        new 
    Handle:hBuffer StartMessageOne("SayText2"client0);
        
    BfWriteByte(hBufferauthor);
        
    BfWriteByte(hBuffer1);
        
    BfWriteString(hBufferszMessage);
        
    EndMessage();
        return 
    0;
    }

    CSetupProfile()
    {
        
    decl String:szGameName[32];
        
    GetGameFolderName(szGameName30);
        if (
    StrEqual(szGameName"cstrike"false))
        {
            
    CProfile_Colors[2] = 1;
            
    CProfile_Colors[3] = 1;
            
    CProfile_Colors[4] = 1;
            
    CProfile_Colors[5] = 1;
            
    CProfile_TeamIndex[2] = 0;
            
    CProfile_TeamIndex[3] = 2;
            
    CProfile_TeamIndex[4] = 3;
            
    CProfile_SayText2 1;
        }
        else
        {
            if (
    StrEqual(szGameName"tf"false))
            {
                
    CProfile_Colors[2] = 1;
                
    CProfile_Colors[3] = 1;
                
    CProfile_Colors[4] = 1;
                
    CProfile_Colors[5] = 1;
                
    CProfile_TeamIndex[2] = 0;
                
    CProfile_TeamIndex[3] = 2;
                
    CProfile_TeamIndex[4] = 3;
                
    CProfile_SayText2 1;
            }
            if (
    StrEqual(szGameName"left4dead"false))
            {
                
    CProfile_Colors[2] = 1;
                
    CProfile_Colors[3] = 1;
                
    CProfile_Colors[4] = 1;
                
    CProfile_Colors[5] = 1;
                
    CProfile_TeamIndex[2] = 0;
                
    CProfile_TeamIndex[3] = 3;
                
    CProfile_TeamIndex[4] = 2;
                
    CProfile_SayText2 1;
            }
            if (
    StrEqual(szGameName"hl2mp"false))
            {
                if (
    GetConVarBool(FindConVar("mp_teamplay")))
                {
                    
    CProfile_Colors[3] = 1;
                    
    CProfile_Colors[4] = 1;
                    
    CProfile_Colors[5] = 1;
                    
    CProfile_TeamIndex[3] = 3;
                    
    CProfile_TeamIndex[4] = 2;
                    
    CProfile_SayText2 1;
                }
                else
                {
                    
    CProfile_SayText2 0;
                    
    CProfile_Colors[5] = 1;
                }
            }
            if (
    StrEqual(szGameName"dod"false))
            {
                
    CProfile_Colors[5] = 1;
                
    CProfile_SayText2 0;
            }
            if (
    GetUserMessageId("SayText2") == -1)
            {
                
    CProfile_SayText2 0;
            }
            
    CProfile_Colors[3] = 1;
            
    CProfile_Colors[4] = 1;
            
    CProfile_TeamIndex[3] = 2;
            
    CProfile_TeamIndex[4] = 3;
            
    CProfile_SayText2 1;
        }
        return 
    0;
    }

    public 
    Action:CEvent_MapStart(Handle:eventString:name[], bool:dontBroadcast)
    {
        
    CSetupProfile();
        new 
    1;
        while (
    <= MaxClients)
        {
            
    CSkipList[i] = 0;
            
    i++;
        }
        return 
    Action:0;
    }

    public 
    OnPluginStart()
    {
        
    RegConsoleCmd("sm_beaconme"abc""0);
        return 
    0;
    }

    public 
    OnMapStart()
    {
        
    g_BeamSprite PrecacheModel("materials/sprites/physbeam.vmt"false);
        
    g_HaloSprite PrecacheModel("materials/sprites/glow.vmt"false);
        return 
    0;
    }

    public 
    Action:abc(clientargs)
    {
        if (
    client)
        {
            if (
    IsClientInGame(client))
            {
                if (!
    g_allo[client][0][0])
                {
                    
    g_allo[client] = 1;
                    
    CPrintToChat(client"{green}[Beacon-Outbreak]{lightgreen} Beacon is enabled");
                }
                
    g_allo[client] = 0;
                
    CPrintToChat(client"{green}[Beacon-Outbreak]{lightgreen} Beacon is disable");
            }
            return 
    Action:0;
        }
        return 
    Action:0;
    }

    public 
    OnClientPutInServer(client)
    {
        
    Timers[client] = CreateTimer(10Timer_Beaconclient1);
        return 
    0;
    }

    public 
    OnClientDisconnect(client)
    {
        
    CloseHandle(Timers[client][0][0]);
        
    Timers[client] = 0;
        return 
    0;
    }

    public 
    Action:Timer_Beacon(Handle:timerclient)
    {
        if (
    IsPlayerAlive(client))
        {
            
    SetupBeacon(client);
        }
        return 
    Action:0;
    }

    SetupBeacon(client)
    {
        new 
    Float:vec[3] = 0;
        if (
    GetClientTeam(client) == 2)
        {
            
    GetClientAbsOrigin(clientvec);
            
    var1 var1[1];
            
    TE_SetupBeamRingPoint(vec101000g_BeamSpriteg_HaloSprite05014010redColor1000);
            
    TE_SendToAll(0);
        }
        if (
    GetClientTeam(client) == 3)
        {
            
    GetClientAbsOrigin(clientvec);
            
    var2 var2[1];
            
    TE_SetupBeamRingPoint(vec101000g_BeamSpriteg_HaloSprite05014010blueColor1000);
            
    TE_SendToAll(0);
        }
        return 
    0;

    German one

    PHP Code:
    public PlVers:__version =
    {
        
    version 5,
        
    filevers "1.5.0-dev+3830",
        
    date "05/30/2014",
        
    time "21:55:27"
    };
    new 
    Float:NULL_VECTOR[3];
    new 
    String:NULL_STRING[4];
    public 
    Extension:__ext_core =
    {
        
    name "Core",
        
    file "core",
        
    autoload 0,
        
    required 0,
    };
    new 
    MaxClients;
    public 
    Extension:__ext_sdktools =
    {
        
    name "SDKTools",
        
    file "sdktools.ext",
        
    autoload 1,
        
    required 1,
    };
    public 
    Extension:__ext_cstrike =
    {
        
    name "cstrike",
        
    file "games/game.cstrike.ext",
        
    autoload 0,
        
    required 1,
    };
    new 
    String:CTag[6][0];
    new 
    String:CTagCode[6][16] =
    {
        
    "",
        
    "\x04",
        
    "\x03",
        
    "\x03",
        
    "\x03",
        
    "\x05"
    };
    new 
    bool:CTagReqSayText2[6] =
    {
        
    001110
    };
    new 
    bool:CEventIsHooked;
    new 
    bool:CSkipList[66];
    new 
    bool:CProfile_Colors[6] =
    {
        
    110000
    };
    new 
    CProfile_TeamIndex[6] =
    {
        -
    1, ...
    };
    new 
    bool:CProfile_SayText2;
    new 
    Handle:Timers[66];
    new 
    g_BeamSprite;
    new 
    g_HaloSprite;
    new 
    redColor[4] =
    {
        
    2557575255
    };
    new 
    blueColor[4] =
    {
        
    7575255255
    };
    new 
    bool:g_allo[66];
    public 
    Plugin:myinfo =
    {
        
    name "Beaconme",
        
    description "Outbreak",
        
    author "Changelog.txt (Outbreak)",
        
    version "1.0",
        
    url "http://www.Outbreak.de"
    };
    public 
    __ext_core_SetNTVOptional()
    {
        
    MarkNativeAsOptional("GetFeatureStatus");
        
    MarkNativeAsOptional("RequireFeature");
        
    MarkNativeAsOptional("AddCommandListener");
        
    MarkNativeAsOptional("RemoveCommandListener");
        
    MarkNativeAsOptional("BfWriteBool");
        
    MarkNativeAsOptional("BfWriteByte");
        
    MarkNativeAsOptional("BfWriteChar");
        
    MarkNativeAsOptional("BfWriteShort");
        
    MarkNativeAsOptional("BfWriteWord");
        
    MarkNativeAsOptional("BfWriteNum");
        
    MarkNativeAsOptional("BfWriteFloat");
        
    MarkNativeAsOptional("BfWriteString");
        
    MarkNativeAsOptional("BfWriteEntity");
        
    MarkNativeAsOptional("BfWriteAngle");
        
    MarkNativeAsOptional("BfWriteCoord");
        
    MarkNativeAsOptional("BfWriteVecCoord");
        
    MarkNativeAsOptional("BfWriteVecNormal");
        
    MarkNativeAsOptional("BfWriteAngles");
        
    MarkNativeAsOptional("BfReadBool");
        
    MarkNativeAsOptional("BfReadByte");
        
    MarkNativeAsOptional("BfReadChar");
        
    MarkNativeAsOptional("BfReadShort");
        
    MarkNativeAsOptional("BfReadWord");
        
    MarkNativeAsOptional("BfReadNum");
        
    MarkNativeAsOptional("BfReadFloat");
        
    MarkNativeAsOptional("BfReadString");
        
    MarkNativeAsOptional("BfReadEntity");
        
    MarkNativeAsOptional("BfReadAngle");
        
    MarkNativeAsOptional("BfReadCoord");
        
    MarkNativeAsOptional("BfReadVecCoord");
        
    MarkNativeAsOptional("BfReadVecNormal");
        
    MarkNativeAsOptional("BfReadAngles");
        
    MarkNativeAsOptional("BfGetNumBytesLeft");
        
    MarkNativeAsOptional("PbReadInt");
        
    MarkNativeAsOptional("PbReadFloat");
        
    MarkNativeAsOptional("PbReadBool");
        
    MarkNativeAsOptional("PbReadString");
        
    MarkNativeAsOptional("PbReadColor");
        
    MarkNativeAsOptional("PbReadAngle");
        
    MarkNativeAsOptional("PbReadVector");
        
    MarkNativeAsOptional("PbReadVector2D");
        
    MarkNativeAsOptional("PbGetRepeatedFieldCount");
        
    MarkNativeAsOptional("PbReadRepeatedInt");
        
    MarkNativeAsOptional("PbReadRepeatedFloat");
        
    MarkNativeAsOptional("PbReadRepeatedBool");
        
    MarkNativeAsOptional("PbReadRepeatedString");
        
    MarkNativeAsOptional("PbReadRepeatedColor");
        
    MarkNativeAsOptional("PbReadRepeatedAngle");
        
    MarkNativeAsOptional("PbReadRepeatedVector");
        
    MarkNativeAsOptional("PbReadRepeatedVector2D");
        
    MarkNativeAsOptional("PbSetInt");
        
    MarkNativeAsOptional("PbSetFloat");
        
    MarkNativeAsOptional("PbSetBool");
        
    MarkNativeAsOptional("PbSetString");
        
    MarkNativeAsOptional("PbSetColor");
        
    MarkNativeAsOptional("PbSetAngle");
        
    MarkNativeAsOptional("PbSetVector");
        
    MarkNativeAsOptional("PbSetVector2D");
        
    MarkNativeAsOptional("PbAddInt");
        
    MarkNativeAsOptional("PbAddFloat");
        
    MarkNativeAsOptional("PbAddBool");
        
    MarkNativeAsOptional("PbAddString");
        
    MarkNativeAsOptional("PbAddColor");
        
    MarkNativeAsOptional("PbAddAngle");
        
    MarkNativeAsOptional("PbAddVector");
        
    MarkNativeAsOptional("PbAddVector2D");
        
    MarkNativeAsOptional("PbReadMessage");
        
    MarkNativeAsOptional("PbReadRepeatedMessage");
        
    MarkNativeAsOptional("PbAddMessage");
        
    VerifyCoreVersion();
        return 
    0;
    }

    Float:operator+(Float:,_:)(Float:oper1oper2)
    {
        return 
    oper1 float(oper2);
    }

    bool:StrEqual(String:str1[], String:str2[], bool:caseSensitive)
    {
        return 
    strcmp(str1str2caseSensitive) == 0;
    }

    Handle:StartMessageOne(String:msgname[], clientflags)
    {
        new 
    players[1];
        
    players[0] = client;
        return 
    StartMessage(msgnameplayers1flags);
    }

    TE_SendToAll(Float:delay)
    {
        new 
    total;
        new 
    clients[MaxClients];
        new 
    1;
        while (
    <= MaxClients)
        {
            if (
    IsClientInGame(i))
            {
                
    total++;
                
    clients[total] = i;
                
    i++;
            }
            
    i++;
        }
        return 
    TE_Send(clientstotaldelay);
    }

    TE_SetupBeamRingPoint(Float:center[3], Float:Start_RadiusFloat:End_RadiusModelIndexHaloIndexStartFrameFrameRateFloat:LifeFloat:WidthFloat:AmplitudeColor[4], SpeedFlags)
    {
        
    TE_Start("BeamRingPoint");
        
    TE_WriteVector("m_vecCenter"center);
        
    TE_WriteFloat("m_flStartRadius"Start_Radius);
        
    TE_WriteFloat("m_flEndRadius"End_Radius);
        
    TE_WriteNum("m_nModelIndex"ModelIndex);
        
    TE_WriteNum("m_nHaloIndex"HaloIndex);
        
    TE_WriteNum("m_nStartFrame"StartFrame);
        
    TE_WriteNum("m_nFrameRate"FrameRate);
        
    TE_WriteFloat("m_fLife"Life);
        
    TE_WriteFloat("m_fWidth"Width);
        
    TE_WriteFloat("m_fEndWidth"Width);
        
    TE_WriteFloat("m_fAmplitude"Amplitude);
        
    TE_WriteNum("r"Color[0]);
        
    TE_WriteNum("g"Color[1]);
        
    TE_WriteNum("b"Color[2]);
        
    TE_WriteNum("a"Color[3]);
        
    TE_WriteNum("m_nSpeed"Speed);
        
    TE_WriteNum("m_nFlags"Flags);
        
    TE_WriteNum("m_nFadeLength"0);
        return 
    0;
    }

    CPrintToChat(clientString:szMessage[])
    {
        if (
    client <= 0)
        {
            
    ThrowError("Invalid client index %d"client);
        }
        if (!
    IsClientInGame(client))
        {
            
    ThrowError("Client %d is not in game"client);
        }
        
    decl String:szBuffer[252];
        
    decl String:szCMessage[252];
        
    SetGlobalTransTarget(client);
        
    Format(szBuffer250""szMessage);
        
    VFormat(szCMessage250szBuffer3);
        new 
    index CFormat(szCMessage250, -1);
        if (
    index == -1)
        {
            
    PrintToChat(clientszCMessage);
        }
        else
        {
            
    CSayText2(clientindexszCMessage);
        }
        return 
    0;
    }

    CFormat(String:szMessage[], maxlengthauthor)
    {
        if (!
    CEventIsHooked)
        {
            
    CSetupProfile();
            
    HookEvent("server_spawn"CEvent_MapStartEventHookMode:2);
            
    CEventIsHooked 1;
        }
        new 
    iRandomPlayer = -1;
        if (
    author != -1)
        {
            if (
    CProfile_SayText2)
            {
                
    ReplaceString(szMessagemaxlength"{teamcolor}""\x03"true);
                
    iRandomPlayer author;
            }
            else
            {
                
    ReplaceString(szMessagemaxlength"{teamcolor}"CTagCode[1][0], true);
            }
        }
        else
        {
            
    ReplaceString(szMessagemaxlength"{teamcolor}"""true);
        }
        new 
    i;
        while (
    6)
        {
            if (!(
    StrContains(szMessageCTag[i][0][0], true) == -1))
            {
                if (!
    CProfile_Colors[i][0][0])
                {
                    
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[1][0], true);
                }
                else
                {
                    if (!
    CTagReqSayText2[i][0][0])
                    {
                        
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[i][0][0], true);
                    }
                    if (!
    CProfile_SayText2)
                    {
                        
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[1][0], true);
                    }
                    if (
    iRandomPlayer == -1)
                    {
                        
    iRandomPlayer CFindRandomPlayerByTeam(CProfile_TeamIndex[i][0][0]);
                        if (
    iRandomPlayer == -2)
                        {
                            
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[1][0], true);
                        }
                        else
                        {
                            
    ReplaceString(szMessagemaxlengthCTag[i][0][0], CTagCode[i][0][0], true);
                        }
                    }
                    
    ThrowError("Using two team colors in one message is not allowed");
                }
            }
            
    i++;
        }
        return 
    iRandomPlayer;
    }

    CFindRandomPlayerByTeam(color_team)
    {
        if (
    color_team)
        {
            new 
    1;
            while (
    <= MaxClients)
            {
                if (
    IsClientInGame(i))
                {
                    return 
    i;
                }
                
    i++;
            }
            return -
    2;
        }
        return 
    0;
    }

    CSayText2(clientauthorString:szMessage[])
    {
        new 
    Handle:hBuffer StartMessageOne("SayText2"client0);
        
    BfWriteByte(hBufferauthor);
        
    BfWriteByte(hBuffer1);
        
    BfWriteString(hBufferszMessage);
        
    EndMessage();
        return 
    0;
    }

    CSetupProfile()
    {
        
    decl String:szGameName[32];
        
    GetGameFolderName(szGameName30);
        if (
    StrEqual(szGameName"cstrike"false))
        {
            
    CProfile_Colors[2] = 1;
            
    CProfile_Colors[3] = 1;
            
    CProfile_Colors[4] = 1;
            
    CProfile_Colors[5] = 1;
            
    CProfile_TeamIndex[2] = 0;
            
    CProfile_TeamIndex[3] = 2;
            
    CProfile_TeamIndex[4] = 3;
            
    CProfile_SayText2 1;
        }
        else
        {
            if (
    StrEqual(szGameName"tf"false))
            {
                
    CProfile_Colors[2] = 1;
                
    CProfile_Colors[3] = 1;
                
    CProfile_Colors[4] = 1;
                
    CProfile_Colors[5] = 1;
                
    CProfile_TeamIndex[2] = 0;
                
    CProfile_TeamIndex[3] = 2;
                
    CProfile_TeamIndex[4] = 3;
                
    CProfile_SayText2 1;
            }
            if (
    StrEqual(szGameName"left4dead"false))
            {
                
    CProfile_Colors[2] = 1;
                
    CProfile_Colors[3] = 1;
                
    CProfile_Colors[4] = 1;
                
    CProfile_Colors[5] = 1;
                
    CProfile_TeamIndex[2] = 0;
                
    CProfile_TeamIndex[3] = 3;
                
    CProfile_TeamIndex[4] = 2;
                
    CProfile_SayText2 1;
            }
            if (
    StrEqual(szGameName"hl2mp"false))
            {
                if (
    GetConVarBool(FindConVar("mp_teamplay")))
                {
                    
    CProfile_Colors[3] = 1;
                    
    CProfile_Colors[4] = 1;
                    
    CProfile_Colors[5] = 1;
                    
    CProfile_TeamIndex[3] = 3;
                    
    CProfile_TeamIndex[4] = 2;
                    
    CProfile_SayText2 1;
                }
                else
                {
                    
    CProfile_SayText2 0;
                    
    CProfile_Colors[5] = 1;
                }
            }
            if (
    StrEqual(szGameName"dod"false))
            {
                
    CProfile_Colors[5] = 1;
                
    CProfile_SayText2 0;
            }
            if (
    GetUserMessageId("SayText2") == -1)
            {
                
    CProfile_SayText2 0;
            }
            
    CProfile_Colors[3] = 1;
            
    CProfile_Colors[4] = 1;
            
    CProfile_TeamIndex[3] = 2;
            
    CProfile_TeamIndex[4] = 3;
            
    CProfile_SayText2 1;
        }
        return 
    0;
    }

    public 
    Action:CEvent_MapStart(Handle:eventString:name[], bool:dontBroadcast)
    {
        
    CSetupProfile();
        new 
    1;
        while (
    <= MaxClients)
        {
            
    CSkipList[i] = 0;
            
    i++;
        }
        return 
    Action:0;
    }

    public 
    OnPluginStart()
    {
        
    RegConsoleCmd("sm_beaconme"abc""0);
        return 
    0;
    }

    public 
    OnMapStart()
    {
        
    g_BeamSprite PrecacheModel("materials/sprites/physbeam.vmt"false);
        
    g_HaloSprite PrecacheModel("materials/sprites/glow.vmt"false);
        return 
    0;
    }

    public 
    Action:abc(clientargs)
    {
        if (
    client)
        {
            if (
    IsClientInGame(client))
            {
                if (!
    g_allo[client][0][0])
                {
                    
    g_allo[client] = 1;
                    
    CPrintToChat(client"{green}[Beacon-Outbreak]{lightgreen} Beacon wurde aktiviert");
                }
                
    g_allo[client] = 0;
                
    CPrintToChat(client"{green}[Beacon-Outbreak]{lightgreen} Beacon wurde deaktiviert");
            }
            return 
    Action:0;
        }
        return 
    Action:0;
    }

    public 
    OnClientPutInServer(client)
    {
        
    Timers[client] = CreateTimer(10Timer_Beaconclient1);
        return 
    0;
    }

    public 
    OnClientDisconnect(client)
    {
        
    CloseHandle(Timers[client][0][0]);
        
    Timers[client] = 0;
        return 
    0;
    }

    public 
    Action:Timer_Beacon(Handle:timerclient)
    {
        if (
    IsPlayerAlive(client))
        {
            
    SetupBeacon(client);
        }
        return 
    Action:0;
    }

    SetupBeacon(client)
    {
        new 
    Float:vec[3] = 0;
        if (
    GetClientTeam(client) == 2)
        {
            
    GetClientAbsOrigin(clientvec);
            
    var1 var1[1];
            
    TE_SetupBeamRingPoint(vec101000g_BeamSpriteg_HaloSprite05014010redColor1000);
            
    TE_SendToAll(0);
        }
        if (
    GetClientTeam(client) == 3)
        {
            
    GetClientAbsOrigin(clientvec);
            
    var2 var2[1];
            
    TE_SetupBeamRingPoint(vec101000g_BeamSpriteg_HaloSprite05014010blueColor1000);
            
    TE_SendToAll(0);
        }
        return 
    0;

    __________________
    ecca is offline
    Dr. McKay
    Sir Dr. SourceMod Plugin Approver Esq. Ltd. M.D. PhD
    Join Date: Aug 2011
    Location: Atlantis
    Old 05-30-2014 , 21:44   Re: Beaconme (simple) German/English
    Reply With Quote #6

    Attachments removed. Source code must be provided with compiled binaries. Please upload the source code or this thread will be unapproved.
    __________________
    Dr. McKay is offline
    Reply



    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 15:30.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode