Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CS:GO

[ROZWIĄZANE] CS:GO Podwójna wiadomość.Wysyła mi dwie wiadomości zamiast 1.

cs:go problem wiadomosci csgo podwojna

  • Zamknięty Temat jest zamknięty
6 odpowiedzi w tym temacie

#1 Gruzus

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:17
Offline

Napisano 10.10.2015 17:07

A więc. Mam pluginy: VIP i Countryv2, który pokazuje, z jakiego kraju jesteś. No i jak piszę coś na sayu to najpierw mi wysyła wiadomość: "[VIP] Gruzus.: Hehehe" a pod tym od razu: "[PL] Gruzus.: Hehehe". Ktoś powie jak rozwiązać?


  • +
  • -
  • 0

#2 Rodzyn

    Wszechwiedzący

  • Power User

Reputacja: 146
Zaawansowany

  • Postów:569
  • GG:
  • Imię:Dawid
  • Lokalizacja:Bielawa
Offline

Napisano 10.10.2015 17:43

Wyłącz któryś z pluginów bądź daj kod źródłowy obu i połączymy te wiadomości w jedno :)


  • +
  • -
  • 0

#3 Gruzus

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:17
Offline

Napisano 11.10.2015 08:50

VIP:

#pragma semicolon 1
 
#include <sourcemod>
#include <sdktools>
#include <cstrike>
#include <clientprefs>
#include <colors>
#include <loghelper>
 
public Plugin:myinfo =
{
name = "VIP Plugin",
author = "Hanys",
description = "vip plugin",
version = "1.2.2",
url = "http://hanys.net.pl"
};
 
new Handle:HP;
new Handle:Smokegrenade;
new Handle:Flashbang;
new Handle:Hegrenade;
new Handle:Armorvalue;
new Handle:Bhashelmet;
new Handle:Defuser;
new Handle:Moneystart;
new Handle:Bombplanted;
new Handle:Bombdefused;
new Handle:Headshot_money;
new Handle:Headshot_hp;
new Handle:Kill_money;
new Handle:Kill_hp;
new Handle:Tagtable;
new Handle:Tagsay;
new Handle:Double_jump;
 
