Случайная подборка модов
Кровавый закат 2
3.2
Конец Света 2: Последний Восход
3.2
Arsenal Mod
4.0
Мод Змеелов v.2.17 Final
3.8
Dollchan 7: Inception
2.9
AtmosFear 3
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  Wolfstalker
Среда, 24.02.2016, 00:25 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга


• Не флудить
• Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там
• В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти




F.A.Q

  Злобная реклама
Среда, 24.02.2016, 00:25
Статус:
Сообщений: 666
Регистрация: 05.04.2010
Российская Федерация  mafia50000
Воскресенье, 16.10.2016, 16:03 | Сообщение # 4231
Статус:
Отмычка:
Сообщений: 178
Награды: 4
Регистрация: 06.01.2014

Ребят помогите. Я, скачал пак локаций из "Чистого Неба", для "Зова Припяти".
Мне из этого пака нужна только локация "Болото", но сделал, что-то не так, и локация не появилась. Как нужно поставить локацию, чтобы всё заработало?
Сообщение отредактировал mafia50000 - Воскресенье, 16.10.2016, 16:04
  Злобная реклама
Воскресенье, 16.10.2016, 16:03
Статус:
Сообщений: 666
Регистрация: 06.01.2014
Российская Федерация  FonSwong
Понедельник, 17.10.2016, 14:55 | Сообщение # 4232
Статус:
Опытный:
Сообщений: 1593
Награды: 1
Регистрация: 21.12.2014

Какой функцией можно собрать все ноды с локации и узнать координаты оных?
  Злобная реклама
Понедельник, 17.10.2016, 14:55
Статус:
Сообщений: 666
Регистрация: 21.12.2014
Российская Федерация  makdm
Понедельник, 17.10.2016, 15:13 | Сообщение # 4233
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

FonSwong, стесняюсь спросить, а зачем вам это нужно в игре?
Вы что с этим массивом делать дальше то будете?
  Злобная реклама
Понедельник, 17.10.2016, 15:13
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  FonSwong
Понедельник, 17.10.2016, 15:21 | Сообщение # 4234
Статус:
Опытный:
Сообщений: 1593
Награды: 1
Регистрация: 21.12.2014

makdm, мне нужны координаты, в которые я смогу спавнить, спавнить по координатам левел вертиксов глупо, их слишком мало на уровнях
  Злобная реклама
Понедельник, 17.10.2016, 15:21
Статус:
Сообщений: 666
Регистрация: 21.12.2014
Российская Федерация  makdm
Понедельник, 17.10.2016, 18:09 | Сообщение # 4235
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата FonSwong ()
мне нужны координаты, в которые я смогу спавнить

Открою вам большую тайну. Спавнить вы можете по любым координатам.
Движку по фигу есть там ноды или их там нет. Он это при спавне не проверяет.
Проверка идёт только при назначении схемы логики. И то не во всех случаях.
Учите матчасть, вопросов будет меньше.
Сообщение отредактировал makdm - Понедельник, 17.10.2016, 18:10
  Злобная реклама
Понедельник, 17.10.2016, 18:09
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  FonSwong
Понедельник, 17.10.2016, 18:19 | Сообщение # 4236
Статус:
Опытный:
Сообщений: 1593
Награды: 1
Регистрация: 21.12.2014

makdm, вы НЕ ПОНЯЛИ, а уже тыкаете меня носом в мат часть!
Я спавню аномалии по рандомным координатам левел_вертиксов. Но их слишком мало на локациях. Я решил что лучше спавнить по нодам.
Я ЗНАЮчто можно спавнить по любым координатам, НО я не собираюсь ВРУЧНУЮпрописывать координаты аномалиям, я делаю спавн ДИНАМИЧЕСКИХаномалий.
Сообщение отредактировал FonSwong - Понедельник, 17.10.2016, 18:22
  Злобная реклама
Понедельник, 17.10.2016, 18:19
Статус:
Сообщений: 666
Регистрация: 21.12.2014
Российская Федерация  makdm
Понедельник, 17.10.2016, 19:18 | Сообщение # 4237
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата FonSwong ()
вы НЕ ПОНЯЛИ, а уже тыкаете меня носом в мат часть!

А вы и не пишите, что вы спавните и для чего. А я не телепат.

Цитата FonSwong ()
я делаю спавн ДИНАМИЧЕСКИХаномалий.

