Модострой:Вопросница
|
|
|
Статус: |
 |
Легенда: |
 |
Сообщений: |
2258 |
Награды: |
15 |
Регистрация: |
05.04.2010 |
|
Задаем разные вопросы касательно создания модов.
|
|
Среда, 02.03.2011, 09:50
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
05.04.2010 |
|
|
|
|
|
Статус: |
 |
Зевака: |
 |
Сообщений: |
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 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
2077 |
Награды: |
7 |
Регистрация: |
03.06.2011 |
|
Мне нужен скрипт который будет реагировать на использование ГГ предмета и спавнить предмет в инвентарь. Типа съел консерву - заспавнилась банка из под неё (или какой либо другой объект)
То что уже есть
Здесь при съедании колбасы по идее спавнятся в рюкзак 3 консервы - это для теста.
Люди умные, помогите! Распишите полностью этот скрипт с исправлениями и дополнениями.
|
|
Среда, 04.01.2012, 00:53
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
03.06.2011 |
|
|
|
|
|
Статус: |
 |
Отмычка: |
 |
Сообщений: |
168 |
Награды: |
6 |
Регистрация: |
20.08.2011 |
|
как отключить концовку в зп. чтобы сразу же пошли титры
|
|
Среда, 04.01.2012, 01:04
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
20.08.2011 |
|
|
|
|
|
Spectrum project
Статус: |
 |
Новичок: |
 |
Сообщений: |
381 |
Награды: |
2 |
Регистрация: |
10.10.2010 |
|
KazakHD5770, а класс тебе зачем?? в добавок еще и наследник оконного класса...
|
|
Среда, 04.01.2012, 01:52
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
10.10.2010 |
|
|
|
|
Среда, 04.01.2012, 01:59
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
03.06.2011 |
|
|
|
|
|
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 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
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 |
|
|
|
|
|
Статус: |
 |
Неопытный: |
 |
Сообщений: |
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 |
|
|
|
|
|
Статус: |
 |
Неопытный: |
 |
Сообщений: |
544 |
Награды: |
6 |
Регистрация: |
12.02.2011 |
|
Кто тебе это сказал? Так делать можно, но нежелательно. Что ты будешь вызывать из функции, что ты будешь вызывать напрямую, все равно. Единственно, будет функция будет толстеть и ее не удобно будет читать. Все
|
|
Четверг, 05.01.2012, 00:20
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
12.02.2011 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
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 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
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 , да и еще вот полезная ссылочка там много всего интересного для новичков 
Сообщение отредактировал HaeMHuK - Четверг, 05.01.2012, 10:28
|
|
Четверг, 05.01.2012, 10:28
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
17.07.2011 |
|
|
|
|