RolePlay-S

RolePlay-S 0.4.7

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
На всякий случай, кинь картинку в папку графикс смой игру, и проверь, работает или нет?
Вероятно и из папки игры не будет работать.
 

Lazi Ness

Модостроитель
Автор модов
Регистрация
29.05.2024
Темы
1
Сообщения
347
Реакции
277
На всякий случай, кинь картинку в папку графикс смой игру, и проверь, работает или нет?
Вероятно и из папки игры не будет работать.
ага потом на свежую голову еще взгляну.

Можешь кинуть ссылку или написать, про то, как добавлять вещи торговцам?
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
Ща гляну сам.
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
ага потом на свежую голову еще взгляну.

Можешь кинуть ссылку или написать, про то, как добавлять вещи торговцам?
Зависит от того, кому ты собираешься добавить предметы.
У Эккмы сейчас два метода используется для обмена.
В общем, для старого надо делать так:
Ruby:
module GIM_ADDON

    alias_method :manual_trade_role_play_s, :manual_trade unless method_defined?(:manual_trade_role_play_s)
    def manual_trade(good,charStoreHashName=nil,charStoreTP=0,charStoreExpireDate=nil,noSell=false,noBuy=false)
        if "#{charStoreHashName}" == "Map_NPC_Id"    # "59_69" - for BigMama. Но Биг Мама уже новым методом обрабатывается. Это просто пример.
            good += [[.......]] if smth
        end
        if get_character(0).npc_name == "Name_NPC"
            good += [[.......]] if smth # Аналогично коду в скриптах
        end
        manual_trade_role_play_s(good,charStoreHashName,charStoreTP,charStoreExpireDate,noSell,noBuy)
    end
 
end
 
Последнее редактирование:

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
Сейчас поищу как делать это для нового метода.
Новый метод - он через json. Для некоторых особо избранных НПЦ. Вероятно, постепенно все переедут на новый метод.
Будет примерно как с arpgskills. C использованием merge.
Одна команда кода, и ковыряешься в json c настройками.
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
Так, код для работы со вторым методом.
А в остальном, берешь файлы json из игры, копируешь в свою папку, удаляешь предметы которые там есть, (ведь мы делаем merge а не замену, значит дублировать не требуется) и по образцу добавляешь свои предметы.
Ruby:
$mod_role_play_folder = "ModScripts/_Mods/Role Play S"

module DataManager
    class << self
        alias_method :load_mod_database_role_play_s, :load_mod_database
    end

    def self.load_mod_database
        load_mod_database_role_play_s
        mod_barters = FileGetter.load_barter_settings_from_dir(folder="#{$mod_role_play_folder}/Data/Barters/*.json")
        $data_barters    = $data_barters.merge(mod_barters)
    end
end
Это туда же где навыки, где статы, и предметы добавляются. Просто теперь добавлять надо и торговцев.
 

Lazi Ness

Модостроитель
Автор модов
Регистрация
29.05.2024
Темы
1
Сообщения
347
Реакции
277
Сейчас поищу как делать это для нового метода.
Новый метод - он через json. Для некоторых особо избранных НПЦ. Вероятно, постепенно все переедут на новый метод.
Будет примерно как с arpgskills. C использованием merge.
Одна команда кода, и ковыряешься в json c настройками.
Ага, спасибо большое за помощь. Мне очень не хочется просто загружать скрипты полностью.
У Экмы тоже спрошу, если повезет, он не скажет что для этого нужно новое API.))
 

Lazi Ness

Модостроитель
Автор модов
Регистрация
29.05.2024
Темы
1
Сообщения
347
Реакции
277
Так, код для работы во вторым методом.
А в остальном, берешь файлы json из игры, копируешь в свою папку, удаляешь предметы которые там есть, (ведь мы делаем merge а не замену, значит дублировать не требуется) и по образцу добавляешь свои предметы.
Ruby:
$mod_role_play_folder = "ModScripts/_Mods/Role Play S"

module DataManager
    class << self
        alias_method :load_mod_database_role_play_s, :load_mod_database
    end

    def self.load_mod_database
        load_mod_database_role_play_s
        mod_barters = FileGetter.load_barter_settings_from_dir(folder="#{$mod_role_play_folder}/Data/Barters/*.json")
        $data_barters    = $data_barters.merge(mod_barters)
    end
end
Это туда же где навыки, где статы, и предметы добавляются. Просто теперь добавлять надо и торговцев.
Не понимаю. В json может хранится перечень предметов?
 

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
Открой
Data\Barters
И посмотри на json там.
Там их всего 3 шт. Но эти НПЦ уже работают через второй метод.
 

Lazi Ness

Модостроитель
Автор модов
Регистрация
29.05.2024
Темы
1
Сообщения
347
Реакции
277

AleDerXan

Модостроитель
Автор модов
Регистрация
20.06.2024
Темы
6
Сообщения
465
Реакции
222
Возраст
32
ага поглядел, а Экма сказал что это все в разработке.
Но тем не менее, первый метод на них не сработает. Потому что там другой def используется.
Def, который считывает хеш из $data_barters.
Так что, если тебе надо добавить предметы именно этим трем, то надо использовать метод json.
Если нет, то хватит и первого.
 
Сверху Снизу