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

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

  • Страница 1 из 1
  • 1
Проверка на 2 т
TReshGolD Дата: Четверг, 16.10.2014, 13:50:02 | Сообщение # 1
Сообщений: 10
Репутация: 0 [ +/- ]
Напишите пожалуйста:
Как сделать проверку на 1-2 живых террористов?

Код
if (....
{
       // 2 террориста есть или 1
}
else
{
      // 0 или 3
}


Я новичок в sm grust


Сообщение отредактировал TReshGolD - Четверг, 16.10.2014, 15:51:08
 
king(rus) Дата: Четверг, 16.10.2014, 15:38:37 | Сообщение # 2
Сообщений: 109
Репутация: 2 [ +/- ]
Цитата TReshGolD ()
Напишите пожалуйста:
Как сделать проверку на 1-2 живых террористов?

if (....
{
// 2 террориста есть или 1
}
else
{
// 0 или 3
}

Я новичок в sm



Если новичок, то начинай со складывания чисел/умножение/деление и вывода их в чат.
 
TReshGolD Дата: Четверг, 16.10.2014, 15:46:36 | Сообщение # 3
Сообщений: 10
Репутация: 0 [ +/- ]
Цитата king(rus) ()
Если новичок, то начинай со складывания чисел/умножение/деление и вывода их в чат.


Если не хочешь помогать не засоряй тему пожалуйста pipec

Пример лучше бы подкинул grust


Сообщение отредактировал TReshGolD - Четверг, 16.10.2014, 15:53:14
 
iEx Дата: Четверг, 16.10.2014, 16:21:25 | Сообщение # 4
Сообщений: 304
Репутация: 23 [ +/- ]
https://sm.alliedmods.net/api/index.php?fastload=show&id=55&
https://sm.alliedmods.net/api/index.php?fastload=file&id=40&
//index terrov 2
new count = GetTeamClientCount(2);
if(count == 1 || count == 2)
{
//2 tera ili voobshe 1
} else
{
//ne 2 tera i ne 1..
}


Сообщение отредактировал iEx - Четверг, 16.10.2014, 16:23:05
 
TReshGolD Дата: Четверг, 16.10.2014, 17:07:02 | Сообщение # 5
Сообщений: 10
Репутация: 0 [ +/- ]
Цитата iEx ()
https://sm.alliedmods.net/api/index.php?fastload=show&id=55&
https://sm.alliedmods.net/api/index.php?fastload=file&id=40&
//index terrov 2
new count = GetTeamClientCount(2);
if(count == 1 || count == 2)
{
//2 tera ili voobshe 1
} else
{
//ne 2 tera i ne 1..
}


Спасибо! Сейчас протестирую..

Добавлено (16.10.2014, 17:07:02)
---------------------------------------------
2 ошибки error 010 и error 008 на 1 строчке: new count = GetTeamClientCount(2);
Что делать? grust

 
BarD Дата: Четверг, 16.10.2014, 17:22:47 | Сообщение # 6
Сообщений: 943
Репутация: 137 [ +/- ]
Код
#include <sourcemod>
#pragma semicolon 1

public OnPluginStart()
{
    HookEvent("player_death",Death);
}

public Action:Death(Handle:event, const String:name[], bool:dontBroadcast)
{
new ters;

    for(new i=1;i<=MaxClients;i++)
{
    if (IsClientInGame(i) && IsPlayerAlive(i) && GetClientTeam(i)==2) ters++;
}
   if (ters==2)
  {
   //Тут твой код, если осталось ровно 2 тера. Можешь под своё условие настроить.
}
}


===============================================

Помог? Лайкни! klas
 
TReshGolD Дата: Четверг, 16.10.2014, 17:33:19 | Сообщение # 7
Сообщений: 10
Репутация: 0 [ +/- ]
BarD, Спасибо

Можно как-то по другому сделать? Просто у меня:

Код
public Action:ShopMenuCmd(client,args)
{
      if(GetClientTeam(client) != 2)
      {
       PrintToChat(client, "[Jail shop] Магазин только для зеков!");
       return;
      }
      else
      {
       if(.... // Тут код этот....
       {
        PrintToChat(client, "[Jail shop] Во время LR магазин не доступен!");
       }
       else
       {
        ShopMenuOpen(client);
       }
      }
}


Чтобы если было 1-2 живых террористов писало: [Jail shop] Во время LR магазин не доступен!
А вот мертвым террористам  ShopMenuOpen(client);


Сообщение отредактировал TReshGolD - Четверг, 16.10.2014, 17:37:42
 
BarD Дата: Четверг, 16.10.2014, 18:08:52 | Сообщение # 8
Сообщений: 943
Репутация: 137 [ +/- ]
Код
public Action:ShopMenuCmd(client,args)   
{    
new ters;
for (new i=1;i<=MaxClients;i++)
      {
if (IsClientInGame(i)&&IsPlayerAlive(i)&&GetClientTeam(i)==2) ters++;
}
    if(GetClientTeam(client) != 2)   
        {   
         PrintToChat(client, "[Jail shop] Магазин только для зеков!");   
         return;   
        }   
        else   
        {   
         if(ters==2)   
         {   
          PrintToChat(client, "[Jail shop] Во время LR магазин не доступен!");   
         }   
         else   
         {   
          ShopMenuOpen(client);   
         }   
        }   
}

Но я считаю такой вариант непрактичным, т.к. могут остаться 2 Тера, но лр не писать. И тогда магазин работать не будет, и лр не будет. На твоём месте я бы нашёл функцию проверки на начало ЛР и проверял ей. Или событие начала лр. Так будет лучше klas Удачи!


Сообщение отредактировал BarD - Четверг, 16.10.2014, 18:09:56
 
TReshGolD Дата: Четверг, 16.10.2014, 18:20:26 | Сообщение # 9
Сообщений: 10
Репутация: 0 [ +/- ]
Спасибо
 
Tokami Дата: Четверг, 16.10.2014, 20:45:10 | Сообщение # 10
Сообщений: 238
Репутация: 19 [ +/- ]
Код

#include <lastrequest>

public OnStartLR(PrisonerIndex, GuardIndex, LRType)  
{  
        PrintToChatAll("Начался LR шоп будет закрыт");
}
 
TReshGolD Дата: Пятница, 17.10.2014, 17:56:53 | Сообщение # 11
Сообщений: 10
Репутация: 0 [ +/- ]
Tokami, Спасибо

BarD, проблема с кодом
Когда в живых 1 террорист, то магазин работает...
Как сделать чтобы не работал?
 
Tokami Дата: Пятница, 17.10.2014, 20:14:30 | Сообщение # 12
Сообщений: 238
Репутация: 19 [ +/- ]
TReshGolD, зачем блочить что либо просто создай массив сделай проверку что он включен когда лр ставь false когда новый раунд true и все


Сообщение отредактировал Tokami - Пятница, 17.10.2014, 20:15:24
 
BarD Дата: Суббота, 18.10.2014, 04:59:30 | Сообщение # 13
Сообщений: 943
Репутация: 137 [ +/- ]
Код
if(ters<=2)

Вот так будет блочить, если 2 тера или меньше.
 
TReshGolD Дата: Суббота, 18.10.2014, 05:34:10 | Сообщение # 14
Сообщений: 10
Репутация: 0 [ +/- ]
BarD, Спасибо
 
king(rus) Дата: Воскресенье, 19.10.2014, 09:31:27 | Сообщение # 15
Сообщений: 109
Репутация: 2 [ +/- ]
Вы неверно поступаете. Человек должен сам понять, ибо это будет не опыт, а тупо написанный код, который он не поймёт и в дальнейшем это скажется.
 
  • Страница 1 из 1
  • 1
Поиск: