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

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

  • Страница 1 из 1
  • 1
round_start без повтора переменной
Scarface_slv Дата: Среда, 22.08.2012, 15:31:39 | Сообщение # 1
Сообщений: 737
Репутация: 61 [ +/- ]
В общем не могу додуматься чтобы был маленький код и правильный
я даже с этим справиться не могу
#include <sourcemod>
 #include <cstrike>   
 
 public OnPluginStart()
 {
  HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
 }
 
 public round_start(Handle:event, const String:name[], bool:dontBroadcast)
 {
  new Player = 0;
  for(new x = 1; x <= MaxClients; x++)
  {
   if (IsClientInGame(x) && IsPlayerAlive(x)) Player++;
  }
  if (Player <= 4) PrintToChatAll("1");
  else if (Player <= 8) PrintToChatAll("2");
  else if (Player <= 12) PrintToChatAll("3");
   else if (Player <= 16) PrintToChatAll("4");
  else if (Player <= MaxClients) PrintToChatAll("5");
 }
010203040506070809101112131415161718192021

мне нужно сделать так чтобы PrintToChatAll срабатывал только 1 раз при определенном количестве игроков
например 4 игрока Player <= 4 то PrintToChatAll("1"); написало только 1 раз в последующих раундах больше не писало
но когда будет 8 игроков else if (Player <= 8) то снова написало только 1 раз PrintToChatAll("2"); и в остальных раундах не писало пока не увеличиться до 12 или не уменьшиться до 4 и т.д.
 
_wS_ Дата: Среда, 22.08.2012, 15:58:02 | Сообщение # 2
Если я правильно понял, то можно так:

#include <sourcemod>
 
 public OnPluginStart()
 {
     HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
 }
 
 new bool:p4, bool:p8, bool:p12;
 
 public OnMapStart()
 {
     p4 = false; p8 = false; p12 = false;
 }
 
 public round_start(Handle:event, const String:name[], bool:dontBroadcast)
 {
     new alive_players = 0;
     for (new x = 1; x <= MaxClients; x++)
     {
         if (IsClientInGame(x) && IsPlayerAlive(x)) alive_players++;
     }
     if (alive_players < 1) return;
     if (alive_players <= 4)
     {
         if (!p4)
         {
             PrintToChatAll("1");
             p4 = true;
         }
         p8 = false; p12 = false;
     }
     else if (alive_players <= 8)
     {
         if (!p8)
         {
             PrintToChatAll("2");
             p8 = true;
         }
         p4 = false; p12 = false;
     }
     else if (alive_players <= 12)
     {
         if (!p12)
         {
             PrintToChatAll("3");
             p12 = true;
         }
         p4 = false; p8 = false;
     }
 }
0102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950

Гости не могут скачивать файлы
 
Scarface_slv Дата: Пятница, 24.08.2012, 22:32:16 | Сообщение # 3
Сообщений: 737
Репутация: 61 [ +/- ]
Идеальный вариант, Спасибо большое за помощь!!

Добавлено (24.08.2012, 22:15:14)
---------------------------------------------
не стал создавать новую тему иза error


в чем может быть проблема?
public OnClientDisconnect(client)
 {
  if (Timers[client] != INVALID_HANDLE) KillTimer(Timers[client]);
  mutplayer[client] = false;
 }
12345

Добавлено (24.08.2012, 22:32:16)
---------------------------------------------
а щас добавил Timers[client] = INVALID_HANDLE; вроде все стало норм, хотя может и не иза этого

 
  • Страница 1 из 1
  • 1
Поиск: