Вова Галик 552892780
Участник
- Сообщения
- 164
- Реакции
- 33
Помогите исправить ошибку:
Вот плагин:
C-подобный:
[SM] Native "IsClientInGame" reported: Client index 0 is invalid
[SM] Displaying call stack trace for plugin "1112045.smx":
[SM] [0] Line 17, 1112045.sp::r_d()
Вот плагин:
#include <sourcemod>
#include <cstrike>
#include <sdktools>
#include <sdkhooks>
#pragma semicolon 1
new com_t;
new com_ct;
public OnPluginStart() {
HookEvent("player_death", r_d); }
public Action:r_d(Handle:event, const String:name[], bool:dontBroadcast) {
new client = GetClientOfUserId(GetEventInt(event, "client"));
com_t = GetRandomClientT();
if (IsClientInGame(client) && client == com_t)
{
ChangeClientTeam(client, 2);
}
com_ct = GetRandomClientCT();
if (IsClientInGame(client) && client == com_ct)
{
ChangeClientTeam(client, 2);
}
return Plugin_Handled;
}
GetRandomClientT()
{
new indexes[MaxClients+1], players = 0;
for (new i = 1; i <= MaxClients; i++)
{
if (i > 0 && IsClientInGame(i) && IsPlayerAlive(i) && IsValidEntity(i) && GetClientTeam(i) == 1) indexes[players++] = i;
}
if (players > 0) return indexes[GetRandomInt(0, players-1)];
return 0;
}
GetRandomClientCT()
{
new indexes[MaxClients+1], players = 0;
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i) && IsValidEntity(i) && GetClientTeam(i) == 2) indexes[players++] = i;
}
if (players > 0) return indexes[GetRandomInt(0, players-1)];
return 0;
}
#include <cstrike>
#include <sdktools>
#include <sdkhooks>
#pragma semicolon 1
new com_t;
new com_ct;
public OnPluginStart() {
HookEvent("player_death", r_d); }
public Action:r_d(Handle:event, const String:name[], bool:dontBroadcast) {
new client = GetClientOfUserId(GetEventInt(event, "client"));
com_t = GetRandomClientT();
if (IsClientInGame(client) && client == com_t)
{
ChangeClientTeam(client, 2);
}
com_ct = GetRandomClientCT();
if (IsClientInGame(client) && client == com_ct)
{
ChangeClientTeam(client, 2);
}
return Plugin_Handled;
}
GetRandomClientT()
{
new indexes[MaxClients+1], players = 0;
for (new i = 1; i <= MaxClients; i++)
{
if (i > 0 && IsClientInGame(i) && IsPlayerAlive(i) && IsValidEntity(i) && GetClientTeam(i) == 1) indexes[players++] = i;
}
if (players > 0) return indexes[GetRandomInt(0, players-1)];
return 0;
}
GetRandomClientCT()
{
new indexes[MaxClients+1], players = 0;
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i) && IsValidEntity(i) && GetClientTeam(i) == 2) indexes[players++] = i;
}
if (players > 0) return indexes[GetRandomInt(0, players-1)];
return 0;
}