public OnPluginStart()
{
CreateConVar("sm_vip_version", "1.2.2", "VIP Plugin", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);
 
HP = CreateConVar("sm_hp_start", "110", "Ilosc HP na start rundy", FCVAR_NOTIFY);
Smokegrenade = CreateConVar("sm_smokegrenade", "1", "Smoke na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
Flashbang = CreateConVar("sm_flashbang", "1", "Flash na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
Hegrenade = CreateConVar("sm_hegrenade", "1", "Granat na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
Armorvalue = CreateConVar("sm_armorvalue", "1", "Kamizelka na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
Bhashelmet = CreateConVar("sm_bhashelmet", "1", "Kask na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
Defuser = CreateConVar("sm_defuser", "1", "Zestaw do rozbrajania dla CT na start rundy", FCVAR_NONE, true, 0.0, true, 1.0);
Moneystart = CreateConVar("sm_money_start", "200", "Ilosc $ na start rundy", FCVAR_NOTIFY);
Bombplanted = CreateConVar("sm_bomb_planted", "200", "Ilosc $ za podlozenie bomby", FCVAR_NOTIFY);
Bombdefused = CreateConVar("sm_bomb_defused", "200", "Ilosc $ za rozbrojenie bomby", FCVAR_NOTIFY);
Headshot_money = CreateConVar("sm_headshot_money", "150", "Ilosc $ za Headshot", FCVAR_NOTIFY);
Headshot_hp = CreateConVar("sm_headshot_hp", "0", "Ilosc HP za Headshot", FCVAR_NOTIFY);
Kill_money = CreateConVar("sm_kill_money", "100", "Ilosc $ za fraga", FCVAR_NOTIFY);
Kill_hp = CreateConVar("sm_kill_hp", "0", "Ilosc HP za fraga", FCVAR_NOTIFY);
Tagtable = CreateConVar("sm_tag_table", "0", "Tag VIP w tabeli wynikow", FCVAR_NONE, true, 0.0, true, 1.0);
Tagsay = CreateConVar("sm_tag_say", "1", "Tag VIP + kolorowy nick w say", FCVAR_NONE, true, 0.0, true, 1.0);
Double_jump = CreateConVar("sm_double_jump", "1", "Podwojny skok", FCVAR_NONE, true, 0.0, true, 1.0);
 
AutoExecConfig(true, "sm_vip");
 
RegConsoleCmd("say", Command_SendToAll);
RegConsoleCmd("say_team", Command_SendToTeam);
 
HookEvent("player_spawn", Event_OnPlayerSpawn);
HookEvent("bomb_planted", Event_BombPlanted);
HookEvent("bomb_defused", Event_BombDefused);
HookEvent("player_death",  Event_PlayerDeath);
HookEvent("player_team", Event_TagTable);
HookEvent("player_spawn", Event_TagTable);
 
CreateTimer(180.0, Timer_Copy, _, TIMER_REPEAT);
 
}
 
public Action:Timer_Copy(Handle:timer)
{
PrintToChatAll("\x01[\x04VIP\x01]\x04 Plugin VIP by Hanys");
}
 
 
public Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new money = GetEntProp(client, Prop_Send, "m_iAccount");
new team = GetClientTeam(client);
new g_HP = GetConVarInt(HP);
new g_moneystart = GetConVarInt(Moneystart);
 
if (client > 0 && IsPlayerAlive(client))
{
if (IsPlayerGenericAdmin(client))
{
SetEntityHealth(client, g_HP);  //hp
if (GetConVarBool(Smokegrenade)) GivePlayerItem(client, "weapon_smokegrenade"); //smoke
if (GetConVarBool(Flashbang)) GivePlayerItem(client, "weapon_flashbang"); //flash
if (GetConVarBool(Hegrenade)) GivePlayerItem(client, "weapon_hegrenade"); //grenade
 
SetEntProp(client, Prop_Send, "m_iAccount", money + g_moneystart); // plus $ na start
if (GetConVarBool(Armorvalue)) SetEntProp(client, Prop_Send, "m_ArmorValue", 100); //kamizelka
if (GetConVarBool(Bhashelmet)) SetEntProp(client, Prop_Send, "m_bHasHelmet", 1); //helm
 
if(team == CS_TEAM_CT)
{
if (GetConVarBool(Defuser)) GivePlayerItem(client, "item_defuser"); //kombinerki
}
 
 
}
}
}
 
public Event_BombPlanted(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new money = GetEntProp(client, Prop_Send, "m_iAccount");
new g_bombplanted = GetConVarInt(Bombplanted);
 
if (IsPlayerGenericAdmin(client))
{
SetEntProp(client, Prop_Send, "m_iAccount", money + g_bombplanted);//plus $ for Bomb Planted
}
}
 
public Event_BombDefused(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new money = GetEntProp(client, Prop_Send, "m_iAccount");
new g_bombdefused = GetConVarInt(Bombdefused);
 
if (IsPlayerGenericAdmin(client))
{
SetEntProp(client, Prop_Send, "m_iAccount", money + g_bombdefused); //plus $ for Bomb Defused
}
}
 
public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
new money = GetEntProp(attacker, Prop_Send, "m_iAccount");
new health = GetEntProp(attacker, Prop_Send, "m_iHealth");
new g_headshot_money = GetConVarInt(Headshot_money);
new g_headshot_hp = GetConVarInt(Headshot_hp);
new g_kill_money = GetConVarInt(Kill_money);
new g_kill_hp = GetConVarInt(Kill_hp);
 
new bool:headshot = GetEventBool(event, "headshot");
if (IsPlayerGenericAdmin(attacker))
{
if(headshot){
SetEntProp(attacker, Prop_Send, "m_iAccount", money + g_headshot_money); //plus for hs
SetEntProp(attacker, Prop_Send, "m_iHealth", health + g_headshot_hp); //plus hp for hs
}else{
SetEntProp(attacker, Prop_Send, "m_iAccount", money + g_kill_money); //plus for kill
SetEntProp(attacker, Prop_Send, "m_iHealth", health + g_kill_hp); //plus hp for kill
}
}
}
 
public Action:Event_TagTable(Handle:event, String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
if (IsPlayerGenericAdmin(client))
{
if (GetConVarBool(Tagtable)) CS_SetClientClanTag(client, "[VIP]");
}
}
 
public Action:Command_SendToAll(client, args)
{
if ((IsPlayerGenericAdmin(client)) && GetConVarBool(Tagsay))
{
decl String:sTextToAll[1024];
GetCmdArgString(sTextToAll, sizeof(sTextToAll));
StripQuotes(sTextToAll);
LogPlayerEvent(client, "say=", sTextToAll);
 
new team = GetClientTeam(client);
 
if(sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!' && sTextToAll[0] > 0)
{
if(IsPlayerAlive(client) && team == 2 || team == 3)
{
PrintToChatAll("\x01[\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
}
/* Player isn't alive and have team (no spec) */
else if(!IsPlayerAlive(client) && team == 2 || team == 3)
{
PrintToChatAll("\x01*NIE ŻYJE* [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
}
/* Player is in spectate */
else if(!IsPlayerAlive(client) && team != 2 && team != 3)
{
PrintToChatAll("\x01*OBSERWATOR* [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
}
}
 
return Plugin_Handled;
}
 
return Plugin_Continue;
}
 
public Action:Command_SendToTeam(client, args)
{
 
if ((IsPlayerGenericAdmin(client)) && GetConVarBool(Tagsay))
{
decl String:sTextToAll[1024];
GetCmdArgString(sTextToAll, sizeof(sTextToAll));
StripQuotes(sTextToAll);
LogPlayerEvent(client, "say=", sTextToAll);
 
new team = GetClientTeam(client);
 
if(IsPlayerAlive(client) && team == 2 || team == 3)
{
for(new i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!')
{
new PlayersTeam = GetClientTeam(i);
if(PlayersTeam & team && sTextToAll[0] > 0)
{
if(team == 2)
PrintToChat(i, "\x01(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
else
PrintToChat(i, "\x01(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
}
}
}
}
/* Player isn't alive and have team (no spec) */
else if(!IsPlayerAlive(client) && team == 2 || team == 3 && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!')
{
for(new i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsPlayerAlive(i))
{
new PlayersTeam = GetClientTeam(i);
if(PlayersTeam & team && sTextToAll[0] > 0)
{
if(team == 2)
PrintToChat(i, "\x01*NIE ŻYJE*(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
else
PrintToChat(i, "\x01*NIE ŻYJE*(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
}
}
}
}
/* Player is in spectate */
else if(!IsPlayerAlive(client) && team != 2 && team != 3 && sTextToAll[0] != '@' && sTextToAll[0] != '/' && sTextToAll[0] != '!')
{
for(new i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsPlayerAlive(i))
{
new PlayersTeam = GetClientTeam(i);
if(PlayersTeam & team && sTextToAll[0] > 0)
{
if(team == 2)
PrintToChat(i, "\x01*OBSERWATOR*(Terrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
else
PrintToChat(i, "\x01*OBSERWATOR*(Antyterrorysta) [\x04VIP\x01]\x05 %N \x01%s", client, sTextToAll);
}
}
}
}
 
return Plugin_Handled;
}
 
return Plugin_Continue;
}
 
public Action:OnPlayerRunCmd(iClient, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
if ((IsPlayerGenericAdmin(iClient)) && IsPlayerAlive(iClient) && GetConVarBool(Double_jump))
{
static g_fLastButtons[MAXPLAYERS+1], g_fLastFlags[MAXPLAYERS+1], g_iJumps[MAXPLAYERS+1], fCurFlags, fCurButtons;
fCurFlags = GetEntityFlags(iClient);
fCurButtons = GetClientButtons(iClient);
if (g_fLastFlags[iClient] & FL_ONGROUND && !(fCurFlags & FL_ONGROUND) && !(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP) g_iJumps[iClient]++;
else if(fCurFlags & FL_ONGROUND) g_iJumps[iClient] = 0;
else if(!(g_fLastButtons[iClient] & IN_JUMP) && fCurButtons & IN_JUMP && g_iJumps[iClient] == 1)
{
g_iJumps[iClient]++;
decl Float:vVel[3];
GetEntPropVector(iClient, Prop_Data, "m_vecVelocity", vVel);
vVel[2] = 250.0;
TeleportEntity(iClient, NULL_VECTOR, NULL_VECTOR, vVel);
}
 
g_fLastFlags[iClient] = fCurFlags;
g_fLastButtons[iClient] = fCurButtons;
}
return Plugin_Continue;
}
 
/*
@param client id
 
return bool
*/
bool:IsPlayerGenericAdmin(client)
{
if (!CheckCommandAccess(client, "sm_vip", 0, true)) return false;
{
return true;
}
}

Użytkownik Gruzus edytował ten post 11.10.2015 08:51

  • +
  • -
  • 0

#4 Gruzus

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:17
Offline

Napisano 11.10.2015 08:52

Countryv2:

#include <colors> 
#include <geoip> 
#include <cstrike>
#include <basecomm>
 
#define PLUGIN_VERSION "1.4"
 
new Handle:Spam_Timer[MAXPLAYERS+1];
new Spam_max[MAXPLAYERS+1];
 
new bool:g_bSayHook[MAXPLAYERS+1];
 
// Квары - Cvars
new bool:g_bChatTag = true;
new bool:g_bClanTag = true;
 
public Plugin:myinfo = 
{
name = "[CS:GO] Country Tag",
author = "Danyas & Hejter",
description = "Add in chat and in scoreboard country tag.",
version = PLUGIN_VERSION,
url = "http://www.excw.ru"
}
 
public OnPluginStart()
{
    new Handle:hRegister; // Локальный handle для регистрации ConVar'ов
 
    CreateConVar("country_tag_version", PLUGIN_VERSION, "Country Tag Version.", FCVAR_DONTRECORD|FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
 
    // Сразу будем отслеживать изменения и зарегистрируем переменную 
    HookConVarChange((hRegister = CreateConVar("chat_tag", "1", "on/off set country_chat tag in chat (ВКЛ/ВЫКЛ показ страны в чате)", _, true, 0.0, true, 1.0)), OnChatTagChange); 
    g_bChatTag = GetConVarBool(hRegister); // Мгновенно присвоим значение для глобального буля 
 
    // Вторая переменная - Second variable
    HookConVarChange((hRegister = CreateConVar("clan_tag", "1", "on/off set country_clan tag in scoreboard (ВКЛ/ВЫКЛ показ страны в таблице (клантег))", _, true, 0.0, true, 1.0)), OnClanTagChange); 
    g_bClanTag = GetConVarBool(hRegister); // Convars by KyleS
 
    AddCommandListener(say, "say"); 
    AddCommandListener(say, "say_team");
 
    //  Отлов события "ВОЗРОЖДЕНИЕ ИГРОКА"  - HookEvent player_spawn
    HookEvent("player_spawn", Event_OnPlayerSpawn, EventHookMode_Post);
 
    LoadTranslations("csgo_country.phrases");
 
//exec country_tag.cfg
    AutoExecConfig(true, "country_tag");
 
    CloseHandle(hRegister); // Закрывает утечку памяти - Closes a memory leak.
}
 
public OnChatTagChange(Handle:convar, const String:oldValue[], const String:newValue[]) 
{ 
    g_bChatTag = GetConVarBool(convar); 
}
 
public OnClanTagChange(Handle:convar, const String:oldValue[], const String:newValue[]) 
{ 
    g_bClanTag = GetConVarBool(convar); 
}
 
public Action:spamprot(Handle:timer, any:client) 
{ 
Spam_max[client] = 0;
}
 
public Action:SetClanTag(Handle:timer, any:client)
{
if (!IsValidClient(client) || IsFakeClient(client))
return;
 
decl String:ip[14], String:tag[3];
GetClientIP(client, ip, 13); 
GeoipCode2(ip, tag);
CS_SetClientClanTag(client, tag);
}
 
public Action:say(client, const String:command[], args) 
{
    if(g_bChatTag)
{
g_bSayHook[client]=true;
if (IsValidClient(client))
if (BaseComm_IsClientGagged(client)) {PrintToChat(client, "%t", "MUTE"); return Plugin_Handled;}
decl String:ip[14], String:tag[3],String:text[256];
text[0] = '\0';
new team = GetClientTeam(client);
new alive = IsPlayerAlive(client);
GetClientIP(client, ip, 13); 
if (!GeoipCode2(ip, tag)) tag = "??";
if(Spam_max[client] > 1){return Plugin_Handled;}
Spam_max[client]++;
Spam_Timer[client] = CreateTimer(3.0, spamprot, client); 
if (client == 0 && args < 2) return Plugin_Continue;
 
GetCmdArgString(text, sizeof(text));
StripQuotes(text);
TrimString(text);
//пустое сообщение - empty message
if(StrEqual(text, " ") || StrEqual(text, "")) {g_bSayHook[client]=false;return Plugin_Handled;}
if ( strlen(text) == 0 ) return Plugin_Handled;
if(StrContains(text, "@") == 0 || StrContains(text, "/") == 0) return Plugin_Continue;
//if((IsChatTrigger() && text[0] == '/') || (text[0] == '@' && (GetUserFlagBits(client) & ADMFLAG_ROOT ||  GetUserFlagBits(client) & ADMFLAG_GENERIC))){g_bSayHook[client]=false;return Plugin_Continue;}
 
if ( strcmp(command, "say_team") )
{
if (team < 2) Format(text, sizeof(text) ,"%t", "SPECTATOR_SAY_TEAM", tag, client, text);
else
{
if (alive) Format(text, sizeof(text), "%t", "ALIVE_CHAT", tag, client, text);
else Format(text, sizeof(text),"%t", "DEAD", tag, client, text);
}
CPrintToChatAllEx(client, "%s", text);
return Plugin_Handled;
}
 
else if(strcmp(command, "say") == 0)
{
if (team < 2)
{
Format(text, sizeof(text),"%t", "SPECTATOR_SAY", tag, client, text); 
CPrintToChatAllEx(client, "%s", text);
}
else
{
if(team == 3)
{
if (alive) Format(text, sizeof(text), "%t", "TEAM_CT", tag, client, text);
else Format(text, sizeof(text), "%t", "%t", "DEAD_TEAM_CT", tag, client, text); 
}
else
{
if (alive) Format(text, sizeof(text), "%t", "TEAM_T", tag, client, text); 
else Format(text, sizeof(text), "%t", "DEAD_TEAM_T", tag, client, text); 
}
for (new x = 1; x <= MaxClients; x++)
{
   if (IsClientInGame(client))
                    {
   if (GetClientTeam(x) == team)
   {
   CPrintToChatEx(x, x, "%s", text);
   }
   }
   }
}
}
        return Plugin_Handled;
}
    return Plugin_Continue;
}
 
// "ВОЗРОЖДЕНИЕ ИГРОКА" - player_spawn
public Action:Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    if(g_bClanTag)
{
   new client = GetClientOfUserId(GetEventInt(event, "userid"));
   if(client != 0)
   { 
   PlayerSpawn(client);
   }
}
    return Plugin_Continue;
}
 
PlayerSpawn(client)
{
if (!IsValidClient(client))
return;
 
//установка клан тэга - set clan tag
CreateTimer(1.5, SetClanTag, client,TIMER_FLAG_NO_MAPCHANGE); 
}
 
stock bool:IsValidClient(client)
{
    if(client >= 1 && client <= MaxClients && IsValidEntity(client) && IsClientConnected(client) && IsClientInGame(client))
        return true;  
    return false;
}

  • +
  • -
  • 0

#5 Koraks

    Życzliwy

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:37
  • Imię:Krzysztof
  • Lokalizacja:Kraków
Offline

Napisano 11.10.2015 17:20

Jaka flaga u ciebie odpowiada za vipa ?
Sprawdź ten kod (Poprawki robione na szybko, więc może nie działać :)):
Countryv2

#include <colors> 
#include <geoip> 
#include <cstrike>
#include <basecomm>

#define PLUGIN_VERSION "1.4 - @EDIT by Koraks"

new Handle:Spam_Timer[MAXPLAYERS+1];
new Spam_max[MAXPLAYERS+1];

new bool:g_bSayHook[MAXPLAYERS+1];

// Квары - Cvars
new bool:g_bChatTag = true;
new bool:g_bClanTag = true;

public Plugin:myinfo = 
{
	name = "[CS:GO] Country Tag",
	author = "Danyas & Hejter",
	description = "Add in chat and in scoreboard country tag.",
	version = PLUGIN_VERSION,
	url = "http://www.excw.ru"
}

public OnPluginStart()
{
	new Handle:hRegister; // Локальный handle для регистрации ConVar'ов

	CreateConVar("country_tag_version", PLUGIN_VERSION, "Country Tag Version.", FCVAR_DONTRECORD|FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);

	// Сразу будем отслеживать изменения и зарегистрируем переменную 
	HookConVarChange((hRegister = CreateConVar("chat_tag", "1", "on/off set country_chat tag in chat (ВКЛ/ВЫКЛ показ страны в чате)", _, true, 0.0, true, 1.0)), OnChatTagChange); 
	g_bChatTag = GetConVarBool(hRegister); // Мгновенно присвоим значение для глобального буля 

	// Вторая переменная - Second variable
	HookConVarChange((hRegister = CreateConVar("clan_tag", "1", "on/off set country_clan tag in scoreboard (ВКЛ/ВЫКЛ показ страны в таблице (клантег))", _, true, 0.0, true, 1.0)), OnClanTagChange); 
	g_bClanTag = GetConVarBool(hRegister); // Convars by KyleS

	AddCommandListener(say, "say"); 
	AddCommandListener(say, "say_team");

	//  Отлов события "ВОЗРОЖДЕНИЕ ИГРОКА"  - HookEvent player_spawn
	HookEvent("player_spawn", Event_OnPlayerSpawn, EventHookMode_Post);

	LoadTranslations("csgo_country.phrases");

	//exec country_tag.cfg
	AutoExecConfig(true, "country_tag");

	CloseHandle(hRegister); // Закрывает утечку памяти - Closes a memory leak.
}

public OnChatTagChange(Handle:convar, const String:oldValue[], const String:newValue[]) 
{ 
	g_bChatTag = GetConVarBool(convar); 
}

public OnClanTagChange(Handle:convar, const String:oldValue[], const String:newValue[]) 
{ 
	g_bClanTag = GetConVarBool(convar); 
}

public Action:spamprot(Handle:timer, any:client) 
{ 
	Spam_max[client] = 0;
}

public Action:SetClanTag(Handle:timer, any:client)
{
	if (!IsValidClient(client) || IsFakeClient(client))
	return;
	if(IsPlayerGenericAdmin(client))
	{
	decl String:ip[14], String:tag[3];
	GetClientIP(client, ip, 13); 
	GeoipCode2(ip, tag);
	CS_SetClientClanTag(client, tag);
	}
	else
	{
		decl String:tag[3];
		tag = "VIP";
		CS_SetClientClanTag(client, tag);
	}
}

public Action:say(client, const String:command[], args) 
{
	if(g_bChatTag)
	{
		g_bSayHook[client]=true;
		if (IsValidClient(client))
		if (BaseComm_IsClientGagged(client)) {PrintToChat(client, "%t", "MUTE"); return Plugin_Handled;}
		decl String:ip[14], String:tag[3],String:text[256];
		text[0] = '\0';
		new team = GetClientTeam(client);
		new alive = IsPlayerAlive(client);
		GetClientIP(client, ip, 13); 
		if (!GeoipCode2(ip, tag)) tag = "??";
		if(IsPlayerGenericAdmin(client)) tag = "VIP";
		if(Spam_max[client] > 1){return Plugin_Handled;}
		Spam_max[client]++;
		Spam_Timer[client] = CreateTimer(3.0, spamprot, client); 
		if (client == 0 && args < 2) return Plugin_Continue;

		GetCmdArgString(text, sizeof(text));
		StripQuotes(text);
		TrimString(text);
		//пустое сообщение - empty message
		if(StrEqual(text, " ") || StrEqual(text, "")) {g_bSayHook[client]=false;return Plugin_Handled;}
		if ( strlen(text) == 0 ) return Plugin_Handled;
		if(StrContains(text, "@") == 0 || StrContains(text, "/") == 0) return Plugin_Continue;
		//if((IsChatTrigger() && text[0] == '/') || (text[0] == '@' && (GetUserFlagBits(client) & ADMFLAG_ROOT ||  GetUserFlagBits(client) & ADMFLAG_GENERIC))){g_bSayHook[client]=false;return Plugin_Continue;}

		if ( strcmp(command, "say_team") )
		{
			if (team < 2) Format(text, sizeof(text) ,"%t", "SPECTATOR_SAY_TEAM", tag, client, text);
			else
			{
				if (alive) Format(text, sizeof(text), "%t", "ALIVE_CHAT", tag, client, text);
				else Format(text, sizeof(text),"%t", "DEAD", tag, client, text);
			}
			CPrintToChatAllEx(client, "%s", text);
			return Plugin_Handled;
		}

		else if(strcmp(command, "say") == 0)
		{
			if (team < 2)
			{
				Format(text, sizeof(text),"%t", "SPECTATOR_SAY", tag, client, text); 
				CPrintToChatAllEx(client, "%s", text);
			}
			else
			{
				if(team == 3)
				{
					if (alive) Format(text, sizeof(text), "%t", "TEAM_CT", tag, client, text);
					else Format(text, sizeof(text), "%t", "%t", "DEAD_TEAM_CT", tag, client, text); 
				}
				else
				{
					if (alive) Format(text, sizeof(text), "%t", "TEAM_T", tag, client, text); 
					else Format(text, sizeof(text), "%t", "DEAD_TEAM_T", tag, client, text); 
				}
				for (new x = 1; x <= MaxClients; x++)
				{
					if (IsClientInGame(client))
					{
						if (GetClientTeam(x) == team)
						{
							CPrintToChatEx(x, x, "%s", text);
						}
					}
				}
			}
		}
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

// "ВОЗРОЖДЕНИЕ ИГРОКА" - player_spawn
public Action:Event_OnPlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
	if(g_bClanTag)
	{
		new client = GetClientOfUserId(GetEventInt(event, "userid"));
		if(client != 0)
		{ 
			PlayerSpawn(client);
		}
	}
	return Plugin_Continue;
}

PlayerSpawn(client)
{
	if (!IsValidClient(client))
	return;

	//установка клан тэга - set clan tag
	CreateTimer(1.5, SetClanTag, client,TIMER_FLAG_NO_MAPCHANGE); 
}

stock bool:IsValidClient(client)
{
	if(client >= 1 && client <= MaxClients && IsValidEntity(client) && IsClientConnected(client) && IsClientInGame(client))
	return true;  
	return false;
}
bool:IsPlayerGenericAdmin(client)
{
	if (!CheckCommandAccess(client, "sm_vip", 0, true)) return false;
	{
		return true;
	}
}

A te ConVary ustaw na 0 :
sm_tag_say
sm_tag_table


Użytkownik Koraks edytował ten post 11.10.2015 17:30

  • +
  • -
  • 0

#6 Gruzus

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:17
Offline

Napisano 11.10.2015 23:40

Dziękuję. Działa. Zamknąć.


  • +
  • -
  • 0

#7 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 12.10.2015 01:40

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo






Również z jednym lub większą ilością słów kluczowych: cs:go, problem, wiadomosci, csgo, podwojna

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych