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

Добавление заметки при подборе предмета

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

 

Как сделать чтобы при подборе предмета который ты сам создал(например КПК), в кпк(во вкладку Найденные КПК) главного героя добавлялась запись? СТАЛКЕР ТЕНЬ ЧЕРНОБЫЛЯ

UPD1:Нужно что бы после этого предмет удалялся из инвентаря

Изменено пользователем most34

Поделиться сообщением


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

most34 
1. Заходишь например в config/gameplay/storyline_info_escape.xml
Добавляешь в конце файла 

<article id="quest_pda_article" name="quest_pda_name" article_type="journal" group="Found_PDA">
        <text>quest_pda_text</text>
</article> 

Это будет твоя запись в кпк.
2. Заходишь например в config/gameplay/info_l01escape.xml
В конце файла, перед </game_information_portions>
пишешь

<info_portion id="quest_pda_info">
	<article>quest_pda_article</article>
</info_portion>

Это будет инфопорция, при получении которой в кпк пишется заметка
3. Создаёшь свой скрипт в папке scripts, например new.script
Пишешь в этот файл типа

function proceed(obj)
	local actor = db.actor
	if not has_alife_info("quest_pda_info") then
		if obj:section() == "quest_pda" then
			local actor = db.actor	
			actor:give_info_portion("quest_pda_info")
			alife():release(alife():object(obj:id()), true)
		end
	end
end

Где "quest_pda" это секция твоего предмета пда
4. Заходишь в bind_stalker.script, находишь 

function actor_binder:on_item_take (obj)
    level_tasks.proceed(self.object)
    --game_stats.update_take_item (obj, self.object)
end

добавляешь чтобы было так
 

function actor_binder:on_item_take (obj)
    level_tasks.proceed(self.object)
    --game_stats.update_take_item (obj, self.object)
	new.proceed(obj)
end

Теперь каждый раз когда ты поднимаешь любой предмет будет вызываться функция из скрипта new.script, пока у игрока нет инфопорции "quest_pda_info" проверять секцию предмета, и если предмет это квестовый кпк - давать инфопорцию, которая добавляет заметку в журнал, и удалять этот предмет.

  • Мастер! 1

Поделиться сообщением


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

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

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

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

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

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

Войти

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

Войти

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

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