Перейти к содержимому



Згорнути %s Последние сообщения тем


Различные уроки.

Сталкер Модостроение

  • Авторизуйтесь для відповіді у темі
Повідомлень у темі: 54

#21
Gorodetskij

Gorodetskij

    Сталкер

  • альтернативный текст
  • Старожилы

КПК - Сталкера
  • Регистрация:
    06-лютий 12
  • 263 Cообщений
  • Пропуск №: 5959


Репутация: 0 Постов: 263
  • Страна проживания:РФ
  • Реальное имя:Тоха
  • Пол:Мужчина
  • Город:Питер, Россия

Подскажите, иконку в формате .dds можно сделать только в фотошопе или в других программах тоже? Например, Paint.net.

И если в пайнте можно, объясните - как? Спасибо.



#22
Гость_volazar_*

Гость_volazar_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:
Gorodetskij, В любой другой программе, которая понимает формат .dds и позволяет в нем сохранять.
Не стоит забывать, что полотно должно быть с разрешением кратным двойке (128, 256, 512 и т.д)
*** *** ***
Иконку можно нарисовать где угодно и на любую фантазию.Нарисовали, сохраняете например в paint.net с параметрами: DXT5, сжатие итеративное, для отображения (данные параметры нужны для иконок/текстур худа/скайбоксов и т.д т.к они могут быть полностью/частично прозрачными).
Всякие текстуры моделей можно сохранять в DXT1 (прозрачности нет, но и размер меньше).
Еще раз: DXT5 - с прозрачностью, DXT1 - без! При сохранении это учитываем.

#23
Weles

Weles

    Тёмный сталкер

  • альтернативный текст
  • Старожилы
  • Клуб - reaktor
  • Старожил сайта
КПК - Сталкера
  • Регистрация:
    20-лютий 10
  • 230 Cообщений
  • Пропуск №: 5511

0 баллов предупреждения
Репутация: 1 910

Репутация: 1910 Постов: 230
  • Страна проживания:Россия
  • Реальное имя:Юрий
  • Пол:Мужчина
  • Город:Алтай, Россия
Цитата (Gorodetskij)
иконку в формате .dds можно сделать только в фотошопе или в других программах тоже?

Плагин для открытия и сохранения DDS-текстур в Gimp
Чаще всего файлы с расширением .DDS можно встретить в папках с компьютерными играми. В таких файлах содержатся текстуры объектов (персонажей, покрытий, предметов). Большинство графических редакторов изначально не работает с подобным форматом файлов, тем не менее, открыть и сохранить формат .DDS все-таки можно.
Бесплатный плагин для открытия DDS-текстур в Gimp - Gimp-DDS. Совместим с Gimp 2.8 и x32/x64 разрядными ОС.

Скачать
805c1e188332997371c8857054f750665ee67515e1d285ecf050f7ff02f7e1e0daa41f515ee67015

Повідомлення відредагував Fagot: 25 листопад 2013 - 02:43


#24
Fаgot

Fаgot

    Сталкер

  • альтернативный текст
  • Нейтралы
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • PipPipPipPip
  • Регистрация:
    14-листопад 10
  • 220 Cообщений
  • Пропуск №: 3158


Репутация: 3 Постов: 220
  • Страна проживания:СССР
  • Реальное имя:Александр
  • Пол:Мужчина
  • Город:Владивосток

Разные полезные функции, необходимые для создания квестов.

 

Я не являюсь их автором!

Функции найдены в разное время на разных сайтах, или получены мною от хороших людей.

 

Выдача инфопоршня:

function give_info ()
db.actor:give_info_portion("название_инфопоршня")
end

Вставляем, например, в диалог активацию: <action>название_скрипта.give_info</action> .

================================================

 

Забрать инфопоршень :

function info_del()
db.actor:disable_info_portion("название_удаляемого_поршня ")
end

================================================

 

Выдача инфопоршня при взятии предмета:
в bind_stalker.script ищем функцию function actor_binder:on_item_take (obj) и в ней добавляем:

--функция отслеживания появления предметов в инвентаре:
if db.actor then
name = obj:section()
if db.actor:object("предмет") ~= nil then
db.actor:give_info_portion("поршень")
end
end

===============================================

 

Спавн мёртвого сталкера:

function название_функции()
local obj= alife():create("trup",vector():set(-206.574,-22.534,-128.532),46581,58)
obj:on_death()
end

"trup" - название секции трупа из spawn_sections.ltx .

==============================================

 

Спавн раненого (нужны функции АМК):

function v_zhopu_ranenji ()
local obj = alife():create("ranenji_x18",vector():set(-117.569,0.817,-510.170),40101,834)
local tbl = amk.read_stalker_params(obj)
tbl.sid = 99999  --сид (можно убрать)
tbl.health = 0.1
tbl.updhealth = 0.05
amk.write_stalker_params(tbl, obj)
end

===============================================

 

Выдача предмета актору:

function название_функции (first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "название_предмета","in")
end

===============================================

 

Выдаём два одинаковых предмета:

function название_функции (first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "название_предмета", "in",2)
end

Если надо больше меняем цифру 2 на нужную.

==============================================

 

Выдать несколько разных предметов актору:

function назв_функц (first_speaker, second_speaker)
dialogs.relocate_item_section(second_speaker, "ammo_12x70_buck", "in")
dialogs.relocate_item_section(second_speaker, "ammo_9x18_pmm", "in")
dialogs.relocate_item_section(second_speaker, "ammo_9x18_pmm", "in")
dialogs.relocate_item_section(second_speaker, "ammo_5.45x39_ap","in")                  
dialogs.relocate_item_section(second_speaker, "medkit_army", "in")                   
end

===============================================

 

Забрать предмет у актора:

function medusu_peredal(first_speaker, second_speaker)                 
dialogs.relocate_item_section(second_speaker, "af_medusa", "out")
end

===============================================

 

Спавн в рюкзак ГГ:

function название_функции()
local obj = alife():create("предмет", db.actor:position(), db.actor:level_vertex_id(),
db.actor:game_vertex_id(), db.actor:id())
end

===============================================

 

Проверка наличия предмета у актора:

function назв_функц(task, objective)                 
if db.actor ~= nil then
return db.actor:object("af_medusa") ~= nil
end
return false
end

В начало диалога, после <dialog id="... вставляем: <precondition>название_скрипта.название_функции</precondition>
Таким образом диалог не появится у персонажа до тех пор, пока у нас в рюкзаке не будет Медузы.

===============================================

 

Проверка нескольких разных предметов с разным количеством:

function chasti_mutantov(task, objective)
return new_dialog.item_much("mutant_dog_tail",4) ~= false and                          
new_dialog.item_much("mutant_flesh_eye",3) ~= false and
new_dialog.item_much("mutant_psevdodog_tail",2) ~= false and
new_dialog.item_much("mutant_snork_leg",2) ~= false                 
end

Необходим new_dialog.script , в оригинале ТЧ его нет, взять можно в Народной Солянке.

==============================================

 

Проверка наличия денег у ГГ(4000 руб.):

function actor_has_money()                 
return db.actor:money()>=4000                 
end

==============================================

 

Передача денег от нпс актору(400 руб.):

function medusa_money(first_speaker, second_speaker)                 
dialogs.relocate_money(first_speaker, 400, "in")
end

==============================================

 

Передача денег от ГГ сталкеру(2000 руб.):

function назв_функц(actor, npc)     
dialogs.relocate_money(npc,2000,"out")
end

==============================================

 

Забрать все деньги у ГГ:

function deneg_hren(actor, npc)
local actor = db.actor
all_money_actor = actor:money()
if actor and npc then
dialogs.relocate_money(npc, all_money_actor, "out")
end
end

===============================================

 

Удалить предмет из рюкзака ГГ (и из игры вообще):

function назв_функц()
local oItem = db.actor:object("предмет")
if oItem then
db.actor:drop_item(oItem)
alife():release(alife():object(oItem:id()), true)
end
end

===============================================

 

Удаление сталкера(или предмета) по его секции:

function dell_stalk()
for a = 1,65534 do  
local se_obj = alife():object(a)
if se_obj and se_obj:section_name() == "название_секции" then
alife():release(se_obj, true)
end
end
end

===============================================

 

Удаление по СИДу(story id):

function del()
local sim = alife()
local se_obj = sim:story_object(888)  --сид
if se_obj then
sim:release(se_obj, true)
end
end

=================================================

 

НПС становится врагом...:

function название_функции(actor, npc)                 
npc:force_set_goodwill(-5000, actor)
end

...или дрУгом... В этом случае убрать знак минус перед цифрой 5000.

=================================================

 

Сделать врагами нескольких НПС, по sid-у:

function actor_enemy_mg (actor, npc)          
      local npc = level_object_by_sid (99994) -- сид
      if npc ~= nil then
         npc:set_relation (game_object.enemy, db.actor) 
      end
 local npc = level_object_by_sid (99995)
      if npc ~= nil then
         npc:set_relation (game_object.enemy, db.actor) 
      end
 local npc = level_object_by_sid (99996)
      if npc ~= nil then
         npc:set_relation (game_object.enemy, db.actor) 
      end   
 end

====================================================

 

Эффект выброса:

function vjbros()
    xr_effects.start_small_reject (actor, npc)
    if math.random(0, 1001) < 999 then
    local h = hit()
    h.direction = vector():set( 1, 0, 0 ) 
    h.impulse = 1 
    h.draftsman = db.actor 
    h.power = 1 
    h.type = hit.telepatic
    db.actor:hit(h)
end
end

====================================================

 

Делаем группировку нейтральной для игрока:

function dolg_neitral(npc, actor)
 local chkgoodwill = relation_registry.community_goodwill("dolg",db.actor:id())
 relation_registry.set_community_goodwill ("dolg",db.actor:id(),120)
end

Функции работают на ТЧ-1.0004 .



#25
Fаgot

Fаgot

    Сталкер

  • альтернативный текст
  • Нейтралы
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • PipPipPipPip
  • Регистрация:
    14-листопад 10
  • 220 Cообщений
  • Пропуск №: 3158


Репутация: 3 Постов: 220
  • Страна проживания:СССР
  • Реальное имя:Александр
  • Пол:Мужчина
  • Город:Владивосток

Сложная логика радиоприёмника. 

 

В рассматриваемом приёмнике есть два набора музыкальных композиций. Например, рок и попса.
Сперва играет рок. При наведении прицела на радио, появляется надпись "переключить канал" (например). При переключении, выбирается следующая случайная композиция из "рок". Когда ГГ получает инфопоршень stalk_v_td, происходит переход в секцию ph_sound@muzjka_3, где уже играет попса, с теми же самыми настройками, что и у рока...
 

Пример из мода Равновесие-2





[logic]
active = ph_sound@muzjka_1

; рок:
[ph_sound@muzjka_1]
tips = radio_switch;   надпись,появляющаяся при наведении прицела на радио(в string_table_ui.xml)
snd = radio_td1;  название звуковой темы (sound_theme.script)
looped = false; музыка будет проигрываться без остановки, по кругу
max_idle = 1000
random = true; случайный выбор композиции
on_use = ph_sound@muzjka_2; при нажатии "использовать",переход в следующую секцию(для смены трека)
no_hit = false; нанеся урон приёмнику, выключаем его
on_info = {+stalk_v_td} ph_sound@muzjka_3; при наличии инфопоршня, переходим в секцию с попсой

; рок:
[ph_sound@muzjka_2]
tips = radio_switch
snd = radio_td1
looped = false
max_idle = 1000
random = true
on_use = ph_sound@muzjka_1
no_hit = false
on_info = {+stalk_v_td} ph_sound@muzjka_3

; попса:

[ph_sound@muzjka_3]
tips = radio_switch
snd = radio_td2
looped = false
max_idle = 1000
random = true
on_use = ph_sound@muzjka_4
no_hit = false

; попса:
[ph_sound@muzjka_4]
tips = radio_switch
snd = radio_td2
looped = false
max_idle = 1000
random = true
on_use = ph_sound@muzjka_3
no_hit = false

 

Дополнение
В sound_theme.script создаются две секции (рок и попса), в которых указываются пути к музыкальным композициям.
Пример:

ph_snd_themes["radio_td1"] = { "characters_voice\\scenario\\priemnik_rupor_pripyat\\magnitofon_25",
"characters_voice\\scenario\\priemnik_rupor_pripyat\\magnitofon_23",
"characters_voice\\scenario\\priemnik_rupor_pripyat\\magnitofon_20",
"characters_voice\\scenario\\radiopriemniki\\agroprom\\pesnyarj_bel_pusha",
"characters_voice\\scenario\\radiopriemniki\\temnaya_dolina\\Pesnyary-Molodost-moya-Belorussiya",
"characters_voice\\scenario\\radiopriemniki\\temnaya_dolina\\Pesnjary-Berezovyi_Sok",
"characters_voice\\scenario\\priemnik_rupor_pripyat\\magnitofon_22"
}
ph_snd_themes["radio_td2"] = { "characters_voice\\scenario\\radiopriemniki\\A_Vivaldi-Vremena_goda-dekabr",
"characters_voice\\scenario\\radiopriemniki\\IS_Bah-Orkestrovaya_suita_1068",
"characters_voice\\scenario\\radiopriemniki\\IS_Bah-Tokkata_re_minor_565",
"characters_voice\\scenario\\radiopriemniki\\A_Vivaldi-Vremena_goda-avgust",
"characters_voice\\scenario\\radiopriemniki\\pripyat\\magnitofon_6",
"characters_voice\\scenario\\priemnik_rupor_pripyat\\magnitofon_20",
"characters_voice\\scenario\\priemnik_rupor_pripyat\\magnitofon_22",
"characters_voice\\scenario\\radiopriemniki\\PI_Chaikovskii-Shelkunchik"
}


#26
Котобегемот

Котобегемот

    Сталкер Года

  • альтернативный текст
  • Старожилы
  • Клуб - reaktor
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • Регистрация:
    12-травень 14
  • 190 Cообщений
  • Пропуск №: 10421

0 баллов предупреждения
Репутация: 1 002

Репутация: 1002 Постов: 190
  • Страна проживания:Украина
  • Реальное имя:Орест
  • Пол:Мужчина
  • Город:Львовская обл.

Может кто подскажет, интересует такое: где и как заменить рандомные приветсвия Сидоровича, когда заходим к нему в бункер. 

Напомню, он говорит,  например, такое - "Вернулся ?" ,  "Есть что-то стоящее ?", "Хабар принес ? " и т.д.  Насколько я понимаю, это к диалогам не относится ибо в ПДА - Журнал - История такого нет. оно туда не попадает. То, что звуки надо прогнать через СДК, это понятно, еще бы понять, где эти звуки в какой папке лежат и может еще какие -то нюансы есть типа прописывания в каких-то скриптах. 

Поможет кто советом ?



#27
Fаgot

Fаgot

    Сталкер

  • альтернативный текст
  • Нейтралы
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • PipPipPipPip
  • Регистрация:
    14-листопад 10
  • 220 Cообщений
  • Пропуск №: 3158


Репутация: 3 Постов: 220
  • Страна проживания:СССР
  • Реальное имя:Александр
  • Пол:Мужчина
  • Город:Владивосток

Котобегемот, gamedata\sounds\characters_voice\scenario\trader . 

Файлы trader_script1a_1.oggtrader_script1a_2.ogg и т.п. Заменяй на свои.


***


и может еще какие -то нюансы есть типа прописывания в каких-то скриптах
Нет.

#28
Гость_Demosfen_*

Гость_Demosfen_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:

Можно пример создания диалогов, если для этого я задействовал новые файлы.


Повідомлення відредагував Fаgot: 30 листопад 2016 - 02:55


#29
Fаgot

Fаgot

    Сталкер

  • альтернативный текст
  • Нейтралы
  • Завсегдатай - больше 1 год на сайте
КПК - Сталкера
  • PipPipPipPip
  • Регистрация:
    14-листопад 10
  • 220 Cообщений
  • Пропуск №: 3158


Репутация: 3 Постов: 220
  • Страна проживания:СССР
  • Реальное имя:Александр
  • Пол:Мужчина
  • Город:Владивосток

StalkerNest,  

1. config\gameplay\твой_файл

2. config\text\rus\твой_файл_с_русским_текстом

 

В твой_файл пишешь:

<dialog id="moi_dialog">
        <phrase_list>
           <phrase id="0">
              <text>moi_dialog_1</text>
<next>1</next>
         </phrase>
            <phrase id="1">
             <text>moi_dialog_2</text>
              <next>2</next>
</phrase>
            <phrase id="2">
              <text>moi_dialog_3</text>
         </phrase>
        </phrase_list>
</dialog>

 

В русско-язычный файл вставляешь:

<string id="moi_dialog_1">
<text>Здравствуйте...</text>
</string>
<string id="moi_dialog_2">
<text>До свидания...</text>
</string>
<string id="moi_dialog_3">
<text>Сам дурак...</text>
</string> 

 

Потом, в character_desc_локация.xml своему персонажу вставляешь ссылку на диалог:

<actor_dialog>moi_dialog</actor_dialog>

Это простейший диалог, без условий.



#30
Гость_Demosfen_*

Гость_Demosfen_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:
Fаgot,а как сделать диалог на обмен, как у Кузнецова допустим, чтобы я мог менять водку на какие-то предметы?
Fаgot (14 грудень 2016 - 01:50):
На этой странице, мой пост с функциями для квестов!


#31
Dungeonland

Dungeonland

    Пришедший

  • альтернативный текст
  • Нейтралы

КПК - Сталкера
  • Pip
  • Регистрация:
    08-листопад 14
  • 16 Cообщений
  • Пропуск №: 16110


Репутация: 0
  • Страна проживания:Россия
  • Реальное имя:Артур
  • Пол:Мужчина
  • Город:Москва

Всем доброго дня! не знаю по теме здесь пишу но у меня просьба....кто может дать ссылку на патч что бы  откатить версию 1.0006 до 1.0004. по инету искал долго но ничего нормального не нашёл.



#32
Гость_LENA_D_*

Гость_LENA_D_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:

патч что бы  откатить версию 1.0006 до 1.0004.

День добрый!

Загляни сюда, там то что  тебе нужно.

http://stalker-worlds.games/load/stalker/9724-stalker-quotvozvrat-s-10006-do-10004-versiiquot.html



#33
Dungeonland

Dungeonland

    Пришедший

  • альтернативный текст
  • Нейтралы

КПК - Сталкера
  • Pip
  • Регистрация:
    08-листопад 14
  • 16 Cообщений
  • Пропуск №: 16110


Репутация: 0
  • Страна проживания:Россия
  • Реальное имя:Артур
  • Пол:Мужчина
  • Город:Москва

LENA_D,перехожу на сайт но ссылка не работает.....время не идет что бы пошёл скачивания.  



#34
olodkav

olodkav

    Сталкер

  • альтернативный текст
  • Старожилы
  • Клуб - reaktor

КПК - Сталкера
  • Регистрация:
    12-травень 14
  • 651 Cообщений
  • Пропуск №: 10428


Репутация: 260 Постов: 651
  • Страна проживания:Страна
  • Реальное имя:Реальное имя
  • Пол:Мужчина
  • Город:Город

ссылку на патч что бы откатить версию 1.0006 до 1.0004

Подозреваю что у тебя пиратка, т.к. если лицензия то не вижу проблем в переустановке.

Могу посоветовать простой способ в несколько кликов - удали из корневого каталога игры папку bin и архивы gamedata.dbc и gamedata.dbd, потом скачай и поставь вот эту папку bin от четвёртого патча и всё у тебя эта версия игры, ставь моды и играй.

сюда

Ссылка ушла в мир иной :yes:


Повідомлення відредагував olodkav: 10 лютий 2017 - 14:09


#35
Гость_LENA_D_*

Гость_LENA_D_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:
Ссылка ушла в мир иной

Вскоре будет в теме, залью на наш яндекс диск.



#36
Dungeonland

Dungeonland

    Пришедший

  • альтернативный текст
  • Нейтралы

КПК - Сталкера
  • Pip
  • Регистрация:
    08-листопад 14
  • 16 Cообщений
  • Пропуск №: 16110


Репутация: 0
  • Страна проживания:Россия
  • Реальное имя:Артур
  • Пол:Мужчина
  • Город:Москва

olodkav, у меня лицензия и версия там 1.0006 и поэтому хочу откатить до 1.0004



#37
Гость_CMIT_*

Гость_CMIT_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:

и поэтому хочу откатить до 1.0004

https://yadi.sk/d/wcrWMEHy3Dnik2



#38
olodkav

olodkav

    Сталкер

  • альтернативный текст
  • Старожилы
  • Клуб - reaktor

КПК - Сталкера
  • Регистрация:
    12-травень 14
  • 651 Cообщений
  • Пропуск №: 10428


Репутация: 260 Постов: 651
  • Страна проживания:Страна
  • Реальное имя:Реальное имя
  • Пол:Мужчина
  • Город:Город
у меня лицензия

Понятно, но в целом это не имеет значения. Официальных откатчиков нет, т.е. по сути ты будешь пользовать стороннюю программу и тем самым теряешь лицензию. В общем, сделай так как я написал и играй.

Забыл добавить - папку bin и gamedata.dbd и dbc не удаляй, а перенеси куда нибудь с пометкой о том что это шестой патч и поставь то что я тебе дал, потом когда захочешь вернёшь как было и снова будет шестой патч.

https://yadi.sk/d/wcrWMEHy3Dnik2

Юра, зачем ты ему оф.патч дал, он не поможет, при запуске будет проверка реестра и установщик сообщит о том что уже установлена версия выше и як то кажуть - "усе, кiна не буде" :)


Повідомлення відредагував olodkav: 10 лютий 2017 - 15:12


#39
Гость_CMIT_*

Гость_CMIT_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:

"усе, кiна не буде"

Денис, а ему нужен отктчик? Сейчас сделаем. :sm4:

у меня лицензия и версия там 1.0006 и поэтому хочу откатить до 1.0004

https://yadi.sk/d/CVjBBtRM3DoYEH

Это - даунгрейд! Тоже, что и патч, только наоборот. Он вернёт вам версию 1.0004, если у вас есть версия 1.0006 или 1.0005 

Удачи в Зоне сталкер!



#40
Гость_Lysander94_*

Гость_Lysander94_*
  • альтернативный текст
  • Бродяги

КПК - Сталкера
  • Регистрация:
    --
  • Пропуск №: 0


Репутация: Репутация:

Обьясните как укомплектовать .ogf файл чтобы игра его приняла . У меня задача просто отрезать кусочек модели от оружия , но при конвертации теряется часть данных





Теми з аналогічними тегами: Сталкер, Модостроение


реклама на сайте подключена

Использование материалов сайта только с разрешения Администрации LENA_D!
Или с указанием прямой ссылки на источник. 2010 © bar-reaktor.stalker-worlds.ru
Не забывай о нас. Мы всегда рады тебе!!!

Рейтинг Ролевых Ресурсов - RPG TOP