Случайная подборка модов
«Последний Сталкер»
4.1
Смерти Вопреки 2. Одним днем живу
3.4
Nature Winter v2.3 Black Edition
3.9
В западне
3.9
Зона поражения
4.1
Под прикрытием смерти. Клондайк 2.0
4.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: Wolfstalker, Аdmin, AspirinSGD  
[COM] Аддоны, модификации.
Российская Федерация  X_A_M_E_L_E_O_N
Четверг, 17.11.2016, 18:53 | Сообщение # 1
Last Day
Статус:
Опытный:
Сообщений: 2881
Награды: 17
Регистрация: 21.08.2012




Call of Misery

Официальная тема по COM
Тема аддонов и модификаций для платформы COM.
Еще аддоны Первый раздел и Второй раздел.



Графические дополнения





Геймплейные дополнения





Различные дополнения

Сообщение отредактировал X_A_M_E_L_E_O_N - Вторник, 21.11.2017, 19:18
  Злобная реклама
Четверг, 17.11.2016, 18:53
Статус:
Сообщений: 666
Регистрация: 21.08.2012
Российская Федерация  AndreyGants
Суббота, 31.12.2016, 03:17 | Сообщение # 2791
Статус:
Новичок:
Сообщений: 305
Награды: 0
Регистрация: 17.11.2016

ziken, не совсем понятно, что ты хочешь.
Смотри, допустим есть секция контейнера


Есть также секция иммунитетов для этого контейнера, они обязательно должны быть, даже если значение равно нулю.

По сути контейнер это и есть артефакт. А теперь давай посмотрим как выглядит секция артефакта в этом контейнере. Возьмем в пример Медузу.


[af_medusa_af_aac]:af_aac - секция [af_medusa_af_aac] включает в себя секцию нашего контейнера [af_aac] со всем что находится внутри. Но при этом может переписать некоторые параметры, а остальные оставить без изменений.
hit_absorbation_sect = af_medusa_absorbation - иммунитеты берутся из секции [af_medusa_absorbation], это иммунитеты которые прописаны у артефакта Медузы в artefacts.ltx
Сообщение отредактировал AndreyGants - Суббота, 31.12.2016, 03:21
  Злобная реклама
Суббота, 31.12.2016, 03:17
Статус:
Сообщений: 666
Регистрация: 17.11.2016
Российская Федерация  Wafel
Суббота, 31.12.2016, 03:20 | Сообщение # 2792
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

AndreyGants, мне кажется это вопрос скорее "почему кривая реализация и для контейнера с артом прописываются свои хар-ки, а не высчитываются на основе контейнера и арта". Ответить могу только "потому что" )) видимо им проще было запариться по конфигам, чем по скриптам.
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 03:21
  Злобная реклама
Суббота, 31.12.2016, 03:20
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Российская Федерация  Master_Boli
Суббота, 31.12.2016, 03:21 | Сообщение # 2793
Статус:
Опытный:
Сообщений: 2001
Награды: 10
Регистрация: 10.05.2012

Цитата Wafel ()
Master_Boli, это вернуть - дело ~6 найти,выделить,вставить

Да это понятно и засунуть старый ui из будущего патча 1.0 ( но мне не охото не чего ковырять , я просто хочу поиграть со слотами поэтому и написал) Мне лень happy
  Злобная реклама
Суббота, 31.12.2016, 03:21
Статус:
Сообщений: 666
Регистрация: 10.05.2012
Российская Федерация  Wafel
Суббота, 31.12.2016, 03:22 | Сообщение # 2794
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

Master_Boli, персонально для тебя выложу тогда :D
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 03:22
  Злобная реклама
Суббота, 31.12.2016, 03:22
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Российская Федерация  AndreyGants
Суббота, 31.12.2016, 03:27 | Сообщение # 2795
Статус:
Новичок:
Сообщений: 305
Награды: 0
Регистрация: 17.11.2016

Wafel, потому что по другому это никак не реализовать. Пустой контейнер и контейнер с артефактом - это отдельные артефакты, не связанные с оригиналом. Немного сумбурно объясняю, но надеюсь поймете.
  Злобная реклама
Суббота, 31.12.2016, 03:27
Статус:
Сообщений: 666
Регистрация: 17.11.2016
Российская Федерация  Wafel
Суббота, 31.12.2016, 03:45 | Сообщение # 2796
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

AndreyGants, ты меня не понял... я знаю что это так, я пытался тебе объяснить его вопрос, как я его понял. И кстати, сделать то можно всё, вопрос в сложности, через конфиг проще, через скрипт тоже можно, но GSC решили через конфиг. Работаем с тем, что есть. Чисто теоретически ничто не мешало брать конфиг арта, конфиг контейнера, обрабатывать, пихать в объект под названием "контейнер с артом", в другом месте считывать. Но как GSC сделали - так сделали. Может так и лучше, ибо храня в конфигах они грузят диск и оперативку, а обсчитывая - проц, вечный вопрос баланса между хранением и вычислением.
P.S. но мне думается, что значения, зависящие от задаваемых констант, по логике, должны быть вычисляемыми, а не так-же задаваемыми константами.. Но дабы не париться и не вычислять всё время каждый раз - хранить лучше в temp файлах, из которых читать, и переписывать эти файлы только в случае изменения файлов, на основе которых были вычисления, в общем - не в сталкере )) (это всё конечно, если бы меня кто-то спросил :) )
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 03:50
  Злобная реклама
Суббота, 31.12.2016, 03:45
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Уганда  ziken
Суббота, 31.12.2016, 04:06 | Сообщение # 2797
Статус:
Новичок:
Сообщений: 340
Награды: 1
Регистрация: 18.12.2016

AndreyGants, а почему тогда контейнер сам берет показатели защиты от артефакта? Их же не надо прописывать. Это же по сути одни и те же значения, только одни учитываются, а другие нет.
  Злобная реклама
Суббота, 31.12.2016, 04:06
Статус:
Сообщений: 666
Регистрация: 18.12.2016
Российская Федерация  Wafel
Суббота, 31.12.2016, 04:20 | Сообщение # 2798
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

ziken, предположительно всё ещё более криво и что-то берётся из одного конфига, а что-то из другого. И кажись я зря нагрешил на GSC, там контейнеров вообще не было, это ребята из Misery team походу так реализовали.
UPD Я кажись просёк в чём тут дело...
сейчас объясню на примере медузы
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 04:33
  Злобная реклама
Суббота, 31.12.2016, 04:20
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Российская Федерация  AndreyGants
Суббота, 31.12.2016, 04:32 | Сообщение # 2799
Статус:
Новичок:
Сообщений: 305
Награды: 0
Регистрация: 17.11.2016

ziken,
Цитата AndreyGants ()
hit_absorbation_sect = af_medusa_absorbation - иммунитеты берутся из секции [af_medusa_absorbation], это иммунитеты которые прописаны у артефакта Медузы в artefacts.ltx


Wafel, кстати, попробовал сделать как ты посоветовал насчет иконок. Скрипт в таком случае вообще не работает.
  Злобная реклама
Суббота, 31.12.2016, 04:32
Статус:
Сообщений: 666
Регистрация: 17.11.2016
Российская Федерация  Wafel
Суббота, 31.12.2016, 04:35 | Сообщение # 2800
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

AndreyGants, это смотреть надо, смотря как объявил, где объявил и прочие вещи, все-ли имена этих иконок объявлены, и не использовать то изначальное имя иконки как имя переменной уж точно, ибо занято уже. Я написал чтоб показать принцип и не говорил, что это 100% будет работать.
Принцип что ты
1. задаёшь по иконке для каждого названия
2. пихаешь названия в массив
3. выбираешь из массива случайный элемент
Учитывая, что ты никакой подробной инфы тогда не дал, не сказал что это за файл и прочие вещи - сложно было сказать что-то более точное, да и цели такой я не преследовал. Тем более что не очень понимаю зачем тебе это (не признаю чистой воды казуальщину за что-то полезное) и с иконками не работал. + я дал примерный совет и вроде нигде не обещал что это точно будет работать, совет!=подробная инструкция/готовый продукт
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 06:22
  Злобная реклама
Суббота, 31.12.2016, 04:35
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Российская Федерация  AndreyGants
Суббота, 31.12.2016, 05:14 | Сообщение # 2801
Статус:
Новичок:
Сообщений: 305
Награды: 0
Регистрация: 17.11.2016

