Перейти к контенту
Halford

[SoC] Ковыряемся в файлах

Рекомендуемые сообщения

3 hours ago, Houdini_one said:

тогда вопрос чем вызвано?

На этот вопрос можешь ответить только ты, т.к. отлаживать нужно. Ваш Кэп.

  • Нравится 1
  • Согласен 2
Ссылка на комментарий

function release(alife_simulator*, cse_abstract*, boolean) Что тут за cse_abstract?

С function release(alife_simulator*, cse_abstract*, boolean) разобрался.

Но weapon2 всё-равно не удаляется.

Ссылка на комментарий

@dsh спасибо конечно, кэп, но дело в том что я от для теста поставил task_manager.ltx с оригинала и task_manager.script который прилагается в комплекте с ОГСР и вылет тот же, поэтому как править то, где нет моих косяков я не знаю.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
3 hours ago, Orсhello said:

Но weapon2 всё-равно не удаляется.

Ну а чего бы он удалялся, если объекта с таким именем не существует. После create выведи name() того, что ты создал.

  • Не нравится 1
  • Согласен 1
  • Полезно 1
Ссылка на комментарий
30 минут назад, dsh сказал:

После create выведи name() того, что ты создал.

Исчерпывающий ответ. create, name() ?

Или create_name() ?

Или после последнего end вставить name() ?

Такие гуру очень помогают: "Ты чё, братан, это же элементарно!" Если б это так было, спрашивал бы я тут?

В конструкции

alife():create("item",
                    db.actor:position(),
                    db.actor:level_vertex_id(),
                    db.actor:game_vertex_id(),
                    db.actor:id()) никогда не встречал name()

Неужели трудно написать пример?

  • Не нравится 1
Ссылка на комментарий

@Orсhello Если нужно получить name, то так -

Скрытый текст
local sobj = alife():create("item", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
sobj = alife():object(sobj.id)
local name = sobj:name()	-- имя объекта

В функцию alife():release() нужно передавать userdata серверного объекта, а не строку, как в Вашем случае:

Скрытый текст
-- Некорректный код:
alife():release("weapon2", true)

-- А вот это корректный:
local sobj = alife():object("name") -- Получить объект. Здесь вместо "name" можно указать id (sobj.id)
if sobj then
	alife():release(sobj, true)
end

 

Изменено пользователем Manool
  • Не нравится 1
  • Согласен 1
  • Полезно 2
Ссылка на комментарий
4 hours ago, Orсhello said:

Неужели трудно написать пример?

Неужели трудно прочитать местный справочник в соседних темах?

  • Не нравится 1
  • Согласен 1
Ссылка на комментарий
7 часов назад, Orсhello сказал:

Исчерпывающий ответ. create, name() ?

Или create_name() ?

Или после последнего end вставить name() ?

https://deti-online.com/basni/basni-krylova/martyshka-i-ochki/

https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkciyam-i-klassam/

Читать по порядку.

Хотя вторую ссылку вроде никто никуда не прятал, висит себе закрепленная в шапке раздела... так что сначала следует прочесть первую ссылку.

  • Жуть! 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Спасибо, парни. Тут вот ещё басня есть: Читать

Проще всего - записаться на платное обучение по языку Lua, закончить с отличием, потом написать мод для игры, пройти его и писать следующий. И не выкладывать в сеть, чисто для себя.

По соседней теме - прям на первой странице нашёл. Строчку из lua_help.script Я её и раньше находил, без всяких форумов. Прям в папке gamedata. По теме дошёл до 16-ой страницы, больше release не попадается. Ищу дальше.

На 23-ей странице что-то похожее, но там сначала спавним через all.spawn, удаляем, затем снова спавним.... И снова удаляем.

27 страниц. Не так уж и сложно.@Zander_driver, дружище, про мартышку-то тебе надо читать, ибо ты и сам ту тему не смотрел. Можно сказать, что там нет ничего по моему вопросу. Два упоминания, ко мне не относящихся.

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

А по этому вопросу я уже понял. Сам правил - сам ищи. Ибо никто не знает, в каком файле прописано движение нивы вперёд, назад.

Всё, разобрался. Без всякого наме()

Вместо alife():release("weapon2", true) написал alife():release(alife():object("weapon2":id()), true)

Спасибо за подсказки.

Вот что значит выкопал картошку. Есть время подумать о главном (-:

  • Нравится 1
Ссылка на комментарий

Подскажите функцию: "у гг есть определённая сумма денег и определённый предмет".

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

@Houdini_one, про деньги - копипаст из escape_dialog.script


function has_soldiers_bribe(actor, npc)
    return actor:money() >= 500
end

Предмет - копипаст Отсюда

function Название функции()
    if db.actor:object("название предмета") then
        return true
    end
    return false
end
Ссылка на комментарий

@Orсhello да это я знаю, мне бы вместе это. Оно вроде бы не работает если два прекондикшена поставить в диалог, лишь один читает, так что не подходит.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

@Houdini_one, совмести в одну:

function has_item()
    if db.actor:object("wpn_pm") and db.actor:money()>=5000 then
    return true
    end
    return false
end

"wpn_pm" и 5000, сам понимаешь, меняй, как надо.

  • Спасибо 1
Ссылка на комментарий

Наткнулся ща:

Цитата

1) Создадим файл dialogs_zver_kopdon.txt далее его с помощью тотал командера( или чем вы пользуетесь) меняем окончание
.txt на .xml и получаем готовый файл. dialogs_zver_kopdon.xml

Странно всё было в 2014 году. Я делаю проще - ПКМ в нужной папке, в меню "Создать >> Текстовый документ", переименовываю, как мне угодно. Самое сложное - согласиться на замену расширения.

 

А, не, ошибся. Это, вроде, 2009-ый год.

Изменено пользователем Опричник
Добавлено  Опричник,

Пока устно, по п.2.1 правил форума.

Ссылка на комментарий

В том же Total Commander есть сочетание клавиш [Shift + F4] – создать новый текстовый файл с любым расширением.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Подскажите, почему мутант не переходит в оффлайн.
Перевожу так:
 

Скрытый текст

[spawner]

cond = {+test -test2}

На сталкерах работает переход в оффлайн, на монстрах лишь переход в онлайн.
В чём проблема?

Изменено пользователем Houdini_one

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

@Norman Eisenherz, я не про то. Лишние клики мышкой, клавой... Кстати, сегодня хотел файлик в шестнадцатеричном виде открыть - еле нашёл, где у меня ТС. Он, оказывается, нифига не в Program Files'ах.

 

 

 

И вопрос у меня - как определить, лежит ли артефакт в слоте? Он же не в слоте? На ремне? Как это отследить?

 

З.Ы. Просьба - отвечает только тот, кто знает, а не тот, кто предполагает, что где-то в какой-то соседней теме есть ответ. Или где-то в гугле. Про Гугл не знаю, а Яндекс не нашёл.

Кстати, по поиску на форуме - так и не понял, что он ищет... На любой запрос куча ссылок, из которых большинство ни о чём.

 

 

 

оО Или так - какой файл( файл ли?) отслеживает, в рюкзаке артефакт, или на поясе?

Я про чистый ТЧ.

Ссылка на комментарий
Скрытый текст

    for i = 0, db.actor:belt_count() - 1 do    
        local item = db.actor:item_on_belt(i)
        if item and ( item:clsid() == clsid.artefact or item:clsid() == clsid.artefact_s ) then
        --  log3("artefact on belt")
        end
    end

Скрытый текст

Вот не помню, в чистом ТЧ есть такой метод или нет, но в OGSR точно есть...

    local obj = db.actor:object("af_medusa")
    if obj and db.actor:is_on_belt(obj) then
    --    log3("af_medusa on belt")
    end 

PS Эти методы применимы к ОГСР

Изменено пользователем mole venomous
  • Спасибо 1
  • Полезно 2

Здесь могла быть ваша реклама.

Ссылка на комментарий
45 минут назад, mole venomous сказал:
  Любой артефакт (Скрыть)

   local item = db.actor:item_on_belt(i)

 

Если вместо "i" ставлю 1 - вылет. А is_on_belt у меня, по-ходу, нет.

49 минут назад, mole venomous сказал:
  Любой артефакт (Скрыть)

   local item = db.actor:item_on_belt(i)

 

Если вместо "i" ставлю 1 - вылет. А is_on_belt у меня, по-ходу, нет.

 

Да и item_on_belt - это уже не чистый ТЧ.

@mole venomous, с твоей подсказкой буду позже разбираться, (-: А свой вопрос решу другим способом. Через получение артефакта и его отсутствие в рюкзаке. Следовательно, он на поясе. А то время уже 1:15, спать хочется.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   2 пользователя

AMK-Team.ru

×
×
  • Создать...