Drumanid
Нестандартное звание
- Сообщения
- 1,862
- Реакции
- 1,748
:biggrin:Знаю. Оптимизация - его дело, но он предлагает хороший вариант "избавления от конкурентов", достаточно опасный. Это нельзя не упомянуть.
PHP:
#include <sourcemod>
#pragma semicolon 1
#pragma newdecls required
Handle TW[MAXPLAYERS+1];
Handle TW2[MAXPLAYERS+1];
Handle TW3[MAXPLAYERS+1];
public void OnClientPutInServer(int client)
{
if(IsClientInGame(client))
{
TW[client] = CreateTimer(6.0, TimerWelcome, client, TIMER_FLAG_NO_MAPCHANGE);
}
}
public void OnClientDisconnect(int client)
{
if((TW[client]) != null)
{
KillTimer(TW[client]);
TW[client] = null;
}
if(TW2[client] != null)
{
KillTimer(TW2[client]);
TW2[client] = null;
}
if(TW3[client] != null)
{
KillTimer(TW3[client]);
TW3[client] = null;
}
}
public Action TimerWelcome(Handle timer, int client)
{
TW[client] = null;
if(IsClientInGame(client))
{
SetHudTextParams(0.40, 0.80, 5.0, GetRandomInt(0, 255), GetRandomInt(0, 255), GetRandomInt(0, 255), 255, 0, 0.25, 1.0, 1.0);
ShowHudText(client, -1, "Добро пожаловать, %N", client);
SetHudTextParams(0.40, 0.83, 5.0, GetRandomInt(0, 255), GetRandomInt(0, 255), GetRandomInt(0, 255), 255, 0, 0.25, 1.0, 1.0);
ShowHudText(client, -1, "Вы играете на проекте 'HLMod.ru'");
TW2[client] = CreateTimer(6.0, TimerWelcome2, client, TIMER_FLAG_NO_MAPCHANGE);
}
}
public Action TimerWelcome2(Handle timer, int client)
{
TW2[client] = null;
if(IsClientInGame(client))
{
Handle cvar = FindConVar("hostip");
int hostip = GetConVarInt(cvar);
Handle hostport = FindConVar("hostport");
char ServerIp[32];
char ServerPort[1024];
FormatEx(ServerIp, 32, "%u.%u.%u.%u", hostip >>> 24 & 255, hostip >>> 16 & 255, hostip >>> 8 & 255, hostip & 255);
GetConVarString(hostport, ServerPort, 1024);
SetHudTextParams(0.40, 0.80, 5.0, GetRandomInt(0, 255), GetRandomInt(0, 255), GetRandomInt(0, 255), 255, 0, 0.25, 1.0, 1.0);
ShowHudText(client, -1, "Наш ip: %s:%s", ServerIp, ServerPort);
TW3[client] = CreateTimer(6.0, TimerWelcome3, client, TIMER_FLAG_NO_MAPCHANGE);
}
}
public Action TimerWelcome3(Handle timer, int client)
{
TW3[client] = null;
if(IsClientInGame(client))
{
SetHudTextParams(0.40, 0.80, 5.0, GetRandomInt(0, 255), GetRandomInt(0, 255), GetRandomInt(0, 255), 255, 0, 0.25, 1.0, 1.0);
ShowHudText(client, -1, "Контакты гл.администратора...\n\nВконтакте: vk.com/...");
}
}
А если серьезно, мне все равно не понятно...
Создался таймер. К конкретному игроку привязались конкретные данные и так каждый раз когда создается новый таймер.
Разве я не прав?
Оффтоп
Что будет когда я выложу свои ДОПИЛЕННЫЕ моды :biggrin:
Оффтоп
Кстати, ты удалил уже свой Predator Mod?)
Хотелось бы взглянуть на твой код :beer: