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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 97 98 99 100 101 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Noob_scripter
сообщение Aug 11 2006, 14:47
Сообщение #2441


Level 1


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



HELP !

Я сделал диалог и четырех веток. В первой ветке при первом же сообщении говорю ,чтоб дали (set) PC Speaker'у локальную переменную voodoo равное константе 1.

Вторую ветку сказал, чтоб проверили: ifGetLocalInt(GetPCSpeaker() "voodoo", == 1); Return false Return TRUE ,короче использовал скрипты разработчиков прямо в диалоге (галочки ставил - дать переменную, проверить переменную).

В итоге (мой диалог полностью на английском, версия игры 1.67) ничо не работает. Сколько раз к челу не подходи - все равно кидает первую ветку. Что делать? Да еще, у меня пара надписей (записи в журнале, несколько надписей на "знаках" (предметы) они на русском и в игры выглядят как абракадабра, однако например скрип сидения на стуле работает, да и ваще все скрипты компилируются, а вот ета переменная не работает! HELP!!!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Aug 11 2006, 14:54
Сообщение #2442


Level 4
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить



QUOTE
Вторую ветку сказал, чтоб проверили: ifGetLocalInt(GetPCSpeaker() "voodoo", == 1); Return false Return TRUE ,


Тут надо наоборот,

NSS
if (GetLocalInt(GetPCSpeaker(), "voodoo")==1)
   return TRUE;
return FALSE;


Кстати, ветки в диалоге нужно распологать в таком порядке,
"2 фраза" - проверка переменной,
"1 фраза" - установка переменной.


QUOTE
Да еще, у меня пара надписей (записи в журнале, несколько надписей на "знаках" (предметы) они на русском и в игры выглядят как абракадабра


А ты не забыл кинуть русские шрифты в папку ovveride ?


ЗЫ: чуть не забыл, скрипты написанные визардом могут не работать из-за наличия русских комментариев, поэтому удали их.

Сообщение отредактировал Waromon - Aug 11 2006, 14:57
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
xHageN
сообщение Aug 11 2006, 15:52
Сообщение #2443


Level 1


Класс: Некромант
Характер: Chaotic Good
Раса: Полуэльф



QUOTE(Waromon @ Aug 11 2006, 11:25) [snapback]89423[/snapback]

(да и вообще ниже 1.66 имхо нет смысла чтото делать... Патчись. (IMG:style_emoticons/kolobok_light/wink3.gif)


Нашел. Скачал. Поставил. Теперь не представляю, как без него жил (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал xHageN - Aug 11 2006, 15:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Noob_scripter
сообщение Aug 11 2006, 16:45
Сообщение #2444


Level 1


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



Все комментарии английские, пробоовал менять местами return FaLse и return TRUE - все равно не работает. Вообщем визардовские скрипты не работают. Где можнео посмотреть пример такого диалога?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 11 2006, 16:57
Сообщение #2445


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Noob_scripter, а в каком порядке размещаешь ветки диалога? Вначале первый ответ НПС, потом второй ответ НПС. Я правильно описываю? Если оно так, то это неверный подход. Ветку, которая проверяется скриптом, необходимо ставить выше ветки диалога, которую произносит НПС при первой встрече. Когда у тебя переменная переключится на 1, то после повторного обращения к НПС будет видна именно та ветка, которая проверяет твою переменную.

Если на всех ветках диалога стоят скрипты, которые проверяют те или иные условия, то они расставляются по приоритету обращения, когда же одна из веток ответа НПС не имеет скриптов вообще, то всегда должна быть ниже всех остальных его ответов.

Чтобы было понятно, и отложилось в голове, представь, что диалог у тебя дерево условий:
NSS
if (voodoo == 2)
{
// то такое-то будет
}
else if (voodoo == 1)
{
// то такое-то будет
}
else
{
// все остальные значения. В нашем случае, первый ответ НПС.
}

Waromon, ты не совсем верно ему объяснил (IMG:style_emoticons/kolobok_light/smile.gif) Просто есть один нюанс. Как правильно, я описал выше.

Сообщение отредактировал Zirrex - Aug 11 2006, 17:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Waromon
сообщение Aug 11 2006, 17:02
Сообщение #2446


Level 4
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Нежить



Мдя... Я ведь говорил - диалог должен строится по такому принципу:

QUOTE
"2 фраза" - проверка переменной
"1 фраза" - установка переменной


Читай: http://www.city-of-masters.ru/forums/index...?showtopic=1752

Zirrex, опередил. (IMG:style_emoticons/kolobok_light/pardon.gif)

Гммм... Это просто пример. Грубый простой пример. Но РАБОЧИЙ что самое главное.

З.Ы: Noob_scripter, кстати визардские скрипты могут не работать, если строки в диалоге будут состоять из 1 ответа НПЦ, поэтому лучше все делать самому. "Ручками, ручками!" (с)
(просто там локалка вешается на игрока, который в свою очередь определен как GetPCSpeaker)

Сообщение отредактировал Waromon - Aug 11 2006, 17:15
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Aug 15 2006, 18:46
Сообщение #2447


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



Доброго времени суток.
Назрело два вопроса:
1. Можно ли отключить миникарту(или сделать ее "темной") с помощью скриптов, или только редактированием контента?
2. Можно ли плейс статик сделать юзебл и наооборот с помощью скриптов, если да подскажите куда копать?
Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 15 2006, 22:18
Сообщение #2448


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



1. Нет.
2. Опиши задачу. Нафик такое надо? Можно просто Удалить/Создать. Свойства соотвественно разные.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Aug 15 2006, 23:25
Сообщение #2449


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



QUOTE(Aiwan @ Aug 15 2006, 22:18) [snapback]89697[/snapback]

1. Нет.
2. Опиши задачу. Нафик такое надо? Можно просто Удалить/Создать. Свойства соотвественно разные.


1. Тоесть только hak'ами? Или вообще нельзя? (На Сиале в ДБ карта не отображается)
2. Вопрос отпал.. действительно можно ведь удалить/создать (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 16 2006, 02:34
Сообщение #2450


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



windhover, карта при этом белого цвета? Если да, то использован набор тайлов "Микросет". Иначе же можно карту затирать постоянно у персонажа, который вошел на локацию. Это делается с помощью функции:

NSS
// Expose/Hide the entire map of oArea for oPlayer.
// - oArea: The area that the map will be exposed/hidden for.
// - oPlayer: The player the map will be exposed/hidden for.
// - bExplored: TRUE/FALSE. Whether the map should be completely explored or hidden.
void ExploreAreaForPlayer(object oArea, object oPlayer, int bExplored=TRUE)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Aug 16 2006, 21:25
Сообщение #2451


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



QUOTE(Zirrex @ Aug 16 2006, 02:34) [snapback]89707[/snapback]

windhover, карта при этом белого цвета? Если да, то использован набор тайлов "Микросет". Иначе же можно карту затирать постоянно у персонажа, который вошел на локацию. Это делается с помощью функции:

NSS
// Expose/Hide the entire map of oArea for oPlayer.
// - oArea: The area that the map will be exposed/hidden for.
// - oPlayer: The player the map will be exposed/hidden for.
// - bExplored: TRUE/FALSE. Whether the map should be completely explored or hidden.
void ExploreAreaForPlayer(object oArea, object oPlayer, int bExplored=TRUE)



Да нет, там миникарта черная.
Затирать - немного не то, нужно чтобы карта постоянно была закрыта, а так даже если на хетбит вешать скрипт с этой функцией - карта в пределах видимости ПС открывается, когда он отходит с места - на том месте закрывается и открывается в новом, и т.д.
Видимо скриптами не получится (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
virusman
сообщение Aug 16 2006, 23:08
Сообщение #2452


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

Класс: Волшебник
Характер: Neutral Good
Раса: Человек
NWN: Скриптинг [PW]
Axistown SR 1.9
NWNX



Создаётся точная копия тайлсета, но с пустыми значениями минимап (или заменёнными на чёрный квадрат).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Aug 16 2006, 23:15
Сообщение #2453


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



QUOTE(virusman @ Aug 16 2006, 23:08) [snapback]89772[/snapback]

Создаётся точная копия тайлсета, но с пустыми значениями минимап (или заменёнными на чёрный квадрат).


Да это уже в контент надо лезть, как я понимаю (IMG:style_emoticons/kolobok_light/unsure.gif)
Думал, может скриптами можно обойтись.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2006, 08:23
Сообщение #2454


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE(windhover @ Aug 17 2006, 02:15) [snapback]89776[/snapback]
Да это уже в контент надо лезть, как я понимаю unsure.gif
Думал, может скриптами можно обойтись.

Это надо отредактировать файл имя_тайлсета.set. Там просто затери все иконки и все. А файл этот текстовой.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 18 2006, 15:32
Сообщение #2455


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Aiwan, и какой же файл затирать? Они имеют очень туманные названия. Потом, если вытереть оттуда всю информацию, то лишатся карт и все остальные локации, которые используют данный набор тайлов. По-моему это не выход. Разработчикам нужно было сделать в настройках локации опцию "Отобрать или не отображать карту".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Aug 18 2006, 15:40
Сообщение #2456


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Zirrex, затирается не файл, а ссылка на него в тайлсете.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 18 2006, 17:04
Сообщение #2457


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Объясните на примере. Я что-то не понимаю где именно затирать.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Aug 18 2006, 17:06
Сообщение #2458


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



Айван уже писал:
QUOTE(Aiwan @ Aug 17 2006, 09:23) [snapback]89787[/snapback]
Это надо отредактировать файл имя_тайлсета.set

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 18 2006, 19:19
Сообщение #2459


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Берем к примеру файл tti01.set, переименовываем его в новый или оставляем старый. Если старый то у всех лок не буит карты. Если новый то только на новой. К примеру tti02.set. Открываем, ищем название и правим:
CODE

UnlocalizedName=No_map_area

Ищем все файлы карт ImageMap2D:
CODE

ImageMap2D=no_map

Могеш сделать no_map.tga и нарисовать там дулю.
И все. А. Не забуть itp переименовать и горизонт. И все. Новый тайлсет. (IMG:style_emoticons/kolobok_light/smile.gif)



Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
helvene
сообщение Aug 18 2006, 20:24
Сообщение #2460


Mystery
Иконки Групп

Класс: Маг
Характер: Lawful Evil
Раса: Тварь
NWN: Контент
Амен



От себя добавлю - если уже есть области, котторые нужно перенести на новый тайлсет, из модуля экстрактим файлы с расширением .are и соответствующими тегами, открыть их в любом шестнадцетиричном редакторе и в колонке с ASCII найти и заменить префикс тайлсета.

После этого открыть на редактирование модуль и в директории temp, куда тулсет разворачивает его при редактировании, заменить старые файлы новыми, отредактированными. Сохранить модуль, не изменяя в нем более ничего.

Перенос произведен (IMG:style_emoticons/kolobok_light/smile.gif)

Айв, перемести последние посты в контент, а? Там они более уместны будут.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 18 2006, 20:43
Сообщение #2461


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Пусть повисят несколько дней.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Aug 19 2006, 00:33
Сообщение #2462


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



Благодарю всех за столь исчерпывающие объяснения.
Всетаки решил остановиться на варианте с скриптом и неполным скрытием карты, так как в некоторых случаях карту надо открывать(например игрок купил карту определенной местности).
И сразу возникает вопрос: сильно ли отобразиться на производительности, если на хетбите всех локаций будет висеть скрипт, затирающий карту?

QUOTE(Zirrex @ Aug 18 2006, 15:32) [snapback]89882[/snapback]

... Разработчикам нужно было сделать в настройках локации опцию "Отобрать или не отображать карту".

Ага, а сколько еще есть вещей, которые "...нужно было сделать" (IMG:style_emoticons/kolobok_light/declare.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 19 2006, 01:06
Сообщение #2463


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Ну, можно сделать проверку на наличие игрока в локации, тогда скрипт будет срабатывать тока в одной локации.

Но всеж, ИМХО как-то не катит затирание на хертбит, не лучше ли сделать затерание карты при выходе с локи?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
windhover
сообщение Aug 19 2006, 13:30
Сообщение #2464


Level 3
*

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек



QUOTE(-fenix- @ Aug 19 2006, 01:06) [snapback]89944[/snapback]

Ну, можно сделать проверку на наличие игрока в локации, тогда скрипт будет срабатывать тока в одной локации.

Но всеж, ИМХО как-то не катит затирание на хертбит, не лучше ли сделать затерание карты при выходе с локи?


Смысл в том, чтобы игрок не ходил по карте, поэтому ее надо постоянно затирать, если затирать при выходе/входе в локу она будет скрыта при следующем заходе, а когда игрок находиться в локации - будет открываться.

А если сделать так:
Скрипт запускается при входе игрока в локу, через каждые 10 сек проверяет наличие игрока, если есть - затирает карту, если нет - останавливается, или, с помощью Alternative Core таймер создавать?

Сообщение отредактировал windhover - Aug 19 2006, 13:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Aug 19 2006, 13:38
Сообщение #2465


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



QUOTE(windhover @ Aug 19 2006, 01:33) [snapback]89943[/snapback]
И сразу возникает вопрос: сильно ли отобразиться на производительности, если на хетбите всех локаций будет висеть скрипт, затирающий карту?

Нет. Вспомни, что у каждого созданного в игре монстра на хатбите уже стоит скрипт, и довольно непростой, так что затирание катры будет каплем в море, к тому же, если это сингл, то можешь использовать только хатбит модуля и затирать только карту, в которой находится игрок.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 97 98 99 100 101 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 30th April 2025 - 08:35