Новые обновления (глюки и возможные их решения)

Aleksandros

Участник
Сообщения
202
Реакции
6
Re: Глюки нового обновления & Временное решение...

Такая же проблема на минигейм сервере. Как решить?
mp_respawn_on_death_ct "1"
mp_respawn_on_death_t "1"
Это не подойдет так как начнется месиво на боевых картах, типа mg_lego_multigames_final_fix
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
[CS:GO/CS:S] Автоспавн Новых Игроков

Это не подойдет так как начнется месиво на боевых картах
Попробуй плагином:
PHP:
#include <cstrike>

public Plugin:myinfo = 
{
	name = "Autospawn New Players",
	author = "AlmazON",
	description = "Автоспавн Новых Игроков",
	version = "0.1.0",
	url = "http://www.hlmod.ru"
}

new Handle:g_hSpawnWait[MAXPLAYERS+1];

public OnPluginStart() HookEvent("player_team", Event_PlayerTeam);

public Event_PlayerTeam(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (g_hSpawnWait[client]) CloseHandle(g_hSpawnWait[client]);
	g_hSpawnWait[client] = GetEventBool(event, "disconnect") || GetEventInt(event, "team") < 2 ? INVALID_HANDLE:CreateTimer(1.0, RespawnCheck, client, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:RespawnCheck(Handle:timer, any:client)
{
	g_hSpawnWait[client] = INVALID_HANDLE;
	if (IsPlayerAlive(client) == false) CS_RespawnPlayer(client);
	return Plugin_Stop;
}
Отспавнит всех зашедших/перезашедших за игровую команду, если это не сделает сама игра (середина раунда или начало - не учитывалось).
 

[SN]Dk

Участник
Сообщения
82
Реакции
8
Re: Глюки нового обновления & Временное решение...

Никаких проблем после обновления за весь день замечено не было.

+ тоже нормально всё
Вроде тоже все норм

У всех такая проблема? просто у себя я вроде пока что не замечал..
Пожалуйста напишите версии SourceMod и Metamod ваши.
Буду очень благодарен.
 

MrStark_

Участник
Сообщения
45
Реакции
6
Re: Глюки нового обновления & Временное решение...

Не помогло...
 

Konstantin

Участник
Сообщения
1,775
Реакции
759
Re: Глюки нового обновления & Временное решение...

Имеются 3 минигейма, один микс и один джаил — ни на одном ничего подобного не наблюдается.
СМ и ММ последние снэпшоты.
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
Re: Глюки нового обновления & Временное решение...

Ха! Делаю сейчас сервер Пряток - есть такая проблема.
 

Aleksandros

Участник
Сообщения
202
Реакции
6
Re: [CS:GO/CS:S] Автоспавн Новых Игроков

Попробуй плагином:
PHP:
#include <cstrike>

public Plugin:myinfo = 
{
	name = "Autospawn New Players",
	author = "AlmazON",
	description = "Автоспавн Новых Игроков",
	version = "0.1.0",
	url = "http://www.hlmod.ru"
}

new Handle:g_hSpawnWait[MAXPLAYERS+1];

public OnPluginStart() HookEvent("player_team", Event_PlayerTeam);

public Event_PlayerTeam(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (g_hSpawnWait[client]) CloseHandle(g_hSpawnWait[client]);
	g_hSpawnWait[client] = GetEventBool(event, "disconnect") || GetEventInt(event, "team") < 2 ? INVALID_HANDLE:CreateTimer(1.0, RespawnCheck, client, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:RespawnCheck(Handle:timer, any:client)
{
	g_hSpawnWait[client] = INVALID_HANDLE;
	if (IsPlayerAlive(client) == false) CS_RespawnPlayer(client);
	return Plugin_Stop;
}
Отспавнит всех зашедших/перезашедших за игровую команду, если это не сделает сама игра (середина раунда или начало - не учитывалось).


Не компилится
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Re: [CS:GO/CS:S] Автоспавн Новых Игроков

Попробуй плагином:
PHP:
#include <cstrike>

public Plugin:myinfo = 
{
	name = "Autospawn New Players",
	author = "AlmazON",
	description = "Автоспавн Новых Игроков",
	version = "0.1.0",
	url = "http://www.hlmod.ru"
}

new Handle:g_hSpawnWait[MAXPLAYERS+1];

public OnPluginStart() HookEvent("player_team", Event_PlayerTeam);

public Event_PlayerTeam(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (g_hSpawnWait[client]) CloseHandle(g_hSpawnWait[client]);
	g_hSpawnWait[client] = GetEventBool(event, "disconnect") || GetEventInt(event, "team") < 2 ? INVALID_HANDLE:CreateTimer(1.0, RespawnCheck, client, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:RespawnCheck(Handle:timer, any:client)
{
	g_hSpawnWait[client] = INVALID_HANDLE;
	if (IsPlayerAlive(client) == false) CS_RespawnPlayer(client);
	return Plugin_Stop;
}
Отспавнит всех зашедших/перезашедших за игровую команду, если это не сделает сама игра (середина раунда или начало - не учитывалось).

А что если, умершие игроки будут перезаходить на сервер, после их убийства, их будет воскрешать?
 

Konstantin

Участник
Сообщения
1,775
Реакции
759
Re: Глюки нового обновления & Временное решение...

А что если, умершие игроки будут перезаходить на сервер, после их убийства, их будет воскрешать?
Слишком, запарно, перезаходить на, сервер по, несколько, раз.
Оффтоп
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Глюки нового обновления & Временное решение...

игроки будут перезаходить на сервер
CS:GO разве не делает то же самое? Там просто лимит на время от начала раунда.
середина раунда или начало - не учитывалось
 

orel_s_binoklem

Участник
Сообщения
48
Реакции
9
Re: Глюки нового обновления & Временное решение...

У себя на мг решил так:
respawner.sp
PHP:
#include <sourcemod>
#include <cstrike>
#include <sdktools>
 #pragma semicolon 1
 public OnPluginStart()
{
 HookEvent("player_team", Event_PlayerTeam, EventHookMode_Post);
}
 public Action:Event_PlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
{
 new client = GetClientOfUserId(GetEventInt(event, "userid"));
 CreateTimer(0.1, Spawn, client, TIMER_FLAG_NO_MAPCHANGE);
 return Plugin_Continue;
}
 //Спавним в начале раунда зашедших игроков
public Action:Spawn(Handle:timer, any:client){
 new teamT = GetTeamClientCount(2);
 new teamCT = GetTeamClientCount(3);
 new team = GetClientTeam(client);
 if(client != 0 && IsClientInGame(client) && !IsPlayerAlive(client) && (team == 2 || team == 3) && !(teamT > 1 && teamCT > 1)){
  CS_RespawnPlayer(client);
 }
}

startmap_restartgame.sp
PHP:
#include <sourcemod>
#include <sdktools_functions>
 new bool:g_mapstart = true;
 public OnPluginStart()
{
 HookEvent("player_team", Event_PlayerTeam, EventHookMode_Pre);
}
 public Action:Event_PlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
{
 if(GetTeamClientCount(2) + GetTeamClientCount(3) == 0)
 {
  g_mapstart = true;
 }
  new client = GetClientOfUserId(GetEventInt(event, "userid"));
 CreateTimer(1.0, ChangeTeam, client, TIMER_FLAG_NO_MAPCHANGE);
 return Plugin_Continue;
}
 public Action:ChangeTeam(Handle:timer, any:client){
 new team = GetClientTeam(client);
 if(client != 0 && IsClientInGame(client) && (team == 2 || team == 3) && g_mapstart){
  ChangeClientTeam(client, 1);
  ChangeClientTeam(client, team);
  g_mapstart = false;
 }
}
 

Arthur Don

Участник
Сообщения
1,696
Реакции
256
Re: Глюки нового обновления & Временное решение...

Кто может написать плагин возрождения для зомби сервера, если игрок поздно зашел становился зомби
 

KonveeR

Hanzo hasashi
Сообщения
1,639
Реакции
667
Re: Глюки нового обновления & Временное решение...

Кто может написать плагин возрождения для зомби сервера, если игрок поздно зашел становился зомби

Так вроде это настраивается в zombiereloaded.cfg
 

Arthur Don

Участник
Сообщения
1,696
Реакции
256
Re: Глюки нового обновления & Временное решение...

ZeuS, у меня все настроено, но с послед обновлением не респавнятся игроки
 

Aleksandros

Участник
Сообщения
202
Реакции
6
Re: [CS:GO/CS:S] Автоспавн Новых Игроков

Попробуй плагином:
PHP:
#include <cstrike>

public Plugin:myinfo = 
{
	name = "Autospawn New Players",
	author = "AlmazON",
	description = "Автоспавн Новых Игроков",
	version = "0.1.0",
	url = "http://www.hlmod.ru"
}

new Handle:g_hSpawnWait[MAXPLAYERS+1];

public OnPluginStart() HookEvent("player_team", Event_PlayerTeam);

public Event_PlayerTeam(Handle:event, String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid"));
	if (g_hSpawnWait[client]) CloseHandle(g_hSpawnWait[client]);
	g_hSpawnWait[client] = GetEventBool(event, "disconnect") || GetEventInt(event, "team") < 2 ? INVALID_HANDLE:CreateTimer(1.0, RespawnCheck, client, TIMER_FLAG_NO_MAPCHANGE);
}

public Action:RespawnCheck(Handle:timer, any:client)
{
	g_hSpawnWait[client] = INVALID_HANDLE;
	if (IsPlayerAlive(client) == false) CS_RespawnPlayer(client);
	return Plugin_Stop;
}
Отспавнит всех зашедших/перезашедших за игровую команду, если это не сделает сама игра (середина раунда или начало - не учитывалось).


Заметил что у твоего плагина на респавн есть такой баг, если после убийства, заходишь за спектров, а потом за какую любо команду - ты ресаешься. Можешь ли ты исправить это пожалуйста?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
[CS:GO/CS:S] Autospawn New Players v0.1.0 - не возрождать при смене команд

есть такой баг, если после убийства, заходишь за спектров, а потом за какую любо команду - ты ресаешься
Так и задумано. Чтобы без перезахода возродиться, если что опять случится.
Чтобы не респавнило при смене команды:
PHP:
g_hSpawnWait[client] = GetEventBool(event, "disconnect") || GetEventInt(event, "team") < 2 ? INVALID_HANDLE:CreateTimer(1.0, RespawnCheck, client, TIMER_FLAG_NO_MAPCHANGE);
поменяй на:
PHP:
g_hSpawnWait[client] = GetEventBool(event, "disconnect") || GetEventInt(event, "oldteam") > 1 || GetEventInt(event, "team") < 2 ? INVALID_HANDLE:CreateTimer(1.0, RespawnCheck, client, TIMER_FLAG_NO_MAPCHANGE);
Но из наблюдателей разрешит респавн. Тут, скорее, придётся писать поболее. Оффтоп
Можешь вообще попробовать два кода выше)
 
Сверху Снизу