CAH4E3
Сосанчез.
- Сообщения
- 1,597
- Реакции
- 779
А сам исходник приложить не судьба?Может кто-нибудь переписать исходник плагина NoZoom, что бы когда он активировался все другие оружия (deagle, нож можно оставить xd) отключались, очень просят игроки ;)
А сам исходник приложить не судьба?Может кто-нибудь переписать исходник плагина NoZoom, что бы когда он активировался все другие оружия (deagle, нож можно оставить xd) отключались, очень просят игроки ;)
--- Добавлено позже ---А сам исходник приложить не судьба?
Теперь другая ошибка)Попробуй.
Там весь плагин, сплошное говнокодерство, поэтому ничего удивительного.Теперь другая ошибка)L 05/05/2018 - 19:54:36: [SM] Exception reported: Client 2 is not in game
L 05/05/2018 - 19:54:36: [SM] Blaming: autorespawn.smx
L 05/05/2018 - 19:54:36: [SM] Call stack trace:
L 05/05/2018 - 19:54:36: [SM] [0] GetClientTeam
L 05/05/2018 - 19:54:36: [SM] [1] Line 263, C:\Users\addons\sourcemod\scripting\autorespawn.sp::RespawnPlayer2
Прошу написать плагин, который респавнит игрока через 0,5 сек после смерти. Плагин для DM режима.
Заранее спасибо)
#include <sourcemod>
#include <cstrike>
#pragma semicolon 1
#pragma newdecls required
public void OnPluginStart()
{
HookEvent("player_death",Event_Death, EventHookMode_Post);
}
public Action Event_Death(Event hEvent, const char[] name, bool dontBroadcast){
int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
if(iClient)
CreateTimer(0.5, Timer_Respawn, GetClientUserId(iClient), TIMER_FLAG_NO_MAPCHANGE); //Вместо 0.5 ваше время
return Plugin_Continue;
}
public Action Timer_Respawn(Handle hT, int client) {
int iClient = GetClientOfUserId(client);
if(iClient && IsClientInGame(iClient) && GetClientTeam(iClient) > 1)
CS_RespawnPlayer(iClient);
KillTimer(hT);
return Plugin_Handled;
}
// ** Тип сообщения
#define TYPEMESSAGE 2 // 1 - Чат | 2 - Худ
// ** Показывать ли сообщение еще раз в раунде, если уже когда-то было покзано
#define RESET 0 // 1 - Показывать | Любое другое значение запретит
// ** Продолжительность худ сообщения (сколько секунд показывать худ сообщения игрокам?)
#define TIME 5.0
// ** Координаты худ сообщения, когда остался последний...
#define POSTX 0.005 // Террорист >> вправо|влево
#define POSTY 0.52 // Террорист >> вверх|вниз
#define POSCTX 0.005 // Контр-террорист >> вправо|влево
#define POSCTY 0.48 // Контр-террорист >> вверх|вниз
// ** Цвет (RGB) худ сообщения...
#define COLOR_T_R GetRandomInt(0, 255) // Террорист >> красный (В данный момент рандом)
#define COLOR_T_G GetRandomInt(0, 255) // Террорист >> зеленый (В данный момент рандом)
#define COLOR_T_B GetRandomInt(0, 255) // Террорист >> синий (В данный момент рандом)
#define COLOR_CT_R GetRandomInt(0, 255) // Контр-террорист >> красный (В данный момент рандом)
#define COLOR_CT_G GetRandomInt(0, 255) // Контр-террорист >> зеленый (В данный момент рандом)
#define COLOR_CT_B GetRandomInt(0, 255) // Контр-террорист >> синий (В данный момент рандом)
// ** Текст сообщения, когда остался последний... | * '%N' - ник последнего игрока
#define MESSAGETT "Остался последний террорист: %N" // Террорист
#define MESSAGECT "Остался последний контр-террорист: %N" // Контр-террорист
// =================================================================== CODE ===================================================================
#include <sdktools_gamerules>
public Plugin myinfo =
{
name = "Message - PlayerLast",
author = "Drumanid",
version = "1.0"
}
#define LC(%0) for(int %0 = 1; %0 <= MaxClients; ++%0) if(IsClientInGame(%0))
#define TEAM_T 2
#define TEAM_CT 3
bool g_bUse[2] = false;
EngineVersion g_Game;
public void OnPluginStart()
{
g_Game = GetEngineVersion();
HookEvent("round_start", RoundStart, EventHookMode_PostNoCopy);
HookEvent("player_death", PlayerDeath, EventHookMode_PostNoCopy);
HookEvent("player_spawn", PlayerSpawn);
}
public void RoundStart(Event event, const char[] name, bool dbc)
{
for(int i; i < 2; i++) g_bUse[i] = false;
}
public void PlayerDeath(Event event, const char[] name, bool dbc)
{
if(g_Game == Engine_CSGO) if(GameRules_GetProp("m_bWarmupPeriod")) return;
int iTt, iCt, iClient[2];
LC(i)
{
if(IsPlayerAlive(i))
{
switch(GetClientTeam(i))
{
case TEAM_T: if(++iTt < 2) iClient[0] = i;
case TEAM_CT: if(++iCt < 2) iClient[1] = i;
}
}
}
if(iTt == 1 && !g_bUse[0])
{
SendMessage(iClient[0], TEAM_T);
g_bUse[0] = true;
}
else if(iCt == 1 && !g_bUse[1])
{
SendMessage(iClient[1], TEAM_CT);
g_bUse[1] = true;
}
}
public void PlayerSpawn(Event event, const char[] name, bool dbc)
{
if(RESET == 1 && !g_bUse[0] || !g_bUse[1])
{
switch(GetClientTeam(GetClientOfUserId(event.GetInt("userid"))))
{
case TEAM_T: g_bUse[0] = false;
case TEAM_CT: g_bUse[1] = false;
}
}
}
void SendMessage(int iClient, int iTeam)
{
if(iClient > 0 && IsClientInGame(iClient)/* && IsPlayerAlive(iClient)*/)
{
char sBuffer[128];
switch(iTeam)
{
case TEAM_T: FormatEx(sBuffer, sizeof(sBuffer), MESSAGETT, iClient);
case TEAM_CT: FormatEx(sBuffer, sizeof(sBuffer), MESSAGECT, iClient);
}
switch(TYPEMESSAGE)
{
case 1:
{
LC(i) PrintToChat(i, sBuffer);
}
case 2:
{
switch(iTeam)
{
case TEAM_T: SetHudTextParams(POSTX, POSTY, TIME, COLOR_T_R, COLOR_T_G, COLOR_T_B, 255, 1, 1.0, 1.0, 1.0);
case TEAM_CT: SetHudTextParams(POSCTX, POSCTY, TIME, COLOR_CT_R, COLOR_CT_G, COLOR_CT_B, 255, 1, 1.0, 1.0, 1.0);
}
LC(i) ShowHudText(i, -1, sBuffer);
}
}
}
}
// ** Тип сообщения
#define TYPEMESSAGE 3 // 1 - Чат | 2 - Худ | 3 - Хинт
// ** Показывать ли сообщение еще раз в раунде, если уже когда-то было покзано
#define RESET 0 // 1 - Показывать | Любое другое значение запретит
// ** Продолжительность худ сообщения (сколько секунд показывать худ сообщения игрокам?)
#define TIME 5.0
// ** Координаты худ сообщения, когда остался последний...
#define POSTX 0.005 // Террорист >> вправо|влево
#define POSTY 0.52 // Террорист >> вверх|вниз
#define POSCTX 0.005 // Контр-террорист >> вправо|влево
#define POSCTY 0.48 // Контр-террорист >> вверх|вниз
// ** Цвет (RGB) худ сообщения...
#define COLOR_T_R GetRandomInt(0, 255) // Террорист >> красный (В данный момент рандом)
#define COLOR_T_G GetRandomInt(0, 255) // Террорист >> зеленый (В данный момент рандом)
#define COLOR_T_B GetRandomInt(0, 255) // Террорист >> синий (В данный момент рандом)
#define COLOR_CT_R GetRandomInt(0, 255) // Контр-террорист >> красный (В данный момент рандом)
#define COLOR_CT_G GetRandomInt(0, 255) // Контр-террорист >> зеленый (В данный момент рандом)
#define COLOR_CT_B GetRandomInt(0, 255) // Контр-террорист >> синий (В данный момент рандом)
// ** Текст сообщения, когда остался последний... | * '%N' - ник последнего игрока
#define MESSAGETT "Остался последний террорист: <font color='#0000FF'>%N</font>" // Террорист
#define MESSAGECT "Остался последний контр-террорист: <font color='#0000FF'>%N</font>" // Контр-террорист
// =================================================================== CODE ===================================================================
#include <sdktools_gamerules>
public Plugin myinfo =
{
name = "Message - PlayerLast",
author = "Drumanid",
version = "1.0"
}
#define LC(%0) for(int %0 = 1; %0 <= MaxClients; ++%0) if(IsClientInGame(%0))
#define TEAM_T 2
#define TEAM_CT 3
bool g_bUse[2] = false;
EngineVersion g_Game;
public void OnPluginStart()
{
g_Game = GetEngineVersion();
HookEvent("player_death", PlayerDeath, EventHookMode_PostNoCopy);
HookEvent("round_start", Events, EventHookMode_PostNoCopy);
HookEvent("player_spawn", Events, EventHookMode_PostNoCopy);
}
public void PlayerDeath(Event event, const char[] name, bool dbc)
{
if(g_Game == Engine_CSGO) if(GameRules_GetProp("m_bWarmupPeriod")) return;
int iTt, iCt, iClient[2];
LC(i)
{
if(IsPlayerAlive(i))
{
switch(GetClientTeam(i))
{
case TEAM_T: if(++iTt < 2) iClient[0] = i;
case TEAM_CT: if(++iCt < 2) iClient[1] = i;
}
}
}
if(iTt == 1 && !g_bUse[0])
{
SendMessage(iClient[0], TEAM_T);
g_bUse[0] = true;
}
else if(iCt == 1 && !g_bUse[1])
{
SendMessage(iClient[1], TEAM_CT);
g_bUse[1] = true;
}
}
public void Events(Event event, const char[] name, bool dbc)
{
if(name[0] == 'p' && RESET != 1) return;
for(int i; i < 2; i++) g_bUse[i] = false;
}
void SendMessage(int iClient, int iTeam)
{
if(iClient > 0 && IsClientInGame(iClient)/* && IsPlayerAlive(iClient)*/)
{
char sBuffer[128];
switch(iTeam)
{
case TEAM_T: FormatEx(sBuffer, sizeof(sBuffer), MESSAGETT, iClient);
case TEAM_CT: FormatEx(sBuffer, sizeof(sBuffer), MESSAGECT, iClient);
}
switch(TYPEMESSAGE)
{
case 1:
{
LC(i) PrintToChat(i, sBuffer);
}
case 2:
{
switch(iTeam)
{
case TEAM_T: SetHudTextParams(POSTX, POSTY, TIME, COLOR_T_R, COLOR_T_G, COLOR_T_B, 255, 1, 1.0, 1.0, 1.0);
case TEAM_CT: SetHudTextParams(POSCTX, POSCTY, TIME, COLOR_CT_R, COLOR_CT_G, COLOR_CT_B, 255, 1, 1.0, 1.0, 1.0);
}
LC(i) ShowHudText(i, -1, sBuffer);
}
case 3:
{
if(g_Game == Engine_CSGO)
{
LC(i) PrintCenterText(i, sBuffer); //PrintHintText(i, sBuffer);
}
else
{
LC(i) PrintHintText(i, sBuffer);
}
}
}
}
}
AlliedModders - View Single Post - [CS:GO] HUD colors - Solved@Lisoh, спасибо все ок теперь, еще 1 небольшой вопрос как покрасить данный текст к примеру blue - текст а ник игрока red?
Цвета HTML. Таблица из 147 имён цветов для HTML и CSS — ColorScheme.Ru@Lisoh, чет я не вкурил, для работы цвета в худ нужен плагин тот что он написал тестовый?
#define MESSAGECT "Остался последний контр-террорист: <font color='#00bfff'>%N</font>"
// ** Тип сообщения
#define TYPEMESSAGE 3 // 1 - Чат | 2 - Худ | 3 - Хинт
// ** Показывать ли сообщение еще раз в раунде, если уже когда-то было покзано
#define RESET 0 // 1 - Показывать | Любое другое значение запретит
// ** Продолжительность худ сообщения (сколько секунд показывать худ сообщения игрокам?)
#define TIME 5.0
// ** Координаты худ сообщения, когда остался последний...
#define POSTX 0.005 // Террорист >> вправо|влево
#define POSTY 0.52 // Террорист >> вверх|вниз
#define POSCTX 0.005 // Контр-террорист >> вправо|влево
#define POSCTY 0.48 // Контр-террорист >> вверх|вниз
// ** Цвет (RGB) худ сообщения...
#define COLOR_T_R GetRandomInt(0, 255) // Террорист >> красный (В данный момент рандом)
#define COLOR_T_G GetRandomInt(0, 255) // Террорист >> зеленый (В данный момент рандом)
#define COLOR_T_B GetRandomInt(0, 255) // Террорист >> синий (В данный момент рандом)
#define COLOR_CT_R GetRandomInt(0, 255) // Контр-террорист >> красный (В данный момент рандом)
#define COLOR_CT_G GetRandomInt(0, 255) // Контр-террорист >> зеленый (В данный момент рандом)
#define COLOR_CT_B GetRandomInt(0, 255) // Контр-террорист >> синий (В данный момент рандом)
// ** Текст сообщения, когда остался последний... | * '%N' - ник последнего игрока
#define MESSAGETT "Играем строго по одному, против: <font color='#0000FF'>%N<font color='#FF0000'>" // Террорист
#define MESSAGECT "Играем строго по одному, против: <font color='#0000FF'>%N<font color='#FF0000'>" // Контр-террорист
// =================================================================== CODE ===================================================================
#include <sdktools_gamerules>
public Plugin myinfo =
{
name = "Message - PlayerLast",
author = "Drumanid",
version = "1.0"
}
#define LC(%0) for(int %0 = 1; %0 <= MaxClients; ++%0) if(IsClientInGame(%0))
#define TEAM_T 2
#define TEAM_CT 3
bool g_bUse[2] = false;
EngineVersion g_Game;
public void OnPluginStart()
{
g_Game = GetEngineVersion();
HookEvent("round_start", RoundStart, EventHookMode_PostNoCopy);
HookEvent("player_death", PlayerDeath, EventHookMode_PostNoCopy);
HookEvent("player_spawn", PlayerSpawn);
}
public void RoundStart(Event event, const char[] name, bool dbc)
{
for(int i; i < 2; i++) g_bUse[i] = false;
}
public void PlayerDeath(Event event, const char[] name, bool dbc)
{
if(g_Game == Engine_CSGO) if(GameRules_GetProp("m_bWarmupPeriod")) return;
int iTt, iCt, iClient[2];
LC(i)
{
if(IsPlayerAlive(i))
{
switch(GetClientTeam(i))
{
case TEAM_T: if(++iTt < 2) iClient[0] = i;
case TEAM_CT: if(++iCt < 2) iClient[1] = i;
}
}
}
if(iTt == 1 && !g_bUse[0])
{
SendMessage(iClient[0], TEAM_T);
g_bUse[0] = true;
}
else if(iCt == 1 && !g_bUse[1])
{
SendMessage(iClient[1], TEAM_CT);
g_bUse[1] = true;
}
}
public void PlayerSpawn(Event event, const char[] name, bool dbc)
{
if(RESET == 1 && !g_bUse[0] || !g_bUse[1])
{
switch(GetClientTeam(GetClientOfUserId(event.GetInt("userid"))))
{
case TEAM_T: g_bUse[0] = false;
case TEAM_CT: g_bUse[1] = false;
}
}
}
void SendMessage(int iClient, int iTeam)
{
if(iClient > 0 && IsClientInGame(iClient)/* && IsPlayerAlive(iClient)*/)
{
char sBuffer[128];
switch(iTeam)
{
case TEAM_T: FormatEx(sBuffer, sizeof(sBuffer), MESSAGETT, iClient);
case TEAM_CT: FormatEx(sBuffer, sizeof(sBuffer), MESSAGECT, iClient);
}
switch(TYPEMESSAGE)
{
case 1:
{
LC(i) PrintToChat(i, sBuffer);
}
case 2:
{
switch(iTeam)
{
case TEAM_T: SetHudTextParams(POSTX, POSTY, TIME, COLOR_T_R, COLOR_T_G, COLOR_T_B, 255, 1, 1.0, 1.0, 1.0);
case TEAM_CT: SetHudTextParams(POSCTX, POSCTY, TIME, COLOR_CT_R, COLOR_CT_G, COLOR_CT_B, 255, 1, 1.0, 1.0, 1.0);
}
LC(i) ShowHudText(i, -1, sBuffer);
}
case 3:
{
LC(i) PrintHintText(i, sBuffer);
}
}
}
}
// ** Тип сообщения
#define TYPEMESSAGE 3 // 1 - Чат | 2 - Худ | 3 - Хинт
// ** Показывать ли сообщение еще раз в раунде, если уже когда-то было покзано
#define RESET 0 // 1 - Показывать | Любое другое значение запретит
// ** Продолжительность худ сообщения (сколько секунд показывать худ сообщения игрокам?)
#define TIME 5.0
// ** Координаты худ сообщения, когда остался последний...
#define POSTX 0.005 // Террорист >> вправо|влево
#define POSTY 0.52 // Террорист >> вверх|вниз
#define POSCTX 0.005 // Контр-террорист >> вправо|влево
#define POSCTY 0.48 // Контр-террорист >> вверх|вниз
// ** Цвет (RGB) худ сообщения...
#define COLOR_T_R GetRandomInt(0, 255) // Террорист >> красный (В данный момент рандом)
#define COLOR_T_G GetRandomInt(0, 255) // Террорист >> зеленый (В данный момент рандом)
#define COLOR_T_B GetRandomInt(0, 255) // Террорист >> синий (В данный момент рандом)
#define COLOR_CT_R GetRandomInt(0, 255) // Контр-террорист >> красный (В данный момент рандом)
#define COLOR_CT_G GetRandomInt(0, 255) // Контр-террорист >> зеленый (В данный момент рандом)
#define COLOR_CT_B GetRandomInt(0, 255) // Контр-террорист >> синий (В данный момент рандом)
// ** Текст сообщения, когда остался последний... | * '%N' - ник последнего игрока
#define MESSAGETT "Остался последний террорист: <font color='#0000FF'>%N</font>" // Террорист
#define MESSAGECT "Остался последний контр-террорист: <font color='#0000FF'>%N</font>" // Контр-террорист
// =================================================================== CODE ===================================================================
#include <sdktools_gamerules>
public Plugin myinfo =
{
name = "Message - PlayerLast",
author = "Drumanid",
version = "1.0"
}
#define LC(%0) for(int %0 = 1; %0 <= MaxClients; ++%0) if(IsClientInGame(%0))
#define TEAM_T 2
#define TEAM_CT 3
bool g_bUse[2] = false;
EngineVersion g_Game;
public void OnPluginStart()
{
g_Game = GetEngineVersion();
HookEvent("player_death", PlayerDeath, EventHookMode_PostNoCopy);
HookEvent("round_start", Events, EventHookMode_PostNoCopy);
HookEvent("player_spawn", Events, EventHookMode_PostNoCopy);
}
public void PlayerDeath(Event event, const char[] name, bool dbc)
{
if(g_Game == Engine_CSGO) if(GameRules_GetProp("m_bWarmupPeriod")) return;
int iTt, iCt, iClient[2];
LC(i)
{
if(IsPlayerAlive(i))
{
switch(GetClientTeam(i))
{
case TEAM_T: if(++iTt < 2) iClient[0] = i;
case TEAM_CT: if(++iCt < 2) iClient[1] = i;
}
}
}
if(iTt == 1 && !g_bUse[0])
{
SendMessage(iClient[0], TEAM_T);
g_bUse[0] = true;
}
else if(iCt == 1 && !g_bUse[1])
{
SendMessage(iClient[1], TEAM_CT);
g_bUse[1] = true;
}
}
public void Events(Event event, const char[] name, bool dbc)
{
if(name[0] == 'p' && RESET != 1) return;
for(int i; i < 2; i++) g_bUse[i] = false;
}
void SendMessage(int iClient, int iTeam)
{
if(iClient > 0 && IsClientInGame(iClient)/* && IsPlayerAlive(iClient)*/)
{
char sBuffer[128];
switch(iTeam)
{
case TEAM_T: FormatEx(sBuffer, sizeof(sBuffer), MESSAGETT, iClient);
case TEAM_CT: FormatEx(sBuffer, sizeof(sBuffer), MESSAGECT, iClient);
}
switch(TYPEMESSAGE)
{
case 1:
{
LC(i) PrintToChat(i, sBuffer);
}
case 2:
{
switch(iTeam)
{
case TEAM_T: SetHudTextParams(POSTX, POSTY, TIME, COLOR_T_R, COLOR_T_G, COLOR_T_B, 255, 1, 1.0, 1.0, 1.0);
case TEAM_CT: SetHudTextParams(POSCTX, POSCTY, TIME, COLOR_CT_R, COLOR_CT_G, COLOR_CT_B, 255, 1, 1.0, 1.0, 1.0);
}
LC(i) ShowHudText(i, -1, sBuffer);
}
case 3:
{
if(g_Game == Engine_CSGO)
{
LC(i) PrintCenterText(i, sBuffer); //PrintHintText(i, sBuffer);
}
else
{
LC(i) PrintHintText(i, sBuffer);
}
}
}
}
}
PrintHintText / PrintCenterText / PrintHintTextToAll / PrintCenterTextToAll
<b>
Я не понимаю как это работает
</b>
<b>Я не понимаю как это работает</b>