usolo Опубликовано 8 января, 2015 Жалоба Поделиться Опубликовано 8 января, 2015 (изменено) вроде как, все это доступно в MGE XE 0.9.9для использования нужно:Скачать искомый МГЕРаспаковать архив в папку с игрой. Взять оттуда папку mwedit и закинуть ее в папку с твоим mwedit c заменой файловПосле этого, по идее, должно работатьНо важно отметить - далеко не у каждого есть MGE XE 0.9.9 Изменено 8 января, 2015 пользователем usolo Ссылка на комментарий Поделиться на другие сайты Поделиться
Malbogatra Опубликовано 12 августа, 2015 Жалоба Поделиться Опубликовано 12 августа, 2015 (изменено) В руководстве для чайников пишут, что по непроверенным данным с форумов, функция additem/removeitem не работает на контейнерах. Это, похоже, не совсем так. Чтобы эта функция исправно работала на контейнерах, необходимо в в свойствах контейнера снять галочку References persist. Изменено 12 августа, 2015 пользователем Malbogatra Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 12 августа, 2015 Жалоба Поделиться Опубликовано 12 августа, 2015 References persist даёт доступ до контейнера в глобальном скрипте, если вы не находитесь в одной локации с ним. функция additem работает прекрасно, removeitem как-то криво, не всегда удаляет вещи, я для себя решил проблему полным уничтожением контейнера( в моём случае это оптимальное решение было). Ссылка на комментарий Поделиться на другие сайты Поделиться
Malbogatra Опубликовано 12 августа, 2015 Жалоба Поделиться Опубликовано 12 августа, 2015 У меня локальный скрипт на самом контейнере. Удаляет предметы как часы. Но стоит поставить галочку... и болты. Этот гадский контейнер запоминает состояние контейнера в момент его закрытия игроком, и не команда не срабатывает до следующего открытия контейнера. Да и после работает не всегда. Удаление же не работает вовсе. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 17 августа, 2015 Жалоба Поделиться Опубликовано 17 августа, 2015 У меня есть сундуки с локальными скриптами, действующими многоразово. Добавляют итемы в сундук с определенным шансом. Аддитем как часы работает. Ссылка на комментарий Поделиться на другие сайты Поделиться
Malbogatra Опубликовано 18 августа, 2015 Жалоба Поделиться Опубликовано 18 августа, 2015 Существует некое условие, если оно выполняется, сундук должен удалить из себя определенный айтем, вывести на экран некую переменную, и добавить некий топик. Переменную выводит, топик добавляет, но вещь остается на месте, если в свойствах сундука поставлена галочка References persist. Снимаю - вещь пропадает, топик добавляется, переменная выводится. Ссылка на комментарий Поделиться на другие сайты Поделиться
Otis_Geo Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 Приветствую! Кто-нибудь подскажет скрипт? Нужно чтобы при активации объекта повышался навык на N часов, и чтобы повторное нажатие и соответственно, повышение навыка, было только через эти N часов. Или чтобы раз в сутки бафал, без разницы, главное чтобы эффект не суммировался. Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 begin Scshort stateif menumode ==1 returnendifif onactivate == 1if state != dayspassedcast "spell", playerset state to dayspassedelseMessagebox "Вы уже использовали бафф"endifendifendчто то типа того. Ссылка на комментарий Поделиться на другие сайты Поделиться
Otis_Geo Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 что то типа того.Что-то нет: begin short stateif menumode ==1 returnendifif onactivate == 1if state != dayspassedcast "fortify enchant skill", playerset state to dayspassedelseMessagebox "Вы уже использовали бафф"endifendifend спелл fortify enchant skill стандартный. анимация каста есть, в игрока не прилетает. Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 (изменено) Эффект касание? Хотя и касание должно работать. Надо глядеть в чем дело в игре. Изменено 24 сентября, 2015 пользователем mortuus Ссылка на комментарий Поделиться на другие сайты Поделиться
R-Zero Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 анимация каста есть, в игрока не прилетает.Проблемы с коллизиями небось. Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 Проблемы с коллизиями небось.Я просто не пойму какая анимация каста. Такая анимация есть только у нпк(не?), а как я понял у нас активатор. Может и коллизии, а может надо отсечку каста иначе делать. Ссылка на комментарий Поделиться на другие сайты Поделиться
R-Zero Опубликовано 24 сентября, 2015 Жалоба Поделиться Опубликовано 24 сентября, 2015 (изменено) Я просто не пойму какая анимация каста. Такая анимация есть только у нпк(не?), а как я понял у нас активатор. Может и коллизии, а может надо отсечку каста иначе делать.Под анимацией каста имелся в виду, похоже, Casting Effect, тот же что и у алтарей.Когда я делал Better Traps у меня возникла похожая проблема с ловушками-Камнями Душ, решилось уменьшением размера коллизии. Могу порекоммендовать сменить модель активатора на модель алтаря, если не поможет - проблема действительно где-то в скрипте. Изменено 24 сентября, 2015 пользователем R-Zero Ссылка на комментарий Поделиться на другие сайты Поделиться
Otis_Geo Опубликовано 25 сентября, 2015 Жалоба Поделиться Опубликовано 25 сентября, 2015 Так, ну я поменял модель активатора, пока работает вроде, полет нормальный. Спасибо, ребят. Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 29 октября, 2015 Жалоба Поделиться Опубликовано 29 октября, 2015 Парни напомните, как синтаксически верно сделать строку с проверкой на кол-во определенного предмета в контейнере, заранее спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 29 октября, 2015 Жалоба Поделиться Опубликовано 29 октября, 2015 (изменено) наверноеSet X to ( "СУНДУК"->getitemcount "Y" ) Изменено 29 октября, 2015 пользователем mortuus Ссылка на комментарий Поделиться на другие сайты Поделиться
aL☢ Опубликовано 29 октября, 2015 Жалоба Поделиться Опубликовано 29 октября, 2015 Вот же лол, у меня там кавычка стояла неправильная) А я уж начал грешить на память)Морт спасибо, твои кавычки и выручили! Ссылка на комментарий Поделиться на другие сайты Поделиться
Аррайда Опубликовано 1 декабря, 2015 Жалоба Поделиться Опубликовано 1 декабря, 2015 (изменено) Нужна помощь в правке скрипта. Куча всего, я так и не разобралась во всех тонкостях, которые он выполняет. Скрипт к Детям Морроувинда. Помимо прочего, заставляет детей исчезать ночью. Что нужно поменять, чтобы было наоборот: днем ребенок исчезал, а ночью появлялся? (хочу наделать детских копий и в дома поместить - днем на улице, ночью дома, но с одним и тем же ID чревато (у меня слетала анимация)) begin EM_Kidsschedule2script<br><br>; By Nigedo.<br>; This script is for all kids who require only scheduled behaviour and recall when attacked<br>; scripts disable/enable while unseen and timing reworked by abot<br><br>Short nolore<br>Short knowyou<br>Short OnPCHitMe<br>Short removeDay<br>Short count<br>Short extraBounty<br><br>short i1<br>float t1<br>float x1<br>float y1<br>float x2<br>float y2<br>float x3<br>float y3<br><br>if ( MenuMode == 1 )<br> return<br>endif <br><br>if ( i1 >= 10 )<br> set x2 to ( GetDistance player )<br> if ( x2 > 500 )<br> set i1 to 1<br> set x1 to ( player->GetPos X )<br> set y1 to ( player->GetPos Y )<br> set y3 to ( player->GetAngle Z )<br><br> set x2 to GetPos X<br> set y2 to GetPos Y<br><br> set x2 to ( x2 - x1 )<br> set y2 to ( y2 - y1 )<br><br> set x3 to ( y2 * y2 )<br> if ( x3 < 0.000001 )<br> return<br> endif<br><br> set x3 to ( x2 / y2 )<br><br> if ( x2 > 0 )<br> if ( y2 > 0 )<br> if ( x3 > 1 )<br> if ( y3 < -45 )<br> set i1 to 0<br> endif<br> else<br> if ( y3 < -90 )<br> set i1 to 0<br> endif<br> if ( y3 > 135 )<br> set i1 to 0<br> endif<br> endif<br> else<br> if ( x3 < -1 )<br> if ( y3 < 0 )<br> if ( y3 > -135 )<br> set i1 to 0<br> endif<br> endif<br> else<br> if ( y3 < 45 )<br> if ( y3 > -90 )<br> set i1 to 0<br> endif<br> endif<br> endif<br> endif<br> else<br> if ( y2 > 0 )<br> if ( x3 < -1 )<br> if ( y3 > 45 )<br> set i1 to 0<br> endif<br> else<br> if ( y3 > 90 )<br> set i1 to 0<br> endif<br> if ( y3 < -135 )<br> set i1 to 0<br> endif<br> endif<br> else<br> if ( x3 > 1 )<br> if ( y3 > 0 )<br> if ( y3 < 135 )<br> set i1 to 0<br> endif<br> endif<br> else<br> if ( y3 > -35 )<br> if ( y3 < 90 )<br> set i1 to 0<br> endif<br> endif<br> endif<br> endif<br> endif<br><br> if ( i1 == 0 ) ; player is not looking at me<br> if ( GetDisabled == 0 )<br> disable<br> else<br> enable<br> endif<br> endif<br> endif <br> set i1 to 0<br>endif<br><br>if ( t1 < 5 )<br> set t1 to ( t1 + GetSecondsPassed )<br>else<br> set t1 to ( ( Random 10001 ) / 10000.0 )<br> if ( GameHour > 20 )<br> set i1 to 1<br> elseif ( GameHour < 8 )<br> set i1 to 1<br> else<br> set i1 to 0<br> endif<br> if ( i1 == 1 )<br> if ( GetDisabled == 0 )<br> set i1 to 10<br> return<br> endif<br> else ; daytime<br> if ( day != removeDay )<br> if ( GetDisabled == 1 )<br> set i1 to 20<br> return<br> endif<br> endif<br> endif<br>endif<br><br>if ( CellChanged == 1 )<br> if ( GameHour > 20 )<br> set i1 to 1<br> elseif ( GameHour < 8 )<br> set i1 to 1<br> else<br> set i1 to 0<br> endif<br> if ( GetInterior == 1 )<br> if ( i1 == 1 )<br> if ( GetDisabled == 0 )<br> disable<br> endif<br> elseif ( GetDisabled == 1 )<br> enable<br> endif<br> return<br> endif<br>endif<br><br>if ( GetDisabled == 1 )<br> return<br>endif<br> <br>if ( GetEffect sEffectRecall ) ; Recall cast completed<br> set removeDay To Day; Trigger unscheduled disable for one day<br> disable<br> return<br>elseif ( OnPCHitMe == 1 )<br> SetHealth 1000 ; Prevent more attacks from killing kid<br> Cast "1EM_kidsrecall" Player ; Face Player and cast kids recall spell<br> if ( extraBounty == 0 )<br> ModPCCrimeLevel 2000 ; Add extra fine for this crime<br> set extraBounty To 1<br> elseif ( GetPCCrimeLevel == 0 )<br> set OnPCHitMe To 0<br> set extraBounty To 0<br> endif<br>endif<br><br>End Изменено 1 декабря, 2015 пользователем Аррайда Ссылка на комментарий Поделиться на другие сайты Поделиться
mortuus Опубликовано 1 декабря, 2015 Жалоба Поделиться Опубликовано 1 декабря, 2015 Надо нормальный скрипт сюда выложить, а не эту ерунду. Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 1 декабря, 2015 Жалоба Поделиться Опубликовано 1 декабря, 2015 замени хоть на пустое, нечитабельно ж Ссылка на комментарий Поделиться на другие сайты Поделиться
Dun Dram Опубликовано 1 декабря, 2015 Жалоба Поделиться Опубликовано 1 декабря, 2015 замени хоть на пустое, нечитабельно жА самим никак? Две кнопки же нажать. begin EM_Kidsschedule2script ; By Nigedo.; This script is for all kids who require only scheduled behaviour and recall when attacked; scripts disable/enable while unseen and timing reworked by abot Short noloreShort knowyouShort OnPCHitMeShort removeDayShort countShort extraBounty short i1float t1float x1float y1float x2float y2float x3float y3 if ( MenuMode == 1 ) returnendif if ( i1 >= 10 ) set x2 to ( GetDistance player ) if ( x2 > 500 ) set i1 to 1 set x1 to ( player->GetPos X ) set y1 to ( player->GetPos Y ) set y3 to ( player->GetAngle Z ) set x2 to GetPos X set y2 to GetPos Y set x2 to ( x2 - x1 ) set y2 to ( y2 - y1 ) set x3 to ( y2 * y2 ) if ( x3 < 0.000001 ) return endif set x3 to ( x2 / y2 ) if ( x2 > 0 ) if ( y2 > 0 ) if ( x3 > 1 ) if ( y3 < -45 ) set i1 to 0 endif else if ( y3 < -90 ) set i1 to 0 endif if ( y3 > 135 ) set i1 to 0 endif endif else if ( x3 < -1 ) if ( y3 < 0 ) if ( y3 > -135 ) set i1 to 0 endif endif else if ( y3 < 45 ) if ( y3 > -90 ) set i1 to 0 endif endif endif endif else if ( y2 > 0 ) if ( x3 < -1 ) if ( y3 > 45 ) set i1 to 0 endif else if ( y3 > 90 ) set i1 to 0 endif if ( y3 < -135 ) set i1 to 0 endif endif else if ( x3 > 1 ) if ( y3 > 0 ) if ( y3 < 135 ) set i1 to 0 endif endif else if ( y3 > -35 ) if ( y3 < 90 ) set i1 to 0 endif endif endif endif endif if ( i1 == 0 ) ; player is not looking at me if ( GetDisabled == 0 ) disable else enable endif endif endif set i1 to 0endif if ( t1 < 5 ) set t1 to ( t1 + GetSecondsPassed )else set t1 to ( ( Random 10001 ) / 10000.0 ) if ( GameHour > 20 ) set i1 to 1 elseif ( GameHour < 8 ) set i1 to 1 else set i1 to 0 endif if ( i1 == 1 ) if ( GetDisabled == 0 ) set i1 to 10 return endif else ; daytime if ( day != removeDay ) if ( GetDisabled == 1 ) set i1 to 20 return endif endif endifendif if ( CellChanged == 1 ) if ( GameHour > 20 ) set i1 to 1 elseif ( GameHour < 8 ) set i1 to 1 else set i1 to 0 endif if ( GetInterior == 1 ) if ( i1 == 1 ) if ( GetDisabled == 0 ) disable endif elseif ( GetDisabled == 1 ) enable endif return endifendif if ( GetDisabled == 1 ) returnendif if ( GetEffect sEffectRecall ) ; Recall cast completed set removeDay To Day; Trigger unscheduled disable for one day disable returnelseif ( OnPCHitMe == 1 ) SetHealth 1000 ; Prevent more attacks from killing kid Cast "1EM_kidsrecall" Player ; Face Player and cast kids recall spell if ( extraBounty == 0 ) ModPCCrimeLevel 2000 ; Add extra fine for this crime set extraBounty To 1 elseif ( GetPCCrimeLevel == 0 ) set OnPCHitMe To 0 set extraBounty To 0 endifendif End Ссылка на комментарий Поделиться на другие сайты Поделиться
Аррайда Опубликовано 1 декабря, 2015 Жалоба Поделиться Опубликовано 1 декабря, 2015 Блин, не заметила, что ерунда получилась( Но выше уже выложили... Может кто помочь? Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 1 декабря, 2015 Жалоба Поделиться Опубликовано 1 декабря, 2015 (изменено) тогда уже так begin EM_Kidsschedule2script ; By Nigedo. ; This script is for all kids who require only scheduled behaviour and recall when attacked ; scripts disable/enable while unseen and timing reworked by abot Short nolore Short knowyou Short OnPCHitMe Short removeDay Short count Short extraBounty short i1 float t1 float x1 float y1 float x2 float y2 float x3 float y3 if ( MenuMode == 1 ) return endif if ( i1 >= 10 ) set x2 to ( GetDistance player ) if ( x2 > 500 ) set i1 to 1 set x1 to ( player->GetPos X ) set y1 to ( player->GetPos Y ) set y3 to ( player->GetAngle Z ) set x2 to GetPos X set y2 to GetPos Y set x2 to ( x2 - x1 ) set y2 to ( y2 - y1 ) set x3 to ( y2 * y2 ) if ( x3 < 0.000001 ) return endif set x3 to ( x2 / y2 ) if ( x2 > 0 ) if ( y2 > 0 ) if ( x3 > 1 ) if ( y3 < -45 ) set i1 to 0 endif else if ( y3 < -90 ) set i1 to 0 endif if ( y3 > 135 ) set i1 to 0 endif endif else if ( x3 < -1 ) if ( y3 < 0 ) if ( y3 > -135 ) set i1 to 0 endif endif else if ( y3 < 45 ) if ( y3 > -90 ) set i1 to 0 endif endif endif endif else if ( y2 > 0 ) if ( x3 < -1 ) if ( y3 > 45 ) set i1 to 0 endif else if ( y3 > 90 ) set i1 to 0 endif if ( y3 < -135 ) set i1 to 0 endif endif else if ( x3 > 1 ) if ( y3 > 0 ) if ( y3 < 135 ) set i1 to 0 endif endif else if ( y3 > -35 ) if ( y3 < 90 ) set i1 to 0 endif endif endif endif endif if ( i1 == 0 ) ; player is not looking at me if ( GetDisabled == 0 ) disable else enable endif endif endif set i1 to 0 endif if ( t1 < 5 ) set t1 to ( t1 + GetSecondsPassed ) else set t1 to ( ( Random 10001 ) / 10000.0 ) if ( GameHour > 20 ) set i1 to 1 elseif ( GameHour < 8 ) set i1 to 1 else set i1 to 0 endif if ( i1 == 1 ) if ( GetDisabled == 0 ) set i1 to 10 return endif else ; daytime if ( day != removeDay ) if ( GetDisabled == 1 ) set i1 to 20 return endif endif endif endif if ( CellChanged == 1 ) if ( GameHour > 20 ) set i1 to 1 elseif ( GameHour < 8 ) set i1 to 1 else set i1 to 0 endif if ( GetInterior == 1 ) if ( i1 == 1 ) if ( GetDisabled == 0 ) disable endif elseif ( GetDisabled == 1 ) enable endif return endif endif if ( GetDisabled == 1 ) return endif if ( GetEffect sEffectRecall ) ; Recall cast completed set removeDay To Day; Trigger unscheduled disable for one day disable return elseif ( OnPCHitMe == 1 ) SetHealth 1000 ; Prevent more attacks from killing kid Cast "1EM_kidsrecall" Player ; Face Player and cast kids recall spell if ( extraBounty == 0 ) ModPCCrimeLevel 2000 ; Add extra fine for this crime set extraBounty To 1 elseif ( GetPCCrimeLevel == 0 ) set OnPCHitMe To 0 set extraBounty To 0 endif endif End по идее эту секцию if ( GameHour > 20 ) set i1 to 1 elseif ( GameHour < 8 ) set i1 to 1 else set i1 to 0 endif нужно заменить на set i1 to 0 if ( GameHour > 8 ) if ( GameHour < 20 ) set i1 to 1 endif endif Изменено 1 декабря, 2015 пользователем usolo Ссылка на комментарий Поделиться на другие сайты Поделиться
Аррайда Опубликовано 5 декабря, 2015 Жалоба Поделиться Опубликовано 5 декабря, 2015 Большое спасибо, вроде бы сработало! Может ли кто еще подсказать, как сделать, допустим, что-то вроде сторожевого кричера? Есть библиотека, дверной проем там открытый в общий зал, где есть NPС, но форма комнаты такая, что большая ее часть не просматривается. NPC ставить не хочу туда, но сигналку какую-то стоит поставить, чтобы безнаказанно тырить книги нельзя было... Ссылка на комментарий Поделиться на другие сайты Поделиться
usolo Опубликовано 7 декабря, 2015 Жалоба Поделиться Опубликовано 7 декабря, 2015 охранника ж можно Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти