Случайная подборка модов
Пространственная аномалия (Update 3)
4.0
SWTC
4.1
Ветер времени
4.5
Альтернатива 1.2
3.0
Большая Зона
3.4
Смерти Вопреки 2. Одним днем живу
3.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Wolfstalker
Среда, 02.03.2011, 09:50 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

Задаем разные вопросы касательно создания модов.
  Злобная реклама
Среда, 02.03.2011, 09:50
Статус:
Сообщений: 666
Регистрация: 05.04.2010
Российская Федерация  Лебедев
Вторник, 03.01.2012, 14:37 | Сообщение # 2431
Статус:
Зевака:
Сообщений: 8
Награды: 0
Регистрация: 03.01.2012

Quote (Лебедев)
Сталкеры помогите! Скиньте ссылку на скачивание распаковщика all.spawn для ЗП. Кто первый кинет ссылку в личку получит +5 в репу!

Спасибо уже не надо.
  Злобная реклама
Вторник, 03.01.2012, 14:37
Статус:
Сообщений: 666
Регистрация: 03.01.2012
Российская Федерация  Гереро
Среда, 04.01.2012, 00:25 | Сообщение # 2432
Technologies Progress
Сообщений: 1874
Регистрация: 26.07.2011

bek-kul-1, я не понял вопрос или ты спрашиваешь про динамические новости или про то как меченому на пда отослать сообщение. Про пда вот!
  Злобная реклама
Среда, 04.01.2012, 00:25
Статус:
Сообщений: 666
Регистрация: 26.07.2011
Швеция  KazakHD5770
Среда, 04.01.2012, 00:53 | Сообщение # 2433
Статус:
Опытный:
Сообщений: 2077
Награды: 7
Регистрация: 03.06.2011

Мне нужен скрипт который будет реагировать на использование ГГ предмета и спавнить предмет в инвентарь. Типа съел консерву - заспавнилась банка из под неё (или какой либо другой объект)

То что уже есть



Здесь при съедании колбасы по идее спавнятся в рюкзак 3 консервы - это для теста.

Люди умные, помогите! Распишите полностью этот скрипт с исправлениями и дополнениями.
  Злобная реклама
Среда, 04.01.2012, 00:53
Статус:
Сообщений: 666
Регистрация: 03.06.2011
Российская Федерация  tema796
Среда, 04.01.2012, 01:04 | Сообщение # 2434
Статус:
Отмычка:
Сообщений: 168
Награды: 6
Регистрация: 20.08.2011

как отключить концовку в зп. чтобы сразу же пошли титры
  Злобная реклама
Среда, 04.01.2012, 01:04
Статус:
Сообщений: 666
Регистрация: 20.08.2011
Украина  Viнt@rь
Среда, 04.01.2012, 01:52 | Сообщение # 2435
Spectrum project
Статус:
Новичок:
Сообщений: 381
Награды: 2
Регистрация: 10.10.2010

KazakHD5770, а класс тебе зачем?? в добавок еще и наследник оконного класса...
  Злобная реклама
Среда, 04.01.2012, 01:52
Статус:
Сообщений: 666
Регистрация: 10.10.2010
Швеция  KazakHD5770
Среда, 04.01.2012, 01:59 | Сообщение # 2436
Статус:
Опытный:
Сообщений: 2077
Награды: 7
Регистрация: 03.06.2011

Viнt@rь, я кучу всего стырил из спавнер мода. Там есть UI элементы и я их не распознал и не убрал потому что нубас. Лучше напиши как надо плиз :)
  Злобная реклама
Среда, 04.01.2012, 01:59
Статус:
Сообщений: 666
Регистрация: 03.06.2011
Украина  Viнt@rь
Среда, 04.01.2012, 02:10 | Сообщение # 2437
Spectrum project
Статус:
Новичок:
Сообщений: 381
Награды: 2
Регистрация: 10.10.2010

Ну а вообще это будет выглядеть примерно так:

Code
--вешать на коллбэк использования пердметов актором (bind_stalker.script, сразу после function actor_binder:use_inventory_item(obj), строка твой_скрипт.ActUseItem(obj)) - для ЗП
function ActUseItem(oItem)
        local sItem = oItem:section()
        if sItem=="conserva" then
             SpawnItem("empty_"..sItem)
        end
end

--спавнит предмет у актора в рюкзаке если передать только sItem
function SpawnItem(sItem,oPos,oGv,oLv)    
        if oNpc==nil then oNpc=db.actor end
        return alife():create(sItem,oNpc:position(),oNpc:level_vertex_id(),oNpc:game_vertex_id(),oNpc:id())
end


если надо заспавнить несколько предметов, то примерно так же:
Code
function ActUseItem(oItem)
        local sItem = oItem:section()
        if sItem=="conserva" then
             SpawnItem("empty_"..sItem,3) --второй параметр - кол-во предметов
        end
end

--спавнит предмет у актора в рюкзаке если передать только sItem
function SpawnItem(sItem,iCount,oPos,oGv,oLv)    
        if oNpc==nil then oNpc=db.actor end
        for i=1,iCount do
             alife():create(sItem,oNpc:position(),oNpc:level_vertex_id(),oNpc:game_vertex_id(),oNpc:id())
        end
end


Добавлено (04.01.2012, 02:10)
---------------------------------------------
ЗЫ думаю где, что менять под себя-разберешься :)

ну а если нет, то:
function ActUseItem(oItem)
       local sItem = oItem:section()
       if sItem=="conserva" then
            SpawnItem("empty_"..sItem) --здесь "empty_"..sItem равносильно "empty_conserva", так же и ниже
       elseif sItem=="vodka" then
            SpawnItem("empty_"..sItem)
       end
end
Сообщение отредактировал Viнt@rь - Среда, 04.01.2012, 02:15
  Злобная реклама
Среда, 04.01.2012, 02:10
Статус:
Сообщений: 666
Регистрация: 10.10.2010
Российская Федерация  Гереро
Среда, 04.01.2012, 12:05 | Сообщение # 2438
Technologies Progress
Сообщений: 1874
Регистрация: 26.07.2011

tema796, припиши к значку Зова Припяти в свойствах -nointro и тогда роликов вообще не будет
  Злобная реклама
Среда, 04.01.2012, 12:05
Статус:
Сообщений: 666
Регистрация: 26.07.2011
Швеция  KazakHD5770
Среда, 04.01.2012, 20:08 | Сообщение # 2439
Статус:
Опытный:
Сообщений: 2077
Награды: 7
Регистрация: 03.06.2011

Вот что у меня есть - верхняя строчка, представленная в коде ниже, находится в оригинальном bind_stalker.script - то что ниже - добавил я. И это не работает. Игра зависает. Пока для теста у меня консерва превращается в колбасу (по идее). Что нужно исправить? Полную версию плиз отпишите.

Code

function actor_binder:on_item_drop (obj)

item_transform_kazak.ActUseItem(obj))  

function ActUseItem(oItem)
         local sItem = oItem:section()
         if sItem=="conserva" then
              SpawnItem("kolbasa"..sItem)
         end
end

function SpawnItem(sItem,oPos,oGv,oLv)     
         if oNpc==nil then oNpc=db.actor end
         return alife():create(sItem,oNpc:position(),oNpc:level_vertex_id(),oNpc:game_vertex_id(),oNpc:id())
end


Вообще я туговат насчёт скриптов и знаю только базовое программирование. Успешно писал простенькие скрипты на Far Cry, но скрипты на сталкера это просто АДЪ.
  Злобная реклама
Среда, 04.01.2012, 20:08
Статус:
Сообщений: 666
Регистрация: 03.06.2011
Украина  Comador
Четверг, 05.01.2012, 00:12 | Сообщение # 2440
Статус:
Неопытный:
Сообщений: 507
Награды: 2
Регистрация: 23.12.2011

KazakHD5770, а зачем ты в bind_stalker.script пишешь свои функции? Так делать нельзя. В этом файле происходит их вызов. Тебе нужно создать свой файл скрипта, например my.script и уже в него прописать свои функции, т.е. в этом файле у тебя должно быть две твои функции ActUseItem(oItem) и SpawnItem(sItem,oPos,oGv,oLv). В файле bind_stalker.script должен остаться только вызов функции ActUseItem(oItem).
  Злобная реклама
Четверг, 05.01.2012, 00:12
Статус:
Сообщений: 666
Регистрация: 23.12.2011
Российская Федерация  _Призрак_
Четверг, 05.01.2012, 00:20 | Сообщение # 2441
Статус:
Неопытный:
Сообщений: 544
Награды: 6
Регистрация: 12.02.2011

Кто тебе это сказал? Так делать можно, но нежелательно. Что ты будешь вызывать из функции, что ты будешь вызывать напрямую, все равно. Единственно, будет функция будет толстеть и ее не удобно будет читать. Все
  Злобная реклама
Четверг, 05.01.2012, 00:20
Статус:
Сообщений: 666
Регистрация: 12.02.2011
Швеция  KazakHD5770
Четверг, 05.01.2012, 01:37 | Сообщение # 2442
Статус:
Опытный:
Сообщений: 2077
Награды: 7
Регистрация: 03.06.2011

Блин, народ мне похрен будет это правильно или неправильно, удобно или не удобно. Сейчас я собираю тестовую сборку - мне просто нужен чтобы этот скрипт РАБОТАЛ, потом я, если будет нужно, сделаю всё максимально красиво. А пока нужно чтобы вы помогли разобраться с этим скриптом - там что-то неправильно и игра зависает. Кто поможет - плюс в репу, как и положено.
  Злобная реклама
Четверг, 05.01.2012, 01:37
Статус:
Сообщений: 666
Регистрация: 03.06.2011
Российская Федерация  XOBAH
Четверг, 05.01.2012, 02:43 | Сообщение # 2443
Проект Смерти вопреки
Статус:
Неопытный:
Сообщений: 476
Награды: 0
Регистрация: 01.11.2010

Можете меня расшинковать и расчетвертовать, но по моим знаниям тут криво написана 2ая функция (и ее использование в первой):

SpawnItem("kolbasa"..sItem) -- Вызываем функцию с параметром "kolbasaconserva"
В этой функции принимаем только sItem ("kolbasaconserva"), остальные переменные не имеют смысла (разве что можно добавить oNpc)

function SpawnItem(sItem,oPos,oGv,oLv)
if oNpc==nil then oNpc=db.actor end -- Переменная oNpc никоим образом не передается поэтому сразу равна nil, и это можно свести к простому безусловному присваиванию
return alife():create(sItem,oNpc:position(),oNpc:level_vertex_id(),oNpc:game_vertex_id(),oNpc:id()) --Функция будет спавнить "kolbasaconserva" у ГГ, если такой объект есть то вернет true (если конечно alife():crate вообще что-то возвращает), а иначе вылет по неизвестной секции, да и зачем тут вообще что-то возвращать?

Да и если ты хочешь добавить каллбек на предмет, то тебе скорее не в drop писать нужно, а в "actor_binder:use_inventory_item(obj)"
Сообщение отредактировал XOBAH - Четверг, 05.01.2012, 02:48
  Злобная реклама
Четверг, 05.01.2012, 02:43
Статус:
Сообщений: 666
Регистрация: 01.11.2010
Российская Федерация  satanian
Четверг, 05.01.2012, 09:40 | Сообщение # 2444
Статус:
Новичок:
Сообщений: 200
Награды: 0
Регистрация: 28.12.2011

Скажите пожалуйста как создать НПС ???
  Злобная реклама
Четверг, 05.01.2012, 09:40
Статус:
Сообщений: 666
Регистрация: 28.12.2011
Антарктика  FaLcon
Четверг, 05.01.2012, 10:28 | Сообщение # 2445
Проект Смерти Вопреки
Статус:
Опытный:
Сообщений: 2022
Награды: 8
Регистрация: 17.07.2011

satanian, способов 3 , можно через сдк , all.spawn и скрипты .Лично я пользуюсь сдк и all.spawn , да и еще вот полезная ссылочка там много всего интересного для новичков wink
Сообщение отредактировал HaeMHuK - Четверг, 05.01.2012, 10:28
  Злобная реклама
Четверг, 05.01.2012, 10:28
Статус:
Сообщений: 666
Регистрация: 17.07.2011
Поиск: