S.T.A.L.K.E.R|Модостроение

Объявление

Здесь может быть ваш баннер. Закажи рекламу. Заработай на сайте
Добавь в закладки
Заработай на сайте
Здесь может быть ваш баннер. Закажи рекламу.
БАННЕР САЙТА
Новички и бывалые найдут здесь себе пристанище


Все писатели могут выложить свой рассказ в этой теме: Проза Хорошее чувство юмора? Прошу, докажите это: Юмор FM

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Скрипты [Scripts]]


По мелочам [Скрипты [Scripts]]

Сообщений 11 страница 20 из 57

11

Проверяем наличие предмета в слоте

Функция db.actor:item_in_slot(<номер слота>)
Номер слота
Описание
2. Пистолеты (цифра 2 на клавиатуре)
3. Автоматы (цифра 3 на клавиатуре)
7. Бронежилет
9. Детектор
12. Шлем

Например:
проверка db.actor:item_in_slot(9):section() == "detector_scientific"
выдаст "true" если детектор Велес в слоте детекторa (9)

0

12

Как проверить из скрипта наличие инфопоршня?

1. на F6 навешиваешь обработчик
db.actor:give_info_portion("твой_инфо")

2. на F7 навешиваешь обработчик
db.actor:disable_info_portion("твой_инфо")

8. на F8 навешиваешь обработчик
if db.actor:has_info("твой_инфо") then
news_manager.send_tip(db.actor,"инфо в игре",0,mutant_hunter,10000,nil,"Тест инфо")
end
if db.actor:dont_has_info("твой_инфо") then
news_manager.send_tip(db.actor,"инфо нет",0,mutant_hunter,10000,nil,"Тест инфо")
end

В игре: [ESC]=>[F6]=>[ESC]=>[ESC]=>[F7]=>[ESC]=>[ESC]=>[F8]=>[ESC]  и смотри чего тебе новости вякают.

0

13

Функция на отключение инфопоршня

db.actor:disable_info_portion("Имя_Infoportion")

0

14

Выдаем инфопоршень при взятии предмета

файл bind_stalker.script

function actor_binder:update(delta)
   object_binder.update(self, delta)
function Имя_функции()
if db.actor:object(a) ~= nil then
if a == "ИД_ПРЕДМЕТА" and not db.actor:has_info("Имя_поршня") then
db.actor:give_info_portion("Имя_поршня")
end
end
end

0

15

Спавн предмета в рюкзак NPC

function spawn_killers_pda()
   local id, npc
   if xr_conditions.is_alive(nil,nil,{"ID_NPC"}) then
       id = "ID_NPC"
       npc = get_story_object_id(id)
       npc = alife():object(npc)
       alife():create("wpn_rpg7", npc.position, npc.level_vertex_id,  npc.game_vertex_id, npc.id)
   end
end

0

16

Убиваем NPC

function kill()
local oNpc = level.object_by_id(ID_NPC)
if oNpc and db.actor:id()~= ID_NPC then
  oNpc:kill(oNpc)
end

0

17

Функция проверки нескольких предметов в инвентаре у ГГ

function actor_have_items(first_speaker, second_speaker)
local n=3 -- количество
local count=0
db.actor:iterate_inventory(function (dummy, item) if item:section()=="твой предмет" then count=count+1 end end, nil)
if count>=n then
return true
else
return false
end
end

0

18

Правильное использование Return

Это:
if <логическое выражение> then

  return true
else
  return false
end

Надо писать так:
return <логическое выражение>

Если true с false меняются местами, то так:
return not (<логическое выражение>)

0

19

Проверка: Мертв ли NPC?

local s_npc=alife():object(id) -- получаем по id серверный объект непися
if s_npc and s_npc.alive~=nil and not s_npc:alive() then

-- здесь он труп
end

Или так:
if s_npc and s_npc.health~=nil and s_npc:health()<=0 then

-- здесь он труп
end

0

20

Изменяем отношение группировки к ГГ

function goodwill_to_stalker()
xr_effects.inc_faction_goodwill_to_actor(db.actor, nil, {"stalker", +3000})
end

0


Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Скрипты [Scripts]]


Создать форум © iboard.ws