Pro-ild Опубликовано 21 октября, 2009 Жалоба Поделиться Опубликовано 21 октября, 2009 Напишите пожалуйста скрипт на благославляющий алтарь, чтоб при активации вылезало окно "Хотите получить благославление за 40 золота?" "Да" "Нет", при нажатии "да" на player'а накладывается определённый спеллмейк и снимается 40 дрейков. Уверен, скрипт несложный, но я в них полный чайник а мне очень не терпится! Ссылка на комментарий Поделиться на другие сайты Поделиться
Airwind Опубликовано 21 октября, 2009 Жалоба Поделиться Опубликовано 21 октября, 2009 А посмотреть в конструкторе? Хех.Скрипт святилища у дворца -- изменил, но не знаю, как будет работать. Begin *имя скрипта* short questionStateshort button if ( OnActivate == 1) Set questionState to 1 Returnendif if ( questionState == 0 ) Returnendif if ( questionState == 1 ) if ( Player->GetItemCount Gold_001 >= 40 ) MessageBox "Вы хотите оставить подношение в виде 40 дрейков и попросить благословения?" "Да" "Нет" Set questionState to 2 Return endif Set questionState to 0 Return endif if ( questionState == 2 ) set button to GetButtonPressed if ( button == 0 ) Player->RemoveItem Gold_001 40 Cast *ID заклинания* Player Set questionState to 0 endif if ( button == 1 ) Set questionState to 0 endif endif End Ссылка на комментарий Поделиться на другие сайты Поделиться
Pro-ild Опубликовано 21 октября, 2009 Жалоба Поделиться Опубликовано 21 октября, 2009 (изменено) Спасибо огромное!З.Ы:Какого дворца?З.З.Ы:Надеюсь, нужно иметь не ровно 40, а 40 или больше в инвентаре. Так? Изменено 21 октября, 2009 пользователем Pro-ild Ссылка на комментарий Поделиться на другие сайты Поделиться
Airwind Опубликовано 21 октября, 2009 Жалоба Поделиться Опубликовано 21 октября, 2009 Какого дворца?Вивека.Надеюсь, нужно иметь не ровно 40, а 40 или больше в инвентаре. Так?Ну разумеется. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кощей_Z Опубликовано 30 октября, 2009 Жалоба Поделиться Опубликовано 30 октября, 2009 Нужен скрипт:1)в воздухе 2 обьекта(Активатор и НПС(водитель Активатора))2)должны летать по "квадратному" кругу3)и попутно кидаться в игрока фаерболтами(1 раз в 10с).заранее спаибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Serg9408 Опубликовано 30 октября, 2009 Жалоба Поделиться Опубликовано 30 октября, 2009 по "квадратному" кругуЭто как? Ссылка на комментарий Поделиться на другие сайты Поделиться
Кощей_Z Опубликовано 30 октября, 2009 Жалоба Поделиться Опубликовано 30 октября, 2009 траектория полета - квадрат, активатор должен так летать пока в водилу не попадешь!(если сделаешь круглую траекторию, то буду рад!) Ссылка на комментарий Поделиться на другие сайты Поделиться
Serg9408 Опубликовано 31 октября, 2009 Жалоба Поделиться Опубликовано 31 октября, 2009 (изменено) Напишу (попытаюсь) по кругу.Begin ID_scripta float timer if(GetDeadCount "ID NPC в кавычках" > 1) return endif if(MenuMode=1) return endif if(timer >= 10) cast, firebloom, player set timer to 0 endif ID_активатора -> rotate, z 5;чем больше это число, тем меньше радиус круга. rotate, z 5;то же самое число ID_активатора -> move y, 100;это число регулирует скорость движения set timer to timer + GetSecondsPassed end У НПЦ должно быть заклинание "Огненный цветок", а у активатора должна стоять галочка "references persists" Выглядеть это будет так:Активатор движется по кругу.Советую сделать его такой формы, что НПЦ не сможет из него выбежать.НПЦ раз в десять секунд кидает в ГГ огненный шар.Если его убьешь, все останавливается. Если надо по-другому или если не заработает - переделаю. Изменено 1 ноября, 2009 пользователем Serg9408 Ссылка на комментарий Поделиться на другие сайты Поделиться
evgar Опубликовано 3 ноября, 2009 Жалоба Поделиться Опубликовано 3 ноября, 2009 Нужен такой скрипт: повесить на обьект, чтобы он при активации меня телепортировал, затем удалялся и появлялся рядом со мной(типа я на нем приехал). Впринципе я сделал но проблема в том, что он не всегда удаляется, может таймер поможет но не получается воткнуть. Вообщем скинте готовый если можно. Ссылка на комментарий Поделиться на другие сайты Поделиться
bi-666 Опубликовано 3 ноября, 2009 Жалоба Поделиться Опубликовано 3 ноября, 2009 Нужен такой скрипт: повесить на обьект, чтобы он при активации меня телепортировал, затем удалялся и появлялся рядом со мной(типа я на нем приехал). Впринципе я сделал но проблема в том, что он не всегда удаляется, может таймер поможет но не получается воткнуть. Вообщем скинте готовый если можно.Посмотрите часть скриптов из ЛМБ - там статик (база) при нажатии на кнопку вне ячейки с базой (внутри оной) удаляется и плейсится в ужеустановленном месте. Ссылка на комментарий Поделиться на другие сайты Поделиться
Saint Vivek Опубликовано 8 ноября, 2009 Жалоба Поделиться Опубликовано 8 ноября, 2009 Как заскриптовать перса чтобы через неделю после смерти Дагот Ура на него накладывались определенные магические эффекты? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ao3 Опубликовано 9 ноября, 2009 Жалоба Поделиться Опубликовано 9 ноября, 2009 Как заскриптовать перса чтобы через неделю после смерти Дагот Ура на него накладывались определенные магические эффекты? глобальный скрипт с проверкой на соответствующую запись в журнале, потом счётчик прошедших дней, и потом Player->addspell. Элементарно, но в 4 часа утра заморачиваться лень) Ссылка на комментарий Поделиться на другие сайты Поделиться
Saint Vivek Опубликовано 9 ноября, 2009 Жалоба Поделиться Опубликовано 9 ноября, 2009 (изменено) Я в скриптах нуб полный,поэтому напиши его пжалста!И еще-можно такой скрипт написать чтоб при активации предмета(ящика какого-нибудь) проигрывалась музыка Morrowinda(из главного меню)?Нужен скрипт! Немогу понять как делать скрипты на появление объектов после выполнения квеста? Изменено 10 ноября, 2009 пользователем Saint Vivek Ссылка на комментарий Поделиться на другие сайты Поделиться
VeriTi Опубликовано 11 ноября, 2009 Жалоба Поделиться Опубликовано 11 ноября, 2009 (изменено) скрипт на появление обьекта:if (GetJournalIndex megoquest == 100); необязательно мегоквест и необязательно сто. обьект появится при наличии этой записи в журнале if (GetDisabled == 1) enableendifelseif (getdisabled == 0) disableendifendif Изменено 11 ноября, 2009 пользователем VeriTi Ссылка на комментарий Поделиться на другие сайты Поделиться
Ao3 Опубликовано 11 ноября, 2009 Жалоба Поделиться Опубликовано 11 ноября, 2009 (изменено) скрипт на появление обьекта:if (GetJournalIndex megoquest == 100); необязательно мегоквест и необязательно сто. обьект появится при наличии этой записи в журнале лучше так: if (GetJournalIndex megoquest < 100)returnendif экономим ресурсы. if (GetDisabled == 1) enableendifelseif (getdisabled == 0) disableendifendif не понял. Если итема нетставимилиесли стоитубираем щито?? Изменено 11 ноября, 2009 пользователем Ao3 Ссылка на комментарий Поделиться на другие сайты Поделиться
VeriTi Опубликовано 11 ноября, 2009 Жалоба Поделиться Опубликовано 11 ноября, 2009 (изменено) не, ты что?обновил первый пост:если в журнале запись естьа предмета нетенаблим[конец а предмета нет]иначе (если записи нет)ну ты понял, если айтим есть, дисаблимальтернатива с ретурном:short DoOnce if (DoOnce == 0)disableset DoOnce to 1endif if (getjournalindex megoquest < 100)returnendif if (doonce == 1)enableset doonce to 2endif к слову, ретурн если юзать только этот кусочек не сильно экономит проц Изменено 11 ноября, 2009 пользователем VeriTi Ссылка на комментарий Поделиться на другие сайты Поделиться
Ao3 Опубликовано 11 ноября, 2009 Жалоба Поделиться Опубликовано 11 ноября, 2009 (изменено) Понял, понял. Опять невнимательность моя. Когда без отступа строчки не сразу увидишь что к чему. к слову, ретурн если юзать только этот кусочек не сильно экономит проц а если полторы сотни плагов с парой десятков подобных скриптов в каждом, хех) к слову, GCD например, со своей кучей переменных, просаживает лично уменя фпс порядка 30и. Я в шоке. Изменено 11 ноября, 2009 пользователем Ao3 Ссылка на комментарий Поделиться на другие сайты Поделиться
VeriTi Опубликовано 12 ноября, 2009 Жалоба Поделиться Опубликовано 12 ноября, 2009 (изменено) я знаю, долго пытался таб нажать) запостил пол-скрипта в итоге)просто мне кажется все идет так (только два этих скрипта): оба варианта выполняется пару раз. в первом он будет проскакивать два пустых условия если ничего не изменилось. а во втором будет проскакивать два раза без записи в журнале и три раза - с нейв больших скриптах это нужно, а в таких - не очень Изменено 12 ноября, 2009 пользователем VeriTi Ссылка на комментарий Поделиться на другие сайты Поделиться
Airwind Опубликовано 15 ноября, 2009 Жалоба Поделиться Опубликовано 15 ноября, 2009 Тэкс, вот какой скрипт мне нужен:При заходе в помещение на игрока кастуется заклятие, постепенно отнимающее здоровье. При выходе из помещения заклятие прекращается, при повторном входе -- возобновляется. Если же в журнале имеется определённая запись, то заклятие не кастуется и, если оно действовало в момент получения записи, то прекращается. Ссылка на комментарий Поделиться на другие сайты Поделиться
Serg9408 Опубликовано 15 ноября, 2009 Жалоба Поделиться Опубликовано 15 ноября, 2009 (изменено) На дверь на входе в помещение скрипт:begin Air_scr1 if(OnActivate=1) if(GetJournalIndex ID_квеста < 50);это индекс записи player->addspell, "ID_закла" endif activate endif end На дверь на выход: begin Air_scr2 if(OnActivate=1) if(player->GetSpellEffects, "ID_закла" = 1) player->removespell, "ID_закла" endif activate endif end А там, где добавляется запись, сразу после строчки, добавляющей эту запись, пишешь:if(player->GetSpellEffects, "ID_закла" = 1) player->removespell, "ID_закла" Тип закла делаешь ability, чтобы его ничем нельзя было снять. Изменено 15 ноября, 2009 пользователем Serg9408 Ссылка на комментарий Поделиться на другие сайты Поделиться
Airwind Опубликовано 15 ноября, 2009 Жалоба Поделиться Опубликовано 15 ноября, 2009 А без дверей? Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 16 ноября, 2009 Жалоба Поделиться Опубликовано 16 ноября, 2009 скрипт на появление обьекта:if (GetJournalIndex megoquest == 100); необязательно мегоквест и необязательно сто. обьект появится при наличии этой записи в журнале if (GetDisabled == 1) enableendifelseif (getdisabled == 0) disableendifendif а не проще ли:if ( GetJornalndex megoquest < 100 ) Disable else Enable enif Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 16 ноября, 2009 Жалоба Поделиться Опубликовано 16 ноября, 2009 А без дверей?А без дверей на активатор, с проверкой на нахождение игрока в данной ячейкеbegin Air_scr1 if( GetPCCell "ID_Ячейки" == 1) if(GetJournalIndex ID_квеста < 50);это индекс записи player->addspell, "ID_закла" endif Elseif(GetPCCell "ID_Ячейки"== 0) if(player->GetSpellEffects, "ID_закла" == 1) player->removespell, "ID_закла" endif endif endСо второй частью скрипта не уверен(не помню в какой момент идет просчет функции GetPCCell в момент выхода(еще в старой ячейке) или в момент входа(уже в новой ячейке) это может существенно повлиять на результат) в случае неработоспособности второй части скрипта создать активатор в той ячейке, в которую выходит игрок со следующим скриптом:begin Air_Scr2 if(GetPCCell "ID_Ячейки_выхода"== 1) if(player->GetSpellEffects, "ID_закла" == 1) player->removespell, "ID_закла" endif endif end Ссылка на комментарий Поделиться на другие сайты Поделиться
Serg9408 Опубликовано 16 ноября, 2009 Жалоба Поделиться Опубликовано 16 ноября, 2009 Только перед addspell в первом блоке все равно вставь getspelleffects. Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 17 ноября, 2009 Жалоба Поделиться Опубликовано 17 ноября, 2009 (изменено) Только перед addspell в первом блоке все равно вставь getspelleffects.А зачем? Если только для полноты и красоты скрипта? Тогда предлагаю и во втором блоке сделать проверку на номер журнальной записи... Изменено 17 ноября, 2009 пользователем lost81 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти