Да где бы этот код взять:ab: вроде автор выкладывал для скриптеров команды какие то давно.@alex123pavlov, где-то в таймере, я полагаю.
Точнее можно будет сказать когда я увижу код :ab:
Нужно для админов, в status, когда много игроков на сервере неудобно копаться.а какой смысл в этой информации?
2 месяца назад работал, сейчас нет доступа к компу.Кстати, в TF2 MoTD работает?
WCS_OnUltimateCld(client)@alex123pavlov, где-то в таймере, я полагаю.
Точнее можно будет сказать когда я увижу код :ab:
А есть еще событие добрый человек?WCS_OnUltimateCld(client)
WCS_OnAbilityCld(client)А есть еще событие добрый человек?
Например: получения уровня, название расы, кол-во золота и т.пWCS_OnAbilityCld(client)
ты о чем ?
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <clientprefs>
new VIP_ToggleState:g_bHasAura[MAXPLAYERS+1];
new Handle:g_hKv, Handle:g_hTimer[MAXPLAYERS+1];
new g_BeamSprite, g_HaloSprite;
public OnMapStart()
{
g_BeamSprite = PrecacheModel("materials/sprites/blueflare1.vmt");
g_HaloSprite = PrecacheModel("materials/sprites/glow08.vmt");
decl String:buffer[256];
if (g_hKv != INVALID_HANDLE) CloseHandle(g_hKv);
}
public OnClientDisconnect(iClient)
{
g_bHasAura[iClient] = DISABLED;
g_hTimer[iClient] = INVALID_HANDLE;
}
public OnPlayerSpawn(iClient, iTeam, bool:bIsVIP)
{
if(bIsVIP && g_bHasAura[iClient])
{
SetClientAura(iClient);
}
}
SetClientAura(iClient)
{
if(g_hTimer[iClient] == INVALID_HANDLE) g_hTimer[iClient] = CreateTimer(0.1, Timer_Beacon, iClient, TIMER_REPEAT);
}
public Action:Timer_Beacon(Handle:hTimer, any:iClient)
{
if(IsClientInGame(iClient) && IsPlayerAlive(iClient) && g_bHasAura[iClient] == ENABLED)
{
static Float:fVec[3];
GetClientAbsOrigin(iClient, fVec);
fVec[2] += 10;
TE_SetupBeamRingPoint(fVec, 50.0, 60.0, g_BeamSprite, g_HaloSprite, 0, 15, 0.1, 10.0, 0.0, 155 155 155 255, 10, 0);
TE_SendToAll();
return Plugin_Continue;
}
else
{
g_hTimer[iClient] = INVALID_HANDLE;
}
return Plugin_Stop;
}
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>
#include <vip_core>
#include <clientprefs>
public Plugin:myinfo =
{
name = "[VIP] AURA",
author = "R1KO & Pheonix (˙·٠●Феникс●٠·˙)",
version = "1.0.1",
url = "zizt.ru"
};
#define VIP_AURA_M "AURA_M"
#define VIP_AURA "AURA"
new g_iClientColor[MAXPLAYERS+1][4];
new VIP_ToggleState:g_bHasAura[MAXPLAYERS+1];
new Handle:g_hKv, Handle:g_hTimer[MAXPLAYERS+1], Handle:g_hmenu, Handle:g_hCookie;
new g_BeamSprite, g_HaloSprite;
public OnPluginStart()
{
g_hCookie = RegClientCookie("VIP_AURA", "VIP_AURA", CookieAccess_Public);
}
public OnMapStart()
{
g_BeamSprite = PrecacheModel("materials/sprites/blueflare1.vmt");
g_HaloSprite = PrecacheModel("materials/sprites/glow08.vmt");
decl String:buffer[256];
if (g_hKv != INVALID_HANDLE) CloseHandle(g_hKv);
g_hKv = CreateKeyValues("Aura_Colors");
BuildPath(Path_SM, buffer, 256, "data/vip/modules/aura_colors.ini");
if (!FileToKeyValues(g_hKv, buffer)) SetFailState("Couldn't parse file %s", buffer);
g_hmenu = CreateMenu(AuraMenuHandler);
SetMenuExitBackButton(g_hmenu, true);
SetMenuTitle(g_hmenu, "Цвет ауры\n ");
KvRewind(g_hKv);
if (KvGotoFirstSubKey(g_hKv))
{
do
{
if (KvGetSectionName(g_hKv, buffer, 256))
{
AddMenuItem(g_hmenu, buffer, buffer);
}
}
while (KvGotoNextKey(g_hKv));
}
KvRewind(g_hKv);
}
public VIP_OnVIPLoaded()
{
VIP_RegisterFeature(VIP_AURA_M, _, SELECTABLE, Open_aura, OnDisplayItem, OnDrawItem);
VIP_RegisterFeature(VIP_AURA, BOOL, _, ToggleItemCallback, OnDisplayItem_f);
VIP_HookClientSpawn(OnPlayerSpawn);
}
public VIP_OnVIPClientLoaded(iClient)
{
if(VIP_IsClientFeatureUse(iClient, VIP_AURA))
{
g_bHasAura[iClient] = ENABLED;
decl String:sInfo[64];
GetClientCookie(iClient, g_hCookie, sInfo, 64);
if(sInfo[0])
{
GetRGBAFromString(sInfo, g_iClientColor[iClient]);
return;
}
}
for(new i=0; i < 4; i++) g_iClientColor[iClient][i] = 255;
}
public bool:Open_aura(iClient, const String:sFeatureName[])
{
DisplayMenu(g_hmenu, iClient, MENU_TIME_FOREVER);
return false;
}
public AuraMenuHandler(Handle:hMenu, MenuAction:action, iClient, Item)
{
switch(action)
{
case MenuAction_Cancel:
{
if(Item == MenuCancel_ExitBack) VIP_SendClientVIPMenu(iClient);
}
case MenuAction_Select:
{
decl String:sInfo[64];
GetMenuItem(hMenu, Item, sInfo, 64);
KvRewind(g_hKv);
if (KvJumpToKey(g_hKv, sInfo, false))
{
KvGetColor(g_hKv, "color", g_iClientColor[iClient][0], g_iClientColor[iClient][1], g_iClientColor[iClient][2], g_iClientColor[iClient][3]);
KvRewind(g_hKv);
PrintToChat(iClient, " \x03Вы изменили цвет ауры на \x04%s", sInfo);
FormatEx(sInfo, 64, "%i %i %i %i", g_iClientColor[iClient][0], g_iClientColor[iClient][1], g_iClientColor[iClient][2], g_iClientColor[iClient][3]);
SetClientCookie(iClient, g_hCookie, sInfo);
}
else PrintToChat(iClient, "Failed to use \"%s\"!.", sInfo);
DisplayMenu(g_hmenu, iClient, MENU_TIME_FOREVER);
}
}
}
public OnDrawItem(iClient, const String:sMenuOptionName[], style)
{
return VIP_GetClientFeatureStatus(iClient, VIP_AURA) != ENABLED ? ITEMDRAW_DISABLED:style;
}
public bool:OnDisplayItem(iClient, const String:sFeatureName[], String:sDisplay[], maxlen)
{
strcopy(sDisplay, maxlen, "Цвет ауры");
return true;
}
public Action:ToggleItemCallback(iClient, const String:sFeatureName[], VIP_ToggleState:OldStatus, &VIP_ToggleState:NewStatus)
{
g_bHasAura[iClient] = NewStatus;
if(NewStatus == ENABLED) SetClientAura(iClient);
return Plugin_Continue;
}
public bool:OnDisplayItem_f(iClient, const String:sFeatureName[], String:sDisplay[], maxlen)
{
FormatEx(sDisplay, maxlen, "Аура [%s]", VIP_IsClientFeatureUse(iClient, VIP_AURA) ? "Включено":"Выключено");
return true;
}
public OnClientDisconnect(iClient)
{
g_bHasAura[iClient] = DISABLED;
g_hTimer[iClient] = INVALID_HANDLE;
}
public OnPlayerSpawn(iClient, iTeam, bool:bIsVIP)
{
if(bIsVIP && g_bHasAura[iClient])
{
SetClientAura(iClient);
}
}
SetClientAura(iClient)
{
if(g_hTimer[iClient] == INVALID_HANDLE) g_hTimer[iClient] = CreateTimer(0.1, Timer_Beacon, iClient, TIMER_REPEAT);
}
public Action:Timer_Beacon(Handle:hTimer, any:iClient)
{
if(IsClientInGame(iClient) && IsPlayerAlive(iClient) && g_bHasAura[iClient] == ENABLED)
{
static Float:fVec[3];
GetClientAbsOrigin(iClient, fVec);
fVec[2] += 10;
TE_SetupBeamRingPoint(fVec, 50.0, 60.0, g_BeamSprite, g_HaloSprite, 0, 15, 0.1, 10.0, 0.0, g_iClientColor[iClient], 10, 0);
TE_SendToAll();
return Plugin_Continue;
}
else
{
g_hTimer[iClient] = INVALID_HANDLE;
}
return Plugin_Stop;
}
Как называется действие когда происходит выдача дропаCSGO
SM 1.9
Нужен плагин который в конце матча будет спамить в чат след. карту.
1)timeleft а не nextma@backedelk031, чем не устраивает изменить значение этого квараи пусть СМ сам об этом пишет периодически в чат
public int WCS_OnUltimateCld(client)
{
if (client > 0)
{
SendHudMessage(client, 10, -1.0, -0.7, 0xffd700FF, 0xffffffFF, 2, 0.1, 5.1, 1.0, 5.0, "Ultimate: %f");
}
}
public OnPluginStart()
{
HookEvent("round_start", Event_RoundStart);
}
public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
int WCS_OnUltimateCld(client);
{
SendHudMessage(client, 10, -1.0, -0.7, 0xffd700FF, 0xffffffFF, 2, 0.1, 5.1, 1.0, 5.0, "Ultimate: %f");
}
}
вообще-то должно быть SendHudMessage(client, 10, -1.0, -0.7, 0xffd700FF, 0xffffffFF, 2, 0.1, 5.1, 1.0, 5.0, "Ultimate: %f", some_float_value);
ещё попробуй поменять канал с 10-го на какой-нибудь другой
и что за эффект под номером 2?
Нету вообще переменой у меня в 1 варианте, это весь код который есть в 1 варианте:ab:@alex123pavlov, 2-й - точно неправильный
--- Добавлено позже ---
вместо some_float_value нужно было подставлять свою переменную
вот сделал попробуй отпиши потом будет писать текст в чат или нет я просто код закомментировал на счет текста в чат вроде не должно писать замени свой вот этимку, помогите по плагину как правильно убрать текст что пишет в чате, когда остаются по 1 игроку в команде срабатывает маяк, и пишет в чат что типо маяк включен итд, как это дело вырезать отсюда??? Надо чтобы все было без текста .