Всякого рода фишки, (касающиеся скриптов) постить сюда |
Здравствуйте, гость ( Вход | Регистрация )
Всякого рода фишки, (касающиеся скриптов) постить сюда |
Aug 11 2004, 19:36
Сообщение
#1
|
|||||||||||||||
Level 8 Класс: Псионик Характер: Chaotic Good Раса: Человек NWN: Скриптинг [Sn] |
Тема создана главнм образом для новичков, но и более опытным товарищая почитать тоже не помешает. Итак. Минимум флейма. Максимум инфы. Начну я (кто бы сомневался :-) ) 1. LevelUpHenchman(). С помощью этой функции можно... повысить уровень ПС (применив ее к ПС, конечно) без распределения этим самым ПС всех плюшек. Действие фишки можно наблюдать в первой главе ХотУ. Когда в начальном диалоге (при заходе чаром малых уровней) выозникает выбор: повысить уровень самому или автомастически. Этот самый автоматический вариант и реализован с помощью LevelUpHenchman. 2. Тонкость конструкции if (condition) { . . . }.
вернет TRUE. Никогда не задумывались почему? Дело в том, что при "заявлении" условие автоматически приравнивается(==) к TRUE. TRUE в свою очередь численно равно 1 (FALSE = 0, в этом в можете убедиться, открыв nwscript.nss). Поэтому наше форма и возвращает 1. Посему
можно с легкостью заменить на
Не использовать в данном виде! См. пост _kaa_ и мой ответ. 3. Известно почти всем, но все же.
то же, что и
Аналогично и с float, string, effect и другими типами данных. 4. Упрощенная модель if {} else {} Допустим,
то же, что
т.е. все, что до '?' - условие, все, что после вопроса до двоеточия - присвоение в случае истинности утвержения в скобках, после двоеточия - в случае ложности. Продолжение следует. Если у вас есть то, чем можно поделиться и что заслуживает всеобщего внимания , прошу. |
||||||||||||||
Jan 25 2005, 21:37
Сообщение
#2
|
|||
Level 2 Класс: Монах Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] |
Система тэговых скриптов включена в стандартные скрипты НВН (смотрите стандартные скрипты x2_mod_def_load, x2_mod_def_unaqu, x2_mod_def_unequ, x2_mod_def_act, x2_mod_def_aqu, x2_mod_def_equ, а так же скрипт-пример x2_it_example.nss) Касательно моего вклада в копилку идей: поделюсь с вами тем, как на Сиале реализован банк вещей. Сразу скажу, что описанная ситуация работает только с сервер-ваултными персонажами. Идея основана на баге одно функции: void DoPlaceableObjectAction(object oPlaceable, int nPlaceableAction) Дело в том, что эта функция, не смотря на ее название, работает не только с плэйсэйблами, но и с контейнерами (улавливаете мою мысль? :) ) сделав вызов с действием PLACEABLE_ACTION_USE вы можете для игрока открыть любой контейнер. А теперь наступают трудности. Надо сделать так, чтобы контейнер не был доступен пользователю и чтобы он и предметы из него не воровались. Заманчиво сделать контейнер-шкурку (это решает проблему доступа и воровства), но, к сожалению, все шкурки на игроке пропадают при заходе на шард. Поэтому пришлось сделать контэйнер размером 0Х0 (т.е. по нему нельзя щелкнуть мышкой, чтобы открыть) и делать в скрипте использования контейнера вещи, помещенные в контейнер плотовыми (как и сам контейнер),чтобы их нельзя было своровать. Способ конечно извратный, но у него есть огромное преимущество: он не использует БД и поэтому не нагружает сервер. |
||
Текстовая версия | Сейчас: 23rd September 2024 - 23:59 |