Случайная подборка модов
We Are Not Alone
4.0
Old Episodes. Epilogue
3.2
STCS Weapon Pack 2.6
4.3
X-RAY Multiplayer Extension: Defence
4.7
Old Episodes. Episode 3
3.6
SZA: The Second Project
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  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
Поиск: