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

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


Huk
Отправлено: Apr 24 2005, 11:34


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


AnDenix Another Dynamic Arrays 0.2c
http://nwvault.ign.com/Files/scripts/data/...834174562.shtml
  Форум: Шарды рунета · Просмотр сообщения: #36893 · Ответов: 24 · Просмотров: 30,025

Huk
Отправлено: Apr 21 2005, 16:37


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


не знаю, насчет кривости и ресурсоемкости, но в общем пришел я к следующему
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:
  Форум: Шарды рунета · Просмотр сообщения: #36724 · Ответов: 24 · Просмотров: 30,025

Huk
Отправлено: Apr 9 2005, 18:29


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


на onExit локи
Neverwinter Script Source
void main()
{
object oArea = GetArea(OBJECT_SELF);
object oPC = GetFirstPC();
object oTreasure = GetFirstObjectInArea(oArea);
object oIItem;
int nPCinArea = 0;

// Check to make sure no PC's In Area
while (GetIsObjectValid(oPC) == TRUE)
  {
    if (GetArea(oPC) == oArea)
      {
      nPCinArea = TRUE;
      }
    oPC = GetNextPC();
  }
// Master Loop thru all objects in zone
if (nPCinArea == FALSE)
  {
  while (GetIsObjectValid(oTreasure) == TRUE)
    {

    PrintString(GetTag(oTreasure));

    if (GetIsOpen(oTreasure)== TRUE)
      {
      AssignCommand(oTreasure,ActionCloseDoor(oTreasure));
      }
  if (GetIsEncounterCreature(oTreasure) == TRUE)
      {
        DestroyObject(oTreasure);
      }
    // if is encounter reset spawn counter
    if (GetObjectType(oTreasure) == OBJECT_TYPE_ENCOUNTER)
      {
        SetEncounterSpawnsCurrent(0,oTreasure);
        SetEncounterActive(TRUE,oTreasure);
      }
     
    // delete items
    if (GetObjectType(oTreasure) == OBJECT_TYPE_ITEM)
      {
        DestroyObject(oTreasure);
      }
    // Have other mobs rest
    if (GetObjectType(oTreasure) == OBJECT_TYPE_CREATURE){
        DestroyObject(oTreasure);}
    oTreasure = GetNextObjectInArea(oArea);
    }
  }
}

  Форум: Шарды рунета · Просмотр сообщения: #35341 · Ответов: 94 · Просмотров: 76,614

Huk
Отправлено: Apr 7 2005, 17:05


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


QUOTE (KoYuKi @ Apr 6 2005, 05:38)
RiPPeR Прикрутил я к модулю PRC, и вот какая проблема, захожу на сервак создою нового перса, а PRC будто и не ставил вовсе всё так же как и было, классы все теже. Тут же выхожу проверяю через тул - всё на месте. Сахожу обратно в игру, создаю перса в сингле, но там всё есть все новые классы. В чём проблема подскажите!!?? Я уже просто голову сломал! В сингле есть а в мультик нету. Да, при коннекте к серваку нужные для PRC хаки он запрашивае, и если их на компе нету посылает куда подальше, но при этом самого PRC на серваке нету будто и не ставил вовсе. Помогите пожалуйсто!! А то я народ взбаламутил они щас там качают хаки, а когда зайдут будет шишь с маслом, будто зря качали. И подскажите пожалуйсто как можно обойти проверку на конфликты при прикручивании хаков к модулю потому что вчера это самое прикручивание PRC длялось порядка 5 часов!

Подними чару уровень - со 2-го уровня PRC на шарде должен нормально заработать.
  Форум: Шарды рунета · Просмотр сообщения: #35030 · Ответов: 94 · Просмотров: 76,614

Huk
Отправлено: Apr 4 2005, 22:19


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


QUOTE (balrog @ Apr 4 2005, 21:04)
Корче, скоро ангелы с демонами будут под ручку ходить :lol:

да хоть кайрик с мистрой целоваться будут - не суть
взято глубоко от балды в качестве примера
  Форум: Шарды рунета · Просмотр сообщения: #34623 · Ответов: 24 · Просмотров: 30,025

Huk
Отправлено: Apr 4 2005, 20:49


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


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

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

Что хочется видеть в итоге - Drow + Duergar'ы против остальных.
Проблема - отсутствие представления, как расставить PC на основе поля Subrace like\dislike по отношению к другим PC.
Из умных мыслей - пихать скрипт на х\б... на этом мысли кончились :swoon:
Подскажите, как сие реализовать возможно?
  Форум: Шарды рунета · Просмотр сообщения: #34592 · Ответов: 24 · Просмотров: 30,025

Huk
Отправлено: Feb 12 2005, 13:13


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


Во-первых, всем спасибо за помощь!
Во-вторых, методом тыка решил-таки проблему с компиляцией скриптов, где упоминаются новые классы :)
помогло
#include "prc_class_const"

написаный в первом посте
CODE
if ((GetLevelByClass(CLASS_TYPE_LICH, oPC)>0))

заработал :yes:

в общем, осталось домучить это дело и решить кому и сколько резать, а там уже и в самой верхней темке раздела можно будет отметится :)
  Форум: Шарды рунета · Просмотр сообщения: #25933 · Ответов: 10 · Просмотров: 14,631

Huk
Отправлено: Feb 7 2005, 14:49


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


Про защиту персонажей
http://www.wrg.ru/forums/index.php?showtopic=780
  Форум: Шарды рунета · Просмотр сообщения: #25244 · Ответов: 7 · Просмотров: 11,549

Huk
Отправлено: Feb 6 2005, 21:06


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


QUOTE (Vhall’rafein @ Feb 6 2005, 20:02)
Брррр... да инсталятор же на Фреймворке!
Не, не могу открыть :xz:
  Форум: Шарды рунета · Просмотр сообщения: #25179 · Ответов: 10 · Просмотров: 14,631

Huk
Отправлено: Feb 6 2005, 18:58


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


QUOTE (Vhall’rafein @ Feb 6 2005, 18:24)
Дай ссылку, будь добр

http://vnfiles.ign.com/nwn/hakpacks/The_PR...0Setup22c%2Eexe
---
Вот тут в процессе перекапывания натолкнулся на prc_class_const с содержанием вида
CODE

...
const int CLASS_TYPE_ACOLYTE                = 68;
const int CLASS_TYPE_ANTI_PALADIN           = 113;
const int CLASS_TYPE_ARCANE_ASSASSIN        = 230;
const int CLASS_TYPE_ARCANE_DUELIST         = 95;
...

Мошт через это что-то сделать можно?
---
И еще мысль проскочила.
Возможно, есть способ просто убрать определенные классы из списка либо задать непомерные для их взятия условия.
Но опять же - проблема в том, что не имею никакого понятия куда лезть и что ковырять. :vava:
  Форум: Шарды рунета · Просмотр сообщения: #25166 · Ответов: 10 · Просмотров: 14,631

Huk
Отправлено: Feb 6 2005, 18:09


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


Cобственно, пришла мысль для поднятия интереса к игре прикрутить на шард PRC 2.2c
Но возникла вполне серьезная проблема (на которую в сингле глубоко плевать) - явное превосходство некоторых классов.
Как пример - Lich. На 10 уровне иммунитет к спелам 9 круга и ниже - это явный перебор.
В чем вопрос. Каким образом можно ограничить выбор того или иного класса?
Пробовал через скрипт на левелапе - чтобы при взятии того или иного класса выдавалась мессага, мол низя, и заставлялось левелапится по-новой, но на
CODE

if ((GetLevelByClass(CLASS_TYPE_LICH, oPC)>0))

компилятор матерится... Мол не знаем таких. Хотя визард диалоговский ничего против при составлении условия с данным классом дажене пискнул.
Раздирать hak'и?
Так знать бы, что оттудавыдирать и что ковырять.
Собстно, такой косяк. Очень надеюсь на вашу помощь.
  Форум: Шарды рунета · Просмотр сообщения: #25158 · Ответов: 10 · Просмотров: 14,631

Huk
Отправлено: Jan 16 2005, 19:51


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


А у меня вот вопрос к людям, имевшими дело с PGS (Player's Guild System)
Поставил на территорию Territory Marker, Gold Bonus и XP Bonus.
Условия захвата териитории в конфиге (кол-во членов гильдии) выполняется, но захватить не получается - единственный вариант, доступный при использовании пьедестала, - выход. :xz:
Поможите, в чем косяк, что забыл?
  Форум: Neverwinter Nights Aurora Toolset · Просмотр сообщения: #22437 · Ответов: 3359 · Просмотров: 647,360

Huk
Отправлено: Jan 16 2005, 13:42


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


Ну так ставь условие
если левак от 1 до 10, то снимаеи лвл*100
если от 20 до 30 - лвл*200
от 30 до 40 - лвл*300
ну это к примеру, естественно.
Все ведь от шарда зависит. Где-то 3500 за 5 минут набрать можно, а где-то и за пол часа не получится =)
  Форум: Шарды рунета · Просмотр сообщения: #22411 · Ответов: 25 · Просмотров: 29,945

Huk
Отправлено: Jan 16 2005, 13:15


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


По поводу сколько снимать - можно сделать что-то вида
Значение экспы после смерти = Текущее значение экспы - уровень * 100
=> На 10 уровне забирут 1000 эксп, на 20 - 2000 и т.д.
ps^ Ну это примерно. Значение, на которе умножается уровень каждый подбирает в зависимости от сложности прокачки на шарде.
  Форум: Шарды рунета · Просмотр сообщения: #22405 · Ответов: 25 · Просмотров: 29,945

Huk
Отправлено: Jan 9 2005, 12:59


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


Игрок умирает.
- создаем рядом с плеером контейнер и высыпаем туда вещи из инвентаря + какой-то процент золота
- показываем стандартную табличку (Exit\Respawn\Wait fo Help)
1) На Exit - запоминаем состояние чара и при входе на сервер киляем чара и показываем все ту же табличку
2) на Respawn - снимаем уровень + еще немного золота и отправляем в локацию, откуда игрок может портаться либо к парти лидеру, либо в локацию, где был убит, либо просто в какую-то локацию по выбору
3) на Wait for help - собстно, лежим и ждем пока кто-нить не поможет и не воскресит
  Форум: Шарды рунета · Просмотр сообщения: #21337 · Ответов: 25 · Просмотров: 29,945

Huk
Отправлено: Jan 3 2005, 22:04


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


1)Взято, кажется, откуда-то с этого же форума. На OnClientEnter
CODE

//**
// Account protection by CD-key
// to Disable protection DM can write in console
// dm_setmodulevarint SecurityDisable 1
// to enable again
// dm_setmodulevarint SecurityDisable 0
//**
void main()
{
  object oPC = GetEnteringObject();
  string sCDKEY = GetPCPublicCDKey(oPC);
  string sName = GetName(oPC);
  string sPCName = GetPCPlayerName(oPC);
  string sID = "(("+sPCName+"))"+sName;

  if (GetIsDM(oPC)) return;

  string sReadID = GetCampaignString("Security",sID);

  if (!GetLocalInt(GetModule(),"SecurityDisable") &&
      GetIsObjectValid(GetItemPossessedBy(oPC,"mg_bootstone")))
  {
      BootPC(oPC);
      return;
  }

  if (sReadID =="" || GetLocalInt(GetModule(),"SecurityDisable"))
  {
       SetCampaignString("Security",sID,sCDKEY);
       return;
  }

  if (sReadID != sCDKEY && !GetLocalInt(GetModule(),"SecurityDisable") )
  {
      BootPC(oPC);
      SendMessageToAllDMs("Security: Error! "+sName+" :["+sPCName+"]: with key ="+sCDKEY+ " != "+sReadID);
      WriteTimestampedLogEntry("Security: Error! "+sName+" :["+sPCName+"]: with key ="+sCDKEY+ " != "+sReadID);
      return;
  }
}
  Форум: Шарды рунета · Просмотр сообщения: #20478 · Ответов: 2 · Просмотров: 6,436

Huk
Отправлено: Dec 12 2004, 12:39


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


По поводу спелов советую попробовать Modified Spells от Lazy Demon
http://vnfiles.ign.com/nwn/scripts/Lazy_De...dmagicv12%2Ezip
Поставил у себя на шарде - пока не жалею - имхо, вещь довольно приятная и на балансе сказывается ощутимо (в лучшую сторону).
Вечно рулящим магам и клерам жить становится куда сложнее :)

До кучи - сон раз в 24 часа.

В общем, цитируя одного знакомого: "В качестве решения этой и других задач я предлагаю администрации сервера прекратить избретать велосипед. Все уже давно изобретено до вас. Это все называется третья редакция (ну или три с половиной что в данном случае не суть разница). "
  Форум: Шарды рунета · Просмотр сообщения: #18118 · Ответов: 15 · Просмотров: 20,681

Huk
Отправлено: Nov 8 2004, 18:08


Level 2
*

Группа: Newbie
Сообщений: 18
Регистрация: 22.10.2004
Пользователь №: 344


Всем привет, надеюсь подскажете как быть.

Ситуация.
На отдельном компьютере запущен сервер, прямого доступа к которому нет. Т.е. имеется ftp для минимального обновления\управления шардом, но в случае краша оного возникают проблемы с невозможностью запустить сервер в минимально возможное время. Т.е. приходится ждать пока у кого-то хватит времени на то, чтобы подойти к компьютеру и снова запустить серв.

Можно ли как-то отслеживать состояние сервера не имея непосредственного доступа к компьютеру?
Возможно, существуют программы, проверяющие запущен ли в данный момент какой-то процесс и, если нет, то запускающие его?

ps: Remote administrator и ему подобные в данном случае держать нет возможности.
pps: извините, если промазал разделом
  Форум: Шарды рунета · Просмотр сообщения: #15338 · Ответов: 1 · Просмотров: 6,853


Есть новые сообщения  Открытая тема (есть новые ответы)
Нет новых сообщений  Открытая тема (нет новых ответов)
Горячая тема (есть новые сообщения)  Горячая тема (есть новые ответы)
Горячая тема (нет новых сообщений)  Горячая тема (нет новых ответов)
Опрос (есть новые голоса)  Опрос (есть новые голоса)
Опрос (нет новых голосов)  Опрос (нет новых голосов)
Тема закрыта  Закрытая тема
Тема перемещена  Тема перемещена
 

Текстовая версия Сейчас: 21st May 2024 - 22:41