Jump to content
Zeka1996Korneev

Уроки по модостроению

Recommended Posts

Просьба к куратору темы заменить в этом посте ссылку на энциклопедию.

Вот: https://yadi.sk/d/OzLu-NeoeAFaY

Добавлено  Murarius,

Готово.

  • Полезно 1

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

Share this post


Link to post
Share on other sites
UriZzz    644
Posted (edited)

Товарищи - скриптеры, помогите разобраться со скриптом.

В проблема с одним из примеров от @amik,

Скрытый текст

local obj = alife():story_object( 6 ) -- 6 - сид Волка

local obj_id = obj.id

function add_spot_on_map(obj_id,type,text)

    if obj_id then        

       if not text then text = "no_text" end

        level.map_add_object_spot_ser(obj_id, type, text)

    end

end

Вызываем:

function add_spot_on_map2(obj_id,type,text)    

 имя_файла.add_spot_on_map(obj.id,"green_location","Текст")

end

Метку можно убрать вот так:

local obj = alife():story_object( 6 )

local obj_id = obj.id

function remove_spot_from_map(obj_id,type)

    if obj_id and level.map_has_object_spot(obj_id, type) ~= 0 then        

       level.map_remove_object_spot(obj_id, type)

    end

end

эту вызывать:

function remove_spot()    

 this.remove_spot_from_map(obj.id,"green_location")

end

Во первых в функциях вызова допущена ошибочка - аргумент obj.id точку нужно заменить на видимый пробел, иначе будет вылет с руганью на index global 'obj'.

Во вторых, скрипт работает но метку вешает по чему-то на гг, а не на того на кого хочу повесить - на Толика, в чём причина?

Рассматриваю код уже пол часа и не понимаю в чём причина, функции простые как автомат Калашникова, всё вроде правильно...:unknw::kez_12:

Edited by UriZzz

Моя нычка. Периодически пополняю

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Share this post


Link to post
Share on other sites
naxac    1,174

@UriZzz, вот так попробуй

 

function add_spot()
  local sid = 6
  local obj = alife():story_object(sid)
  if obj then
    level.map_add_object_spot_ser(obj.id, "blue_location", obj:name())
  else
    get_console():execute("load ~~~ object with story_id "..tostring(sid).."not found")
  end
end
--------------------
function remove_spot()
  local sid = 6
  local obj = alife():story_object(sid)
  if obj then
    level.map_remove_object_spot(obj.id, "blue_location")
  else
    get_console():execute("load ~~~ object with story_id "..tostring(sid).."not found")
  end
 end

Вместо sid пишешь нужный story_id.

Edited by naxac
  • Thanks 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Share this post


Link to post
Share on other sites

Всем привет, помогите плиз разобраться с скриптом. Это фрагмент из скрипта мода Сталкер Аномалия 1.5 (3.0) на верстак с апгрейдом\ремонтом снаряжения.

Хотел убрать взаимоисключение апгрейдов. Я в скриптах не силен, но кое что накопал, если не ошибаюсь, то это этот фрагмент:

Скрытый текст

    local function check_same_group(gr,idx)
        local tbl = {
            [1] = 2,
            [2] = 1,
            [3] = 4,
            [4] = 3,
            [5] = 6,
            [6] = 5,
        }
        local oth = tbl[idx]
        local sec = self.upgr[gr][oth] and self.upgr[gr][oth].section 
        return not (sec and self.inst_upgr[sec])
    end
    
    local function check_upgr_scheme(gr,idx)
        local tbl = {
            [3] = {1,2},
            [4] = {1,2},
            [5] = {3,4},
            [6] = {3,4},
        }
        local pre = tbl[idx]
        if (not pre) then return true end
        
        local sec_i = self.upgr[gr][pre[1]] and self.upgr[gr][pre[1]].section
        local sec_j = self.upgr[gr][pre[2]] and self.upgr[gr][pre[2]].section
        
        return (sec_i and self.inst_upgr[sec_i]) or (sec_j and self.inst_upgr[sec_j]) or false
    end
    
    local function check_con(con, col)
        local tbl = {
            [1] = 30,
            [2] = 60,
            [3] = 90,
        }
        return tbl[col] < con
    end

 

Edited by Дмитрий Михалик

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

AMK-Team.ru

×
×
  • Create New...