Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Мистика в кс го с CS_SetClientContributionScore.
polo79655 Дата: Воскресенье, 08.05.2016, 20:21:57 | Сообщение # 1
Сообщений: 99
Репутация: -1 [ +/- ]
Всем привет. Какая-то мистика в кс го с командой CS_SetClientContributionScore. Я хочу, чтобы счет в табе у людей изменился допустим на 1. Решил изменять его в начале раунда. Но никакого эффекта:

public OnPluginStart()
{
HookEvent("round_start", round_start);
}
public Action:round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
for (new i=0;i<=MaxClients;i++)
{
CS_SetClientContributionScore(i,1)
}
}

Потом решил в конце раунда, опять же ничего не случилось

public OnPluginStart()
{
HookEvent("round_end", round_end);
}
public Action:round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
for (new i=0;i<=MaxClients;i++)
{
CS_SetClientContributionScore(i,1);
}
}

Потом решил создавать таймер при запуске карты, опять же ничего не последовало:
public OnMapStart()
{
CreateTimer(10.0, allscore, _, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
}

public Action:allscore(Handle:timer)
{
for (new i=0;i<=MaxClients;i++)
{
CS_SetClientContributionScore(i,1);
}
}

Ну и даже через фрейм попробовал тоже безрезультатно...

Единственный способ который у меня удался, это через RegConsoleCmd:
public OnPluginStart()
{
RegConsoleCmd("wat",wat_command);
}

public Action:wat_command(client,args)
{
CS_SetClientContributionScore(client,1);
}

Но мне-то нужно, чтобы эта "единичка" ставилась всем, без всякого написания команд и с каким-нибудь интервалом. Смотрел как это сделано в плагин Level Rank, но ничего не понял. Подскажите пожалуйста люди добрые, как мне это сделать?


Сообщение отредактировал polo79655 - Воскресенье, 08.05.2016, 20:23:18
 
Scarface_slv Дата: Воскресенье, 08.05.2016, 21:55:40 | Сообщение # 2
Сообщений: 737
Репутация: 61 [ +/- ]
цикл не правильный нужны доп проверки. Может из за этого хз
Код

for (new i=1; i<=MaxClients; i++)
{
      if(IsClientInGame(i) && IsPlayerAlive(i))
      {
             CS_SetClientContributionScore(i,1);
      }
}
 
polo79655 Дата: Воскресенье, 08.05.2016, 23:33:56 | Сообщение # 3
Сообщений: 99
Репутация: -1 [ +/- ]
Цитата Scarface_slv ()
цикл не правильный нужны доп проверки. Может из за этого хз

Действительно, простые проверки не сделал, спасибо!
 
  • Страница 1 из 1
  • 1
Поиск: