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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 144 145 146 147 >  
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
arcmag
сообщение Jul 20 2013, 20:04
Сообщение #3611


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Да вроде нет) ошибки быть не должно все таки я копирую ресреф (ctrl + c) а не пишу его)
(IMG:http://i037.radikal.ru/1307/8e/9aeebe03b6f2.jpg)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 20 2013, 20:16
Сообщение #3612


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Neverwinter Script
CreateItemOnObject("item", oPC, 1);
CreateItemOnObject("item001", oPC, 1);
CreateItemOnObject("item002", oPC, 1);
CreateItemOnObject("item003", oPC, 1);
CreateItemOnObject("item004", oPC, 99);

попробуй убрать цифры
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
arcmag
сообщение Jul 20 2013, 20:22
Сообщение #3613


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Neverwinter Script
object oPC = GetEnteringObject();
CreateItemOnObject("item",oPC);
CreateItemOnObject("item001",oPC);
CreateItemOnObject("item002",oPC);
CreateItemOnObject("item003",oPC);
CreateItemOnObject("item004",oPC);

нее увы не помогло)
блин чтож это за ошибка такая хитрая попалась) вечно у меня все через ж**у блин...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 20 2013, 20:30
Сообщение #3614


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Это у вас тулсет кривой значит.

Вот что пишет лексикон:

Neverwinter Script
object CreateItemOnObject(
    string sItemTemplate,
    object oTarget = OBJECT_SELF,
    int nStackSize = 1,
    string sNewTag = ""
);


Parameters
sItemTemplate
The blueprint ResRef string of the item to be created or tag.

oTarget
The inventory where you want the item created. (Default: OBJECT_SELF)

nStackSize
The number of items to be created. (Default: 1)

sNewTag
Sets the tag. If this string is empty (""), it be set to the default tag from the template. (Default: "")

Description
This function creates an item with the template sItemTemplate in oTarget's inventory. If you are creating a custom item, sItemTemplate is the ResRef; if you are creating a standard item, sItemTemplate is the item's tag.
Returns the object that has been created. On error, this returns OBJECT_INVALID. CreateItemOnObject will work on item containers.
Additional notes added for clarification in 1.64 include: If the item created was merged into an existing stack of similar items, the function will return the merged stack object. If the merged stack overflowed, the function will return the overflowed stack that was created.

Remarks
The parameter nStackSize only applies to stackable items (eg. potions). If sItemTemplate refers to a non-stackable item (eg. armor) only 1 item will be created.
CreateItemOnObject has interesting behaviour when called to create a stackable item.
If the oTarget of the command has a stack already existing, the items created will be added to the existing stack, in which case two things can happen:
1. A new stack has to be created to hold some overflow. CreateItemOnObject returns a valid object, the overflowed stack of items (so, not the completly filled up stack)
2. The old stack object does not overflow past 99. No new stack object is created. CreateItemOnObject returns a value thats not equal to OBJECT_INVALID, but, if tested with GetIsObjectValid() will return FALSE.

Known Bugs
This bug will most likely be fixed in version 1.62, and thus only apply to 1.61 and possibly earlier versions as well:
Returns OBJECT_INVALID when the created object is added to an existing stack.

Сообщение отредактировал Melisse - Jul 20 2013, 22:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
arcmag
сообщение Jul 20 2013, 20:34
Сообщение #3615


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Теперь я тоже так думаю) чтож спасибо всем большое кто мне помогал) попробую переустановить нвн на какую нибудь другую версию. Надеюсь поможет... (IMG:style_emoticons/kolobok_light/sorry.gif)
Да я щас на настольном пк работаю тут версия 1.69 стоит

Сообщение отредактировал arcmag - Jul 20 2013, 20:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
arcmag
сообщение Jul 21 2013, 07:31
Сообщение #3616


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Установил другой нвн все заработало. Огромное спасибо Melisse за ссылку с функциями теперь разбираться стало реально проще и быстрее. (IMG:style_emoticons/kolobok_light/i-m_so_happy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 21 2013, 09:23
Сообщение #3617


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Цитата
Установил другой нвн все заработало. Огромное спасибо Melisse за ссылку с функциями теперь разбираться стало реально проще и быстрее.

Там далеко не все, остальное придется по лексикону разбирать. Копипасте в переводчик и будет тоже самое почти
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Anakondar
сообщение Jul 21 2013, 09:51
Сообщение #3618


Level 6
**

Класс: Друид
Характер: Chaotic Neutral
Раса: Гном



Цитата(Melisse @ Jul 18 2013, 20:14) *
Нет, совсем не так.
При 0 всегда будет FALSE, а от -2,147,483,648 до 2,147,483,647, кроме 0 всегда TRUE
иначе говоря FALSE это всегда 0, а TRUE любое кроме 0


Так вопрос-то был
Цитата(arcmag @ Jul 18 2013, 09:11) *
значение переменной (...) может быть только в двух значениях (...) так получается?

И ответ на него
Цитата(Anakondar @ Jul 18 2013, 17:55) *
2. Нет.

а не
Цитата(Melisse @ Jul 18 2013, 09:59) *
2. Да


Значений куча, просто в некоторых частных случаях (условный оператор) некоторые из значений (не нулевые) интерпретируются одинаково. Если же кто-то захочет хранить в переменной целое число и использовать его как число, а не признак истинности, то он сможет это сделать.

Сообщение отредактировал Anakondar - Jul 21 2013, 09:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 21 2013, 11:35
Сообщение #3619


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Anakondar
ок, я не так поняла вопрос

Сообщение отредактировал Melisse - Jul 21 2013, 11:38
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Gatcuk
сообщение Jul 25 2013, 09:16
Сообщение #3620


Level 1


Класс: Паладин
Характер: Neutral Good
Раса: Полуэльф



Добрый день. Я создаю модуль для будущего Шарда (Да, да. Имя нам - легион) и столкнулся с небольшой проблемой. Не подскажете ли скрипт для автоматического закрытия и запирания дверей через определнное время (15 секунд). Это необходимо для реализации системы частной собственности для игроков. Заранее спасибо. (IMG:style_emoticons/kolobok_light/i-m_so_happy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 25 2013, 10:16
Сообщение #3621


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Neverwinter Script
// ЗАКРЫТЬ ДВЕРЬ И ЗАМОК Слот OnOpen
void main()
{
object oDoor = OBJECT_SELF;

DelayCommand(15.0, ActionCloseDoor(oDoor));
SetLocked(oDoor, TRUE);
}


Сообщение отредактировал gennady - Jul 25 2013, 10:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Gatcuk
сообщение Jul 25 2013, 10:17
Сообщение #3622


Level 1


Класс: Паладин
Характер: Neutral Good
Раса: Полуэльф



Спасибо большое. Вместо oDoor вставить теги двери?

// ЗАКРЫТЬ ДВЕРЬ И ЗАМОК Слот OnOpen
void main()
{
object oDoor = OBJECT_SELF;
DelayCommand(15.0, ActionCloseDoor(OBJECT_SELF));
SetLocked(oDoor, TRUE);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jul 25 2013, 10:19
Сообщение #3623


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Нет, этот скрипт поставить в слот OnOpen двери. Всё! (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Gatcuk
сообщение Jul 25 2013, 10:26
Сообщение #3624


Level 1


Класс: Паладин
Характер: Neutral Good
Раса: Полуэльф



И еще раз огромное спасибо (IMG:style_emoticons/kolobok_light/i-m_so_happy.gif) Очень выручили.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Gatcuk
сообщение Jul 25 2013, 20:45
Сообщение #3625


Level 1


Класс: Паладин
Характер: Neutral Good
Раса: Полуэльф



Друзья, никто не подскажет скрипт для крафтинга через диалог?

Что-то вроде:

Изготовить "предмет" (требует X ресурса, X навыка изготовления брони). Во время проверки навыка имеется X% шанс успеха, в случае провала ингридиенты уничтожаются, но игрок предмет уже не получает.

Меня интересует крафт с проверкой навыков на изготовление брони (Craft Armor), оружия (Craft Weapon), ловушек (Craft trap), зелий (Brew potion) , поясов целителя (Heal), волшебных палочек (Craft wand), свитков (Scribe scroll), отмычек (Open lock), Книг (Lore).

Заранее спасибо (IMG:style_emoticons/kolobok_light/i-m_so_happy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Flaristan
сообщение Jul 26 2013, 05:13
Сообщение #3626


Тролль
****

Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Тварь



Цитата(Gatcuk @ Jul 25 2013, 19:45) *
Друзья, никто не подскажет скрипт для крафтинга через диалог?

Что-то вроде:

Изготовить "предмет" (требует X ресурса, X навыка изготовления брони). Во время проверки навыка имеется X% шанс успеха, в случае провала ингридиенты уничтожаются, но игрок предмет уже не получает.

Меня интересует крафт с проверкой навыков на изготовление брони (Craft Armor), оружия (Craft Weapon), ловушек (Craft trap), зелий (Brew potion) , поясов целителя (Heal), волшебных палочек (Craft wand), свитков (Scribe scroll), отмычек (Open lock), Книг (Lore).

Заранее спасибо (IMG:style_emoticons/kolobok_light/i-m_so_happy.gif)
>>>
Цитата(Flaristan @ Jul 18 2013, 05:30) *
Изучай скрипт-генератор – там есть все подобные функции.

Как создать данный скрипт с помощью скрипт генератора:
1. Запускаем генератор.
2. Choose script type (выберите тип скрипта) -> Normal script (нормальный скрипт).
3. Where is this script called from? (откуда запускается скрипт) -> From a conversation (из диалога).
4. Выбираем из списка арсенала генератора пункт Make an ‘if THIS then THAT condition’ (сделать «если ЭТО, то ТО условие») и жмем SCRIPT (скрипт).
5. Choose your condition (выберите ваше условие) -> Item restriction (требование предмета) -> The following event(s) will happen only if player (данный эвент(ы) случится только если игрок…) -> Has (имеет) -> The item tagged (предмет с тагом…) -> вводим таг предмета (в примере это «tag_of_resurs») -> есть возможность затребовать, чтоб этот предмет был экипирован на теле игрока в указанном слоте – она нам не нужна, не трогаем -> Okay (запилить!).
6. Операцию требования предмета можно повторить, если мы хотим, чтоб ресурсов было больше чем 1, но нам этого не надо, зато у нас есть требование навыка, поэтому все равно жмем еще раз Make an ‘if THIS then THAT condition’ (сделать «если ЭТО, то ТО условие») и жмем SCRIPT.
7. Choose your condition (выберите ваше условие) -> Successful skill check (удачная проверка навыка) -> Skill to check: (проверяемый навык) -> (тут можно ставить тот тип навыка, к которому мы относим крафт этого предмета – в примере это будет «Craft trap», ставим его; к сожалению почему-то в данном списке генератора представлены не все умения, но их можно и вручную в получившемся скрипте потом поменять будет, подсмотрев константы в тулсете или лексиконе) SKILL_CRAFT_TRAP -> Difficulty: (класс сложности; d20 + уровень навыка игрока должен быть равен или быть выше этого значения) -> (тут мы сразу одновременно устанавливаем и % успеха, т.к. чем выше разница требования и броска кубика + навыка игрока – тем меньше у него шансов на успех вплоть до «никаких»; допустим для примера мы создаем хитроумное приспособление которое должно соответствовать работе игрока-мастера не ниже 10 уровня с полностью вкачанным навыком, это около 13 пунктов навыка, добавим возможный бонус от вещей и модификаторов и повысим его до 17 пунктов, а так же установим вероятность создания такого предмета для такого мастера в 50% т.е. добавим еще 10 пунктов от предполагаемого броска кубика и получим в итоге 27, так и пишем) 27 -> Okay (запилить!).
8. Таким образом у нас получилось 2 условия – предмет и сложность крафта, теперь нам нужно описать что произойдет, если у игрока все получится. Выбираем из списка арсенала генератора пункт Give item(s)/XP/gold to PC (дать предмет(ы)/опыт/золото игроку) -> SCRIPT (скрипт) -> ResRef of item to give: (резреф получаемого предмета) -> (вбиваем/копируем сюда резреф того, что должно получиться – в примере это будет «resref_of_result») resref_of_result -> (больше мы ничего игроку не даем, поэтому жмем сразу финальную кнопку «запилить и выйти!») Okay – exit!
9. Итак у нас получается в случае прокидывания DC, игрок получает то, что он собирался скрафтить. На этом мы закрываем второе наше «if THIS then THAT» условие, для чего нажимаем 1 раз кнопку «Finish current if» (закончить текущее «если») -> Just finish (просто закончить; есть варианты еще «наветвить», но нам они тут не нужны).
10. В окошке «Current number of unfinished ‘if’ statements» (текущее число незавершенных «если» условий) видим, как 2 превратилось в 1. У нас осталось еще первое условие - предмета. Наш крафт подразумевает, что этот ресурс тратится при любом варианте, поэтому теперь мы это и осуществим в независимости от прокидываний DC. Выбираем из списка арсенала генератора пункт Take item(s)/XP/gold from PC (взять предмет(ы)/опыт/золото у игрока) -> SCRIPT (скрипт) -> (нам нужно только взять 1 предмет, поэтому мы заполняем лишь соответствующее поле) Tag of the item to take (таг забираемого предмета; у нас в примере это вышеупомянутый «tag_of_resurs») -> tag_of_resurs -> (больше мы ничего у игрока не забираем, поэтому жмем сразу финальную кнопку «запилить и выйти!») Okay – exit!
11. Теперь можно закрыть и 2 условие. Жмем «Finish current if» (закончить текущее «если») -> Just finish (просто закончить).
12. Вот собственно и весь наш скрипт. Больше нам добавить нечего и мы жмем кнопку «Close».
13. Теперь в окошке справа мы видим код нашего скрипта (выглядит кривовато, зато рабочий) – копируем его и помещаем его в нужное место в редакторе диалога (на «совершенные действия»).
14. Наслаждаемся и благодарим Лилака. Генератор можно закрывать.

Вот как выглядит результат:
Neverwinter Script
object oItem;
/*   Script generated by
Lilac Soul's NWN Script Generator, v. 2.3

For download info, please visit:
http://nwvault.ign.com/View.php?view=Other...683&id=625    */


//Put this on action taken in the conversation editor
void main()
{

object oPC = GetPCSpeaker();

if (GetItemPossessedBy(oPC, "tag_of_resurs")!= OBJECT_INVALID)
   {
   if (GetIsSkillSuccessful(oPC, SKILL_CRAFT_TRAP, 27))
      {
      CreateItemOnObject("resref_of_result", oPC);

      }
   oItem = GetItemPossessedBy(oPC, "tag_of_resurs");

   if (GetIsObjectValid(oItem))
      DestroyObject(oItem);

   }
}


Сообщение отредактировал Flaristan - Jul 26 2013, 05:31
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Gatcuk
сообщение Jul 26 2013, 09:49
Сообщение #3627


Level 1


Класс: Паладин
Характер: Neutral Good
Раса: Полуэльф



Огромное спасибо, друг.

Если честно, то я кажется начинаю потихоньку понимать, как это работает. И если можно, я попрошу еще один совет у мастеров. Дело в том что в редакторе я видел несколько предметов, чье предназначение не понял. А точнее: мясо, рыба, чеснок, беладонна. Не знаю, есть ли в игре кулинария (не одного упоминания я так и не обнаружил), но если они бесполезны, может подскажете младшему товарищу (это я) скрипт для того, что бы они расходовались во время отдыха. У меня уже на уме довольно простая, но в то же время интересная экономическая система для шарда. И если бы в нем присутствовали подобные расходники, это бы было очень кстати. (IMG:style_emoticons/kolobok_light/i-m_so_happy.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
arcmag
сообщение Jul 26 2013, 17:26
Сообщение #3628


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Цитата
Если честно, то я кажется начинаю потихоньку понимать, как это работает. И если можно, я попрошу еще один совет у мастеров. Дело в том что в редакторе я видел несколько предметов, чье предназначение не понял. А точнее: мясо, рыба, чеснок, беладонна. Не знаю, есть ли в игре кулинария (не одного упоминания я так и не обнаружил), но если они бесполезны, может подскажете младшему товарищу (это я) скрипт для того, что бы они расходовались во время отдыха. У меня уже на уме довольно простая, но в то же время интересная экономическая система для шарда. И если бы в нем присутствовали подобные расходники, это бы было очень кстати. i-m_so_happy.gif


Я конечно не мастер по скриптам но то что ты просишь по моему весьма просто. Допустим если игрок должен отдыхать в трактире в комнате вешаешь на кровать диалог с опцией "Отдых" которая появится в том случае если в инвентаре будет мясо, рыба ну и тд. При нажатии эти объекты дестроятся и начинается отдых.

На проверку для появления текста нужно повесить



Neverwinter Script
#include "nw_i0_tool"
int StartingConditional()
{
    if(HasItem(GetPCSpeaker(), "ТАГ_ТВОЕГО_ПРЕДМЕТА"))
        return TRUE;
    return FALSE;
}


и на действие при активации диалога


Neverwinter Script
void main()
{
   object oItemToTake = GetItemPossessedBy(GetPCSpeaker(), "ТАГ_ТВОЕГО_ПРЕДМЕТА");
   if(GetIsObjectValid(oItemToTake) != 0){
      DestroyObject(oItemToTake);
      ForceRest(GetPCSpeaker()); // насчет этой строчки я не совсем уверен но помоему она должна активировать отдых
}
}


Сообщение отредактировал arcmag - Jul 26 2013, 17:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 26 2013, 18:38
Сообщение #3629


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Цитата
ForceRest(GetPCSpeaker()); // насчет этой строчки я не совсем уверен но помоему она должна активировать отдых

не,... сам процесс не активируется, но используется на персонаже "сила отдыха", т.е. эффект как-будто персонаж отдохнул. Если нужно заставить именно отдыхать, то там есть актион вроде, типа ActionRest

Neverwinter Script
if(GetIsObjectValid(oItemToTake) != 0)

тут можно и не делать сравнение а просто if(GetIsObjectValid(oItemToTake))

Сообщение отредактировал Melisse - Jul 26 2013, 18:38
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Gatcuk
сообщение Jul 27 2013, 09:25
Сообщение #3630


Level 1


Класс: Паладин
Характер: Neutral Good
Раса: Полуэльф



Спасибо большое. А это будет работать если в локации стоит запрет на отдых?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 27 2013, 12:29
Сообщение #3631


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Ну если вы делаете скриптово и не нужно нажимать кнопку отдыха на панели GUI, то ActionRest может и работает, ForceRest точно.

Сообщение отредактировал Melisse - Jul 27 2013, 12:30
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
arcmag
сообщение Jul 27 2013, 13:09
Сообщение #3632


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Подскажите в чем ошибка? Хочу сделать простой такой скрипт который срабатывал бы при приближении игрока на определенное расстояние к существу чтобы тот из нейтрального состояния переходил во враждебное и крикнул бы что нибудь вроде "Тебе нельзя здесь находиться!"

Хочу повесить такой скрипт на гоблина, но не могу понять на какую ячейку вешать этот скрипт

Neverwinter Script
void main()
{
object oPC = GetLastDisturbed(); // вот с этой строчкой у меня тоже сомнения) я честно говоря не понял как называется функция для получения последнего объекта вошедшего в зону видимости ну или чего то подобного.
if(GetDistanceBetween(oPC,OBJECT_SELF)<10.0){  //проверяем расстояние между объектами
AssignCommand(OBJECT_SELF,ActionAttack(oPC)); 
AssignCommand(OBJECT_SELF,ActionSpeakString("Тебе нельзя здесь находиться!"));
}
}


И еще 1 проблема, почему то вдруг компилятор наотрез отказыватся воспринимать русский язык. Он попросту даже не печатается в нем. В английской раскладке все нормально а вот как только перехожу на русский клавиатура как будто пропадает только пробел и печатается. Пробовал взять и написать текст на русском в блокноте а потом скопировать но компилятор начал ругаться неожиданно на букву Я хотя раньше все было нормально, даже в коментариях выявляет ее как ошибку...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Jul 27 2013, 19:59
Сообщение #3633


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Вешайте в OnHeartbeat
что-то типа такого
Neverwinter Script
void main()
{
   // Игрок (живой)
   object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF,1,
                                                              CREATURE_TYPE_IS_ALIVE, TRUE);
   // Найден?
   int bValue = GetIsObjectValid(oPC);

   // Найден и дистанция меньше 10м
  if(bValue && GetDistanceBetween(OBJECT_SELF, oPC) < 10.0f)
   {
        // НПЦ не дерется
        if(!GetIsInCombat() )
        {
             ClearAllActions();// Чистим стэк действий
             AdjustReputation(oPC, OBJECT_SELF, -100);// Репутацию к игроку скинем в враждебность (можно и не делать)
       
             SpeakString("Тебе нельзя здесь находиться!"); // Произносим фразу

             ActionAttack(oPC, FALSE); // Атакуем
         }
    }
}



Цитата
И еще 1 проблема, почему то вдруг компилятор наотрез отказыватся воспринимать русский язык. Он попросту даже не печатается в нем. В английской раскладке все нормально а вот как только перехожу на русский клавиатура как будто пропадает только пробел и печатается. Пробовал взять и написать текст на русском в блокноте а потом скопировать но компилятор начал ругаться неожиданно на букву Я хотя раньше все было нормально, даже в коментариях выявляет ее как ошибку...

Надо поставить патч Дамбо. Правда я не знаю что там с win 7 и дальше, у меня XP SP3 на стационаре и Vista на буке, т.к. они давно очень куплены.
Еще надо в тулсете в редакторе скриптов изменить шрифт на Courer вроде, чтобы буквы показывало,
а чтобы в игре отражались русские буквы нужно в папку override, в каталоге с игрой, кинуть эти шрифты/или эти шрифты

Сообщение отредактировал Melisse - Jul 27 2013, 22:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
arcmag
сообщение Jul 27 2013, 20:51
Сообщение #3634


Level 2
*

Класс: Убийца
Характер: Neutral Evil
Раса: Нежить



Да дело не в том что у меня шрифт коряво отображается. Такая проблема уже была Courer шрифт поставил и все нормально стало. У меня проблема в другом, я просто не могу ничего по русским напечатать просто жму клавиши русской раскладки а компилятор их игнорирует хотя клавиатуру видит цифры и пробелы печатает, переключаюсь на англискую клаву английский текст печатает нормально.
Хотя еще недавно этой проблемы не было. Что произошло вдруг я так и не понял.

Сообщение отредактировал arcmag - Jul 27 2013, 20:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jul 27 2013, 23:15
Сообщение #3635


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Через ini пропиши тулсету шрифт Courier New Cyr, выбор кириллицы через настройки у меня например не работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 144 145 146 147 >
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 4th May 2025 - 22:24