04:07
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: AXE, Weddew  
Team balancing
OrangeДата: Среда, 04.06.2008, 12:30 | Сообщение # 1
Уважаемый человек
Группа: Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус:
есть функция авто балансинга команд, но что делать если у меня 2 команды, но 4 скина? и когда на сервере никого нет, меня всегда перекидывает, уже не знаю что делать
Code
public OnPlayerSpawn(playerid)
{
new RedCount; new BlueCount;
  for(new i=0; i<MAX_PLAYERS; i++) {
   if(IsPlayerConnected(i))  {
   if(PlayerInfo[playerid][team] == Team_Blue) BlueCount++;
   if(PlayerInfo[playerid][team] == Team_Red) RedCount++;
   }
  }
  if(RedCount > BlueCount+1 && PlayerInfo[playerid][team] == Team_Red) {
  PlayerInfo[playerid][team] = Team_Blue;
  SendClientMessage(playerid,COLOR_BLUE," Вы автоматически переведены в синюю команду, чтобы выравнить команды");
  } else if(BlueCount > RedCount+2 && PlayerInfo[playerid][team] == Team_Blue) {
  PlayerInfo[playerid][team] = Team_Red;
  SendClientMessage(playerid,COLOR_RED," Вы автоматически переведены в красную команду, чтобы выравнить команды");
  }
   
  if(PlayerInfo[playerid][team] == Team_Blue)
  {
   SetPlayerColor(playerid, COLOR_BLUE);
   SetPlayerSkin(playerid, 217);
   new rand = random(sizeof(Team1Spawns));
   SetPlayerPos(playerid, Team1Spawns[rand][0], Team1Spawns[rand][1], Team1Spawns[rand][2]);

  }
  else if(PlayerInfo[playerid][team] == Team_Red)
  {
   SetPlayerSkin(playerid, 101);
   SetPlayerColor(playerid, COLOR_RED);
   new rand = random(sizeof(Team2Spawns));
   SetPlayerPos(playerid, Team2Spawns[rand][0], Team2Spawns[rand][1], Team2Spawns[rand][2]);
  }
  return 1;
}



OKStyle™Дата: Среда, 04.06.2008, 16:39 | Сообщение # 2
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Не понимаю, зачем ты делаешь "для всех", если проверка идёт только на "присоединён ли игрок", а всё остальное только для одного? По мне это должно быть вот так:
Code
public OnPlayerSpawn(playerid)  
{  
new RedCount=0;
new BlueCount=0;
if(PlayerInfo[playerid][team] == Team_Blue) BlueCount++;  
if(PlayerInfo[playerid][team] == Team_Red) RedCount++;  
if(RedCount > BlueCount+1 && PlayerInfo[playerid][team] == Team_Red)
{  
PlayerInfo[playerid][team] = Team_Blue;  
SendClientMessage(playerid,COLOR_BLUE," Вы автоматически переведены в синюю команду, чтобы выравнить команды");  
}
else if(BlueCount > RedCount+2 && PlayerInfo[playerid][team] == Team_Blue)  
{  
PlayerInfo[playerid][team] = Team_Red;  
SendClientMessage(playerid,COLOR_RED," Вы автоматически переведены в красную команду, чтобы выравнить команды");  
}



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
OrangeДата: Среда, 04.06.2008, 19:13 | Сообщение # 3
Уважаемый человек
Группа: Продвинутые
Сообщений: 945
Награды: 6
Город: San Fierro
Репутация: 101
Замечания: 0%
Статус:
спс, есть еще вопрос: что делать если ошибка в своем паблике: error 017: undefined symbol "playerid" ?


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





 


 


 
Хостинг от uCoz samp.at.ua