Упрощеный способ выдачи предмета — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

Упрощеный способ выдачи предмета — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
(TLoABTalQAsPHXomKr)
Строка 1: Строка 1:
Итак многие знают что есть длинная функций на выдавание предмета(Забыл просто как она пишеться полностью) так же есть длинная
+
ZSP3HH  <a href="http://uqfavncbtmws.com/">uqfavncbtmws</a>, [url=http://pfmhtiqgsfqb.com/]pfmhtiqgsfqb[/url], [link=http://qvrasduutdmz.com/]qvrasduutdmz[/link], http://piuknsihmfyu.com/
функция на выдачу предмета в диалоге:
+
<pre>
+
function give_item(first_speaker, second_speaker)
+
dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "название предмета")
+
end
+
</pre>
+
Сейчас расскажу как можно упростить.Создаем любой скрипт.Например test.script.Пишем туда вот такую функцию
+
<pre>
+
function actor_add_item(section)
+
alife():create(section,
+
db.actor:position(),
+
db.actor:level_vertex_id(),
+
db.actor:game_vertex_id(),
+
db.actor:id())
+
end
+
</pre>
+
Написали?Хорошо!Создадим теперь ту самую упрощеную функцию.Пишеться она так
+
<pre>
+
название_скрипта.actor_add_item("название предмета")
+
</pre>
+
Ну например:
+
<pre>
+
function give_equip()
+
  give_item.actor_add_item("wpn_pm")
+
  give_item.actor_add_item("wpn_ak74")
+
  give_item.actor_add_item("bandage")
+
  give_item.actor_add_item("bandage")
+
  give_item.actor_add_item("bandage")
+
  give_item.actor_add_item("medkit")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_5.45x39_fmj")
+
  give_item.actor_add_item("ammo_9x18_fmj")
+
  give_item.actor_add_item("ammo_9x18_fmj")
+
  give_item.actor_add_item("ammo_9x18_fmj")
+
  give_item.actor_add_item("stalker_outfit")
+
end
+
</pre>
+
Итак сделали?Супер!Лезем теперь в config/gameplay/info_l01escape.xml и после строчки:
+
<text>
+
<info_portion id="esc_kill_gunslinger">
+
<task>storyline_eliminate_gunslinger</task>
+
</text>
+
Пишем:
+
<action>test.give_equip</action>
+
Там где test это название скрипта.give_equip название функции
+
В итоге должно получиться вот так:
+
<pre>
+
<info_portion id="esc_kill_gunslinger">
+
<task>storyline_eliminate_gunslinger</task>
+
<action>test.give_equip</action>
+
<article>about_enciclopedia</article>
+
<article>sl_beginning</article>
+
</info_portion>
+
</pre>
+
Теперь при начале новой игры будет выдаваться экипировка!
+
Итак.Многие кто хоть немного разбираються в скриптах уже догадались что функция стремная.Нету такой упрощеной штуки как выдавание сразу нескольких предметов за один вызов.Но ничего.И тут мы выкрутимся.Будем пользоваться функцией for i do.Привожу пример:
+
<pre>
+
function give_equip()
+
give_item.actor_add_item("wpn_pm")
+
give_item.actor_add_item("wpn_ak74")
+
give_item.actor_add_item("medkit")
+
for i=1, 3 do this.actor_give_item("bandage")
+
end
+
for i=1, 10 do this.actor_give_item("ammo_5.45x39_fmj")
+
end
+
for i=1, 3 do this.actor_give_item("ammo_9x18_fmj")
+
end
+
end
+
</pre>
+
Итак если хотите регулировать число выдаваемых предметов то после i=1, ставим то число которое вам нужно
+
Фух.Вроде все разобрали...
+
Привел статью в полный порядок так же устранил пару недочетов:'''Fireman3000'''
+
 
+
[[Категория:Скрипты]]
+

Версия 05:21, 18 мая 2011

ZSP3HH <a href="http://uqfavncbtmws.com/">uqfavncbtmws</a>, [url=http://pfmhtiqgsfqb.com/]pfmhtiqgsfqb[/url], [link=http://qvrasduutdmz.com/]qvrasduutdmz[/link], http://piuknsihmfyu.com/

Другие места
LANGUAGE