Вы изобретаете велосипед.
В моде ПТО мы ещё 1,5 года назад сделали спавн аномалий по рандомным координатам локации и ни к каким нодам не привязывались.
Причём во время выброса одни аномалии рассасывались, а после окончания выброса другие спавнились рандомно по новым координатам.
Аномалии вообще к нодам ( к АИ-сетке ) не привязаны никак.
  Злобная реклама
Понедельник, 17.10.2016, 19:18
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  FonSwong
Понедельник, 17.10.2016, 19:20 | Сообщение # 4238
Статус:
Опытный:
Сообщений: 1593
Награды: 1
Регистрация: 21.12.2014

Цитата makdm ()
Аномалии вообще к нодам ( к АИ-сетке ) не привязаны никак.

Ну я хотел их использовать как источник координат
Цитата makdm ()
1,5 года назад сделали спавн аномалий по рандомным координатам локации и ни к каким нодам не привязывались

Вот на этом месте поподробнее
Сообщение отредактировал FonSwong - Понедельник, 17.10.2016, 19:21
  Злобная реклама
Понедельник, 17.10.2016, 19:20
Статус:
Сообщений: 666
Регистрация: 21.12.2014
Российская Федерация  makdm
Понедельник, 17.10.2016, 19:25 | Сообщение # 4239
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата FonSwong ()
Вот на этом месте поподробнее

Подробнее, чем написаны скрипты в ПТО всё равно не получится. Открываете папку скриптс, смотрите как это сделано, переносите к себе. Если что-то нужно, то дополняете или улучшаете.
Сообщение отредактировал makdm - Понедельник, 17.10.2016, 19:26
  Злобная реклама
Понедельник, 17.10.2016, 19:25
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Украина  _S_k_i_F_
Понедельник, 17.10.2016, 19:26 | Сообщение # 4240
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

Такой вопрос: использую в Гуи листбокс. В коллбеке на клик по элементу листбокса проверяю
Код
local ind = self.inflist:GetSelectedIndex()
if ind == 0 then

Но вылетает с логом attenp to call method 'GetSelectedIndex'
Как правильно проверить индекс элемента листбокса? Зараннее спасибо!
  Злобная реклама
Понедельник, 17.10.2016, 19:26
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  denis2000
Понедельник, 17.10.2016, 20:14 | Сообщение # 4241
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

_S_k_i_F_, Как определен и инициализирован self.inflist?
  Злобная реклама
Понедельник, 17.10.2016, 20:14
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  castle
Понедельник, 17.10.2016, 21:06 | Сообщение # 4242
Статус:
Новичок:
Сообщений: 262
Награды: 2
Регистрация: 11.01.2014

Платформа ЗП.
Эх давненько я сталкером не занимался, накопились вопросы...

1. Где activate_scheme у схемы companion? Сюдя по этому куску в xr_logic


она должна ведь быть.

Косяк разрабов?

2. Как я понял, у объекта cCar нет метода relation, как мне узнать что объект враг в усл схемы

3.Какой функцией можно получить всех и даже на других локациях макс\мин level и game vertex на старте игры.

Заранее спасибо!
Сообщение отредактировал castle - Понедельник, 17.10.2016, 21:08
  Злобная реклама
Понедельник, 17.10.2016, 21:06
Статус:
Сообщений: 666
Регистрация: 11.01.2014
Российская Федерация  makdm
Понедельник, 17.10.2016, 21:34 | Сообщение # 4243
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата castle ()
Где activate_scheme у схемы companion?

Эти методы вызываются для установки начальных параметров первыми до вызова метода UPDATE при переключении на схему.
В схеме companion параметры вынесены из класса в локальные переменные:

поэтому вызов метода activate_scheme становится не нужным.

Цитата castle ()
Как я понял, у объекта cCar нет метода relation, как мне узнать что объект враг в усл схемы

Бронетранспортёры, стационарные пулемёты, вертолёты в Сталкере живут своей жизнью и ни к одной из группировок не относятся.
Кого назначите врагом, того и будут "молотить".
Скриптом можно отнести их к определённой группировке и дописАть это в логику, тогда при работе логики будет идти проверка на relation и принятие решения об атаке НПС.
Всё это делать ручками.

Цитата castle ()
Какой функцией можно получить всех и даже на других локациях макс\мин level и game vertex на старте игры.


Код
local level = level.name()
local gv_id = 0
    local lv_id = 0
    while game_graph():valid_vertex_id( gv_id ) do
  local level = alife():level_name( game_graph():vertex( gv_id ):level_id() )
  if level == level_name then
   lv_id = game_graph():vertex( gv_id ):level_vertex_id()
   break
  end
    gv_id = gv_id + 1
    end
  Злобная реклама
Понедельник, 17.10.2016, 21:34
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Украина  _S_k_i_F_
Понедельник, 17.10.2016, 22:42 | Сообщение # 4244
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

denis2000,
Код
self.inflist    = xml:InitListBox("actor_info:list_info", self.actor_info)
self:Register(self.inflist, "listbox")

self:AddCallback("listbox", ui_events.LIST_ITEM_CLICKED, self.Element_clicked, self)

Добавлено (17.10.2016, 22:42)
---------------------------------------------
Вот если что весь скрипт и xml

Код
class "ui_actor_info" (CUIScriptWnd)

function ui_actor_info:__init() super()
    self:InitControls()
    self:InitCallBacks()
    self:Update()
end

function ui_actor_info:__finalize()
end

function ui_actor_info:InitControls()
local xml = CScriptXmlInit()
self:SetWndRect(Frect():set(0,0,1024,768))
xml:ParseFile("ui_actor_info.xml")
self.actor_info = xml:InitStatic("actor_info",self)
self.button_close = xml:Init3tButton ("actor_info:btn_close",self.actor_info)
self:Register (self.button_close, "button_close")
self.inflist    = xml:InitListBox("actor_info:list_info", self.actor_info)
self:Register(self.inflist, "list_info")
self.infopole    = xml:InitEditBox("actor_info:infopole", self.actor_info)
end

function ui_actor_info:InitCallBacks()
self:AddCallback("list_info", ui_events.LIST_ITEM_CLICKED, self.Element_clicked, self)
self:AddCallback("button_close", ui_events.BUTTON_CLICKED, self.on_button_close_clicked, self)
end

function ui_actor_info:Update()
    if not has_alife_info("actor_info_thoughts_title_0") then
  self.inflist:AddTextItem(game.translate_string("actor_info_thoughts_title_0"))
  give_info("actor_info_thoughts_title_0")
    end
    if has_alife_info("tp_south_blokpost_napadenie_dragyn_2_dialog") and not has_alife_info("actor_info_thoughts_title_1") then
  self.inflist:AddTextItem(game.translate_string("actor_info_thoughts_title_1"))
  give_info("actor_info_thoughts_title_1")
    end
end

function ui_actor_info:Element_clicked()
    if self.inflist:GetSize()==0 then return end
    self.item = self.inflist:GetSelectedItem()
    self.inflist = self.item:GetTextItem()
    
    local ind = self.inflist:GetSelectedIndex()
  if ind == 0 then
   self.infopole:SetText(game.translate_string("actor_info_thoughts_descr_0"))
   elseif ind == 1 then
   self.infopole:SetText(game.translate_string("actor_info_thoughts_descr_1"))
  end
end

function ui_actor_info <img src="/.s/sm/23/surprised.gif" border="0" align="absmiddle" alt="surprised" /> n_button_close_clicked()
self:HideDialog()
    for i=0,1 do
  disable_info("actor_info_thoughts_title_"..i)
    end
end

function run_ui_actor_info(folder)
    folder:ShowDialog(true)    
end


Код
<?xml version="1.0" encoding="windows-1251"?>
<gui>
<actor_info x="242" y="192" width="547" height="464" stretch="1">
<texture x="0" y="0" width="547" height="464">ui\ui_actor_info</texture>   
  <btn_close x="300" y="377" width="125" height="20">
      <texture_e>ui_mod_button3_e</texture_e>
      <texture_t>ui_mod_button3_t</texture_t>
      <texture_h>ui_mod_button3_h</texture_h>
  <text font="letterica16">tresure_ruck_close</text>
     </btn_close>
  <infopole x="205" y="65" width="303" height="294">
           <text font="letterica18" r="210" g="210" b="210" align="l"/>        
        </infopole>
        <list_info x="18" y="88" width="176" height="306" always_show_scroll="1" can_select="1" right_ident="0" left_ident="0" top_indent="0" bottom_indent="0" vert_interval="0"/>  
</actor_info>
</gui>
  Злобная реклама
Понедельник, 17.10.2016, 22:42
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  denis2000
Вторник, 18.10.2016, 09:44 | Сообщение # 4245
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

_S_k_i_F_, Все вроде логично и верно, кроме этого: вы переопределяете self.inflist?
Код
self.inflist = self.item:GetTextItem()

Хотя инициализировали верно:
Код
self.inflist    = xml:InitListBox("actor_info:list_info", self.actor_info)
  Злобная реклама
Вторник, 18.10.2016, 09:44
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Поиск: