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

Упрощеный способ выдачи предмета

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

Перейти к: навигация, поиск

В этой статье не оче хочеться объяснять новичкам как все работает поэтому все будет коротко и понятно(Хотя бы для тех кто умеет давать предметы ГГ) Итак.Создаем любой скрипт.Либо вставляем.Кому как удобнее.Лично я его назвал give_item.scripts.Вобщем с этим разобрались.Итак добавляем в скрипт вот такие строчки

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

Окей.А как же их вызывать из игры.Ну например создали вы Васю пупкина.У него диалог...Все уже готово.<action> уже есть а что надо писать в функцию скрипта для "более упращеной выдачи".А вот что

give_item(ну или название вашего скрипта).actor_add_item("название предмета")

Ну например:

  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")

Единственный недостаток как все уже поняли.Это то что нельзя заспавнить одним действием сразу несколько предметов.Но так как я плохо знаю функцию for i = do.Поэтому не могу утверждать что ею нельзя пользоваться.Попробуйте.Может и выйдет(но как я понял она повторяет всю функцию а не отдельные её моменты)


Для нормального и удобного спавна любого числа самых разных объектов игры специально был написан

"Cкрипт спавна набора объектов" И кстати там все сделано именно через оператор цикла
for do end

Учите lua, камрады, и будет вам счастье. Добавил --Erlik 20:36, 29 ноября 2010 (UTC)

Имейте ввиду, что патроны спавнить нужно не через alife():create(section, position, lvi, gvi),а с помощью специальной функции se_respawn.create_ammo(section, position, lvi, gvi, pid, num).

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