Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

> Дислайки, PvP на шарде
Huk
сообщение Apr 4 2005, 20:49
Сообщение #1


Level 2
*

Класс: Монах
Характер: Lawful Neutral
Раса: Человек



Для оживления жизни на шарде, пришла мысль организовать следующее.
Хочется создать 3(4\5\6 - не суть) стороны, не любящих друг друга, например

Elf - подраса Drow
Dwarf - подраса Duergar
Любая иная раса - без подрасы

Что хочется видеть в итоге - Drow + Duergar'ы против остальных.
Проблема - отсутствие представления, как расставить PC на основе поля Subrace like\dislike по отношению к другим PC.
Из умных мыслей - пихать скрипт на х\б... на этом мысли кончились :swoon:
Подскажите, как сие реализовать возможно?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
 
Открыть новую тему
Ответов
Huk
сообщение Apr 21 2005, 16:37
Сообщение #2


Level 2
*

Класс: Монах
Характер: Lawful Neutral
Раса: Человек



не знаю, насчет кривости и ресурсоемкости, но в общем пришел я к следующему
1) теория
берем набор скриптов AnDenix'a - Another yet Dynamic Arrays
на хартбите загоняем всех пс в массив
для кажлдого пс в массиве смотрим подрасу, если она равна заданной прогоняем еще раз через массив, выставляя дислайки

2) практика (на заданном в первом посте примере)
Neverwinter Script Source
#include "inc_adarrays"

void main()
{
  object oMod = GetModule();
  //удаляем существующий массив с игроками...
  oArrDel(oMod, "onlinePlayers");
  //...и создаем новый
  object oPlayer = GetFirstPC();
  while(GetIsObjectValid(oPlayer)) {
    oArrAdd(oMod, "onlinePlayers", oPlayer);
    oPlayer = GetNextPC();
  }

  object oSource;
  object oTarget;
  string sSourceSubrace;
  string sTargetSubrace;

  int nNumPlayers = oArrLen(oMod, "onlinePlayers");

  int i;
  for (i=1; i<=nNumPlayers; i++) {

    oSource = oArrGet(oMod, "onlinePlayers", i);
    sSourceSubrace = GetSubRace(oSource);

    //если у пс нужная подраса...
    if(sSourceSubrace=="Drow" || sSourceSubrace=="Duergar") {
      int n;
    //...выставляем дислайк "чужим"
      for ( n=1 ; n <= nNumPlayers ; n++ ) {
        oTarget = oArrGet(oMod, "onlinePlayers", n);
        sTargetSubrace = GetSubRace(oTarget);
        if(sTargetSubrace != "Drow" && sTargetSubrace != "Duergar") {
          SetPCDislike(oSource, oTarget);
        }
      }
    }
  }
  }

работает, как ни странно :buba:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

Сообщений в этой теме
- Huk   Дислайки   Apr 4 2005, 20:49
- - balrog   QUOTE Drow + Duergar'ы против остальных. Корч...   Apr 4 2005, 21:04
- - Huk   QUOTE (balrog @ Apr 4 2005, 21:04) Корче, скоро ан...   Apr 4 2005, 22:19
- - RiPPeR   По-моему никак, только через плагин к NWNEX2   Apr 6 2005, 15:54
- - _kaa_   Репутация и функции работы с ней реализованы довол...   Apr 7 2005, 22:29
- - virusman   На OnClientEnter проверять субрасу, проходиться по...   Apr 15 2005, 11:36
- - slavaz   virusman кстати, чего это на вполне безобидное ...   Apr 15 2005, 12:03
- - virusman   Не знаю, это какая-то проблема с rpgplanet.. Закач...   Apr 20 2005, 08:28
- - Buldog   А я, вот, на Nighfall Dreams извратнулся, скрипт а...   Apr 20 2005, 13:00
- - RiPPeR   Бедный шард... Точнее игроки с лагами...   Apr 20 2005, 13:10
- - Buldog   Да нет, лагов не больше чем было до введения скрип...   Apr 20 2005, 13:15
- - RiPPeR   Тем не менее можно было сделать с меньшей нагрузко...   Apr 20 2005, 13:21
- - Buldog   В принципе можно переделать скрипт под ОнЕнтер, но...   Apr 20 2005, 13:29
- - RiPPeR   А что такого? Типо помирились , чтобы экспы больше...   Apr 20 2005, 13:32
- - Buldog   Угу, экспа щас вообще больной вопрос, но не будем ...   Apr 20 2005, 13:37
- - Lex   Не, имхо если у вас ориентация на то, что есть нес...   Apr 20 2005, 18:05
- - RiPPeR   Как я понял у них не РПшный шард, так что им пойде...   Apr 20 2005, 18:10
- - Buldog   У нас смешанный шард, сошлись на направлении РП Пв...   Apr 20 2005, 19:34
- - Huk   не знаю, насчет кривости и ресурсоемкости, но в об...   Apr 21 2005, 16:37
- - Buldog   Хм, интересная идея, а что в инклюде? Про "на...   Apr 22 2005, 12:56
- - Huk   AnDenix Another Dynamic Arrays 0.2c http://nwvault...   Apr 24 2005, 11:34
- - _kaa_   На самом деле игроку не нужно ставить дизлайк для ...   Apr 27 2005, 09:23
- - Buldog   Тоже мысль, вот только замучаемся скрипты в локаци...   Apr 27 2005, 12:19
- - RiPPeR   QUOTE Тоже мысль, вот только замучаемся скрипты в ...   Apr 28 2005, 15:45
- - Buldog   Нет, ну это понятно, что на все локи 1 скрипт, но ...   Apr 28 2005, 18:33


Ответить в эту темуОткрыть новую тему
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 1st May 2025 - 06:18