Wafel, извиняюсь, все заработало (забыл поставить запятую в таблице), но вот только иконка почему-то выбирается всегда одна и та же, а именно "ui_inGame2_Dolg_1" (не знаю важно или нет, но в dds файле она по координатам получается первее всех). Все иконки уже прописаны в отдельный файл в configs\ui\textures_descr
Получилось вот так:
Код
icons_dolg={"ui_inGame2_Dolg_0","ui_inGame2_Dolg_1","ui_inGame2_Dolg_1_mask","ui_inGame2_Dolg_2","ui_inGame2_Dolg_3","ui_inGame2_Dolg_4",
"ui_inGame2_Dolg_4e","ui_inGame2_duty_2_old","ui_inGame2_duty_bala","ui_inGame2_dutygas_2"
}

    
local tips_icons={
    stalker  = "ui_icon_news_stalker",
    dolg     = icons_dolg[math.random(#icons_dolg)],
    freedom  = "ui_icon_news_freedom",
    csky  = "ui_icon_news_csky",
    army     = "ui_icon_news_army",
    bandit   = "ui_icon_news_bandit",
    killer   = "ui_icon_news_killer",
    monolit  = "ui_icon_news_monolit",
    ecolog  = "ui_icon_news_ecolog",
    
    death  = "ui_icon_news_deathPDA"
}


Цитата Wafel ()
что это за файл

За основу взял "Рандомные новости от VanoSanturi"
Цитата Wafel ()
Тем более что не очень понимаю зачем тебе это (не признаю чистой воды казуальщину за что-то полезное)

Захотелось собрать все тексты в один файл и привести все к единому целому.
Сообщение отредактировал AndreyGants - Суббота, 31.12.2016, 05:15
  Злобная реклама
Суббота, 31.12.2016, 05:14
Статус:
Сообщений: 666
Регистрация: 17.11.2016
Российская Федерация  Wafel
Суббота, 31.12.2016, 06:21 | Сообщение # 2802
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

AndreyGants, мне думается это виноват генератор псевдослучайных чисел - попробуй в начало файла прописать вот это
Код
math.randomseed( os.time() )
тогда рандомайзер будет зависеть от времени в глобальном плане, если проблему не решит - придётся попытаться по другому (потом скажу, если нужно будет)
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 06:22
  Злобная реклама
Суббота, 31.12.2016, 06:21
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Российская Федерация  AndreyGants
Суббота, 31.12.2016, 06:42 | Сообщение # 2803
Статус:
Новичок:
Сообщений: 305
Награды: 0
Регистрация: 17.11.2016

Цитата Wafel ()
math.randomseed( os.time() )

После того как я ее добавил вылет при загрузке/НИ
[error]Arguments : LUA error: ...- call of chernobyl\gamedata\scripts\zone_news_vs.script:66: attempt to call global 'names' (a nil value)
66 строка - local name,sname,snamefam,rank = names()
Код
function msg_rndDolg()
    local name,sname,snamefam,rank = names()
    local rnd_allnews,rnd_dolgnews,rnd_freedomnews = rnd_News()
  if math.random(0,4)<1 then
  send_tip("%c[1,160,0,0]"..rank.." "..snamefam.."%c[default]: "..rnd_dolgnews,"Общий канал", 0, 12,"dolg","news")
  else
  send_tip("%c[1,160,0,0]"..rank.." "..snamefam.."%c[default]: "..rnd_allnews,"Общий канал", 0, 12,"dolg","news")
  end
end

Функция names()
Код

function names()
    local name  =fnames[math.random(#fnames)]
    local sname  =snames[math.random(#snames)]
    local snamefam    =snamesfam[math.random(#snamesfam)]
    local rank  =ranks[math.random(#ranks)]
    return name,sname,snamefam,rank
end

Ну и само собой есть таблицы fnames,snames,snamesfam,ranks
Сообщение отредактировал AndreyGants - Суббота, 31.12.2016, 06:43
  Злобная реклама
Суббота, 31.12.2016, 06:42
Статус:
Сообщений: 666
Регистрация: 17.11.2016
Уганда  ziken
Суббота, 31.12.2016, 07:09 | Сообщение # 2804
Статус:
Новичок:
Сообщений: 340
Награды: 1
Регистрация: 18.12.2016

Изменил артефакты по схеме о которой писал выше.
23 артефакта.
15 характеристик:


15 уникальных артефактов + 6 со смешанными хар-ми, но они тоже уникальны. Пустышка только для продажи. А Вспышка ждет когда же из неё сделают батарейку.
Артефакты восстанавливающие здоровье делают это всего на +1 для баланса.
Многие значения артов брал из чистой 0.99с. В частности пулестойкость, разрыв, гашение удара и защ. от взрыва от арта "Пламя".

Цены


Убрал все описания артов. Теперь можно менять артефакты и забить на правку тонны текста. Лучше потом добавить описание в ПДА и все.
Артефакт "Сердце Оазиса" выводит 100500 радиации. Сделал для теста. Чтобы не сдохнуть пока спавнил арты в инвентарь. Убирать не стал, но сделал так что использовать его никто не будет *KappaPride*

Скачать: ArtFix 0.02
Сообщение отредактировал ziken - Суббота, 31.12.2016, 09:59
  Злобная реклама
Суббота, 31.12.2016, 07:09
Статус:
Сообщений: 666
Регистрация: 18.12.2016
Российская Федерация  Wafel
Суббота, 31.12.2016, 07:17 | Сообщение # 2805
Статус:
Бывалый:
Сообщений: 680
Награды: 2
Регистрация: 07.10.2016

AndreyGants, я тебе потом предложу способ решения, либо днём, либо уже 1-2го числа ) Всю ночь проторчал, спать хочу. Удали пока эту строку из начала файла, другие файлы не трогай, не в них дело. Убери в общем эту
Код
math.randomseed( os.time() )
. Либо жди, либо может ещё кто подскажет (я кстати ещё не уверен, что та другая идея сработает)) )

С наступающим всех! 10 10
Сообщение отредактировал Wafel - Суббота, 31.12.2016, 07:18
  Злобная реклама
Суббота, 31.12.2016, 07:17
Статус:
Сообщений: 666
Регистрация: 07.10.2016
Поиск: