Grey83
не пишу плагины с весны 2022
- Сообщения
- 8,805
- Реакции
- 5,254
Ну или отсюда: No Prime ManagerИспользуй оттуда: AntiF2P
Ну или отсюда: No Prime ManagerИспользуй оттуда: AntiF2P
#include <sourcemod>
#pragma semicolon 1
#pragma newdecls required
public Plugin myinfo =
{
name = "White List",
author = "Tonki_Ton"
};
ArrayList hID;
public void OnPluginStart()
{
hID = new ArrayList(ByteCountToCells(32));
}
public void OnMapStart()
{
hID.Clear();
char sFile[128];
BuildPath(Path_SM, sFile, sizeof(sFile), "configs/whitelist.txt");
File hFile = OpenFile(sFile, "r");
if (hFile)
{
char sAuth[32];
while (!hFile.EndOfFile() && hFile.ReadLine(sAuth, sizeof(sAuth)))
{
TrimString(sAuth);
hID.PushString(sAuth);
}
}
delete hFile;
}
public void OnClientPostAdminCheck(int iClient)
{
char sAuth[32];
GetClientAuthId(iClient, AuthId_Steam2, sAuth, sizeof(sAuth));
if (hID.FindString(sAuth) == -1)
KickClient(iClient, "Сервер закрыт");
}
Самый первый вариант , что пришел в голову, скопировать строку в строку начиная с 5 символа. Что-то типо этого.Как убрать первые 5 символов в строке ?
МожноЗдравствуйте,кто знает,можно ли сделать такое hud сообщение для CS:S v89 ?
Сможете сделать ?
SetHudTextParams(fPosX, fPosY, UPDATE_INTERVAL + 0.1, iColor[0], iColor[1], iColor[2], iColor[3], 0, 0.0, 0.1, 0.1);
ShowHudText(client, channel, buffer);
Вот смотри,я хотел чтобы посередине показывался счет команд,как на скрине. Только не понимаю как твой код объединить с этим@Wanderer, ну а как тебе код показать?
Делаешь повторяющийся таймер и каждому игроку шлёшь вот такое:SetHudTextParams · halflife · SourceMod Scripting API ReferencePHP:SetHudTextParams(fPosX, fPosY, UPDATE_INTERVAL + 0.1, iColor[0], iColor[1], iColor[2], iColor[3], 0, 0.0, 0.1, 0.1); ShowHudText(client, channel, buffer);
ShowHudText · halflife · SourceMod Scripting API Reference
#include <sourcemod>
#pragma semicolon 1
new GetTeamScore();
public OnMapStart() CreateTimer(1.0, Timer_PrintHud, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
public Action:Timer_PrintHud(Handle:hTimer) PrintHintTextToAll("Террористы - %d\nСпецназ - %d", GetTeamScore(2), GetTeamScore(3));
#pragma semicolon 1
#include <cstrike>
#define CHANNEL 3
#define UPDATE_INTERVAL 1.0 // HUD info update period in seconds
#define POS_X -1.0 // position (from left to right)
#define POS_Y 0.01 // (from top to bottom)
public OnMapStart()
{
CreateTimer(UPDATE_INTERVAL, Timer_PrintHud, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}
public Action:Timer_PrintHud(Handle:hTimer)
{
static i, String:buffer[PLATFORM_MAX_PATH];
Format(buffer, sizeof(buffer), "[Террористы vs Спецназ ]\n[ %02i ][ %02i ]", CS_GetTeamScore(CS_TEAM_T), CS_GetTeamScore(CS_TEAM_CT));
for(i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i))
{
SetHudTextParams(POS_X, POS_Y, UPDATE_INTERVAL + 0.1, 191, 191, 191, 255, 0, 0.0, 0.1, 0.1);
ShowHudText(i, CHANNEL, buffer);
}
}
@Wanderer, вообще надо бы примерно вот так:PHP:#pragma semicolon 1 #include <cstrike> #define CHANNEL 3 #define UPDATE_INTERVAL 1.0 // HUD info update period in seconds #define POS_X -1.0 // position (from left to right) #define POS_Y 0.01 // (from top to bottom) public OnMapStart() { CreateTimer(UPDATE_INTERVAL, Timer_PrintHud, _, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); } public Action:Timer_PrintHud(Handle:hTimer) { static i, String:buffer[PLATFORM_MAX_PATH]; Format(buffer, sizeof(buffer), "[Террористы vs Спецназ ]\n[ %02i ][ %02i ]", CS_GetTeamScore(CS_TEAM_T), CS_GetTeamScore(CS_TEAM_CT)); for(i = 0; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i)) { SetHudTextParams(POS_X, POS_Y, UPDATE_INTERVAL + 0.1, 191, 191, 191, 255, 0, 0.0, 0.1, 0.1); ShowHudText(i, CHANNEL, buffer); } }
Это замениL 12/10/2018 - 06:39:39: [SM] Exception reported: Client index 0 is invalid
L 12/10/2018 - 06:39:39: [SM] Blaming: 444.smx()
L 12/10/2018 - 06:39:39: [SM] Call stack trace:
L 12/10/2018 - 06:39:39: [SM] [0] IsClientInGame
L 12/10/2018 - 06:39:39: [SM] [1] Line 19, D:\Плагины для CSS\Компиляторы\Compilator 1.7.3\addons\sourcemod\scripting\444.sp::Timer_PrintHud()
на этоfor(i = 0; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i))
for(i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i))
ПопробуйРебят есть ли у кого плагин чтобы на сервере "маньяк" было у терористов 500 хп или 1000 ?
#pragma semicolon 1
#include <cstrike>
public OnPluginStart()
{
HookEvent("player_spawn", Spawn, EventHookMode_Post);
}
public Spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new team = GetClientTeam(client);
if (IsPlayerAlive(client))
{
if (team == CS_TEAM_T)
{
SetEntProp(client, Prop_Send, "m_iHealth", 500);
}
}
}
А как можно разукрасить вот эту часть ?Это замени
на этоPHP:for(i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i))
[Террористы vs Спецназ ]\n[ %02i ][ %02i ]