Перейти к содержанию

Камни душ


Рекомендуемые сообщения

Есть ли функции, которые могут отследить, не только наличие определенной души в инвентаре игрока (If ( Actor -> HasSoulGem, "golden saint" )) и наличие определенного камня душ ( Actor -> GetItemCount "Misc_SoulGem_Azura" ), но и отследить все в совокупности, например, есть возможность добавить/удалить в/из инвентарь(я) определенные камни душ с определенной душой (Actor -> AddSoulGem "atronach_storm", Misc_Soulgem_Grand) т.е. Вроде Actor -> GetSoulGem "atronach_storm", Misc_Soulgem_Grand?
Ссылка на комментарий
Поделиться на другие сайты

Насколько мне, продвинотому ламеру, поднявшему голову над плинтусом, известно, - нет.

 

 

Для квеста и так хорошо использовать новые объекты с новым ИД, камни душ уже с определенной душой. и добавлять их куда-нить.

Ссылка на комментарий
Поделиться на другие сайты

Насколько мне, продвинотому ламеру, поднявшему голову над плинтусом, известно, - нет.

 

Жалко, очень жалко!

 

Для квеста и так хорошо использовать новые объекты с новым ИД, камни душ уже с определенной душой. и добавлять их куда-нить.

 

Ну, это как посмотреть... В моем варианте для игрока получилась бы двойная заморочка: мало того, что нужно наковырять определенную душу, так еще и засунуть ее в определенный камень!

Ссылка на комментарий
Поделиться на другие сайты

А ты объяви новую глобальную переменную и в повесь скрипт, чтобы в ключевые моменты (сбор души т.д.) у переменной появлялось такое-то значение и строй диалоги с условиями Global "Name" = # и Item "MySoulGame" >=1

или скрипты по значению этой переменной.

Ссылка на комментарий
Поделиться на другие сайты

А ты объяви новую глобальную переменную и в повесь скрипт, чтобы в ключевые моменты (сбор души т.д.) у переменной появлялось такое-то значение и строй диалоги с условиями Global "Name" = # и Item "MySoulGame" >=1

или скрипты по значению этой переменной.

 

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

Ссылка на комментарий
Поделиться на другие сайты

О, нет такой техническо йпроблемы в ТЕС, которую нельзя было упростить и чтоб при этом плагин еще и выиграл!

 

Расскажи подробнее, в чем проблема.

Ссылка на комментарий
Поделиться на другие сайты

Насколько мне, продвинотому ламеру, поднявшему голову над плинтусом, известно, - нет.

 

Жалко, очень жалко!

 

Для квеста и так хорошо использовать новые объекты с новым ИД, камни душ уже с определенной душой. и добавлять их куда-нить.

 

Ну, это как посмотреть... В моем варианте для игрока получилась бы двойная заморочка: мало того, что нужно наковырять определенную душу, так еще и засунуть ее в определенный камень!

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

  • 2 года спустя...
А как распознать камень в котором есть душа? Например, мне нужно проверить наличие в инвентаре Камня душ с душой дреморы или золотого святоши. Как такое провернуть?
Ссылка на комментарий
Поделиться на другие сайты

[color="blue"]If[/color] [color="green"]([/color] Player[color="green"]->[/color]HasSoulGem[color="green"],[/color] [color="magenta"]"golden saint"[/color] [color="green"])[/color]
[color="grey"];У игрока таки есть душа Золотого святоши[/color]
[color="blue"]endif[/color]

Изменено пользователем Эндер Виггин
Ссылка на комментарий
Поделиться на другие сайты

Да, но если у меня там душа созданного монстра. И разве не имеет значение какой камень душ используется под эту душу? Эта проверка для всех типов?
Ссылка на комментарий
Поделиться на другие сайты

А вот еще вопрос - Как сделать так. Что бы скрипт при соблюдении условий исполнился лишь раз и больше не выполнялся. К примеру: По сценарию пока у меня нет Х-предмета, выполняются одни действия. Как только я получаю эту вещь, выполняются другие действия. Но у меня получается что как только я теряю эту вещь, то скрипт опять начинает выполнять первые действия. Как это прервать? Return и StopScript не работают :(
Ссылка на комментарий
Поделиться на другие сайты

А вот еще вопрос - Как сделать так. Что бы скрипт при соблюдении условий исполнился лишь раз и больше не выполнялся. К примеру: По сценарию пока у меня нет Х-предмета, выполняются одни действия. Как только я получаю эту вещь, выполняются другие действия. Но у меня получается что как только я теряю эту вещь, то скрипт опять начинает выполнять первые действия. Как это прервать? Return и StopScript не работают :(

Попробуй переменную, которая в начале = -1. После выполнения увеличь на 1. Тогда на все значения >= 0 запрети скрипту выполняться. :)

Ссылка на комментарий
Поделиться на другие сайты

Во-первых, не мультипость

Во-вторых, вот шаблон

[color="blue"]Begin[/color] Some_script_scpt

[color="blue"]short[/color] ItemGained [color="grey"];флаг[/color]

[color="blue"]if[/color] [color="green"]([/color] [color="orange"]Player[/color][color="green"]->[/color][color="brown"]GetItemCount[/color] [color="magenta"]"some_mega_item"[/color] [color="green"]>[/color] [color="red"]0[/color] [color="green"])[/color][color="grey"];проверим нет ли предмета у игрока[/color]
[color="blue"]set[/color] ItemGained [color="blue"]to[/color] [color="red"]1[/color] [color="grey"];если есть, то установим флаг[/color]
[color="blue"]endif[/color]

[color="blue"]if[/color] [color="green"]([/color] ItemGained [color="green"]==[/color] [color="red"]0[/color] [color="green"])[/color][color="grey"];если игрок не получал предмет[/color]
[color="grey"];делаем что-то[/color]
[color="blue"]else[/color] [color="grey"];иначе[/color]
[color="grey"];делаем что-то другое[/color]
[color="blue"]endif[/color]

[color="blue"]End[/color]

Ссылка на комментарий
Поделиться на другие сайты

  • 5 месяцев спустя...
у меня есть идея! если кому-то еще это надо, могу отписать

идея по поводу безопасного полового размножения человекообразных приматов в безвоздушном пространстве в условиях отсутствия гравитации? Если да-то нет, не надо!

(экстрасенсы в отпуске, выражайся четче!)

Изменено пользователем lost81
Ссылка на комментарий
Поделиться на другие сайты

lost81, а ты телепатов позови =)

а если точнь, то вот такая идея:

begin SoulGemType
;имеем камень с душой ид моба "monster". душа влазит в любой камень.
;скрипт глобальный, для запуска например из диалога
short azura
short grand
short greater
short common
short lesser
short petty
;global type - это тип камня душ - звезда азуры = 1, великий = 2 итд. Результат работы

if (player->HasSoulGem "monster" == 0)
 MessageBox "У вас нет нужной души!"
 StopScript SoulGemType
endif
;тут все понятно - нет души, пошел нафиг
set azura to (player->getitemcount "Misc_SoulGem_Azura")
set grand to (player->getitemcount "Misc_SoulGem_Grand")
set greater to (player->getitemcount "Misc_SoulGem_Greater")
set common to (player->getitemcount "Misc_SoulGem_Common")
set lesser to (player->getitemcount "Misc_SoulGem_Lesser")
set petty to (player->getitemcount "Misc_SoulGem_Petty")
;запоминаем, скоко чего есть
player->RemoveSoulGem "monster"
;забираем камень душ
if (player->getitemcount "misc_soulgem_azura" < azura)
 player->addsoulgem misc_soulgem_azura "monster"
 set type to 1
elseif (player->getitemcount "misc_soulgem_grand" < grand)
 player->addsoulgem misc_soulgem_grand "monster"
 set type to 2
elseif (player->getitemcount "misc_soulgem_greater" < greater)
 player->addsoulgem misc_soulgem_greater "monster"
 set type to 3
elseif (player->getitemcount "misc_soulgem_common" < common)
 player->addsoulgem misc_soulgem_common "monster"
 set type to 4
elseif (player->getitemcount "misc_soulgem_lesser" < lesser)
 player->addsoulgem misc_soulgem_lesser "monster"
 set type to 5
elseif (player->getitemcount "misc_soulgem_petty" < petty)
 player->addsoulgem misc_soulgem_petty "monster"
 set type to 6
endif
;смотрим, чего убрали, и возвращаем, параллельно запоминая тип камня

stopscript SoulGemType

end

Ссылка на комментарий
Поделиться на другие сайты

Не совсем понял, чего этим скриптом ты хотел добиться? Видимо, при "заключении" души monster в камень она будет запихиваться в минимальный камень, в нашем случае Petty, до тех пор пока они не закончатся, а потом в Lesser и тд, так что не совсем понимаю принцип действия скрипта. причем player->getitemcount "Misc_SoulGem_Petty" посчитает камни как с душо, так и без нее.
Ссылка на комментарий
Поделиться на другие сайты

допустим, душа в обычном камне душ

мы сначала запомним, сколько каких камней было, с душой и без одновременно

затем, если душа есть, то уберем 1 камень с душой, не зная, какого типа

ясно, что общая сумма камней нужного типа тут же уменьшится на 1 (было 10 и 1 с нужной душой, в сумме 11 - станет 10 которые без души)

вот там де сумма меньше стала, там и убрали камень, запомним тип камня, затем вернем убранный камень душ. тут считается начиная с азуры, порядок конечно, можно поменять, это не так важно

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...