Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Архив - только для чтения
Помощь с рассами( Вопрос )
Kartman
Дата: Вторник, 03.07.2012, 12:34 | Сообщение # 1
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
Привет всем! Извините за такой вопрос просто сформулировать не смог нормально. Мне нужно сделать так чтобы например рассу андед ( это например ) могли брать только 2 человека с свервера . т.е не определенные 2 человека а любые желающие игроки. То есть сделать ограничение на рассу до 2 человек. SMaster поможешь? :)

http://war3ft-help.tk/ - форум поддержки war3ftmod
 
KinD
Дата: Вторник, 03.07.2012, 16:31 | Сообщение # 2
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Тебе по нику?

Добавлено (03.07.2012, 16:31)
---------------------------------------------
name[32]
get_user_name(id, name, 31)

if(equali(name,"Kartman"))


Skype:daywerok
 
kica
Дата: Вторник, 03.07.2012, 17:43 | Сообщение # 3
офлайн

  • Сообщения: 216
  • Награды: 3
  • Замечания:
 
Kartman, Типо что бы сервер балансировал? и не сидели все на одной рассе?
Допустим на сервере 18 человек и каждый по своему 2 undead - 2 human - 2 orc - 2 elf - 2 bloodmage - 2 shadowhunter - 2 warden -2 cryptlord - 2 chameleon ХХхХХххХхххХХхХХххХХ типо определённый лимит!
Undead - 1/2
Human - 3/6
Orc - 2/4
Elf - 5/5 - FULL
что то вроде этого
 
KinD
Дата: Вторник, 03.07.2012, 17:50 | Сообщение # 4
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Kartman, Выбирай из цикла любых двух игроков(сколько тебе нужно и воспроизводи свое действие)
for(new id = 1;id <= g_maxplayers;id++)

либо счетчик использований выбирай,при использовании + к глобальное переменной,если счетчик больше 2(выбрало 2 человека,то не выдавай расу)


Skype:daywerok

Сообщение отредактировал KinD - Вторник, 03.07.2012, 19:44
 
SMaster
Дата: Вторник, 03.07.2012, 22:36 | Сообщение # 5
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Шаг 1.

Открываете файл menus.inl.
Находишь public _MENU_ChangeRace( idUser, key )
Добавляешь код:
Code
new iPlayers[32], iNumPlayers;
get_players( iPlayers, iNumPlayers );

new bRaceUsed[MAX_RACES+1] = {0}, iRaceID, iTargetID;
for (new i = 0; i < iNumPlayers; i++ )
{
  iTargetID = iPlayers[i];

  if(idUser == iTargetID)
   continue;

  iRaceID    = p_data[iTargetID][P_RACE];
  bRaceUsed[iRaceID]++;
}

if(bRaceUsed[iRace] >= 2)
{
  client_print(idUser,print_chat,"No Select Race");//для примера

  WC3_ChangeRaceStart(idUser);

  return PLUGIN_HANDLED;
}


Скрин как должно быть:
Прикрепления: 1155004.png (11.4 Kb)


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Kartman
Дата: Вторник, 03.07.2012, 23:41 | Сообщение # 6
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
Спасибо друг! :)

Добавлено (03.07.2012, 23:13)
---------------------------------------------
А можно чтоб в changerace показывало Нежить ( 1 / 2 )

Добавлено (03.07.2012, 23:41)
---------------------------------------------
Если сделать

Code
if(bRaceUsed[iRace] >= 2 && p_data[idUser][P_RACE] == RACE_UNDEAD)  
  {  
   client_print(idUser,print_chat,"No Select Race");//для примера  
   
   WC3_ChangeRaceStart(idUser);  
   
   return PLUGIN_HANDLED;  
  }


То запрет для нежити будет?


http://war3ft-help.tk/ - форум поддержки war3ftmod

Сообщение отредактировал Kartman - Вторник, 03.07.2012, 23:40
 
KinD
Дата: Вторник, 03.07.2012, 23:50 | Сообщение # 7
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
p_data[idUser][P_RACE] == RACE_UNDEAD -текущая раса(тем более проверку на расу именно сдесь не к чему,вообще ненужна)

bRaceUsed - счетчик использований

чтобы условие было к 1 кнопке нужно if(key==1)


Skype:daywerok
 
Kartman
Дата: Вторник, 03.07.2012, 23:59 | Сообщение # 8
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
Code
if(bRaceUsed[iRace] >= 2 && iKey == 1)   
   {   
    client_print(idUser,print_chat,"No Select Race");//для примера   
      
    WC3_ChangeRaceStart(idUser);   
      
    return PLUGIN_HANDLED;   
   }


Так?


http://war3ft-help.tk/ - форум поддержки war3ftmod
 
KinD
Дата: Среда, 04.07.2012, 00:01 | Сообщение # 9
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
if(iRace == 1) вот так даже можно
Key - это так образно(кнопка,в нашем случаи расы используются)

if(iRace == 1 )
{
вставь свой код
}

P.S почему вы называете тему "SMaster помоги" это так глупо выглядит,честно.Тоесть по-детски.


Skype:daywerok

Сообщение отредактировал KinD - Среда, 04.07.2012, 00:09
 
Kartman
Дата: Среда, 04.07.2012, 00:09 | Сообщение # 10
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
Потому что твою помощь я уже услышал, а на остальных я ни рассчитываю!

http://war3ft-help.tk/ - форум поддержки war3ftmod
 
KinD
Дата: Среда, 04.07.2012, 00:13 | Сообщение # 11
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Kartman, Может есть люди ,которые смыслят в моде,просто молчат и все.
if(iRace==1) -То,что будет воспроизводится на нажатии на 1 расу.Ты понял уже наверно.


Skype:daywerok
 
Soun:D
Дата: Суббота, 11.01.2014, 18:50 | Сообщение # 12
офлайн

  • Сообщения: 69
  • Награды: 0
  • Замечания:
 
Возможно ли сделать ограничение для команды? Ведь иначе получается, что допустим за туже нежить может играть 2 человека из одной команды, а из другой команды не могут из-за ограничения.


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