![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2001
|
|
Level 11 ![]() Класс: Вор Характер: Neutral Evil Раса: Эльф NWN: Скриптинг [PW] Validor2 ![]() |
совершенно не понятно зачем все это вешать на харбит...
ставишь на арене переключатель, который при первом юзе спавнит копию, а при втором ее удаляет... хочешь, все, что есть а арене, хочешь - только свою, и тогда у каждого плеера на арене есть возможность вызвать свою копию... Сообщение отредактировал Vanes - Feb 22 2006, 09:30 |
![]()
Сообщение
#2002
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Vanes, а опыт ты как будешь получать за убитое существо? Потом, а вдруг сражающийся персонаж покинет Арену, и что же будут делать остальные игроки? Если все это делать через переключатель, то на него надо вешать переменную, которая будет срабатывать только тогда, когда ты заплатишь за использование Арены. Только вот ведь какая загвоздка, Арена то используется тем игроком, который покинул сервер.
Идея Арены такая, чтобы на ней за раз мог сражаться только один игрок, а остальные просты бы могли подождать. |
![]()
Сообщение
#2003
|
|
Level 6 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить NWN: Скриптинг [PW] ![]() |
вешаеш переменую на чара и рычаг(имя_фамилия)
когда чар выходит(exit area), сравниваеш его переменую с переменой рычага если тру - убиваеш копию так нельзя чтоле? запутался что-то Сообщение отредактировал [MoF]Darth_Nick - Feb 22 2006, 10:36 |
![]()
Сообщение
#2004
|
|||||||||
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Zirrex, вот несколько идей по твоему скрипту: - Во-первых проверка
в переборе
будет происходить только один раз только для первого объекта, и первым обьектом в области может быть и не существо, тогда цикл вообще не станет выполняться, а если и будет выполняться, то без нужных проверок. Внеси проверку внутрь цикла, например так:
, то же самое для перебора в конце Кстати, куча лишних комментариев только затрудняют понимание кода. -
Если первый зашедший на сервер персонаж не на арене, то скрипт вообще перестанет выполняться. Сообщение отредактировал azathoth - Feb 22 2006, 11:25 |
||||||||
![]()
Сообщение
#2005
|
|||||
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
azathoth, проверка на тип объекта у меня стоит внутри цикла. Это я в этом примере вынес наружу, чтобы убедиться, что это неверно (IMG:style_emoticons/kolobok_light/smile.gif) Комментариев в оригинальном скрипте у меня нет. Я их добавил тут для того, чтобы сторонний наблюдатель мог разобраться в скрипте. В этом коде:
достаточно убрать 'return', и изменить скрипт на:
как все должно заработать. Какие еще ошибки? Это то я исправлю, но суть проблемы не изменится. [MoF]Darth_Nick, нельзя так. Вся информация о персонаже становится недоступной, когда он выходит с сервера. Да и запутался я в этих переменных, вроде бы все верно, а работать не желает. Даже пробовал присваивать переменную копии, а потом уж по ней выявлять существ, и все равно не работало. Смотри, самый простой пример, вешаю переменную на персонажа в момент активации сражения. Переменная становится равной 1. Персонаж резко выходит с модуля. На выходе с локации стоит скрипт, который проверяет, висит ли эта переменная на выходящем существе или нет, если висит, то сбросить на 0. Только вся беда в том, что когда персонаж покидает не локацию, а модуль, то скрипт не успевает проверить переменную. Почему? Я не знаю. Зачем вообще делать действие LeaveModule, если оно не умеет правильно работать с выходящими персонажами? |
||||
![]()
Сообщение
#2006
|
|||||||||||
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Комментариев в оригинальном скрипте у меня нет. Я их добавил тут для того, чтобы сторонний наблюдатель мог разобраться в скрипте. Мало помогают, вместо того, чтобы писать, что делает каждая отдельная команда (что и так ясно из ее названия) лучше написать, что делает тот или иной блок команд, например, что ищет тот или иной цикл. Что означает nCreature я так и не понял =) Но почему он устанавливается в ТRUE скажу:
Первый проход цикла: Паблик первого персонажа совпал, переменная FALSE, второй проход - паблик не совпал, переменная в TRUE, и монстр удаляется. Избежать можно например так:
А вообще слишком запутанно, вот так вроде бы логичнее (алгоритм тот же), написал пока разбирал:
P.S. проверка
будет всегда верна, так как пройдет если существо ИЛИ ни дм ИЛИ не игрок, что-нибудь да и верно, по-видимому нужно так:
Сообщение отредактировал azathoth - Feb 22 2006, 15:55 |
||||||||||
![]() ![]()
Сообщение
#2007
|
|||||||
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
azathoth, спасибо за помощь, но я успел перекроить код и немного его оптимизировать. Вот что получилось. Столько лишнего кода оказалось (IMG:style_emoticons/kolobok_light/smile.gif) Второй цикл поиска существа я убрал, потому что можно работать и без него с объектом 'oEnemy = oCreature;'. Сразу этого не заметил, а одна строчка сильно разгружает код.
Просмотрел твою редакцию кода, и вижу что немного не понял сути. 'bDestroy = FALSE' будет до тех пор, пока на Арене не появится персонаж с условием:
Условие отрицания не сработает, и ключ 'bDestroy' останется 'TRUE'. Далее, если персонаж с условием
войдет на Арену, то появившийся враг тут же пропадет. А если быстро выйдет, до срабатывания хартбита, то враг останется на Арене (IMG:style_emoticons/kolobok_light/smile.gif) Переменную 'SetLocalInt(oMod, "WorkArena", FALSE);' мне нельзя делать 'FALSE' сразу после убийства врага, потому что врагов может быть двое или трое. Сообщение отредактировал Zirrex - Feb 23 2006, 04:03 |
||||||
![]() ![]()
Сообщение
#2008
|
|||
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
посмотрел я заметил (как мне кажеться) вот что - в скрипте не с того угла танцуете (IMG:style_emoticons/kolobok_light/biggrin.gif) ..ведь первое, что надо проверить - это есть ил и нет игрок на арене, а потом уже смотрет какие кричи, что там делают ну и в итоге вот что получилось
Сообщение отредактировал mamuc - Feb 23 2006, 15:46 |
||
![]()
Сообщение
#2009
|
|||||
Level 5 ![]() ![]() Класс: Маг Характер: Lawful Good Раса: Тварь ![]() |
Всё Мужики Помираю срочно Хелп. Вот такая Проблемка. 1. Ставлю локалку на ондед Босса.
2. В скрипте Кат Сценки Проверяю на Локалку. И канечно же ничо не Пашит Хелп. плиз.
|
||||
![]()
Сообщение
#2010
|
|
Level 5 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [Sn] ![]() |
Опиши ситуацию подробнее...у тебя сценка должена запускаться когда босс жив или все же когда погибает.
|
![]()
Сообщение
#2011
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
mamuc, спасибо, я попробую этот скрипт, только есть несколько но, переменную 'WorkArena' мне нужно изменять только тогда, когда нет игрока, с которого создалась копия, если он вышел с поля Арены или из игры.
|
![]()
Сообщение
#2012
|
|||||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Цитата 2. В скрипте Кат Сценки Проверяю на Локалку. И канечно же ничо не Пашит Хелп. плиз. И правильно делает, я бы то же не пахал, когда говорят не пахать!!!
У тебя тут отрицание стоит, при чем очень странное - этот скрипт вообще ни когда не выполнится, так как в проверке локалка забыта. Ты зачем-то устанавливаешь в nDED единицу, а потом ставешь отрицание. Выглядеть должно так
Сообщение отредактировал -fenix- - Feb 24 2006, 01:31 |
||||
![]() ![]()
Сообщение
#2013
|
|||
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
NedWarN, скрипт конечно еще тот. Учись писать красиво скрипты, иначе сразу разобраться очень тяжело. Переписал его, кое-что подправив. Не знаю для чего именно тебе две переменных, но видимо где-то используются, поэтому оставил.
Сообщение отредактировал Zirrex - Feb 24 2006, 05:08 |
||
![]() ![]()
Сообщение
#2014
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
Цитата mamuc, спасибо, я попробую этот скрипт, только есть несколько но, переменную 'WorkArena' мне нужно изменять только тогда, когда нет игрока, с которого создалась копия, если он вышел с поля Арены или из игры. ... а оно и меняеться реально только тогда , когда на арене нету игрока..а в остальное время оно FALSE (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#2015
|
|||
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Вот кусок скрипта официантки. Нужно, чтобы она шла так, как нужно, и при этом не зависала и не прерывалась. Попробовал делать блокировку/разблокировку очереди - официантка подбегает и ничего не делает. (Скрипт висит на OnConversation)
Сообщение отредактировал virusman - Feb 27 2006, 20:42 |
||
![]()
Сообщение
#2016
|
|
Level 7 ![]() ![]() Класс: Маг Характер: Lawful Neutral Раса: Эльф ![]() |
А нельзя сделать что бы она просто шла по вейпоинтам? Например пошла к такому-то вейпоинты, через пять сек к другому и т.д. Или я чего-то не понял...
|
![]()
Сообщение
#2017
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Везде где юзаешь Делей, попробуй сделать так:
|
||
![]()
Сообщение
#2018
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Спасибо, завтра попробую..
Но всё же, как я понимаю, многократная блокировка-разблокировка оставляет возможность (в течение 0.2-0.3 с) сбить работу официантки. |
![]()
Сообщение
#2019
|
|
Level 5 ![]() ![]() Класс: Маг Характер: Lawful Good Раса: Тварь ![]() |
-fenix- Zirrex.
Сорри когда писал немного "Принял" ибо без смазки немагу. Аба на трезвую голову взглянул и всё заработало гг. if (!(nDED == 1)) return; вот так надо! было. хоть бы один сказал. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]() ![]()
Сообщение
#2020
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
Цитата if (!(nDED == 1)) return; а не проще ли if (nDED != 1) return; |
![]()
Сообщение
#2021
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(mamuc @ Сегодня, 11:51) [snapback]71557[/snapback] а не проще ли if (nDED != 1) return; Проще так:
|
||
![]()
Сообщение
#2022
|
|||||
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
NedWarN, обычно пишут так:
Это будет правильней, чем то что ты написал. Если же у тебя много отрицаний, то можно написать так:
Aiwan, а я бы все же проверял так, как описали мы с Мамуком, потому что такой способ более надежный. Сообщение отредактировал Zirrex - Mar 3 2006, 10:27 |
||||
![]() ![]()
Сообщение
#2023
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
Цитата Проще так: Neverwinter Script Source if (!nDED) return; Aiwan это только когда nDED может принять лишь 2 значения(0 и 1 или TRUE/FALSE) ..а если их больше 2 используються, то лучше как мы с Zirrex написали Сообщение отредактировал mamuc - Mar 3 2006, 10:27 |
![]()
Сообщение
#2024
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(mamuc @ Сегодня, 12:24) [snapback]71570[/snapback] Aiwan это только когда nDED может принять лишь 2 значения(0 и 1 или TRUE/FALSE) ..а если их больше 2 используються, то лучше как мы с Zirrex написали Сорри. Я то не глянул, сколько у вас значений (IMG:style_emoticons/kolobok_light/pardon.gif) Цитата(Zirrex @ Сегодня, 12:01) [snapback]71566[/snapback] Aiwan, а я бы все же проверял так, как описали мы с Мамуком, потому что такой способ более надежный. Там же у Мамука было слово ПРОЩЕ. (IMG:style_emoticons/kolobok_light/pleasantry.gif) Про НАДЕЖНО никто не говорил. (IMG:style_emoticons/kolobok_light/blum3.gif) |
![]()
Сообщение
#2025
|
|
Level 1 Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Люди, подскажите пожалуйсто. Как мне сделать так, что-бы когда я кольцо одевал сразу появлялся эффект невидимости? или перехода местности
|
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 07:56 |