Привет, а как его можно изменить при sv_cheats 1?Добрый вечер, может кто-то написать плагин для сервера Left 4 Dead, при помощи которого можно изменить цвет ведьме при sv_cheats 0
Привет, а как его можно изменить при sv_cheats 1?
А что если использоватьPHP:public OnClientPutInServer(client) { ClientCommand(client, "cl_witch_light_brightness 10"); // яркость ClientCommand(client, "cl_witch_light_color_r 50"); // красный ClientCommand(client, "cl_witch_light_color_g 100"); // зеленый ClientCommand(client, "cl_witch_light_color_b 200"); // синий }
SetCommandFlags("cl_witch_light_brightness", GetCommandFlags("cl_witch_light_brightness") &~ FCVAR_CHEAT);
SetCommandFlags("cl_witch_light_color_r", GetCommandFlags("cl_witch_light_color_r") &~ FCVAR_CHEAT);
SetCommandFlags("cl_witch_light_color_g", GetCommandFlags("cl_witch_light_color_g") &~ FCVAR_CHEAT);
SetCommandFlags("cl_witch_light_color_b", GetCommandFlags("cl_witch_light_color_b") &~ FCVAR_CHEAT);
А что если использовать
в public OnPluginStart()?PHP:SetCommandFlags("cl_witch_light_brightness", GetCommandFlags("cl_witch_light_brightness") &~ FCVAR_CHEAT); SetCommandFlags("cl_witch_light_color_r", GetCommandFlags("cl_witch_light_color_r") &~ FCVAR_CHEAT); SetCommandFlags("cl_witch_light_color_g", GetCommandFlags("cl_witch_light_color_g") &~ FCVAR_CHEAT); SetCommandFlags("cl_witch_light_color_b", GetCommandFlags("cl_witch_light_color_b") &~ FCVAR_CHEAT);
А что если использовать
в public OnPluginStart()?PHP:SetCommandFlags("cl_witch_light_brightness", GetCommandFlags("cl_witch_light_brightness") &~ FCVAR_CHEAT); SetCommandFlags("cl_witch_light_color_r", GetCommandFlags("cl_witch_light_color_r") &~ FCVAR_CHEAT); SetCommandFlags("cl_witch_light_color_g", GetCommandFlags("cl_witch_light_color_g") &~ FCVAR_CHEAT); SetCommandFlags("cl_witch_light_color_b", GetCommandFlags("cl_witch_light_color_b") &~ FCVAR_CHEAT);
Это и не сработает никогда на клиент сайд квары.Спасибо за совет, завтра вечером попробую.
--- Добавлено позже ---
Не выходит, консоль клиента выдает:
Can't use cheat cvar cl_witch_light_brightness in multiplayer, unless the server has sv_cheats set to 1.
public OnClientPutInServer(client)
{
SetConVarBool(FindConVar("sv_cheats"), true, true, false);
ClientCommand(client, "cl_witch_light_brightness 10"); // яркость
ClientCommand(client, "cl_witch_light_color_r 50"); // красный
ClientCommand(client, "cl_witch_light_color_g 100"); // зеленый
ClientCommand(client, "cl_witch_light_color_b 200"); // синий
SetConVarBool(FindConVar("sv_cheats"), false, true, false);
}
писал логи
#include <sourcemod>
#include <geoip>
#pragma tabsize 0
new Handle:h_connectmsg = INVALID_HANDLE;
new Handle:h_disconnectmsg = INVALID_HANDLE;
public Plugin:myinfo =
{
name = "Connect MSG",
author = "Crazy",
description = "Provides Info of the player when he joins",
version = "1.0Logs",
url = ""
};
public OnPluginStart()
{
h_connectmsg = CreateConVar("sm_connectmsg", "1", "Shows a connect message in the chat once a player joins.", FCVAR_NOTIFY | FCVAR_DONTRECORD);
h_disconnectmsg = CreateConVar("sm_disconnectmsg", "1", "Shows a disconnect message in the chat once a player leaves.", FCVAR_NOTIFY | FCVAR_DONTRECORD);
}
public OnClientPutInServer(client)
{
new Connect = GetConVarInt(h_connectmsg);
if(Connect == 1)
{
new String:name[99], String:authid[99], String:IP[99], String:Country[99];
GetClientName(client, name, sizeof(name));
GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid));
GetClientIP(client, IP, sizeof(IP), true);
if(!GeoipCountry(IP, Country, sizeof Country))
{
Country = "Unknown Country";
}
PrintToChatAll(" \x04[CONNECT]\x03 %s (%s) has joined the server from [%s]", name, authid, Country);
WriteDataLog(client, authid, Country, IP, true);
} else {
CloseHandle(h_connectmsg);
}
}
public OnClientDisconnect(client)
{
new Disconnect = GetConVarInt(h_disconnectmsg);
if(Disconnect == 1)
{
new String:name[99], String:authid[99], String:IP[99], String:Country[99];
GetClientName(client, name, sizeof(name));
GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid));
GetClientIP(client, IP, sizeof(IP), true);
if(!GeoipCountry(IP, Country, sizeof Country))
{
Country = "Unknown Country";
}
PrintToChatAll(" \x04[DISCONNECT]\x03 %s (%s) has left the server from [%s]", name, authid, Country);
WriteDataLog(client, authid, Country, IP);
} else {
CloseHandle(h_disconnectmsg);
}
}
/*Ниже код, включающий логирование для любого плагина*/
#define LOG_PATH_DIR "addons/sourcemod/logs/connectmessage"
stock WriteDataLog(client, const String:authid[], const String:Country[], const String:IP[], bool:connect = false)
{
decl String:buffer[PLATFORM_MAX_PATH], String:data[11];
FormatTime(data, sizeof(data), "%Y-%m-%d");
FormatEx(buffer, PLATFORM_MAX_PATH, "%s/cm-%s.txt", LOG_PATH_DIR, data);
LogToFileEx(buffer, "Игрок %N (%s) %s из %s с IP %s", client, authid, connect ? "подключился к серверу":"отключился от сервера", Country, IP);
}
#include <sourcemod>
#include <geoip>
#pragma tabsize 0
new Handle:h_connectmsg = INVALID_HANDLE;
new Handle:h_disconnectmsg = INVALID_HANDLE;
public Plugin:myinfo =
{
name = "Connect MSG",
author = "Crazy",
description = "Provides Info of the player when he joins",
version = "1.0",
url = ""
};
public OnPluginStart()
{
h_connectmsg = CreateConVar("sm_connectmsg", "1", "Shows a connect message in the chat once a player joins.", FCVAR_NOTIFY | FCVAR_DONTRECORD);
h_disconnectmsg = CreateConVar("sm_disconnectmsg", "1", "Shows a disconnect message in the chat once a player leaves.", FCVAR_NOTIFY | FCVAR_DONTRECORD);
}
public OnClientPutInServer(client)
{
new Connect = GetConVarInt(h_connectmsg);
if(Connect == 1)
{
new String:name[99], String:authid[99], String:IP[99], String:Country[99];
GetClientName(client, name, sizeof(name));
GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid));
GetClientIP(client, IP, sizeof(IP));
if(!GeoipCountry(IP, Country, sizeof Country))
{
Country = "Неизвестная страна";
}
PrintToChatAll(" \x03[CONNECT]\x01 Игрок\x04 %s (%s)\x01 подключился к серверу из\x04 %s\x01 с IP\x04 %s", name, authid, Country, IP);
decl String:path[PLATFORM_MAX_PATH], String:data[11];
FormatTime(data, sizeof(data), "%Y-%m-%d");
BuildPath(PathType:Path_SM, path, sizeof(path), "logs/connectmessage/cm_%s.log", data);
LogToFile(path, "Игрок %s (%s) подключился к серверу из %s с IP %s", name, authid, Country, IP);
} else {
CloseHandle(h_connectmsg);
}
}
public OnClientDisconnect(client)
{
new Disconnect = GetConVarInt(h_disconnectmsg);
if(Disconnect == 1)
{
new String:name[99], String:authid[99], String:IP[99], String:Country[99];
GetClientName(client, name, sizeof(name));
GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid));
GetClientIP(client, IP, sizeof(IP));
if(!GeoipCountry(IP, Country, sizeof Country))
{
Country = "Неизвестная страна";
}
PrintToChatAll(" \x03[DISCONNECT]\x01 Игрок\x04 %s (%s)\x01 отключился от сервера из\x04 %s\x01 с IP\x04 %s", name, authid, Country, IP);
decl String:path[PLATFORM_MAX_PATH], String:data[11];
FormatTime(data, sizeof(data), "%Y-%m-%d");
BuildPath(PathType:Path_SM, path, sizeof(path), "logs/connectmessage/cm_%s.log", data);
LogToFile(path, "Игрок %s (%s) отключился от сервера из %s с IP %s", name, authid, Country, IP);
} else {
CloseHandle(h_disconnectmsg);
}
}
А функцию передачи для преобразования кто добавлять будет?Код, который вы добавили в конец sp файла
Дан же полный код, никто не виноват, что вам лень посмотреть несколько десятков строк.WriteDataLog(client, authid, Country, IP, true);
WriteDataLog(client, authid, Country, IP);
Ничего подобного, ботов исправно записывало. Оффтопне работает
Это уже надо весь Connect MSG переписывать. Оффтопединственный минус в том, что теперь записываются подключения\отключения игроков при смене карты
Ну, наконец-то. :biggrin:Все работает!
А о каком свете идёт речь? Когда ведьма сидит и над ней такой по дефолту красоватый? Или имеется ввиду glow вокруг ведьмы?
Попробую - отпишусь, спасибо.А если так:
PHP:public OnClientPutInServer(client) { SetConVarBool(FindConVar("sv_cheats"), true, true, false); ClientCommand(client, "cl_witch_light_brightness 10"); // яркость ClientCommand(client, "cl_witch_light_color_r 50"); // красный ClientCommand(client, "cl_witch_light_color_g 100"); // зеленый ClientCommand(client, "cl_witch_light_color_b 200"); // синий SetConVarBool(FindConVar("sv_cheats"), false, true, false); }
Тоже не катит :(А если так:
PHP:public OnClientPutInServer(client) { SetConVarBool(FindConVar("sv_cheats"), true, true, false); ClientCommand(client, "cl_witch_light_brightness 10"); // яркость ClientCommand(client, "cl_witch_light_color_r 50"); // красный ClientCommand(client, "cl_witch_light_color_g 100"); // зеленый ClientCommand(client, "cl_witch_light_color_b 200"); // синий SetConVarBool(FindConVar("sv_cheats"), false, true, false); }
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
//#include <csgo_colors>
public OnPluginStart()
{
RegConsoleCmd("sm_usp", TestVIP_CMD);
}
public Action:TestVIP_CMD(client, args)
{
if (client && IsPlayerAlive(client))
{
GivePlayerItem(client, "weapon_usp_silencer");
PrintToChat(client, "Админинстратор выдал вам usp :)");
}
return Plugin_Handled;
}