[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] - [Архив - Каталог - К доске] [Главная]

[Назад]
Ответ
Файл: 1418124622191.png -(295 KB, 960x720, rpy.png)
295 No.52064  

Прошлый тред >>47651 в бамплимите. Возможно, в будущем он будет доступен по ссылке http://iichan.hk/vn/arch/res/47651.html

http://cf.ichan.ru/lections/lesson1.zip - Урок 1. Базовые команды
http://cf.ichan.ru/lections/lesson2.zip - Урок 2. Наводим красоту
http://cf.ichan.ru/lections/lesson3.zip - Урок 3. Ветвления и переменные
http://cf.ichan.ru/lections/lesson4.zip - Урок 4. im-функции и введение в ATL
http://cf.ichan.ru/lections/lesson5.zip - Урок 5. Beyond iiChan Eroge

Мод-пак для Бесконечного Лета релизного (Ычан Эроге 1.1): https://yadi.sk/d/s3Nb6rzEcrtKp
Мод-пак для Бесконечного Лета в Steam (Ычан Эроге 1.2): https://yadi.sk/d/TtgkZXP6d7tUm
Катава-пак от 15 июля 2014: http://rghost.ru/59506181

>> No.52066  

>>51963 Извини, но мои экстрасенсорные способности меня сегодня подводят. Я попробовал несколько тривиальных тестов накидать с transform и аргументами, вроде бы всё конвертится как надо.

Пожалуйста, предоставь следующее:

rpyc-файл, который конвертится неправильно
rpy-файл, полученный на выходе
версию RenPy, в которой не работает
если не знаешь версию, то renpy/__init__.py

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

>> No.52080  

Запощу за Самантамод-куна. Спасибо ему, к тому же.

Всем, конечно, страшно интересно, что там в последнем апдейте. А там - пара сценок в первый день #orikabest и фиксы его же.

1.1: http://rghost.ru/59505547
1.2: http://rghost.ru/59505447
>> No.52081  
Файл: 1418162752756.jpg -(364 KB, 1367x1080, eagle.jpg)
364

>>52080
Запостил бы со смешной картинкой тогда, без неё какой смысл.

>> No.52082  

>>52081
ЧСХ в профиль совершенно одинаковы. Браво, маэстро.

>> No.52083  
Файл: 1418193742355.png -(233 KB, 1296x807, 136667022851.png)
233

>>52080 Я вот тыкнулся по ссылке http://rghost.ru/54137404 и немножко прифигел от "Скачан 539 раз".

В очередной раз осознал, что 4х-килобайтный костыль, набросанный на коленке, оказался настолько популярнее IIcharacter, на которого я угробил год, получив в результате неповоротливого монстра, которым вроде бы никто так и не воспользовался для чего бы то ни было.

>> No.52084  
Файл: 1418196048529.png -(24 KB, 1011x492, 14180675446481.png)
24

Когда такое возможно?

>> No.52085  

>>52084 Когда по указанным путям присутствуют конфликтующие rpy ИЛИ RPYC файлы.

>> No.52086  

>>52084
А конкретнее - установлен мод(вероятно, с модпаком) который уже есть в версии 1.2 по дефолту.
>>52083
Никто ведь их не сравнивал. Нам дали какую-то штуковину, мы стали на неё ссылаться модах. Там лишь бы работало.

>> No.52087  

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

>> No.52088  

>>52087

>так как делать больше нечего

http://iichan.hk/vn/arch/res/36026.html#36028

>> No.52109  

Какая-то узкоколейка до белогорска, например.

>> No.52117  

История называется "пытался гуманитарий реверс-инженировать то, в чем мало понимает". Мне стукнуло сделать для Мику и Жени такой же экран, показывающий выход на рут, как у основной четверки. Поскольку я решил, что перепиливать штатную функцию не стоит, то решил ее, так сказать, клонировать, скопировал структуру и только имена поменял (и выкинул то, что касается пролога и эпилога, потому что тут оно все равно не нужно), да простит мне автор функции такое нахальство.

И вот вроде бы оно работает, хотя бы визуально, а меня все же сомнения взяли: а не сделал ли я, копаясь в том, что не знаю точно как работает, чего-нибудь, от чего все остальное будет глючить и рушиться?

Код и тестовая метка:
http://rghost.ru/59582401

>> No.52120  

>>52117 Ну, тут всё как в присказке про трусы и кресик. Проверка на -1 и на 0 в конце смотрится странно после того, как в начале безусловно отображается день %d.

Либо уже выпиливать левые номера дней до конца, либо оставлять их поддержку полностью.

Каптча ШИРЕ предлагает расширить код до поддержки тех же аргументов, что и оригинал.

>> No.52122  

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

http://rghost.ru/59596213

>> No.52123  

>>52122 В Эроге 1.1 работает, в Эроге 1.2 не работает как надо. Причин несколько:

1.config_session - это такой древний рудимент, который тянулся через весь код от сборки 2009 года, в которой при самом первом запуске игры показывался конфигуратор в маленьком окошке, в котором уже можно было выбрать, хочешь ли ты играть в fullHD (1920х1080) или в XGA (1024х768). Чтобы конфигуратор стартовал быстро, всё, не относящееся к нему, запихнули в if not config_session. Сейчас гомосеки от проектировки оборудования протолкнули всюду эти уродские широкие экраны и кроме fullHD ничего и не осталось. Когда я отошёл от дел, эрогеи перестали поддерживать XGA. В версии 1.2 переменная config_session не экспортируется, а значит и if-проверка не нужна больше.

2.В Ычан Эроге 1.2 поменялся стиль style.backdrop_text, который ты используешь. Было:

script.rpy:32:    $ style.backdrop_text.size = 80

Стало:

script.rpy:64:    $ style.backdrop_text.size = 140

Соответственно, поменялось и содержимое функции отрисовки.
Было:
script.rpy.txt:97: renpy.show("day_num",what=Text("День ...",
style=style.backdrop_text,ypos=0.35,xpos=0.38))
script.rpy.txt:105: renpy.show("day_num",what=Text(dn,style=style
.backdrop_text,ypos=0.35,xpos=0.38))
Стало:
game_script.rpyc.txt:134: renpy.show("day_num",what=Text(translation[
"DayX"][_preferences.language],style=style.backdrop_text,ypos=0.46,xpos=0.46))
game_script.rpyc.txt:142: renpy.show("day_num",what=Text(dn,style=sty
le.backdrop_text,ypos=0.46,xpos=0.46))

Я рекомендую использовать if config.version == "1.2" / else, если уж замахиваешься на суффикс universal :3
При этом в 1.2 хорошо бы поддержать translation[
"DayX"][_preferences.language], а в 1.1 наоборот, никаких переводов быть не должно.

>> No.52124  

>>52123

Честно говоря, 1.2 я еще даже не качал, как-то без надобности было :) Но, раз уж взялся, пожалуй, озабочусь этим вопросом.

>> No.52126  

>>52122
Положь на пастебан, мне говорит пацан не кочай там вирус.

>> No.52134  

>>52126 Возьми вот эти запятые: ,,,,,,,,,,

>> No.52229  

Господа, а поясните, что такое steam workshop? Это случайно не та самая пакетная система установки модов, о которой мы мечтали год назад? Что там с версионированием и зависимостями? Как выглядит процесс установки мода с точки зрения юзера? А с точки зрения файловых операций? Что качается, куда ставится? Как качать моды не имея аккаунта в стиме?

>> No.52230  

>>52229

>Это случайно не та самая пакетная система установки модов, о которой мы мечтали год назад?

Похоже на то.

>Что там с версионированием и зависимостями?

Это сложные слова для меня. Стимовская версия 1.2, моды под 1.1 нужно адаптировать.

>Как выглядит процесс установки мода с точки зрения юзера?

В 1 клик на страничке мода.

>А с точки зрения файловых операций? Что качается, куда ставится?

В папку steamapps\workshop\content\какой-то номер(аккаунта?)\айди_мода При этом, вручную скачанные моды предлагается забрасывать в Steam\steamapps\common\Everlasting Summer\game\mods
Мод качается без какой-либо проверки. Один злодей уже залил "мод" с сорт оф вирусом, и он висел почти день.

>Как качать моды не имея аккаунта в стиме?

Вокршоповские - никак, наверное. Но обычно они продублированы авторами.

>> No.52231  

>>52229

>Это случайно не та самая пакетная система установки модов, о которой мы мечтали год назад?

Ну, не совсем, ибо:

>Что там с зависимостями?

Если слова 52230-куна - правда, и мод ставится в отдельную папку, то конфликтов версий быть не должно, но вот от множественных копий одного и того же файла никто не застрахован.

>> No.52233  
Файл: 1418909966925.jpg -(27 KB, 500x374, 160309.jpg)
27

>>52230

> Мод качается без какой-либо проверки. Один злодей уже залил "мод" с сорт оф вирусом, и он висел почти день.

А предварительная модерация есть хотя бы?

Хотя, кого я обманываю, даже она не спасёт от аккуратно спрятанного "rm -rf". Здесь и на тиречах от вредительства спасало то, что питон знало лишь полтора человека. В большом сообществе и разных людей побольше.

>>52231
Основная идея Мод-пака была в том, чтобы каждый сценарий не тащил за собой дополнительные фоны и спрайты, чтобы ресурсы можно было делить между модами.

Например, lb_miniedit в текущей реализации закладывается на то, что есть ресурсы Толика и Саманты, lb_funkytown использует спрайт Мимокрокодила из домашних заданий, а огромное число модов используют всякие неиспользованные в игре фоны.

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

Нужно срочно разработать какую-то систему provides/requires для модов.

>> No.52235  

>>52233

>А предварительная модерация есть хотя бы?

Ни предварительной, никакой. Я так понял, что даже Советские Игры не могут плохой мод удалить, только жаловаться стиму и ждать. Тот "мод" даже под мод не мимикрировал, а сразу портил игру + dll-ка в подарок.

>> No.52237  

>>52235 Wtf? Как такая система вообще может работать без злоупотреблений?

Берём ААААА-тайтл, делаем к нему какой-нибудь хак с бесконечным здоровьем и отправкой данных кредитки на нужный адрес после ближайшего полнолуния. Как такое вообще можно отследить, если оно вроде бы делает что-то полезное первое время, а у издателя руки связаны?!

>> No.52239  
>Один злодей уже залил "мод" с сорт оф вирусом, и он висел почти день.

Что это за "мод" был, кстати?

>> No.52243  
Файл: 1418920013940.jpg -(61 KB, 614x463, выыыв.jpg)
61

>>52239
https://vk.com/everlasting.summer.official?w=wall-62816733_147704%2Fall

>> No.52244  

>>52233

>Здесь и на тиречах от вредительства спасало то, что питон знало лишь полтора человека.

Я, кстати, вкидывал им при подготовке на первое апреля rm -rf (не оттестированный, но работать должно было). Но, видимо, или не дураки, или не заметили.

>> No.52247  
Файл: 1418935005750.jpg -(59 KB, 640x360, 1398416296731.jpg)
59

>>52244 Пацак пацака не обижает родной, это некрасиво.

Я сегодня много думал о депендансах у модов. Пока что видятся такие решения:

  • автомагическая проверка того, что использованные ресурсы объявлены перед запуском мода

      • код проверки пишется один раз и на века
      • не нужно вообще писать нового кода в модах
      • замедляет старт мода (см. lb_unittests)
      • не всегда применимо (не отследит в произвольном случае "show expression ololo")
      • не работает если в новой версии мейнтейнер переопределил ресурс во что-то совсем другое ( например, мы рассчитывали на именно нынешние спрайты Толика, а условные Проклятые Мудаки 2.0 его перерисуют и в наглую выложат под тем же именем)
      • расскажет игроку, что проблема есть, но не подскажет, как её решить. "Ололо, у тебя нет bg boathouse_int_sunset" - не слишком информативное сообщение.
  • указывать в каждом моде зависимости от конкретных экстра-ресурсов, ака $requires("new_bg_boathouse_int_sunset") в использующем ресурсы моде и *$provides("new_bg_boathouse_int_sunset") в предоставляющем

      • офигенная гранулярность
      • авторам модов будет слишком сложно актуализировать такие списки, скорее всего 90% из них будет неполные или неправильные без строгого контроля
      • по прежнему не помогает игроку решить проблему поиска того, что не хватает
  • указывать в каждом моде зависимости от паков ресурсов, ака $requires("samantha_sprites") в использующем ресурсы моде и *$provides("samantha_sprites") в предоставляющем

      • прикинуть, какие группы нестандартных ресурсов нужны, и дописать пару строчек, легче, чем перечислить все-все ресурсы
      • обозримый список возможных депендансов позволит выписать их все, например, в вики табличку вида "name/steam_id/rghost_id", и перенаправлять игрока в случае ошибки прямо туда
      • автору модов может быть неочевидно, использовал ли он фоны из какого-нибудь extra_bgs2 или из условного extra_bgs3 или вообще все фоны были в Ычан Эроге и никаких requires не надо, нужна какая-то тулзень для анализа зависимостей

Что вы об этом думаете? Передайте приглашение к дискуссии авторам крупных модов. Нужно что-то делать, пока ещё не поздно и каждый не начала лепить все ресурсы к себе.

>> No.52250  

>>52247
Наверное, это что-то крутое, но я не совсем понимаю замысел.
Эта зараза будет сидеть в каждом моде, или это будет новый модпак, или даже воркшоп-модпак?

>Нужно что-то делать, пока ещё не поздно и каждый не начала лепить все ресурсы к себе.

Разве сейчас не так? Общих ресурсов не так уж много. Ну забрал все ресурсы себе - получилось +3 мегабайта. В воркшопе и ограничения по размеру нет. Может и пусть каждый живет себе с самообъявленными Толянами? Одно на другое наедет - договоримся как-нибудь.

>> No.52251  

>>52250 Ну вот смотри, захотел ты сделать мод про Толяна и Саманту на причале на рассвете

Если делать как сейчас, то ты должен создать свою папку с модом, поместить туда нужные спрайты и фоны, написать rpy-файл с регистрацией всех этих спрайтов, фонов, реплик от имени Саманты, Толяна.

Если делать как предложено в третьем варианте, то пишешь что-то в духе:

label tonyan_at_sunset_bitch:
$ requires("extra_bg")
$ requires("character_tl")
$ requires("character_sam")
scene bg ext_boathouse_sunset
show sam at left
show tl at right
"tl" "Ты, наверное, хочешь знать, зачем я позвал тебя сюда."

И всё! Микромоды от этого выигрывают очень сильно. А большие моды не парятся о том, чтобы таскать за собой все стандартные фоны, удалённые из Ычан Эроге по прихоти левой пятки представителя Soviet Games.

Я понимаю, что место нынче дёшево, но зачем, например, в каждый мод вкладывать 80Мб дополнительных фонов (именно столько файлов в мод-паке в папке /images/1080/bg)? Для десятка модов это уже примерно лишний гиг.

>> No.52252  

>>52251
Но эти фоны всё еще надо где-то хранить. Можно сделать какой-то технический мод со всем этим и загрузить его в воркшоп. Но если писать в моде "сам по себе не работает, качайте еще то-то" - это может отпугнуть. Впрочем, если большинство так сделает, то будет легче.
Я-то всё о воркшопе, но очень уж удобен.
И еще не уверен, что микромодам так уж нужны эти ресурсы хотя мои 2 микромода их используют Но ситуация может измениться, если моддеры будут о них хотя бы знать.

>> No.52253  

>>52252

>Я-то всё о воркшопе, но очень уж удобен.

Я о нём же. Потому что когда был только Мод-пак Ычана, не могло быть никаких неразрешённых зависимостей и фрагментации, мы делали всё, чтобы мод-пак максимально агрессивно вбирал в себя все ресурсы в себя. Были моды, которым хватало одного лишь мод-селектора, а были моды, требующие мод-пак целиком.

>Если писать в моде "сам по себе не работает, качайте еще то-то" - это может отпугнуть.

"Ставить поверх мод-пака" не отпугивало. Тем более, что паков ресурсов не так много.

>Впрочем, если большинство так сделает, то будет легче.

Собственно, я потому и реквестирую в этот тред авторов Саманта-мода и других крупных проектов для совместного обсуждения.

>> No.52254  

>>52247
"Шанс"-кун здесь. Не вполне понял, о чем речь, если честно. Касательно "вредных" модов в Стиме - разработчики их удалять могут. Стараюсь следить за воркшопом и заранее отмечать всё подозрительное. Сейчас в основном переделываю код модов под требования стимоверсии.

>> No.52255  

>>52254

> Не вполне понял, о чем речь, если честно.

Хочется сделать несколько (2-4-6, не знаю пока точно) воркшоп-модов, которые будут тянуть в себе сотни мегабайт всякого арта и деклараций того, что в мод-пак входило как extra_resources.

Тогда остальные моды смогут просто ссылаться на то, что нужен арт-пак такой-то, причём это можно даже автоматизировать вплоть до открытия ссылки на скачивание с rghost/steamcommunity.

Объясню на конкретном примере. Я скачал https://yadi.sk/d/0ukcAwToc6T2V и накатил на Ычан Эроге 1.2 без модов, после чего запустил lb_tests анализировать твой код. Нашлось две неприметных ошибки:

ERR: (sc_un_demo.rpyc:1032) Image not declared: pi
ERR: (sc_un_demo.rpyc:1109) Image not declared: bg ext_shed_day

Игрок прочитает тысячу строк кода, прежде чем игра заботливо покажет заглушку на месте нужного изображения, а то и вовсе упадёт с ошибкой! А всё потому что в ванильном Ычан Эроге 1.2 нет никаких bg ext_shed_day, а для пионера есть только такие спрайты:

game_sprites.rpyc.txt:982:     image pi far = ConditionSwitch(
game_sprites.rpyc.txt:2431: image pi normal = ConditionSwitch(
game_sprites.rpyc.txt:3884: image pi close = ConditionSwitch(
game_sprites.rpyc.txt:4421: image pi smile = ConditionSwitch(

И тут у тебя два решения: втянуть эти ресурсы или сослаться на то, что их нужно взять из какого-то централизованного архива. В первом случае тебе придётся париться по поводу добавления каждого такого ресурса. Во втором ты просто используешь труды сообщества.

Раньше это решалось фразой "ставить поверх свежего мод-пака" в описании, и всё равно были шансы, что кто-то эту строчку пропустит и выстрелит себе в ногу на 1109 строке чтения. Я предлагаю решать это добавлением одной-двух строчек в код, чтобы в случае чего пользователя тыкали носом в то, что у него чего-то нет, и намекали на то, где это взять.

>> No.52256  

>>52253

>Саманта-мода

Давно присутствует. Какие вижу плюсы: не будет потенциальных проблем с вещами вроде extra_map.rpy(оно у меня в воршкопе лежит, может и еще у кого-то). Еще можно будет смело говорить "удаляйте свой модпак", потому что кое-какую совместимость обеспечим, но не с теми модпаками. Сейчас я могу предложить только отписываться от мода, т.к. удаление дублирующегося lb_lang.rpy из модпака - убьёт модпак.
Но общие Саманты и Толяны мне не особо нужны.
Минусы:
1)Костыли = пропала установка в 1 клик.
2)Отдавать моего персонажа, кровиночку, чужим людям? А как апдейты в структуре спрайтов накатывать? А такие персонажи почти всегда будут нужны только авторам.
3)Потребует реализации и какого-то надзора, а пользоваться будут по-минимуму.
По-моему, минусы перевешивают. Другое дело, если моё богатство при мне, а общее - вживляется в стимовскую сборку БЛ, а не отдельным модом. Тогда минусов не вижу.

>> No.52257  

>>52247
Связать крупные моды разных разработчиков = сделать их зависимыми друг от друга, что есть далеко не хорошо, т.к. мододелы плотно не кооперируются, и изменение в ресурсах мода у одного может повлечь сбои у другого, не говоря уже о том, что в таком случае придётся скачивать сразу несколько модов вместо одного.
Другое дело, если ввести дополнительный мод, который бы и являлся модпаком. Ссылаться лишь на него было бы куда рациональнее.

>> No.52258  

>>52247

>автору модов может быть неочевидно, использовал ли он фоны из какого-нибудь extra_bgs2 или из условного extra_bgs3 или вообще все фоны были в Ычан Эроге и никаких requires не надо

Пусть тогда пишет requires (everything), а какой-нибудь большой общий ресурсный пак, соответственно, provides (everything). Сейчас ведь тоже ссылаются на то, что нужен модпак целиком, не выделяя, что нужны какие-то конкретные фоны из него.

>> No.52259  

>>52247
Мой идеальный модпак мечты является, грубо говоря, торрентом, и при установке нового мода недостающие файлы закачиваются сами, и только недостающие файлы. А проверку на нехватку ресурсов можно и при запуске модселектора/игры + смотреть на дату последнего изменения, чтоб не проверять проверенное. Но это скорее мысли в лух.

>>52256

>Отдавать моего персонажа, кровиночку, чужим людям?

не то чтобы это можно было запретить, даже формально

>> No.52260  

>>52257

>Другое дело, если ввести дополнительный мод, который бы и являлся модпаком. Ссылаться лишь на него было бы куда рациональнее.

Да, что-то такое и предлагается. Это может называться мета-модом / DLC (sic!) / арт-паком / whatever, но по сути это будет мод, не содержащий точек входа вообще, при этом включающий существенную часть ресурсов мод-пака, которые накатываются в один клик, используются потом всеми желающими, и наличие которых в игре проверяется одной строчкой.

>>52256

>Другое дело, если моё богатство при мне, а общее - вживляется в стимовскую сборку БЛ, а не отдельным модом.

Вот это офигенная идея, кстати. Всякие важные штуки включать в базовую поставку, включая те же extra_map, extra_sprites, extra_bg_cg, extra_sounds. А всякие редкие штуки вроде QRBG121-тян можно уже или с собой таскать, или по зависимостям тянуть из какого-нибудь соседнего мода, в котором он есть и который указал provides("qrbg121").

>>52258

>Пусть тогда пишет requires (everything), а какой-нибудь большой общий ресурсный пак, соответственно, provides (everything).

Для этого нужно предварительно сломать руки всем художникам, чтобы новых ресурсов никогда уже не появилось и не понадобились, соответственно всякие everything2, everything3...

>>52259

>Мой идеальный модпак мечты является, грубо говоря, торрентом, и при установке нового мода недостающие файлы закачиваются сами, и только недостающие файлы.

Может, в следующий раз. Эроге уже завязалось на Стим и мутить несколько источников не хочется, а скачивать только нужные файлики, насколько я знаю, Стим не умеет.

>А проверку на нехватку ресурсов можно и при запуске модселектора/игры

Про это есть в >>52247. Поскольку в Рен-пи используется Python, язык полный по Тьюрингу, то предсказать заранее, какие ресурсы понадобятся до запуска игры может быть нетривиальным. Пример - Мини-редактор. У него вообще всё, что он пытается отобразить вычисляется динамически и проверить есть ли все ресурсы заранее, не зная, как он устроен не получится.

>> No.52261  

>>52259

>не то чтобы это можно было запретить, даже формально

Речь не о том, просто что редактировать будет сложнее, когда оно в общих ресурсах.

>> No.52262  

>>52260

>Поскольку в Рен-пи используется Python, язык полный по Тьюрингу, то предсказать заранее, какие ресурсы понадобятся до запуска игры может быть нетривиальным.

Если вообще возможно, да. Однако, эта практика в модпаке, всё же, почти не встречается. А если и встретится, то автор, скорее всего, знает, что делает, и не поленится вставить какой $ require самостоятельно. Ну, это в идеальном мире.

>>52261
Чем сложнее-то? Разве удолять нельзя просто так.

>> No.52263  
Файл: 1418983054953.jpg -(816 KB, 1920x1080, int_warehouse.jpg)
816

>>52261 Ну, никто же надеюсь не предлагает загнать всех мододелов в колхозы, все ресурсы у них отобрать и разложить по мета-модам. А если у тебя есть какие-нибудь условные спрайты Угрюм-куна, которые ты сознательно решил экспортировать, то пишешь у себя provides("ug_kun"). Добавилось ещё спрайтов - provides("ug_kun", "ug_kun_2"), чтобы не отвалились старые, но можно было ссылаться и на более полный набор. Удалил что-то старое - provides("ug_kun3"), а первых скинуть в арт-пак на вечное хранение, если кто-то успел их заюзать.

Собственно, самые тяжкие моменты тут только в двух ситуациях - при удалении чего-то (проще оставить) и при полной переделке. И тут конечно стим очень большую свинью подкладывает, если он действительно не поддерживает версионирование и нет возможности скачать прошлогоднюю версию мода, а не самую свежую.

Впрочем, при полной переделке ресурсов, разумно их всё-же переименовывать, избегая тех же префиксов, что уже использовались. Потому что какой-то установленный у игрока микромод вполне может скопипастить часть старого кода и втянуть у себя какую-нибудь image ss laugh casual.

>> No.52264  

>>52262

>Однако, эта практика в модпаке, всё же, почти не встречается.

Именно благодаря этому и работает юнит-тест на проверку необъявленного звука, кстати. Потому что после sound play формально может быть вообще любое выражение, мы же негласно договорились там использовать только имена переменных, инициализированных на init-фазе и больше никогда не изменяемых.

Это уж не говоря о всяких $renpy.sound.play(renpy.random.choice(["1.ogg","2.ogg"]))

>> No.52265  

Кстати, по поводу того, заимствуют ли моды друг у друга ресурсы.
А ведь мы ещё боремся за звание Модпака высокой культуры быта.

>d:\iichan\plugins20141122>grep "^ image " * -rh | sed "s/ *=.//" | sort | uniq -c | sort -n | grep -v "\W1\W"
  2     image bg ext_aidpost_sunset
2 image bg ext_camp_entrance_sunset
2 image bg ext_house_of_el_day
2 image bg ext_house_of_el_night
2 image bg ext_shed_day
2 image bg ext_shed_night
2 image bg ext_shed_sunset
2 image bg ext_stage_big_day
2 image bg int_mine_exit
2 image bg park
2 image cg al
2 image cg d1_rowrow
2 image cg d2_micu_lib_open
2 image cg epilogue_dv_good
2 image cg sla
2 image dv angry coat
2 image dv cry coat
2 image dv laugh coat close
2 image dv laugh coat
2 image dv normal coat
2 image dv normal dress
2 image dv shy coat
2 image dv smile coat close
2 image dv smile coat
2 image dv surprise coat close
2 image dv surprise coat
2 image lenayo
2 image mt shocked pioneer
2 image mz_demo angry glasses pioneer close
2 image mz_demo angry glasses pioneer far
2 image mz_demo angry glasses_white pioneer close
2 image mz_demo angry glasses_white pioneer far
2 image mz_demo angry pioneer close
2 image mz_demo angry pioneer far
2 image mz_demo bukal glasses pioneer close
2 image mz_demo bukal glasses pioneer far
2 image mz_demo bukal glasses_white pioneer close
2 image mz_demo bukal glasses_white pioneer far
2 image mz_demo bukal pioneer close
2 image mz_demo bukal pioneer far
2 image mz_demo normal glasses pioneer close
2 image mz_demo normal glasses pioneer far
2 image mz_demo normal glasses_white pioneer close
2 image mz_demo normal glasses_white pioneer far
2 image mz_demo normal pioneer close
2 image mz_demo normal pioneer far
2 image semdie
2 image semgood
2 image semkill
3 image alisochka
3 image bg alisaroom
3 image bg papa
3 image bg school
3 image bg schooldark
3 image bg woodhappy
3 image centr
3 image cg lenay
3 image cg lenay2
3 image lenochka
3 image zlo
4 image bg lenaroom
4 image bg lenaroomdark
4 image bg wood
4 image bg wooddark
4 image cg born
4 image len
4 image pain
>> No.52279  

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

>> No.52284  

>>52265
Из головы: большая часть повторений из ленамодов, что действительно использовали одни и те же ресурсы. Остальное, скорее всего — переобъявление в 1.2 (то, что мод) вырезанных ресурсов. mz_demo — видимо, баг моего генератора объявлений. Переобъявление micu_open, скорее всего, тоже на моей вине. dv coat, видимо, из-за двух Алисоэндов, да там ещё где-то должен был быть мод-тестер.

>>52279
В том-то и дело, что фильтр с воркшопом может не взлететь, если я правильно понимаю его работу, проверить пока не могу. Или может, но это должны уже Совьет Геймз пилить.

>> No.52298  

Проснувшись из более чем полугодового анабиоза, решил узнать, как же дела у ычан-эроге. Оказывается, вышла версия 1.2 в стиме с поддержкой пользовательских модов. В связи с этим вопрос - есть ли changelog по версии 1.2, да и в целом, что появилось нового, что изменилось? И второй вопрос - т.к. я являюсь автором нескольких модификаций, выпущенных под 1.1 в период с декабря 2013 по май 2014 - нужно ли мне адаптировать моды под новую версию, или обратную совместимость не поломали?

>> No.52301  

Совместимость поломали к хуям без всяких внятных причин, а ченжлога нет вообще. Поскольку никто из IIchan Eroge Team не состоит в Soviet Games, то вопросы лучше задавать им, а не нам.

Поломки в целом не серьёзные. Самая большая трабла - удалена возможность переименовать персонажа при помощи $meet. Проще сделать прослойку совместимости для работы 1.1 под 1.2, чем переписывать код каждого мода. Работы над такой прослойкой вроде бы ведуться, но неторопливо.

>> No.52302  

>>52298
Возможно, что-то из твоих модов уже в воркшопе, проверь http://steamcommunity.com/app/331470/workshop/ Для обычной 1.2 есть топорный, но рабочий конвертер. На его базе есть 1.2-модпак. Но по-хорошему - да, нужно адаптировать и проверять самому.

>> No.52306  

>>52302
Нет, в воркшопе их нет. И я не знаю, насколько целесообразно разбираться с портированием и адаптацией - быть может они уже никому не нужны. В любом случае, исходники открыты, любой желающий может портировать и перевыложить под своим именем - всё равно я не подписывал авторство, предпочитая остаться анонимным, так что теперь это публичное достояние.
Если что, речь идёт о abcb-демке и гуро-моде. Были ещё какие-то мелкие поделки, но я уже и сам не помню их.

>> No.52310  

>>52306
Самые достойные на мой взгляд моды буду помаленьку добавлять в воркшоп, перекраивая код. В случае с $meet - если персонаж новый, можно вместо него использовать обьявление из самантамода($ Character =, дальше не помню, посмотреть сейчас не могу.)
Жалко конечно, что в воркшоп выкладывать анонимно нельзя - себе присваивать авторство я не собирался и не собираюсь, если автор мода захочет быть указан/пожелает, чтобы его мод в Воркшопе не появлялся - уберу по первому требованию, как это произошло с "Драйвом". Естесственно, нужны какие-либо пруфы авторства, иначе каждый первый зеленый будет предъявлять "мой мод, удали!".

>> No.52319  

>>52310 Брр, а Драйв попросили удалить и не выкладывать вообще? Почему, хороший мод же. Я фильм не смотрел, но всё равно улыбнуло.

>> No.52341  

>>52319

>Почему, хороший мод же.

Потому, что его автор не хотел видеть его в Стиме.
К. О.

>> No.52345  

>>52319
Да, автор был против размещения в воркшопе. А я своё слово держу.

>> No.52357  

>>52341>>52345 А чем размещение в стиме хуже размещения в мод-паке?!

>> No.52358  

>>52357
Тем, что это связывает со Стимом. Я, например, в его отношении тоже умываю руки.

>> No.52359  

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

>> No.52360  

>>52359
Ну~, не то чтоб с нашей лицензией вообще кто-либо смог запретить адаптацию и распространение. Я бы скорее расценивал это как просьбу.
Вполне возможно, что человеку не хочется лишней публичности. ЕМНИП, автору-то фанфика своё произведение разонравилось.

>> No.52361  

>>52360 Если я правильно понимаю условия лицензии Ычан Эроге, то к ней можно чуть ли не продавать проприетарные моды, только вот нельзя включать ничего из родных файлов игры в поставку. Так что автор Драйв мода юридически имеет право объявить, например, что конкретно его мод CC-...-ND. И тогда его мод можно раздавать, но не вливать в основную игру (потому что нарушится CC-...-SA от эроге) и не адаптировать под эроге 1.2. А то и вовсе какую-нибудь несвободную лицензию объявить, запрещающую хранить файлы мода на зарубежных серверах, например.

>> No.52362  

>>52361

>Если я правильно понимаю условия лицензии Ычан Эроге, то к ней можно чуть ли не продавать проприетарные моды, только вот нельзя включать ничего из родных файлов игры в поставку.

Не-а. Фанфик является производной работой, мод - тем более. В противном случае у нас бы вовсю продавались неофициальные моды ко всему, чему можно.

>> No.52363  

>>52362 Тут очень большой вопрос, можно ли считать производной работой файл с текстом вроде

label yakui_lover__lesson3_task3_main:
$ persistent.sprite_time = "night"
$ night_time()
scene bg ext_square_night
play ambience ambience_camp_center_night fadein 1
th "День определённо выдался удачным."

Ну да, так совпало, что при определённом имени файла и определённом его размещении игра его подхватит и выполнит, ну и что?

>> No.52367  

>>52363
Вот только в отрыве от «Бесконечного лета» этот файл не имеет художественной ценности. Тем более что у нас все моды, кроме, может, Юльяны, — фанфики.
Хотя нет, вот более убедительный пример: версия 1.2 не является производной работой от версии 1.1, там просто удалили одни файлы и добавили другие. То, что получлась похожая игра — чистая случайность.

>> No.52379  
Файл: 1419210540590.jpg -(318 KB, 685x1000, a14bb5fb8e51099fc9274c792d724728dc8248ca(...).jpg)
318

TLDR: Мои моды теперь есть на https://github.com/lolbot-iichan , а ещё decompile.rpy теперь вроде бы поддерживает Screen Language для новых версий RenPy.

Я тут развлекался тем, что адаптировал свои lb_tools под эроге 1.2 и столкнулся с тем, что Эроге 1.2 перекрашивает посещённые ранее выборы на развилках в совершенно нечитаемый цвет. По неудачному стечению обстоятельств, именно динамически генерируемые развилки используются в Мини-редакторе для того, чтобы делать большую часть выборов.

Перекраска посещённых пунктов в данном меню - нечто недопустимое. Но и подмена поведения всех меню в игре по прихоти моего мода - тоже не дело. На помощь пришла возможность указывать кастомный screen вот так: renpy.display_menu(items, screen="lb_simple_choice") . Казалось бы, всё окей, тут и писать было бы не о чем, будь у меня исходник screen choice, который отображается в игре. Просить не интересно, использовать код из 1.1 не надёжно, использовать unrpyc не спортивно, было решено доработать decompile.rpy до минимальной поддержки Screen Language 2.0. Это такая внутренняя реализация SL, которой не было в ЫЧан Эроге 1.1, но уже появилась в 1.2. И теперь такая реализация декомпилируется моим скриптиком, обросшим ради этого очередным годичным кольцом костылей. Скачать тут: https://github.com/lolbot-iichan/decompile.rpy/blob/master/decompile.rpy , screens.rpyc полностью декомпилируется, а при подкладывании в игру грузится без ошибок и работает без косяков.

Справившись с этим блоккером, я наконец поправил lb_tools и теперь выкладываю свои моды сюда: https://github.com/lolbot-iichan/lb_iichan_eroge_mods/releases

Из принципиальных отличий от тех моих модов, что были в мод-паке - появился перевод на английский (и местами на русский, лол). Кроме того, появилась пара новых фильтров:

  • lb_mod_selection - мод-селектор, оформленный как фильтр
  • lb_mods_option - кнопка Моды поднимается в самый верх в табуреточном меню, чтобы не листать до неё каждый раз

ЗЫ Кто-нибудь, выложите эти шняги в Стим, раз уж движуха туда переезжает потихоньку.

>> No.52390  

>>52379
Спасибо.

>ЗЫ Кто-нибудь, выложите эти шняги в Стим, раз уж движуха туда переезжает потихоньку.

Может, сам тогда? Оформишь по-нужному, обновить будет не проблема. Можно даже БЛ в библиотеку не закачивать, аплоадится этими вирусами: http://rghost.ru/59886620

>> No.52391  

>>52390

>Может, сам тогда?

У меня нет SteamID, и, вероятно, никогда не будет.

>> No.52393  

>>52391
Грустная история. Ничего, для таких случаев есть специально обученный человек.

>> No.52398  

>>52390

>обновить будет не проблема

Только хотел сказать, что там и обновлять-то нечего, как вдруг догадался попробовать вместе с модами из plugins20141122(steam).zip.

Итог:

  • запуск юнит-тестов переполняет стек из-за miss(flnm)
  • действительно бесконечное лето повисло, показав спрайт с крокодилом. Видимо, не смогло сгенерировать реплику нужной длины на нужном языке.
  • в мини-редакторе отвалилось отображение имён всех персонажей, кроме пионера, опять же из-за слоя "совместимости", который почему-то называется lb_lang.rpy, лол

В общем, ещё есть над чем поработать. Желающие могут оформить это как баги в гитхабе или просто подождать фикса. Ждать осталось недолго.

>> No.52399  

Кто занимается совместимостью в lb_lang.rpy? Предлагаю такую реализацию функции miss:

def miss(flnm):
if flnm.find("images/1080") == -1:
return None
renpy.log(flnm.replace("images/1080","images"))
return im.Image(flnm.replace("images/1080","images"))

С ней тесты не падают.

>> No.52402  

>>52399

>Кто занимается совместимостью в lb_lang.rpy?

Никто, по-моему. Это СоветскиеИгры-кун соорудил такое решение.
>>52398

>как вдруг догадался попробовать вместе с модами из plugins20141122(steam).zip

Тот модпак и сам по себе не особо стабилен. Это ведь тот же модпак под 1.1 с вброшенным измененным lb_lang.rpy, если ничего не путаю. Алисамоду, например, это не помогло.

>> No.52404  

>>52379
Возможно, я параноик, но эти моды очень уж легко вскрывают страшную правду, что БЛ содержит ИЗОБРАЖЕНИЯ ГОЛЫХ ЛЮДЕЙ, чему Стим не рад. Конечно, кроме Ульянки. Чего может быть плохого в голом ребёнке? Они же не настолько там извращенцы все?
Не очень хорошо получится, если это всё хайпнется. Спрайты позакрашивают, как минимум. Впрочем, это может быть делом времени.

>> No.52405  

>>52404
Учитывая, что в модпаке есть хентай с Ульяной, я волнуюсь за сидящих в этом треде, на самом деле.

>> No.52406  

>>52402 Сомневаюсь, что это код Советских Игр. Стал бы он сначала ломать совместимость, а потом сам же её чинить посредством костылей?

Я думал, что автор прослойки - тот человек, которого на тирече вместе с его модом оскорбляют при каждом удобном случае, который вместе с Риточкой и пользователями ВК мод делал. Олег, кажется.

>> No.52407  

>>52406

>Сомневаюсь, что это код Советских Игр.

Он выкладывал в своём вк-паблике. С комментарием вроде "без обратной совместимости, запарюсь вычищать meet-ы, классический пример говнокода".

>Стал бы он сначала ломать совместимость, а потом сам же её чинить посредством костылей?

Выпуск в стиме был намного важнее поломанных модов, наверное. Да и кодом для 1.2 мог и кто-то другой заниматься. Один помощник есть, как минимум. Не Олег.

>> No.52422  

>>52390

>Оформишь по-нужному

А что нужно предоставить? Готов выдать всякие текстовки/скриншоты, если это поможет.

>>52404

>эти моды очень уж легко вскрывают страшную правду, что БЛ содержит ИЗОБРАЖЕНИЯ ГОЛЫХ ЛЮДЕЙ

Так и быть, убрал отображение голых спрайтов из мини-редактора и действительно бесконечного лета. lb_filters/lb_img_naked можно не включать в стимовский набор, желающие скачают с гитхаба.

>>52398
Первую проблему на стороне тестов порешал обрамлением ренпайного вызова в try/catch, теперь, если вместо правильного кода из >>52399 у вас в игре рекурсивный говнокод, тесты не упадут и даже подсветят проблемные файлы красным, хоть и без объяснения, почему вообще возникла рекурсия.
Вторая проблема - мой баг. Исправил.
Третья проблема - очередной косяк того человека, который понаписал всякого в lb_lang. Правильный код такой:

def meet(who, name):
gl = globals()
names[who] = name
gl[who+"_name"] = name

def set_name(who, name):
gl = globals()
names[who] = name
gl[who+"_name"] = name
>> No.52423  
Файл: 1419291967221.jpg -(275 KB, 500x892, fuoriscena046.jpg)
275

Перевыложил в https://github.com/lolbot-iichan/lb_iichan_eroge_mods/releases/

>> No.52424  

>>52422

>А что нужно предоставить?

Нужно название. Проанализировав кол-во кликов по модам, советую: "Алисина сказка: Возвращение в Лену".
Еще нужна картинка-превьюшка - 1 шт. Скриншоты могу сам сделать. Ну и описание, а то у меня туго с воображением.

>> No.52426  

>>52422
Таки разместил: http://steamcommunity.com/sharedfiles/filedetails/?id=360707772

>> No.52427  

>>52407
Кодом для 1.2 занимался лично СоветскиеИгры-кун, это я знаю. Возможно, при частичной помощи некоего Spirit'а из Steam, но не факт, потому что Спирит только помогал делать воркшоп, опять же, насколько знаю. До него не было никого, или просто не располагаю такой инфой.
Я Рите просто предложил сделать заплатку-совместимость для $ meet, потому что устал перекраивать код под персонажей. Писал не сам, возможно, идею подал, если только у него самого её не было.

>> No.52429  

>>52427 Как бы до него донести, что правильная заплатка такая? Без этого - переполнения буферов и всякие "dv" и "mi" вместо имён.

def miss(flnm):
if flnm.find("images/1080") == -1:
return None
renpy.log(flnm.replace("images/1080","images"))
return im.Image(flnm.replace("images/1080","images"))
def meet(who, name):
gl = globals()
names[who] = name
gl[who+"_name"] = name

def set_name(who, name):
gl = globals()
names[who] = name
gl[who+"_name"] = name
>> No.52430  
Файл: 1419331196021.jpg -(77 KB, 820x606, BASED.jpg)
77

>>52426
Почему ты такой охуенный?

>>52429
То есть, в стиме всё ещё отображаются me и прочее вместо имён? Мда.

>>52064
А вообще когда можно ожидать новый урок?

>> No.52431  

>>52429
Вейт, а как в той заплатке реализован meet() и сотоварищи? Переписывание всего и вся в ~100 строк?

>> No.52432  

>>52430

>А вообще когда можно ожидать новый урок?

Правила не изменились.
http://iichan.hk/vn/arch/res/37014.html#37038

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

Модить Катаву никто не захотел, домашек по пятому уроку нет, так что я могу спать спокойно и заниматься другими делами без угрызения совести (хотя кого я обманываю, моя совесть чернее ночи из-за того, что я уже 2 месяца не могу найти время на фикс пары багов в WSE).

>> No.52433  

>>52431 Там опечатка - names[who] = who. Из-за неё и отображаемое имя становится dv, т.к. значение приравнивается ключу, а не name.

>> No.52434  

>>52429

>Как бы до него донести, что правильная заплатка такая?

Так и не надо, он же никому её не раздает. Нужно только пересобрать модпак с какой-то новой.

>> No.52435  

>>52433
Надо будет таки посмотреть, что там такое.

>> No.52440  

>>52430 У меня ушло несколько минут, чтобы понять, что это читается снизу вверх.

А вообще, голое лето в стиме - это вин, я считаю.

>> No.52462  

>>52429
Донесено.
Проверил в стиме - конфликтует с lb_lang Саманта-мода. Но работает.

>> No.52470  

>>52423
Жалуются, что кнопка "поднять строку Модов" не работает. Не выполняет свои обязанности, точнее. У меня тоже.

>> No.52471  

>>52470 Фильтры применяются в момент старта игры. Так что для поднятия кнопки нужно включить фильтр и перезагрузить игру.
В этом случае тоже не работает?

>> No.52473  

>>52471
Да и после. Да и они же всё равно игру перезапускают.
Проверил на не стимовской 1.2 - там поднимается кнопка.
Еще небольшая проблема в воркшопе, что активация текстовых фильтров и после перезапуска вызывает вылет. Только 1 раз, но будут паниковать.

>> No.52474  

>>52473
Трейсбек по поводу текст фильтров: http://pastebin.com/XU85Kazz

>> No.52476  

>>52473

> Проверил на не стимовской 1.2 - там поднимается кнопка.

Весьма непечатные слова крепкого удивления и искреннего негодования, как вообще так вышло, что 1.2 нестимовская чем-то отличается от 1.2 стимовской при том, что обе, грубое междометье, называются 1.2. Проклятые мудаки из Soviet Games вообще о концепции версионирования слышали?!..

Реквестирую diff -rq по папкам renpy и game, а также результаты прогона свежего decompile.rpy с гитхаба на обеих версиях, раз такое дело.

Вообще, фильтр подъёма кнопки, насколько я помню код, не может не делать совсем ничего, что-то он просто обязан поднимать в этом меню, либо опять же падать с ошибкой, если меню полностью перекроить. Там же код такой, что выкусывает из вполне конкретного массива child'ов элемент и вставляет его в начала. Может разве что так повезло, что Риточка с какой-то целью выровнял список детей толпой невидимых пустышек.

>> No.52477  
Файл: 1419432524212.gif -(250 KB, 350x263, C9puC.gif)
250

>>52476
...Может, ну её, эту кнопку? Или написать "НЕ поднимает".

>Реквестирую diff -rq по папкам renpy и game

Это я лучше оставлю какому-нибудь профессионалу

>а также результаты прогона свежего decompile.rpy

Пожалуйста: http://i.imgur.com/ur4CAT3.jpg
Сделал со старым декомпайлером: http://rghost.ru/59952161

>> No.52478  

>>52474 Очень странно это всё. Не найдена переменная, которую я в python early объявляю, причём судя по дальшейшему стеку, этот самый early случился успешно. Брр.. буду ночью курить исходники, но для этого мне нужны rpy от стимовской и нестимовской версии.

Скажи, а воспроизводится ли ошибка при следующем сценарии:

  • включить тестовый фильтр
  • не нажать apply, вместо этого вернуться в игру
  • выйти из игры
  • запустить игру

?

Может там полная перезагрузка ренпи недостаточно полная?

>> No.52479  

>>52477 Блин, да что там за монстр в стиме лежит? Я ведь новый декомпайлер специально на работу с 1.2 затачивал. Тьфу. Просто именно новый умеет screen language разбирать для свежих ренпаев. А для поднятия кнопки именно это и нужно.

Можешь куда-нибудь выложить зазипованную игру из стима, включая папки game и renpy? Для экономии места можно не паковать rpa-файл и видео, тогда архив очень лёгкий получится.

>> No.52480  

>>52478

>Скажи, а воспроизводится ли ошибка при следующем сценарии

Если так делать, то не вылетает.

>>52479

>Можешь куда-нибудь выложить зазипованную игру из стима, включая папки game и renpy?

Конечно http://rghost.ru/59952719

>> No.52487  

>>52477

>Пожалуйста: http://i.imgur.com/ur4CAT3.jpg

Лол, судя по всему ты подложил HTML-страницу https://github.com/lolbot-iichan/decompile.rpy/blob/master/decompile.rpy вместо сырого файла https://raw.githubusercontent.com/lolbot-iichan/decompile.rpy/master/decompile.rpy . Новый декомпилятор в стим-версии всё же работает.

>>52480
По итогам декомпиляции и исследования diff -r, выяснил вот что:

  • папки renpy одинаковые, разница только в main.py, в который в неправильное, но впрочем работающее как надо место вставлен небольшой блок, отвечающий за то, чтобы поиск был не только по папкам game и renpy/common, но и по всем подпапкам папки "../../workshop/content/331470/", если она есть:

      if os.path.exists("../../workshop/content/331470/"):
    new_paths = []
    for name in os.listdir("../../workshop/content/331470/"):
    if os.path.isdir(os.path.join("../../workshop/content/331470/", name)):
    new_paths.append("../../workshop/content/331470/"+name)
    renpy.config.searchpath += new_paths
  • game_control_keymap.rpyc: исчезла пара контролов, в стим версии нет поддержки кнопок 'U' и 'O', а было вот что:
    button_select = [ 'mouseup_1', 'K_RETURN', 'K_KP_ENTER', 'joy_dismiss', 'U' ],
    button_alternate = [ 'mouseup_3', 'O' ],
  • game_options.rpyc: хентай теперь отключается после перезапуска игры:
    persistent.hentai = False
  • game_scenario.rpyc: исправлено 8 опечаток вроде таких:
    "Сказал она шёпотом и замолчала."
    "Она удививилась."
  • game_scenario.rpyc: добавлено 13 блоков типа таких:
    $ steam.unlock_achievement("ACH_MAIN_BAD")
    $ steam.push_achievement()
  • game_script.rpyc: из костыльной недоперсистент сохранялки убрана переменная persistent.hentai , добавлен вот такой вот обширный код инициализации steam:
    init python:

      import imp
    import os.path as path
    steam = imp.load_compiled('steam', path.join(config.gamedir, 'steam.pyc'))

    steam.init()

    import atexit
    atexit.register(steam.shutdown)
  • game_tl_translation.rpyc: ссылка на андроид маркет больше не донатная (sic!), добавилась локализация кнопки:
    "Sync" : {

      "english" : "Synchronize with Steam",
    None : "Синхронизировать со Steam'ом",
    },
  • game_screens.rpyc: вот тут изменений много! Пройдусь по самым интересным:

    • действительно, из меню с табуреткой исчезло 2 строки, касающиеся Adult Content, при этом мой говнокод делал следующее, натыкаясь на 22м элементе меню на заботливо подстеленный null:
      win.children.insert(0,win.children.pop(22))
    • следующий код просто великолепен, для человека, не знакомого с python он даже выглядит так, как будто делает что-то осмысленное, а тому, кто знаком с python, но не знаком с renpy может показаться, что тут только одна ошибка:
      init python:

      achievments = {
      persistent.endings["main_good"] : "ACH_MAIN_GOOD",
      persistent.endings["main_bad"] : "ACH_MAIN_BAD",
      persistent.endings["sl_good"] : "ACH_SL_GOOD",
      persistent.endings["sl_bad"] : "ACH_SL_BAD",
      persistent.endings["dv_good"] : "ACH_DV_GOOD",
      persistent.endings["dv_bad"] : "ACH_DV_BAD",
      persistent.endings["un_good"] : "ACH_UN_GOOD",
      persistent.endings["un_bad"] : "ACH_UN_BAD",
      persistent.endings["us_good"] : "ACH_US_GOOD",
      persistent.endings["us_bad"] : "ACH_US_BAD",
      persistent.endings["mi"] : "ACH_MI",
      persistent.endings["uv_unknown_fucken_shit"] : "ACH_UV",
      persistent.endings["uv_city"] : "ACH_HAREM",
      not persistent.collector : "ACH_COLLECTOR"
      }
      def sync_ach():
      for game, stm in achievments.iteritems():
      if game:
      steam.unlock_achievement(stm)
      steam.push_achievement()
    • кнопка синхронизации добавилась в экран со списком концовок, синхронизация, очевидно, не работает из-за говнокода выше
    • заведена отдельная переменная gallery_cg_hentai, в которую заботливо вынесены все хентайные CG!!!
    • багфикс и много мелких изменений в галерее
>> No.52488  

>>52487

>Лол, судя по всему ты подложил HTML-страницу

Дал маху. Правда, я не с тем файлом тестил, который в архиве. Но тот был такой же хренью, видимо. Всё работает, да.

>> No.52489  

>>52470

>Жалуются, что кнопка "поднять строку Модов" не работает.
>Не выполняет свои обязанности, точнее. У меня тоже.

Fixed. Теперь ищется не 22й элемент меню, а тот, который выводит translation["mods"][_preferences.language] и является кнопкой.
https://raw.githubusercontent.com/lolbot-iichan/lb_iichan_eroge_mods/master/mods/lb_filters/lb_mods_option.rpy

>>52473

>Еще небольшая проблема в воркшопе, что активация текстовых фильтров и после перезапуска вызывает вылет. Только 1 раз, но будут паниковать.

Баг весьма и весьма странный. У меня удалось воспроизвести его так: включается текстовый фильтр, жмякается Apply, выключается текстовый фильтр, жмякается Apply, начинается Новая игра. Тогда оно зачем-то ищет lb__custom_say , хотя renpy.exports.say должен был бы уже сброситься в исходное положение, в котором renpy.exports.say не нужен.

Видимо, renpy.utter_restart() тут недостаточно, и нужно что-то посерьёзнее. Например, renpy.quit(relaunch=True) . Но я не знаю, как стим запускает игры и возможно renpy.quit(relaunch=True) как-то помешает авторизации в стиме.

Попробуй, пожалуйста, с вот таким вот патчем: https://raw.githubusercontent.com/lolbot-iichan/lb_iichan_eroge_mods/master/mods/utter_restart_fix.rpy

>> No.52490  
Файл: 1419468859536.jpg -(52 KB, 720x544, Rozhdestvenskie.pesnopenia.Chernoj.gaduk(...).JPG)
52

>>52489
Всё работает! Наша команда снова отлично себя проявила.

>> No.52491  
Файл: 1419470656587.png -(251 KB, 1664x936, screenshot0001.png)
251

>>52490 Отлично. Тогда можно втягивать что-то такое: https://github.com/lolbot-iichan/lb_iichan_eroge_mods/releases/tag/v1.2

Если не сложно и если мы ещё не исчерпали лимит скриншотов, приаттачь ещё гитарный скриншот плиз.

>> No.52492  

>>52491

>Тогда можно втягивать что-то такое:

Я уже залил с теми двумя файлами, или там что-то новое? А то бывают сложности с обновлениями всё из-под виртуальной машины приходится, из-под XP оно не умеет Но я поделился управлением с нашим заведущим модами - подстрахует, если что.

>> No.52493  

>>52492 Разница небольшая. Я на всякий случай в https://raw.githubusercontent.com/lolbot-iichan/lb_iichan_eroge_mods/master/mods/utter_restart_fix.rpy ещё try/except добавил.

Сейчас это ни на что не влияет, но если когда-нибудь студия Soviet Games решит переделать screen filters, то без try/except этот фикс будет приводить к падениям, а с try/except - просто не делать ничего, ни вредного, ни полезного.

Судя по скорости нахождения багов, такими темпами ещё и 1.3 в этом году выпустить успею >_<, так что можно не волноваться пока

>> No.52508  

Привет, кибернетики.
В ходе прикручивания на карту старой функции с чибиками, столкнулся с отсутствием функции очистки экрана. То есть, для сброса зон существует оператор disable_all_zones(), а для чибиков такого нет.
Как поступить в данном случае, чтобы неиспользованные чибики не кочевали из карты в карту?

>> No.52509  

>>52508 Боюсь, только написать python функцию для их очистки. Что-то в духе

    def clean_all_chibi(self):
global global_zones
for name,data in global_zones.iteritems():
data["chibi"] = None
>> No.52511  

>>52509
Спасибо, но, похоже не помогло. Может, делаю что-то неправильно. Либо появляется трейс (takes 1 argument (0 given), либо игра запускается, но на картке функция очистки не срабатывает.

>> No.52512  

>>52511 Упс, там слово self лишнее же, если это дефайнить как функцию, а не как метод класса. Убери self и будет тебе счастье.

>> No.52515  

>>52512
Вот как раз в случае () игра невую функцию съедает, но та почему-то не работает. Не знаю, почему.

>> No.52517  

>>52515
Вот тут всё работает: http://rghost.ru/59995390
(ну, не считая того, что смещение иконки относительно зоны не настроено)

Нашёл интересную особенность реализации чибиков - они отрисовываются только для кликабельных зон, это из-за того, что в game/control/mapclass.rpy кнопка отрисовывается внутри if data["available"]:. Если будете юзать чибиков, то поправите, наверное.

>> No.52572  
Файл: 1419844663640.jpg -(58 KB, 700x905, 14197977812200.jpg)
58

Доделали.
Промо: https://www.youtube.com/watch?v=UUjwg06QL7E#t=56
ВНка: https://www.dropbox.com/s/hd51w2hx2raxy8c/ScarletScarf-1.1-all.zip?dl=0

>> No.52573  
Файл: 1419845547164.jpg -(399 KB, 1728x972, 32423 tipa ya etot mod skachal s dvachei(...).jpg)
399

Принёс эротический мод про Славю
Бл 1.1: http://rghost.ru/60031043
Бл 1.2: http://rghost.ru/60031055

>>52493
Там еще Картавый Семён не картавит. Не вылетает, ничего.

>> No.52574  

>>52572
Очень атмосферно, молодцы! Симпатичная вселенная, если она на ходу придумана под эту новеллу - вдвойне круто.

>Добро пожаловать, снова

А вот эта отсылочка для меня была не в тему.

>> No.52576  

>>52574>>52574

>если она на ходу придумана под эту новеллу

В интервью же говорилось, что вселенная принадлежит Гильберту и куче каких-то других чуваков. В сырнарии есть тредик его, кстати. А так нам велено отправлять по вопросам на dea.su

>отсылочка

Ну нельзя же быть таким испорченным.

>> No.52582  
Файл: 1419883404380.png -(639 KB, 1440x810, screenshot0003.png)
639

Ребят, кому интересно оцените. Жаль кроме пары фонцов мало хорошего, но я старался.
https://yadi.sk/d/ne49mSW5dgKPk

>> No.52588  

Хочу унать, как извлечь спрайты из новелл на ренпу.

>> No.52589  

>>52588

  1. Подложить в папку /game/ игры файл https://raw.githubusercontent.com/lolbot-iichan/decompile.rpy/master/depack.rpy
  2. Запустить игру
  3. Готово. Появится папка unpacked.
  4. Удалить depack.rpy и появившийся depack.rpyc, а то файлы будут пытаться распаковаться на каждом старте.

Каптча stole намекает на то, что всё уже украдено до нас.

>> No.52590  

>>52589
Спасибо.

>> No.52591  
Файл: 1419933779229.jpg -(69 KB, 935x605, дропбокс.jpg)
69

>>52572

> ВНка: https://www.dropbox.com/s/hd51w2hx2raxy8c/ScarletScarf-1.1-all.zip?dl=0

Спасибо, почитал, очень хорошая внка.

>> No.52592  

>>52591
https://yadi.sk/d/jzKBmQZmdhaNj
больше 100 скачиваний дроп не выдержал

>> No.52613  

Поздравляю участников Кружка с наступающим новым годом! Желаю всем больших творческих озарений и интересных идей. А уж с реализацией как-нибудь разберёмся.

Отдельного подарка сделать не успел, так просто сыграйте в новую игру от IIchan Eroge Team.

>> No.52619  

Лолбот, с новым годом!

Не подскажешь еще раз твой жаббер, а то не можем до тебя достучаться.

мимо-твои-знакомые-студенты-с-вмк

>> No.52629  

>>52619 Привет! Вас тоже с наступившим, всего наилучшего и вообще.

Мой жаббер: lolbot@jabber.ru , но я не сижу в нём 24/7, отвечаю чаще всего когда дома, в среднем после полуночи.

>> No.52658  

Прочтите обращение PyTom к ренпи-коммунити:
http://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=29797

Из невероятных новостей:

  • 70 футболок продано
  • RenPy 6.99 будет наконец использовать SDL2
  • в планах наконец-то появился iOS
>> No.52688  

Это кружок кибернетики? Значит, я по адресу.
У меня немного странная просьба - не могли бы местные обыватели написать что-нибудь, заставляющее окошко с БЛ сигналить на развилках? Не особо важно, каким образом, лишь бы заметно было.
Да, я спидраню в фоновом режиме БЛ ради ачивок в паровой машине.

>> No.52690  
Файл: 1420442440385.jpg -(6 KB, 170x248, korwhy.jpg)
6

>>52688 А ради чего вообще всё это? Если хочешь разлочить все ачивки, то для этого не обязательно вообще игру гонять, достаточно запустить мод из пары строчек на питоне (могу написать, если хочешь).

Если же ты хочешь почитывать игру в окрестностях развилок, периодически перескакивая вперёд, то могу предложить такое решение: по клику на кнопку на клавиатуре игра переходит сразу на следующую развилку или непропускаемую заставку.

Плюсы: не нужно вообще ничего ждать в фоне.
Минусы: не откроются CG, но их можно разлочить отдельной командой.

>> No.52691  

>>52688
Через поиск-заменю в текстовом файле находишь все строчки с "menu":
И перед каждой такой строчкой втыкаешь саунд, например.
play sound sfx_face_slap

Получается конструкция
play sound sfx_face_slap
menu:

Теперь каждый раз, когда появляется меню, будет воспроизводиться звук пощёчины.

>> No.52692  

>>52691 Для этого нужен scenario.rpy от стимовой 1.2

>> No.52695  

>>52658

>iOS
>iOS

чуть более чем нинужно

>> No.52698  

>>52695 Пожалуйста, держи нас в курсе своего безусловно важного мнения.

>> No.52701  

>>52698
Правильно сказал, пусть ябланы держат свои ручонки подальше.
cabcha lol able pig hade:DDD

>> No.52703  

>>52701 В Союзных Государствах Америки доля iPhone примерно половине от всех телефонов равна. Я когда там проездом был, офигевал с того, какие у них у всех пологовно одинаковые телефоны. А всё потому что их к мобильным тарифам в довесок бесплатно дают.

>> No.52712  
Файл: 1420569562605.png -(739 KB, 1280x768, Screenshot_2015-01-06-23-35-49.png)
739

На пятом ведре есть проблемы со сменой сцен.
Не подскажете как решить?

>> No.52714  

>>52688
Так коды ачивок же есть здесь: >>52487
И пишешь маленький скрипт, который анлочит все ачивки в паровом двигателе, и гладишь её она... любуешься полученными ачивками в своём профиле.

>> No.52724  

>>52714
Не могу в написание скриптов просто. Мог бы - не просил бы.

>> No.52726  

>>52724>>52714 Попробуй это.

init:
$ mods["my_awesome_mod"] = u"Разлочить всё"
label my_awesome_mod:
python:
for a in ["MAIN_GOOD","MAIN_BAD","SL_GOOD","SL_BAD","DV_GOOD","DV_BAD", "UN_GOOD","UN_BAD","US_GOOD","US_BAD","MI","UV","HAREM","COLLECTOR"]:
steam.unlock_achievement("ACH_" + a)
steam.push_achievement()
"DONE"
>> No.52727  

>>52712 Лучше всего обратиться на форум lemmasoft: http://lemmasoft.renai.us/forums/viewforum.php?f=32

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

>> No.52738  
Файл: 1420676555522.jpg -(1092 KB, 3120x4208, IMG_20141208_235919.jpg)
1092

Перешёл по ссылке на форум, а там.. GOOD NEWS EVERYONE!

http://lemmasoft.renai.us/forums/viewtopic.php?f=32&t=29486

>So this happened today.
>It's not quite Ren'Py yet, but it's pretty darn close. (And after weeks of dependency building, it's the first thing that isn't a solid-colored screen.)
>As a reminder, you're going to need a Mac and a developer license ($100/yr) to build and distribute for iOS. (Those are Apple's rules.)
>> No.52740  

>>52064
ковыряю сейчас кусок кода отвечающий в БЛ за карточную игру, послали меня в этот тред сказав что автор карты живёт тут. думал на базе них сделать своё..
есть такой код см скрины
слева то что я дописал, справа оригинал.

собсно вопрос..
карты в игре реализованы через imagebutton.
я хотел реализовать увеличение карты на которую наводится мышка.
у imagebutton есть событие на hovered и unhovered.
навесил на оба для проверки, при запуске отрабатывают оба. несмотря на то что на элемент еще даже не наводил мыша.
что я делаю не так или ховеры в питоне как-то по другому работают??

>> No.52741  
Файл: 1420698923253.jpg -(169 KB, 1277x361, imagebutton1.jpg)
169

>>52064
hovered

>> No.52742  
Файл: 1420699103659.jpg -(48 KB, 556x275, imagebutton2.jpg)
48

>>52064
func on hovered

>> No.52746  
Файл: 1420724956760.jpg -(39 KB, 626x480, eGQ3YWJ6MTI=_o_kimagure-orange-road---op(...).jpg)
39

>>52742 Привет, извини за поздний ответ.

Отвечу сначала на вопрос о том, почему вызываются обе функции: ты сам их принудительно и явно вызываешь. Смотри внимательно за руками: ui.imagebutton(... hovered=testfunc(arrow_width) ...). Ты ведь не удивишься, что синус вызовется, если ты выполнишь ui.imagebutton(... xpos=10.0+5.0*sin(arrow_width) ...) ?

Предвидя следующий вопрос: да, можно сделать, чтобы функция вычислялась лишь по событию. Для этого тебе нужно lambda-выражение или функция, возвращающая функцию. Например, так:

def will_testfunc(arrow_width):
def testfunc(): # !!! обязательно без параметров
lalala()
zhuzhuzhu(arrow_width) # параметры пробрасываются
return True
return test_func # !!! именно так, без круглых скобок

Тогда код наподобие ui.imagebutton(... hovered=will_testfunc(arrow_width) ...) в случае hover-события выполнит код из testfunc.

Предвидя следующий вопрос: нет, текущий код testfunc тебе не поможет в решении твоей задачи по увеличению спрайта карты на hover. ui-функции отвечают за формирование интерактивного экрана ДО вызова ui.interact() и вряд ли смогут быть корректно добавлены во время интерактива.

Вообще, ui.imagebutton имеет родной механизм модификации изображения на hover. Это собственно первый и второй параметры, через которые передаётся изображение на unhovered и hovered соответственно, при этом они не обязаны быть одного размера. Если тебе достаточно увеличения вправо и вниз при фиксированном угле, то достаточно обернуть второй параметр в im.FactorScale, но я сомневаюсь, что это то, чего ты хочешь.

Кривоватый, но действенный вариант, который прокатит без глубокого копания вглубь - передать первым параметром исходное изображение, окружённое прозрачной рамкой (я бы использовал im.Composite), а вторым параметром - увеличенное исходное изображение (соотвественно, im.FactorScale). Если хочешь, могу накидать пример. Вариант кривоват, потому что добавляет машине работы на пустом месте, возможны необоснованные тормоза.

Другой вариант - раскурить как работает renpy.display.behavior.Imagebutton и сделать так, чтобы hovered выводился со сдвигом влево-вверх (увеличение карты же должно быть равномерное). Не буду тебя томить, способ я нашёл, вот он:
label start:

python:
ui.imagebutton(
im.Scale("3_utan.png",360,540),
renpy.display.layout.Window(
ui._image(im.Scale("3_utan.png",396,594)),
left_margin=-18,
top_margin=-27,
xfill=False,
yfill=False
),
clicked=lambda:renpy.error("YOU WIN")
)
ui.interact()
jump start

Если кому-то интересно, что это вообще за хрень и как это работает, могу рассказать.

>> No.52747  

>>52746
спасибо, приятно удивлен обстоятельным и подробным ответом.
а подробности всегда интересны, особенно если питон видишь всего третий день

>> No.52749  
Файл: 1420744380609.jpg -(357 KB, 1173x867, abergav-stmarys-tomb-003-s.jpg)
357

Вторая часть 6-го дня. Костюмы и цг - в вашем воображении.

1.1: http://rghost.ru/60212098
1.2: http://rghost.ru/60211452

Вместо прохождения:
Приглашение от Лены, и связанные диалоги появятся, если были на острове - сетапы 2 и 3 в помощь
Можно немного поромансить Славю в варианте "ты еще можешь выиграть" - если хватает очков. Сетапы 2 и 3, опять же. 3-ий легче
2 сорт оф концовки, в зависимости от очков: дружеская, и не совсем. 2 сетап - только дружеская, 3 сетап - романтическая

>> No.52750  

>>52749
Спасибо!

>> No.52755  
Файл: 1420758837732.jpg -(101 KB, 1041x768, Megazone 23.II.1986.DVDRip.mkv_snapshot_(...).jpg)
101

Словил тут баг при прохождении одного из эпилогов - при нахождении в них, не работает меню модов, игра вылетает по выбору пункта меню с модификациями.
Дело не в самих модах, уже проверял.

Версия эроге - 1.2 (Steam).

Лог трейсбэка:

I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/00gamemenu.rpy", line 163, in script
$ ui.interact()
File "renpy/common/00gamemenu.rpy", line 163, in <module>
$ ui.interact()
File "renpy/common/00action_data.rpy", line 50, in get_selected
return getattr(self.object, self.field) == self.value
AttributeError: 'StoreModule' object has no attribute 'epilogue'

Кусок кода, по исполнении которого происходит ошибка (файл 'screens.rpy', а именно, в части 'screen mods:'):

                grid 1 len(mods):
for lbl, name in sorted(mods.iteritems()): # OH SHI
textbutton name:
style "log_button"
text_style "settings_text"
action (SetField(persistent, "jump_to", lbl), SetVariable(backdrop, 'prologue'), Start())

Баг вызывает последняя строка из указанных выше, функцией 'SetVariable' при попытке установить параметр заставки (бэкдропа).

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

Походу, при загрузке сейва нормально не инициализируется '$регистрация' переменной по бэкдропу, а затем в блоке модов мы пытаемся присвоить значение необъявленной переменной, в результате чего и происходит ошибка.

>> No.52756  

Собственно, забегу ненадолго. При работе с RAPT(захотелось одну игрушку на своё ведро) вот такое появляется:

I'm sorry, but an uncaught exception occurred.

While running game code:
File "game/android.rpy", line 594, in <module>
File "game/android.rpy", line 407, in android_build
File "game/android.rpy", line 247, in call
UnicodeEncodeError: 'ascii' codec can't encode characters in position 96-103: ordinal not in range(128)

-- Full Traceback ------------------------------------------------------------

Full traceback:
File "launcher/game/android.rpyc", line 594, in script
File "C:\renpy-6.18.3-sdk\renpy\ast.py", line 785, in execute

renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)

File "C:\renpy-6.18.3-sdk\renpy\python.py", line 1382, in py_exec_bytecode

exec bytecode in globals, locals

File "game/android.rpy", line 594, in <module>
File "game/android.rpy", line 407, in android_build
File "C:\renpy-6.18.3-sdk\rapt\buildlib\rapt\build.py", line 472, in build

"--library", plat.path("android-sdk/extras/google/play_apk_expansion/downloader_library", relative=True),

File "game/android.rpy", line 247, in call
File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/subprocess.py", line 679, in init
File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/subprocess.py", line 896, in _execute_child
UnicodeEncodeError: 'ascii' codec can't encode characters in position 96-103: ordinal not in range(128)

Windows-post2008Server-6.2.9200
Ren'Py 6.18.3.761
Ren'Py Launcher 6.18.3.761

Причём до этого еще одна игрушка вполне успешно завелась.

>> No.52757  

>>52756
Проверь, чтобы в пути к файлам игры не было кириллических символов.

>> No.52761  

>>52757
Их там нет, я об этом знаю.

>> No.52766  

(в размышлениях, а не замахнуться ли на что-нибудь глобальное) А как лучше пилить (и выкладывать) многодневный и многорутный мод: последовательно, рут одной девушки доделал до конца, перешел к другой - или параллельно, сделал один день со всеми эвентами для всех девушек, перешел к следующему дню?

(Вариант "сделай все полностью и выложи через пять лет после начала разработки" не рассматриваем. Вариант "лучше вообще не пиши" - тоже)

>> No.52767  

>>52761
Залей тогда свою проблемную игрушку сюда, может чем и помогут (ну хотя бы тот android.py, как минимум; но лучше целиком всю игру, конечно).

>> No.52768  

>>52746

а у ui.imagebutton можно каким либо образом менять z-index в процессе взаимодействия с ним?
а то если делать карты перекрывающие друг друга, то при увеличении карта соответственно подлезает под карту справа. изменение порядка вывода карт ничего не даст.
хотелось бы при ховере чтобы карта была выше остальных спрайтов

>> No.52770  

>>52767
Дело в том, что ренпай, судя по всему, ругается на свои же собственные файлы.

>> No.52838  

А может ли ренпи в сорт оф динамический саундтрек? Задумка такая - фоном играет коротенький (порядка 10 секунд) луп, затем по какому-то событию в диалогах движок ждёт, пока луп доиграет очередную итерацию, и включает следующий трек, при этом параллельно идёт текст без пауз.

>> No.52847  

>>52838 Из коробки, насколько я знаю, такого нет, но сделать на питоне определённо можно. Могу поисследовать на досуге, если хочешь. Приложи образцы лупов и контекст, я накидаю примерчик на днях.

>> No.52848  

>>52847
Сами лупы я ещё не сделал, просто проверяю теоретическую возможность. Но контекст такой:
два лупа, один просто фоновый, другой - вариация на тему первого, но более напряжённый или наоборот весёлый
Применение: играет фоновый, идут диалоги, описания, вдруг какое-то событие, в диалоге произносится некая определённая фраза, после которой и надо дождаться конца лупа и включить более весёлую вариацию. Что-то вроде:

"я сидел на скамейке и смотрел на пустынное футбольное поле."
us "Ой, Семён, ты что тут делаешь?"
me "Оставь меня в покое, я в печали."
#вызывается функция переключения лупа
us "Что это у тебя за спиной?!"
me "Где?!"
"Не успел я обернуться, как в лоб мне прилетел шарик, на полненный водой"
#далее в диалогах идут какие-то действия, беготня, и т.д., но потом все успокаиваются, появляется необходимость перейти к более спокойному лупу.

Т.е. как бы действуем в пределах одной музыкальной темы, варьируя её в зависимости от событий на экране.

>> No.52849  
Файл: 1420943800358.png -(1011 KB, 1041x768, Megazone 23.II.1986.DVDRip.mkv_snapshot_(...).png)
1011

>>52838

>движок ждёт, пока луп доиграет очередную итерацию, и включает следующий трек

Это решается вызовом одной команды:

queue music "music/2.mp3"

По вызову оператора queue, как только закончится итерация предыдущего аудиофайла на канале music, на нём начнёт играть луп композиции, название которой определено в кавычках, вместо предыдущей.

Если что, вот подробная документация по работе с аудиоматериалами в Ren'Py: http://www.renpy.org/doc/html/audio.html

>> No.52853  

А что там с новым мод-паком? Планируется? С ноября-то несколько вещей повыходило, да и тот мод от пользователей Вконтакте вроде немного довели до ума. Также интересует вопрос, будет ли включаться порт Wintertale в модпак?

>> No.52861  
>С ноября-то несколько вещей повыходило

М? Пара обновлений Саманты, эромод. В стиме ещё что-то. Вроде всё.

>да и тот мод от пользователей Вконтакте вроде немного довели до ума

Во-первых, их там минимум два, во-вторых, надо смотреть и разбираться.

>будет ли включаться порт Wintertale в модпак

Ноне модпак уже занимает 887,2 МБ. И мне очень не хочется расширять это дело за гигабайт. Что-нибудь придумаем. Я думаю, как минимум 100 мегабайт можно выкинуть в "редко- и вовсе не использующиеся файлы". Но ничего не обещаю.

>> No.52937  
Файл: 1421675527164.jpg -(214 KB, 850x1214, FiD386.jpg)
214

Памагите!!!
Нужно сделать звёздное небо с мерцающими звёздами.

screen Sky:
<...>

for g in range(ccc.starmap):
$ccc.starnow = g
add At ('star.png', twinklestar)
<...>

transform twinklestar:

function twistar
repeat

python:

<...>
def twistar(t1,t2,t3):
t1.xcenter = ccc.starnow[0]
t1.ycenter = ccc.starnow[1]
ff = math.fmod(t2,ccc.starnow[3])
<много преобразований, масштабирований и вращений>
return 0.1

Естественно, это не работает! Функция обсчитывает только последнее заданное в цикле значение .starnow, и рисует только одну (последнюю) звезду.
В главе про спрайты говориться что аналог спрайтов с более сложными, нежели изменения позиции x y, трансформациями может быть реализован с помощью Fixed и Transforms.

>the sprite system is conceptually similar to a Fixed() wrapping Transform()s.

Подскажите тупой Сырне как!

>> No.52948  

>>52937
Сырна не дура, решил сам.
скоприовал кусок кода из томовского примера в туториале
Теперь проблема в том, что звёзды отображаются на другом слое, закрывая луну, здания, небо и аллаха.

>> No.52950  

>>52948 Сделай минимальный работающий пример в zip-архиве, чтобы разговор был предметнее.

А так - если нужно что-то сзади чего-то, то используй либо слои (плохо, на все случаи жизни не напасёшься), либо zorder (универсально, но надо циферки согласовывать), либо behind.

show moon at left
show stars behind moon
>> No.52952  

>>52950
Забава в том, что moon рисуется через screen laguage, а звёзды, в туториале рисуются show. Пока не копался, времени нет, но, думаю, что можно заставить их рисоваться в нужном порядке. Есть, и то ладно.
Спасибо за ответ.

>> No.52981  

Здравствуйте ребята. Допустим у меня есть снег http://www.renpy.org/wiki/renpy/doc/cookbook/More_realistic_snow_effect
Я прописываю show snow в сцене и всё хорошо, но при смене сцены снег придется прописывать еще раз и он идет заново. Как непрерывно показывать снежок то?

>> No.52982  

>>52981
Можно, например, при переходе спрятать спрайты персонажей вручную, а фон менять не через scene, а через show. Хотя продолжающий идти снег поверх меняющегося через fade или dissolve фона, боюсь, будет смотреться странновато.

>> No.52983  

>>52982 А через fade по идее всё правильно будет, с честной чернотой без снега.

>> No.52984  

>>52981
А на внешний слой он не выводится?

добавь в init:
config.layers.append('overall')

и пропиши

show snow onlayer overall

>> No.52985  

>>52984
RABOTAET! SPASIBO

>> No.52986  

1

>> No.52987  

Господа, прошу вашей помощи. Дело в том, что возникла необходимость размещения ресурсов мода в архиве .rpa. Обусловлено данное решение тем, что ресурсов довольно много и большая их часть - ориджинал контент, к тому же содержащий спойлеры.
Так вот, вопросы:
1) как разместить ресурсы мода в архиве .rpa?
2) есть ли какие-то нюансы, связанные с изменением расположения музыки, звуков, изображений и всего прочего?

>> No.52988  

>>52987
Его вскроют на второй день, а спойлерные скриншоты появятся в первый же день.

>> No.52990  
Файл: 1422179912394.jpg -(52 KB, 587x478, wolfs.jpg)
52

Саманта-мод пережил очередное обновление:
1.1: http://rghost.ru/60507148
1.2: http://rghost.ru/60522314
Добавлен костюм Слави! По мелочам: открыт седьмой день. Есть концовки Лены(2) и Слави(4). Пока нет концовок Алисы и Саманты.

>> No.52995  

А доставьте код вот этого мода: http://steamcommunity.com/sharedfiles/filedetails/?id=373153394

Там действительно файтинг сделали с использованием динамических виджетов и pygame или как?

>> No.52996  

>>52995
Просто рандомизатор в стиле комбатс.ру http://rghost.ru/60555211

>> No.53000  
Файл: 1422232949732.jpg -(194 KB, 395x622, ready_for_platypus_bataka_by_genesisrhap(...).jpg)
194

>>52996 Обидно, что там рандом при том что ренпи с лёгкостью позволяет делать файтинг уровня пикрелейтед при использовании таймерных меню, например.

>> No.53406  

Что-то тред совсем утонул.
Как пофиксить вылеты при сохранении? В некоторых модах с обилием выборов (а может и во всех вообще, не проверял досконально), например в Саманте, при попытке сохраниться игра выплёвывает ошибку. К сожалению, заскриншотить я не догадался, поэтому саму ошибку привести не могу. При этом кнопка "Откат" функционирует нормально и откатывает к предыдущему диалогу. Однако засейвиться по-прежнему нельзя. Вроде у кого-то из анонов эта проблема всплывала и раньше, неужто до сих пор фикс не придумали?
Версия 1.1 с последним модпаком.

>> No.53412  

>>53406 Возможно, хороший вариант - удалить код конами кода к чертям.

>> No.53413  

>>53412
В виде патча это можно как-то состряпать, переопределив переменные? Не сильно хочется декомпилировать оригинальный сценарий и вычищать оттуда (пусть и автоматизированно) все упоминания кода Конами.

>> No.53578  
Файл: 1425163788326.jpg -(342 KB, 1600x900, steamworkshop_webupload_previewfile_3928(...).jpg)
342

Хочется выразить респект автору этого мода: http://steamcommunity.com/sharedfiles/filedetails/?id=392818466

Вот что-то такое я и хотел сделать, когда придумывал концепции модов и тэгов, но не осилил.

У кого есть стим-аккаунт, плюсаните там его от меня.

>> No.55183  

Слоупок бампает некротред!
Что там, с момента выхода последнего модпака появилось годноты какой? Пора собирать следующий, не?

>> No.55185  

>>55183
Если модпак остаётся только для 1.1-модов, то какие-то вещи можно обновить, и что-то даже добавить, но большинство новинок появляется сразу в воркшопе, либо только для 1.2.
Получается, что модпак под 1.1 потихоньку теряет актуальность, ну а модпак под 1.2 - вообще сомнительная затея.
Плохое время быть модпаком.

>> No.55194  

>>55185
Это всё только кажется. 1.1 не утеряет актуальности. А 1.2 не нужен.

>> No.55195  
Файл: 1428236262287.png -(9 KB, 488x234, 2015-04-05 19-36-57 Скриншот экрана.png)
9

Скажите криворукому, почему не работает?

>> No.55196  

>>55195
Что именно не работает-то?

>> No.55197  

>>55196
Бэкдроп не появляется.
Уже не надо, кое-что поинтереснее поставили.

>> No.55942  

В прошлом году где-то видел скрипт, волшебно нарезающий спрайты на far/normal/close версии. Кто-нибудь может поделиться? Или подкинуть еще какую технологию.

>> No.55968  

>>55942
Скрипт представлял из себя bat-файл для запуска пакетной обратки папки при помощи convert.exe, который часть imagemagick.

Собственно, сам скрипт циклического обхода папок с картинками пишется за полчаса, а вот главная ценность того файла - заботливо подобранные Художником-куном коэффициенты.

Попробуйте поспрашивать у Художника-куна этот скрипт. Он же его и писал.

>> No.55970  

Блин, зачем вы какие-то специальные скрипты для ресайза картинок делаете? Лень чтоли три спрайта в фотошопе отресайзить? Вот программисты, блджад, поехавшие. Лишь бы покодить. Идите в dev уже.

>> No.55977  

>>55970

>три спрайта
>гора эмоций
>одежда

Окстись.

>> No.55983  

У вас там в этом ренпи масштабирование всего и вся не предусмотрено чтоли?

>> No.55985  

>>55968
Cпасибо.
>>55977
И всё по нескольку раз еще. У спрайтов есть тенденция допиливаться.

>> No.55986  

>>55985

> допиливаться

Вот именно.

>> No.56031  

Кхм. Скачал я Ren'py, открыл туториал. Закрыл. Забился в угол и свернулся комочком.
Видимо, всё снова. Снова "привет мир", снова двухминутная sample_game, после чего десятки часов боли. Oh, well...

>> No.56316  
Файл: 1430446511138.jpg -(6 KB, 218x208, images.jpg)
6

>>56031
Ты это я.

>> No.56335  

>>56316
Если есть конкретные вопросы по коркретным трудностям, их можно задавать.

>> No.56412  

>>53578
Здраститя. А нету этого мода на каком-нибудь файлообменике? А то стима нету :с

>> No.56429  

>>56335
Спасибо. Пока буду читать, что смогу нагуглить, и экспериментировать.

>> No.56448  

>>56412
https://yadi.sk/d/-3xjIAC1gQc4W

>> No.56451  

Гайз, можете перезалить катава мод-пак, а то он удален из этого файлообменника: http://rghost.ru/59506181

>> No.56453  

>>56451
Лови: http://rghost.ru/6qNlcWGbK

>> No.56557  
Файл: 1431077649235.png -(874 KB, 1080x1920, 14310250577390.png)
874

Обновились с новой версией спрайтов, и теперь уже наверняка финальной: http://everlastingsamantha.tumblr.com/image/118377831181
По тексту апдейт скромный, но скоро может быть больше.
1.1: https://yadi.sk/d/Nl8nvxx1emxKh
1.2: https://yadi.sk/d/guX3LPJeebJJF

>> No.56561  

>>56557
Красивые спрайты. Кто их делал?

>> No.56563  

>>56561
Благодетель, который до этого рисовал цг, можно посмотреть там в блоге. Могу с гордостью сказать, что он освоил рисование именно увлёкшись модом (самому трудно поверить).

>> No.56694  
Файл: 1431711730886.png -(149 KB, 995x823, e34870435fbf7ec820e75cde4b3e0adc.png)
149

Помогите глупой баке с ренпаем. Только хотел запилить интро перед появлением меню, перечитал все гайды, везде одно и то же, у меня же даже никаких ошибок не вылезает, просто нет видео, и все, сразу меню.

>> No.56695  
Файл: 1431712112462.jpg -(82 KB, 1191x386, 2015-05-15_20-46-57.jpg)
82

>>56694
Вот так делай.

>> No.56696  

>>56695
Лол, и как твой ответ ему может помочь?

>>56694
Судя по всему, у тебя не поддерживаемый формат видео.

Попробуй для начала вот этот файл, с ним у меня работает: http://rghost.ru/6nrqp2MRX

label splashscreen:
$ renpy.movie_cutscene("Котоба.mpg")
return

http://www.renpy.org/doc/html/movie.html - вот тут перечислены поддерживаемые кодеки и контейнеры. Имей в виду, что контейнер != кодек, нужно следить и за тем и за другим при сжатии.

>> No.56697  

>>56696
Вот, спасибо. С котобой сработало, у моего видео кодек был не поддерживаемый.

>> No.56698  

Помогите дураку. Имеем код:
show sl normal pioneer with flash
тра-ла-ла
show sl laugh pioneer at center with dspr

В "тралала" ничего интересного - реплики, менюшки, условия, ни одного показа картинки и даже ни одного вызова питоновских функций. Так вот, вторая Славя - не отображается. Версия 1.2, никаких переопределений нет. В 1.1 всё работает отлично.

>> No.56704  
Файл: 1431774893143.jpg -(291 KB, 1280x1024, 1175.jpg)
291

Помогите! Кто может может мне помочь, что бы прям от самого начала? А то руки чешутся мод написать, а со всем этим я доооолго сам буду разбираться.

>> No.56705  

>>56704
Ещё один школомод с проёбанными характерами и орфографическими ошибками не нужен.

>> No.56706  

>>56704

>что бы прям от самого начала?

Урок 1. Базовые команды

>> No.56707  
Файл: 1431778971520.jpg -(31 KB, 500x375, 1417964654070.jpg)
31

>>56698
TLDR: Риточка зачем-то переопределила transform center и другие трансформы на что-то невменяемое в версии 1.2.

Такой код работает:

init:
$ mods["xxx"] = "xxx"
transform center_fix:
xalign 0.5
yalign 1.0
label xxx:
scene black
"Text 0"
show sl normal pioneer with flash
"Text 1"
show sl laugh pioneer at center_fix with dspr
"Text 2"

Более простой способ избежать проблем - всегда использовать at:

init:
$ mods["xxx"] = "xxx"
label xxx:
scene black
"Text 0"
show sl normal pioneer at center with flash
"Text 1"
show sl laugh pioneer at center with dspr
"Text 2"

Мне лень проверять, но есть вероятность, что некоторые спрайты из-за этого косяка не отображаются и в самой Ычан Эроге 1.2 тоже, не только в модах.

Баг легко воспроизводится если спрайт с одним и тем же тэгом отображается сначала без at-позиции, а потом с каким-нибудь говном, типа неправильно определённого center:

game_media.rpyc.txt:23:    transform center:
game_media.rpyc.txt-24- xalign 0.5
game_media.rpyc.txt-25- xanchor 0.5
game_media.rpyc.txt-26- yanchor 0.0
game_media.rpyc.txt-27-

При отображении без at-позиции yanchor и ypos выставляются в 1.0, нижний край экрана. А transform из говнокода 1.2 зачем-то меняет yanchor на верх картинки без смены ypos. В итоге ypos соответствует нижнему краю экрана, а yalign - верхнему краю картинки. И спрайт рисуется ниже низа экрана.

>> No.56756  
Файл: 1432033165365.jpg -(57 KB, 718x497, camping pix.jpg)
57

Я к главному кибернетику.
И еще вот недавно жаловались на конфликт с модом (Бесконечный Холод, кажется): http://pastebin.com/8Sk9Krm6 Вроде про ту же строчку, что и на скрине.

Поправил там что-то для не работавшего Картавого Лета:
{"in":ur'R', "out":u'g', "who":['me']}
=>
{"in":ur'R', "out":u'g'}

И еще
{"in":ur'R', "out":u'g'}
=>
{"in":ur'R', "out":u'G'}
Вряд ли этим испортил, но мало ли.

>>56707
У меня почему-то еще в at cright какой-то Бермудский треугольник. Одинаковые строчки показываются через раз.

>> No.56757  

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

>> No.56794  

>>56757
Так сложно скрыть единственный лолботовский тред? И не для всех программирование обязаловка, если ты не знал.

>> No.56832  
Файл: 1432463779757.jpg -(30 KB, 570x570, 1430.jpg)
30
  1. Я не школьник.
  2. Характеры получились не про#баные.
  3. Орфографических ошибок я стараюсь не допускать+ перепроверяю всё несколько раз.

Итог: Мод нужен.

>> No.56843  

>>56832
Что же ты так? Самому не стыдно? Если уж ты такой не потерянный, и грамотный, то почему ты сначала не удосужился загуглить? Столько самых разных гайдов существует по ренпаю с нуля, тем более, что в шапке уже лежат гайды. Создал тут, понимаете ли, пост, с лисой.

>> No.56845  

>>56448
Спасибо :з

>> No.56963  

>>56448
А кто-нибудь на ЯД перезаливает модики из воркшопа? А то в стиме аккаунта нет, качаю только моды с файлообменников. А многих модов нет в мод-паке.

>> No.56973  

Между делом, кто-нибудь следил за бородой, делавшим пересказ событий БЛ от имени Алисы? Куда он делся? Я дочитал до четвертого дня и все жду продолжения.

>> No.56981  

>>56973
Мод был дописан до 5 дня включительно и дропнут автором.

>> No.56982  

>>56757
Дык это ж ренпай, он для внок как раз. Вполне логично, что тут есть подобный тред. Спасибо, кстати Лолботу. Как он там, выздоровел? Мимосырна

>> No.56985  
>56982

Половина сидящих в этом треде не вкурсе, что Лолбота недавно оперировали. И наверно есть такие, которые даже не знают кто это.

>> No.56986  

>>56985
Но ведь и хорошо, что не в курсе? С точки зрения Лолбота, хотя бы.
Здоровья ему.

>> No.56997  

Помогите мне найти оригинальный сценарий к БЛ (именно в текстовой форме). гугл чет не ищет.

>> No.57009  
Файл: 1433799990240.jpg -(67 KB, 556x556, 14166805963380.jpg)
67

>>56963
Тебе инвайт в личку кинуть?

>> No.57015  
Файл: 1433850686156.png -(30 KB, 312x295, slowpoke.png)
30

label lesson1_task1:

#(вечером, на площади)
scene bg ext_square_sunset
#(играет спокойная музыка)
play music music_list["into_the_unknown"]
"Поужинав до отвала, я пошёл в свой домик, поспать."
th"Я вообще люблю спать после еды."
th"И есть после сна."
th"Хороший вечер сегодня: прохладный ветерок несёт по небу редкие облачка, стрёкот кузнечиков успокаивает и расслабляет."
#(появляется Алиса, взгляд нейтральный)
show dv normal pioneer
#(музыка напряжённая)
play music music_list["awakening_power"]
dv"Эй, Семён."
me"А?"
#(взгляд Алисы недобрый)
show dv angry pioneer
dv"С тебя должок, ты ведь не забыл?"
"Руки похолодели, в висках начало бешено стучать."
th"Что ещё за должок?!"
me"Д.. Должок? Помню-помню, как же."
th"Ааааа, что я делаю, ничерта ведь не помню"
return
>> No.57016  

label lesson1_task2:

play music music_list["a_promise_from_distant_days"]
scene bg black
th "Мне снова снился этот сон..."
scene bg int_house_of_mt_day
voice "Семен... Семен!"
th "Отмахнувшись рукой, я перевернулся на другой бок."
scene bg black
voice "Ну Семееееееен! Ну вставаааай"
th "Нехотя, я всё-таки открыл глаза."
scene bg int_house_of_mt_day
show us normal pioneer
"Передо мной стояла Ульяна"
me "Д.. Доброе утро. Чего тебе?"
return
>> No.57018  

label lesson1_task3:

play music music_list["a_promise_from_distant_days"]
scene bg black
th "Мне снова снился этот сон..."
scene bg int_house_of_mt_day
"Первые лучи солнца нестерпимо ударили по глазам сквозь веки."
scene bg black
"Я попытался выхватить ускользающий образ из своего сна и сильнее зажмурил глаза."
scene bg int_house_of_mt_day
"Но от этого только окончательно проснулся."
th "Интересно сколько сейчас времени."
th "Если завтрак уже прошел, то и вставать нет смысла."
"Я снова позволил себе отдаться сну."
scene bg black
"Какое-то время я лежал с закрытыми глазами, наслаждаясь тем состоянием, которое человек испытывает после пробуждения, когда не нужно никуда идти или что-то делать."
"И я бы долго так лежал, если бы не был выдернут из своей полудремы самым неприятным образом."
play music music_list["eat_some_trouble"]
"В лицо мне плюхнулось что-то мокрое и холодное."
scene bg int_house_of_mt_day
"Я тут же открыл глаза и краем глаза успел заметить лягушку, спрыгивающую с моей кровати."
"А за окном послышался сдавленный смех и быстро удаляющийся топот."
th "Только один человек во всем лагере мог такое сделать."
"Я вскочил с кровати и бросился к окну."
"Там уже никого не было. Только нижняя ветвь сирени покачивалась, выдавая направление отступления преступницы."
scene bg ext_house_of_mt_day
show mt surprise panama pioneer
"Я выскочил из домика, проскочив мимо ошалевшей Ольги Дмитриевны."
hide mt surprise panama pioneer
"Она что-то прокричала мне вслед, но слов я не разобрал."
"Я оббежал вокруг домика и попытался выйти на след Ульяны."
scene bg ext_square_day
"Мой путь пролегал сквозь площадь."
"Там было довольно много пионеров. Пока я бежал, все они указывали на меня пальцем и смеялись."
th "Да что с ними сегодня такое?"
scene bg ext_house_of_dv_day
"Я уже почти добежал до домика Ульяны, и тут до меня стала доходить причина всеобщего веселья."
"И тут же всплыли в памяти слова Ольги Дмитриевны, которые она мне прокричала."
"Семен! Где твои шорты?!"
"Я резко остановился. Меня словно громом поразило."
"Я посмотрел вниз на свои сбитые босые ноги."
"Кроме трусов на мне вообще ничего не было."
th "Что делать? Куда бежать?"
"Я огляделся по сторонам - пионеров вокруг не видно."
"Из-за двери домика Ульяны и Алисы, прямо перед которым я сейчас стоял, послышался знакомый смех."
"В этот раз Ульяна даже не пыталась его сдерживать."
"Чувства злости и стыда полностью отключили во мне способность соображать."
"Я просто стоял, с ненавистью уставившись на дверь, за которой скрывался мой враг."
"А за дверью смех уже превратился в истерику."
"Не знаю, сколько бы я так еще стоял, но из оцепенения меня вывели отдаленные голоса пионеров."
"Самих пионеров пока не было видно, но их голоса приближались."
"Своим укрытием я выбрал куст, который меня уже однажды спас от Алисы."
"Из-за угла появились пионеры и направились в мою сторону."
"Я вжался в землю и затаил дыхание."
"Пионеры прошли мимо моего укрытия и скрылись за поворотом."
th "Ну и что мне в таком виде теперь делать?"
show us grin pioneer
us "Как дела, Семен?"
"Ульяна стояла в дверях своего домика, пытаясь сдержать новый приступ смеха."
"Ее лицо было красным, а глаза мокрыми."
"Во мне снова начала закипать злость."
>> No.57019  

us "Чего не здрововаешься? Да я тебя вижу, можешь не прятаться там."

"Я осторожно выглянул из кустов и огляделся по сторонам."
th "Вроде никого."
me "Ну знаешь, Ульяна, всему есть предел."
show us surp1 pioneer
us "О чем ты говоришь?"
"Ульяна сделала наигранно-невинное лицо."
show us grin pioneer
us "Да ты не стой там в кустах, давай выходи сюда."
"Она отвернулась в сторону, чтобы не смотреть на меня и снова не рассмеяться."
"Я прикинул в уме расстояние до моего домика."
th "Я определенно не смогу добраться обратно, никем не замеченным."
th "Хуже всего в этой ситуации то, что мне сейчас придется просить ее о помощи."
show us grin pioneer
us "Ну так чего ты сюда пришел?"
me "Хотел пожелать тебе доброго утра."
"Я сказал это спокойным тоном, которого Ульяна от меня никак не ожидала."
show us laugh pioneer
"Она снова глянула на меня, стоящего в кустах, и закрыла лицо рукой, сотрясаясь от беззвучного смеха."
us "А ты чего ко мне без штанов пришел?"
"Я уже переставал злиться на нее, но все еще не знал, как обратиться к ней с просьбой."
show us smile pioneer
us "Ну ладно. Если тебе нечего больше сказать, то я пожалуй пойду."
"Она бросила на меня хитрый взгляд и сделала вид, что собирается уходить."
"Я окончательно сдался."
me "Ладно, Ульяна, ты же понимаешь, что я никуда в таком виде не могу уйти. Ты не могла бы..."
me "... принести мои шорты."
me "И остальную одежду."
us "А где ты ее забыл?"
me "Она лежит в моем домике. Пожалуйста, принеси ее мне, и я постараюсь забыть о твоей выходке."
show us surp1 pioneer
us "Какой еще выходке? Я ничего не делала!"
me "Ладно-ладно. Ты ничего не делала. Просто принеси мне мою одежду... Я сейчас замерзну."
show us grin pioneer
us "А что мне за это будет?"
"Я подавил глубокий вздох."
me "Принеси одежду, а там поговорим."
show us smile pioneer
"Ульяна все еще стояла на месте, делая вид, что обдумывает мои слова."
"Я уже был готов принять любые ее условия."
me "Ну что ты еще хочешь от меня?"
show us grin pioneer
us "Яяяяя... хочуууу..."
"Ее глаза мечтательно заблестели."
"Я затаил дыхание."
show us laugh pioneer
us "Чтобы ты стал моим слугой на неделю."
me "Забудь."
show us grin pioneer
us "На три дня."
me "Нет."
us "На сегодня."
me "Да не буду я твоим слугой!"
us "Да ладно тебе, я буду доброй хозяйкой, обещаю."
me "Уж лучше я без штанов пройдусь через весь лагерь."
show us angry pioneer
us "Ну и иди."
me "Ну и пойду."
us "Ну и иди."
me "Ну и пойду."
hide us angry pioneer
"Я развернулся и медленно пошел в сторону своего домика."
"Не прошел я и нескольких метров, как Ульяна окликнула меня."
us "Ну ладно, схожу я за твоей одеждой."
"Я уже испытал за это утро столько эмоций, что просто принял помощь моего недавнего врага как факт и не стал задумываться о ее мотивах."
show us smile pioneer
"Я так же медленно вернулся назад."
me "Я буду ждать тебя здесь."
show us surp1 pioneer
us "Что, прямо в таком виде?"
show us laugh2 pioneer
"Ульяна снова залилась смехом."
me "Мне уже все равно."
show us grin pioneer
us "А если тебя Ольга Дмитриевна увидит?"
me "..."
show us smile pioneer
us "Спрячься тогда в нашем с Алисой домике. Я сейчас быстро сбегаю."
me "Спасибо."
"Ульяна открыла дверь ее домика, и я послушно туда зашел."
scene bg int_house_of_dv_day
th "Прекрасное начало дня..."
return
>> No.57025  

>>56997
Используй
https://raw.githubusercontent.com/lolbot-iichan/decompile.rpy/master/decompile.rpy

>> No.57041  

label lesson2_task1:

play music music_list["a_promise_from_distant_days"] fadein 1
scene bg black
th "Мне снова снился этот сон..."
scene bg int_house_of_mt_day with flash
"Первые лучи солнца нестерпимо ударили по глазам сквозь веки."
show blink
"Я попытался выхватить ускользающий образ из своего сна и сильнее зажмурил глаза."
scene bg int_house_of_mt_day
show unblink
"Но от этого только окончательно проснулся."
th "Интересно сколько сейчас времени."
th "Если завтрак уже прошел, то и вставать нет смысла."
"Я снова позволил себе отдаться сну."
show blink
"Какое-то время я лежал с закрытыми глазами, наслаждаясь тем состоянием, которое человек испытывает после пробуждения, когда не нужно никуда идти или что-то делать."
"И я бы долго так лежал, если бы не был выдернут из своей полудремы самым неприятным образом."
play music music_list["eat_some_trouble"]
"В лицо мне плюхнулось что-то мокрое и холодное."
scene bg int_house_of_mt_day with dspr
"Я тут же открыл глаза и краем глаза успел заметить лягушку, спрыгивающую с моей кровати."
"А за окном послышался сдавленный смех и быстро удаляющийся топот."
th "Только один человек во всем лагере мог такое сделать."
"Я вскочил с кровати и бросился к окну."
"Там уже никого не было. Только нижняя ветвь сирени покачивалась, выдавая направление отступления преступницы."
scene bg ext_house_of_mt_day with dspr
play ambience ambience_camp_center_day fadein 1
show mt surprise panama pioneer
"Я выскочил из домика, проскочив мимо ошалевшей Ольги Дмитриевны."
hide mt surprise panama pioneer
"Она что-то прокричала мне вслед, но слов я не разобрал."
"Я оббежал вокруг домика и попытался выйти на след Ульяны."
scene bg ext_square_day with dspr
"Мой путь пролегал сквозь площадь."
"Там было довольно много пионеров. Пока я бежал, все они указывали на меня пальцем и смеялись."
th "Да что с ними сегодня такое?"
scene bg ext_house_of_dv_day with dspr
"Я уже почти добежал до домика Ульяны, и тут до меня стала доходить причина всеобщего веселья."
"И тут же всплыли в памяти слова Ольги Дмитриевны, которые она мне прокричала."
"Семен! Где твои шорты?!"
"Я резко остановился. Меня словно громом поразило."
"Я посмотрел вниз на свои сбитые босые ноги."
"Кроме трусов на мне вообще ничего не было."
th "Что делать? Куда бежать?"
"Я огляделся по сторонам - пионеров вокруг не видно."
"Из-за двери домика Ульяны и Алисы, прямо перед которым я сейчас стоял, послышался знакомый смех."
"В этот раз Ульяна даже не пыталась его сдерживать."
"Чувства злости и стыда полностью отключили во мне способность соображать."
"Я просто стоял, с ненавистью уставившись на дверь, за которой скрывался мой враг."
"А за дверью смех уже превратился в истерику."
"Не знаю, сколько бы я так еще стоял, но из оцепенения меня вывели отдаленные голоса пионеров."
"Самих пионеров пока не было видно, но их голоса приближались."
"Своим укрытием я выбрал куст, который меня уже однажды спас от Алисы."
"Из-за угла появились пионеры и направились в мою сторону."
"Я вжался в землю и затаил дыхание."
"Пионеры прошли мимо моего укрытия и скрылись за поворотом."
th "Ну и что мне в таком виде теперь делать?"
show us grin pioneer far with dspr
us "Как дела, Семен?"
"Ульяна стояла в дверях своего домика, пытаясь сдержать новый приступ смеха."
"Ее лицо было красным, а глаза мокрыми."
"Во мне снова начала закипать злость."
us "Чего не здрововаешься? Да я тебя вижу, можешь не прятаться там."
"Я осторожно выглянул из кустов и огляделся по сторонам."
th "Вроде никого."
me "Ну знаешь, Ульяна, всему есть предел."
show us surp1 pioneer far with dspr
us "О чем ты говоришь?"
"Ульяна сделала наигранно-невинное лицо."
show us grin pioneer far with dspr
us "Да ты не стой там в кустах, давай выходи сюда."
"Она отвернулась в сторону, чтобы не смотреть на меня и снова не рассмеяться."
"Я прикинул в уме расстояние до моего домика."
th "Я определенно не смогу добраться обратно, никем не замеченным."
th "Хуже всего в этой ситуации то, что мне сейчас придется просить ее о помощи."
"Ульяна приблизилась к моему укрытию."
>> No.57042  
show us grin pioneer with dspr 
us "Ну так чего ты сюда пришел?"
me "Хотел пожелать тебе доброго утра."
"Я сказал это спокойным тоном, которого Ульяна от меня никак не ожидала."
show us laugh pioneer with dspr
"Она снова глянула на меня, стоящего в кустах, и закрыла лицо рукой, сотрясаясь от беззвучного смеха."
us "А ты чего ко мне без штанов пришел?"
"Я уже переставал злиться на нее, но все еще не знал, как обратиться к ней с просьбой."
show us smile pioneer with dspr
us "Ну ладно. Если тебе нечего больше сказать, то я пожалуй пойду."
"Она бросила на меня хитрый взгляд и сделала вид, что собирается уходить."
"Я окончательно сдался."
me "Ладно, Ульяна, ты же понимаешь, что я никуда в таком виде не могу уйти. Ты не могла бы...{w} принести мои шорты."
me "И остальную одежду."
us "А где ты ее забыл?"
me "Она лежит в моем домике. Пожалуйста, принеси ее мне, и я постараюсь забыть о твоей выходке."
show us surp1 pioneer with dspr
us "Какой еще выходке? Я ничего не делала!"
me "Ладно-ладно. Ты ничего не делала. Просто принеси мне мою одежду... Я сейчас замерзну."
show us grin pioneer with dspr
us "А что мне за это будет?"
"Я подавил глубокий вздох."
me "Принеси одежду, а там поговорим."
show us smile pioneer with dspr
"Ульяна все еще стояла на месте, делая вид, что обдумывает мои слова."
"Я уже был готов принять любые ее условия."
me "Ну что ты еще хочешь от меня?"
show us grin pioneer with dspr
us "Яяяяя... хочуууу..."
"Ее глаза мечтательно заблестели."
"Я затаил дыхание."
show us laugh pioneer with dspr
us "Чтобы ты стал моим слугой на неделю."
me "Забудь."
show us grin pioneer with dspr
us "На три дня."
me "Нет."
us "На сегодня."
me "Да не буду я твоим слугой!"
us "Да ладно тебе, я буду доброй хозяйкой, обещаю."
me "Уж лучше я без штанов пройдусь через весь лагерь."
show us angry pioneer with dspr
us "Ну и иди."
me "Ну и пойду."
us "Ну и иди."
me "Ну и пойду."
hide us angry pioneer with dspr
"Я развернулся и медленно пошел в сторону своего домика."
"Не прошел я и нескольких метров, как Ульяна окликнула меня."
us "Ну ладно, схожу я за твоей одеждой."
"Я уже испытал за это утро столько эмоций, что просто принял помощь моего недавнего врага как факт и не стал задумываться о ее мотивах."
show us smile pioneer with dspr
"Я так же медленно вернулся назад."
me "Я буду ждать тебя здесь."
show us surp1 pioneer with dspr
us "Что, прямо в таком виде?"
show us laugh2 pioneer with dspr
"Ульяна снова залилась смехом."
me "Мне уже все равно."
show us grin pioneer with dspr
us "А если тебя Ольга Дмитриевна увидит?"
me "..."
show us smile pioneer with dspr
us "Спрячься тогда в нашем с Алисой домике. Я сейчас быстро сбегаю."
me "Спасибо."
"Ульяна открыла дверь ее домика, и я послушно туда зашел."
scene bg int_house_of_dv_day with dspr
th "Прекрасное начало дня..."
return
>> No.57043  

label lesson2_task2:

play music music_list["so_good_to_be_careless"]
scene bg ext_square_night_party
scene cg d3_disco with flash
"На площади было многолюдно. Казалось, здесь собрался весь лагерь."
"Моя физическая форма оставляла желать лучшего, и после нескольких танцев я выдохся."
th "Пойду прогуляюсь и отдышусь."
stop music fadeout 2
scene bg black
"Я пошёл на пляж."
scene bg ext_beach_night
play ambience ambience_lake_shore_night fadein 2
"На пляже никого не было."
"Я сидел и слушал шум волн."
show blink
"Монотонный звук усыплял, и я решил закрыть глаза..."
"..."
"Возможно, я задремал, потому что следующие события застали меня врасплох."
voice "Семен... Семен... Сейчас будет белый танец... Вот я и подумала..."
hide blink
show un shy dress
show unblink
me "Хм?"
return
>> No.57423  
Файл: 1436525995469.jpg -(32 KB, 480x360, krasivoe_plamya-3290.jpg)
32

Провести бы маленькую ревизию на кладбище несбывшихся надежд.
Какая судьба постигла различные моды из Мод-пака?
Список составлялся наскоро и стопроцентно ужасен. Вырезаны работы Лолбота и домашние задания - с ними все ясно.
И Саманта тоже, лол.

Алиса-мод.
Забытый Пионер
Бесконечное ololo 1.2
Драйв
Пионеры приглашаются на завтрак. Приятного аппетита!
Русалье озеро
IIchan eroge: Автобус открывает двери
Ещё один день
Переход на конкретный рут
20 лет совместной жизни
Ульянка появилась передо мной.
Где мои семнадцать лет?
С добрым утром, буквоед!
Внеочередные приключения Шурика
Пять дней старого сценариста" — перенос демо-версии 2009 года.
Изысканный труп"
Плохослышащий Семён" — бедная %ена.
Сценка 08"
sadf123"
Лена-мод. Демо"
Лена-мод. Второе демо"
Новая концовка Алисы"
Саманта"
Чай с тортом"
Рита-рут
Семён в Ленамоде
anonepiloguemk2
Приключения Риты Тайнаковой в Совенке
Бесконечное лето 3
Назад в детство (Юльяна-мод)
Совёнок в тумане
«7 дней лета»
bus test
Alisa_new
"Восьмой день недели"
"Выйти за рамки"
Хентай с Ульяной
"Двое в автобусе"
"Дни с Леной"

>> No.57439  

>>57423
По меньшей мере половина перечисленного являют собой небольшие зарисовки, не требующие продолжения.

Хотя часть и правда оборвалась на середине и жаль, если их бросили. Интересна судьба Драйва и Ленамода. Ну, и есть ли какие-то прогнозы по тому, сколько ещё будет Саманта-мод развиваться, хочется в финальную версию сыграть, а не кушать dlc пачками, как современные геймеры.

>> No.57444  
Файл: 1436631729261.png -(175 KB, 702x452, kiss_199kb.1436376854[1].png)
175

>>57439

>Ну, и есть ли какие-то прогнозы по тому, сколько ещё будет Саманта-мод развиваться

2 части осталось - концовки Алисы и Саманты. Одну где-нибудь через месяц выпустим (апдейт был только позавчера), насчет второй не знаю. И можно ли это будет финальной-разфинальной версией звать. Всегда будет, что улучшить.

>> No.57451  

>>57444
Я правильно понял, что через месяц будет концовка Алисы, а концовка Саманты в моде Саманты до сих пор под вопросом, лол?

>> No.57452  

>>57451
Сроки под вопросом.

>> No.57460  

>>57439
Кажется, Драйв заброшен. Автор внезапно разлюбил свое творение.
Леномод... кто-то может о нем что-то сказать?
Не считая того, что мод, о котором столько ничего не слышно, почти стопроцентно мертв

>> No.57525  

>>57460
Драйв мертв. Мертв с февраля 14-го года, когда автор фанфика сказал, что его задолбало, у него больше не стоит, и дописывать он не будет.

>> No.57529  
Файл: 1437077488237.png -(354 KB, 638x486, оригинальный моддинг.png)
354

>>57525
Жаль, мне лично он понравился.
Сейчас-то в модах уже души нет...

>> No.57564  
Файл: 1437339048781.png -(238 KB, 400x400, 14355276969380.png)
238

>>57529

> смотрит стимомоды
> ищет душу
>> No.57565  

>>57564
А ты постишь тоху и пишешь зелёным цветом. Ещё неизвестно, кто из вас хуже.

>> No.57579  
Файл: 1437550623909.jpg -(187 KB, 470x560, front.jpg)
187

Woooooh! Очередное интервью со мной:
вк/moonworks?w=wall-82978169_7296

>> No.57580  
Файл: 1437569242043.jpg -(24 KB, 618x578, 1149375339470.jpg)
24

>>57579
Хм~.
А знаете, что? Раз уж и интервью занимаются куда более известные, публичные и заточенные под это дело инстанции, то я, пожалуй, таки оффициально(тм) закрою «Новостную ленту мододела». Нечего людей смущать своей бесконечной заморозкой и непрофессиональностью.
Возьмите только у Ирабу интервью за меня, там интересно должно быть. В том числе по логотипам. Ежели ещё не взяли.
Было весело, но в нонешнем развитии событий у меня интереса нет.

>> No.57581  

>>57580
Спасибо за работу, интересно было читать. Ну а сейчас она и в меньшей степени нужна, наверное.
А подход был более профессиональным, чем оно того заслуживало.
>>57579
Сюда тоже спасибо.

>> No.57585  
Файл: 1437613935560.png -(101 KB, 275x590, 1431054157975.png)
101

>>57580
Знаете, иногда мне жалко, что никого так и не торкнуло взять у меня интервью на тему эрогеев. Не ради пеара, а чтобы где-то был кладезь моей официальной точки зрения, на который я могу ссылаться потом.
Теперь из-за вас людишки никогда не узнают правду℠.

>> No.57586  

>>57585
Мимо этого предложения я пройти не могу.

>> No.57587  

>>57580

>куда более известные, публичные

А это важно? У тебя хоть набор вопросов был цельный, продуманный и интересный. Читалось как беседа за чашкой чая, а не как пресс-конференция о выпуске RenPy.

>заточенные под это дело инстанции

Я тебя умоляю. Стенка с новостями никак не заточена ни под интервью, ни под публикации чего-либо длинного и/или с разметкой. Не говоря уж о том, что с остальными интервью хоть pdf останется, а это не гуглится и даже в веб архив не попадёт. Ещё пример: как мне, например, узнать, у кого уже взяли интервью, а у кого ещё нет?

Ну и самое главное - эрогеи возьмут интервью друг у друга и успокоются. Если тебе так важно не повторяться, то охоться за теми, кто за бортом Мунворкса. Возьми интервью у Сорка, Соуса, Абцб, Конеко. Возьми интервью у допильщиков, у Олега, у автора Саманты, ну?

>> No.57588  
Файл: 1437659757276.png -(11 KB, 384x384, 1151936108249.png)
11

>>57587
Важно то, что у меня пропал интерес к событиям, и, раз уж новости и интервью — единственное, ради чего прожект жил — теперь покрываются другими людьми, то у меня развязаны руки.

>Стенка с новостями никак не заточена ни под интервью, ни под публикации чего-либо длинного и/или с разметкой

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

>Возьми интервью у Сорка, Соуса, Абцб, Конеко. Возьми интервью у допильщиков, у Олега, у автора Саманты, ну?

Никогда не входили в список потенциально опрашиваемых. Меня гораздо больше интересовала история проекта от участников проекта, их вклад и мнение, да что будет дальше, чем истории (не)успеха вообще всех подряд, что когда-либо был во всём этом замешан.

С другой стороны, никто не мешает мне пособирать интервью, буде мне что-то неясно или не устроит, но я не оставляю никаких гарантий, да и никакого отношения к «Новостной ленте мододела» это иметь не будет. Её я разве перепечатаю, и хватит.

>> No.57589  

Такой вопрос, а возможно ли с нуля запилить вн-ку на планшете не прибегая к помощи ПК?

>> No.57590  
Файл: 1437672640047.jpg -(411 KB, 618x1200, 49967256_p2_master1200.jpg)
411

>>57588

>Стенка разработчиков гораздо больше подходит под взятие интервью у разработчиков

Проблема всех «официальных интервью» в том, что они чаще всего сводятся к слащавому пересказу банальностей. Нет никакой журналистской жилки вытянуть что-нибудь интересное, только тряска за позитивный имидж.

>участников проекта

Некоторые «участники» от «неучастников» отличаются только тем, что досидели на канале до выпуска. А иные и вовсе только после него всплыли обратно.

>> No.57591  

>>57589
Если у тебя на андроидном планшете есть текстовый, графический и музыкальный редакторы, а также файловый менеджер, то в теории все входящие в игру файлы можно создать на планшете.

Не знаю как сейчас, но раньше в Маркете была сборка RenPy, которая могла запускать игры из исходников, россыпью валяющихся на sd-карте. Так что создать игру и запусть её опять же можно.

А вот насчёт изготовления apk - не уверен. Не пробовал их печь даже на компе-то, что уж говорить про андроиды.

На iOS всё проще - там нельзя.

>> No.57594  

>>57591
Ну то есть с набором из FruityLoops (музыка), FileExpert (менеджер), Office Suite (текстовый редактор) и кучей рисовалок это реально?

>> No.57595  

>>57590

Так там все вопросы участники паблика задают. Это даже не интервью по сути.

>> No.57596  

>>57595
Пресс-конференция, по сути. По мне так не очень удачный формат.

>> No.57597  

>>57594

>Ну то есть с набором из FruityLoops (музыка), FileExpert (менеджер), Office Suite (текстовый редактор) и кучей рисовалок это реально?

Вечером или завтра попробую и скажу точнее.

>> No.57633  

>>57591
Если предварительно запилить онлайн-редактор или хотя бы сборщик всего этого дела в ipa/apk - то можно и там и там. Как вариант, собирать только ресурсы, но сделать предварительно запускалку, ресурсы синхронизировать через дропбокс, в финальной версии качать в фоне с оффсайта. Последний вариант мы даже используем в дебажной версии: удобно поправить прямо в дропбоксе какой-нибудь шейдер не пересобирая ресурсы.

>> No.57665  
Файл: 1438173191349.jpg -(170 KB, 800x600, 14381664079910.jpg)
170

Будьте добры, дайте ссыль на пошаговые уроки по ренпаю и с сразу свалю. Спасибо.

>> No.57672  

>>57665
В шапке треда же пять уроков.

>> No.57673  

>>57460
А что с True Summer за авторством Смолева и abcb? Опять забросили?

>> No.57677  

Тред не читал, но вопрос задам.

Кто-нибудь пробует выдрать графику - фоны и спрайты - из японских игр годв 90-х, выходивших на PC или японских персоналках семейства PC-98 и на основе этого сооружать какие-то свои фэнские поделия на основе RenPy (или подобного) со своим сюжетом и диалогами?

>> No.57684  

>>57677
Едва ли много кто таким занимается.

Попробуй скачать такую софтину как AnimED от WinKiller Studio. Оно умеет декодировать ресурсные файлы от полусотни вн-движков. Вдруг повезёт.

Ещё можешь выложить ресурсники сюда, я постараюсь взглянуть на них на досуге (но ничего не обещаю).

>> No.57697  

>>57673
Никаких новостей уже больше года. Сам как думаешь?

Хотя я тоже очень ждал этого проекта в своё время.

>> No.57698  

Бляжь заебался искать, скиньте кто нибудь плашку диалога (диалоговое окошко) в пнг. с меня тонны нефти.

>> No.57702  

>>57698
Она сборная же из нескольких слоёв. Тебе что именно нужно?

>> No.57704  

>>57702
Всё, но если есть одной пнг картинкой, то лучше так.

>> No.57705  

>>57704
Не, только россыпуха есть. Распакуй ресурсы ( https://raw.githubusercontent.com/lolbot-iichan/decompile.rpy/master/depack.rpy ) и возьми из "unpacked/game/images/gui/dialogue_box/day" дневную рамочку, из night ночную и так далее.

>> No.57714  

http://iichan-eroge.blogspot.ru/2015/07/2chance-projects.html
Модпакъь с удобненьким инсталлятором и версией 1.1 в комплекте. Я думаю, теперь версия уже скоро как годичной давности из ОП-поста никому не нужна?

>Скачан: 16373 раза
>Cсылка просмотрена: 25257 раз
>> No.57718  

>>57714
Я бы не доверял составление модпака человеку, который воюет с половиной модов.

>> No.57719  

>>57718
Я бы не доверял составление модпака человеку. Но разве у нас есть выбор из нескольких модпаков?

>> No.57720  

>>57719
Боюсь, выбора нет вообще. Петя сделает свой модпак, со своим модом, но без Васиного, Вася сделает свой, а победит лучший пиар.
Я бы предпочел сохранить доброе имя модпака, оставить его в старом состоянии. Главное в нём, наверное, небольшие редкие моды, которые без него бы просто пропали. Вот в Красную книгу заносить теперь особо и нечего. Предложенный толще прежнего в 2 раза, и всё за счет популярных стимовских модов, которые о размере и не заботятся.

>> No.57731  

>>57720
В таком случае ждём релиз от R.G.Механики. Если у игры есть несколько репаков, то я всегда качаю их, лол.

>> No.57950  
Файл: 1440411745431.jpg -(122 KB, 1027x712, 34524.jpg)
122

Хозяин, я принёс дурные вести.
Пионеры не говорят абсурд, лето больше не голое, Алиса не учит игре на гитаре.
Солнце воркшопа закатилось.

>Soviet Games
>Я выпилил, потому что оно крашило игру, ибо несовместимо с последними версиями ренпая.
>> No.57951  

>>57950
А зачем последние версии ренпая?
Well, whatewuh.

>> No.57952  

>>57950
Хороший повод посмотреть, что же там в новом движке поменялось. Ради чего обновление-то?

А ещё хороший повод посмотреть, что ещё могло развалиться. Интересно, decompile и depack работают?..

>> No.57954  

>>57952

>Интересно, decompile и depack работают?..

Обе работают, всё тут должно быть http://rghost.ru/7SjJKM7NX
А с апдейтом дело тёмное.

>> No.57955  

>>57950
А есть мод для карточной игры и ничего больше?

>> No.57956  

>>57954

>config.version = "1.2"

Лол.

>> No.57957  

>>57955
Теперь есть. Лови: https://raw.githubusercontent.com/lolbot-iichan/lb_iichan_eroge_mods/master/mods/lb_cardgame/lb_cardgame.rpy

>> No.57959  

>>57957
Спасибо!

>> No.57988  

Здравствуйте, уважаемые Сэйбы и Лолбот, если ты, конечно, тут бываешь. Вопрос, может быть, и дурацкий, но - есть ли возможность полностью заглушать правый, левый или основной каналы в стереодорожке, без использования стороннего программного обеспечения? В гипотетическом примере у меня есть звуки шагов, а необходимо создать звуковую картинку, как будто кто-то шумит слева от читателя, потом перед ним и уходит вправо.

>> No.57992  

>>57988
Я бы попробовал http://www.renpy.org/doc/html/audio.html#renpy.music.set_pan

>> No.57997  

>>57992
Подтверждаю работоспособность set_pan.

Для тестирования того, что всё работает как надо, удобно воспользоваться следующим mp3-файлом: http://rghost.ru/8NPfwgQBB он издаёт звук сначала на одном канале, потом на другом, потом стерео. Если set_pan настроить на бок, то вместо трёх звуков услышишь два.

>> No.58007  

>>57950
А что конкретно не работает-то?

Я попробовал взять https://github.com/lolbot-iichan/lb_iichan_eroge_mods , подложил их в какую-то папку с Ычан Эроге 1.2 , запустил с http://www.renpy.org/dl/6.99.5/ в качестве движка, всё стартануло.

>> No.58013  

А как-то можно задавать переменную навсегда? Чтобы она запоминалась и при последующем запуске оставалась такой же как в последний раз, независимо от того начали игру заного или загрузили сохранения?

>> No.58014  

>>58013
Можно. Для этого назови переменную не name, а persistent.name
Перед первым обращением эта переменная уже как будто существует и равна None.

Поэтому, если это, например, счётчик, то надо его на init-фазе инициализировать:

init python:
if persistent.some_counter is None:
persistent.some_counter = 0
>> No.58017  

>>58014
Спасибо, буду знать! Спросил, потому что по другому не придумал как можно отмечать моды которые уже прошел. Чисто для своего удобства.

>> No.58019  

>>57718
Это с какими же?

>> No.58020  

>>58019
Насколько я понял - со всеми, кто выходит только в Стиме.

>> No.58021  
Файл: 1441095927436.jpg -(116 KB, 771x903, 2.jpg)
116

>>58007
Ну вот приложенная ошибка осталась висеть, если она относится.
А так - на модпак если и жаловались, то обычно на глюки с сейвами мини-редактора, это решалось.
Могу спросить еще раз.

>> No.58022  
Файл: 1441099979984.png -(813 KB, 1920x1080, screenshot0001.png)
813

>>58021
Тут одно из двух, либо текущая версия 1.2 опять отличается кодом от тех двух версий 1.2, что у меня есть, либо оно конфликтует с чем-то из того rpy-hell'а, который в итоге получился у сообщества. Возможно, и то и другое, потому как renpy 6.99 не дружил со screens.rpyc версии 1.2, пока я не подменил do_done(), а после этого всё заработало.

В общем, нужна конкретная сборка 1.2 и конкретный сценарий, на котором оно не работает.

>> No.58023  
Файл: 1441100825865.jpg -(1233 KB, 1920x1080, screenshot0004.jpg)
1233

Ыыыыы

>> No.58032  

Только знакомлюсь с Ренмпаем, но уже появился один вопрос касательно веток сюжета.
Не знаю, смогу ли я правильно его донести, надеюсь что будет максимально понятно. Как вы реализуете это?
Например, есть одно меню:

menu:
"Куда идем?"
"Налево":
"Я пошел налево"
jump move_left
"Направо":
"Я пошел направо"
jump move_right
"Остаться":
"Я решил остаться"
pass

Следом, идут сами лейблы move_left и move_right
Допустим, если выбираю "налево" то после лейбла move_left сразу же начинается move_right, т.к он идет следом за ним.
Я, конечно же понимаю как это реализовать в глобальном плане. Но, возможно есть какие то секреты которые помогут сделать это немного удобнее?

>> No.58033  

>>58032
Ты имеешь в виду, что не очень удобно читать плоский текст, в котором move_left и move_right идут подряд, при том что в одном прохождении игры по факту не участвуют?

>> No.58034  

>>58032
Или ты про то, что такой код работает неожиданным образом:

label move_left:
"Я слева"
label move_right:
"Я справа"

?

>> No.58037  

>>58034
>>58033
Я про то, как проще разбивать разветвление сюжета.
Например, если я пойду направо, меня перекидывает на блок move_right, т.е сразу же после этого сюжетного витка, я должен дописать так же блок move_left. А после этих блоков, снова сюжет, который собирается в один. Вообщем, я не мастер объяснений, не знаю донести. Просто интересует цепочка построения кода в отношении развилки сюжета.

>> No.58039  

>>58037
menu:

"Куда идем?"
"Налево":
"Я пошел налево"
jump move_left
"Направо":
"Я пошел направо"
jump move_right
"Остаться":
"Я решил остаться"
pass

label dont_move:

"Я решил остаться, и никуда не идти"
"Сел на скамейку и решил ждать обеда."
"Наконец-то раздался звук горна призывающий всех в столовую"
jump next_sujet

label move_left:

"Я решил пойти к Славе"
"Но я не успел. раздался звук горна призывающий всех в столовую."
jump next_sujet

label move_right:

"Схожу ка я к Лене"
me "Привет, Лена!"
un "Привет, ГГ"
"раздался звук горна призывающий всех в столовую"
un "Ну что кушать идем?"
me "Идем"
jump next_sujet

label next_sujet:

"В столовой было людно"
"..."

Как-то так, я думаю.

>> No.58040  

>>58039
Так я и думал. Спасибо.

>> No.58041  

>>58040
А можно вообще вместо jump move_left прописать все то что в этом блоке будет, а pass вообще не писать, а сразу label next_sujet прописать. Тогда и отследить что куда идет из чего следует будет сложнее. Ведь так?

>> No.58042  

>>58041
Ну в моём случае скорее придется прыгать на лэйбл, так как разветвление вернется к основному сюжету не так быстро, и я просто забуду куда я его писал, лол.

>> No.58045  

Какое разрешение юзать чтобы у всех нормально работало?

>> No.58047  

>>58045
Смотря что считать нормальной работой. Если ты борешься за отсутствие субпиксельных искажений, то делай сборку под каждое разрешение или одну, но под очень маленькое. А вообще, ренпи сам масштабирует слишком большие окошки, вписывая их в экран - разве что ресурсы компа будут жраться понапрасну, так что опять же слишком большое разрешение вроде 4K/UHD не имеет смысла. Разумнее всего выбрать что-то, что у большинства будет отображаться без искажений, и тут встаёт вопрос, а кто такие большинство.

Согласно http://store.steampowered.com/hwsurvey , среди людей играющих в игры, у 34.04% разрешение 1920x1080, у 27.08% - 1366x768, у 7.34% - 1600x900, остальные разрешения менее популярны.

Согласно http://gs.statcounter.com/#resolution-RU-monthly-201506-201508 , среди обладателей российских IP, пользующихся интернетом (включая виртуалки, офисные машины и ходящие наружу сервера), у 23.12% - 1366x768, у 17.76% - 1280х1024, у 17.68% - 1920х1080, остальные разрешения менее популярны.

Итого, логичнее всего рисовать в 1920х1080 или выше, а собирать сборку в 1366х768. Если графика крутая и за время разработки игры железо подтянется, то выпускаешь 1920х1080, если нет - оставляешь 1366х768.

>> No.58071  

Как поменять размер шрифтов?

>> No.58074  

>>58071
В конкретной фразе? Для конкретного персонажа? Глобально во всей игре? В отдельном моде или в стенд-элоун игре? Какую задачу ты решаешь?

>> No.58080  

>>58071
В фразе: "{size=15}Размер шрифта — 15{/size}" или "{size=+100}Размер шрифта — стандартный размер+100{/size}"
То же и с минусом.

>> No.58139  

В связи с событиями 11 сентября, предлагаю поступить так - если будет бамплимит в этом году, то переехать на http://owlchan.ru/mod/ или в http://410chan.org/dev/ , если не будет, то закрыть кружок 29 декабря 2015 года.

Кто что думает?

>> No.58140  
Файл: 1442021817379.jpg -(40 KB, 531x752, 1271284779287.jpg)
40

>>58139
Предлагаю не страдать ерундой и просто тихо слиться с единым разработка-тредом. Один чорт чего-то заточенного исключительно под БЛ тут давно не спрашивают.

>> No.58180  

Господа, такой у меня вопрос. Можно ли при узнать размер скрина? Конкретнее: скрина text. Например, когда создаешь через ui.text(etc) он возвращает значение — класс renpy.text.Text. Я посмотрел, он наследуется от Displayable, но метод get_placement не возвращает ничего полезного.

>> No.58269  

Мир вам пионЭры.
Помогите советом.
Я,значиться, делаю мод. В версии 1.1 и в Стиме.
Но появилась пара вопросов
1) В 1.1 приходится повторно заливать все ЦГ/БГ , а это как-то неправильно. Что вписать в код, чтобы загружались уже имеющиеся в игре картинки. Спрайты и музыка работают нормально
2) в 1.2 пропадают имена персонажей. Присвоение переменной имени или make_name_known не работают - вываливается ошибка

>> No.58270  

>>58269
Тебя на неназываче говном накормили — сюда пришёл? Денис, остановись.

>> No.58271  

>>58270
Кто, БЛЯТЬ, такой Денис?
И да, там мне подсказали таки, где я налажал.

>> No.58272  

>>52083
Вещь хорошая, но крашится.

>> No.58373  

Есть тут одна python-наработочка для облегчения портирования БЛ-модов на Андроид-версию. Правит координаты у Zoom() и pos(), может исправлять line endings, в планах есть автоправка путей. В самом файле и инструкция, и описание. Кому пригодится - на здоровье, отзывы, жалобы и предложения по поводу функционала или его реализации в коде - крайне приветствуются.
http://rghost.net/7TkPxGWJ5

>> No.58374  

>>58373
Спасибо, посмотрю. Было бы неплохо добавить ресайз пикч и настройку спрайтов.

>> No.58375  
Файл: 1443365587115.jpg -(86 KB, 600x337, 9tt7iy.jpg)
86

>>58373
Освой аргументы командной строки.

sys.argv[0] - имя твоего скрипта
sys.argv[1:] - переданные аргументы

Как вариант:

import sys
rpy_in = sys.argv[1] if len(sys.argv)>1 else "android-in.rpy"
>> No.58376  

О, уже даже ответы. Спасибо.
>>58374
Настройка спрайтов - типа im.Composite((900, 1080) в im.Composite((600, 720)? Резонно.
Ресайз пикч? В смысле собственно ужатие png и jpg из размера (например) 900х1080 в 600х720?
>>58375
Тоже резонно. Спасибо за рецепт! Я думал об аргументах, но подумалось, что большинство пользователей сидит на винде, будет запускать скрипт из GUI каким-нибудь дабл-кликом, и аргументы останутся примерно полностью не нужны, поэтому заюзал абстрактный подход. Но опцию таки добавлю.

>> No.58377  

>>58376

> Настройка спрайтов - типа im.Composite((900, 1080) в im.Composite((600, 720)? Резонно.
> Ресайз пикч? В смысле собственно ужатие png и jpg из размера (например) 900х1080 в 600х720?

Да. Может, в процессе порта новой версии 7дл, ещё чего вспомню. Да, ещё настройка imagemap.

>> No.58390  

>>58272

>Вещь хорошая, но крашится.

Подробнее, на какой сборке, с каким сообщением падает и так далее. На 1.1 и 1.2 всё работает.

>> No.58436  

>>58377
А что с imagemap? Что, где, как изменять? Надо бы хоть хороший пример тогда показать. Ни у кого в модах не видел imagemap, только в исходном screens.rpy.

>> No.58437  

>>58436
7дл, при выборе отыгрыша красивый экран с imagemap. Плюс, в 7дл есть две кастомные карты с >10 локациями, которые приходится переписывать руками.

>> No.58473  
Файл: 1444046096338.jpg -(572 KB, 1530x2048, 14281681340520.jpg)
572

Даже не знаю куда обратиться, поэтому пишу сюда.

Собственно у меня два довольно глупых вопроса:

  • Можно ли в ренпае каким-нибудь образом выдавать многостроковые реплики,
    ну или эмулировать это каким-нибудь образом?
  • Можно ли, например, в NTL режиме удалять одну реплику каким-нибудь образом,
    а остальные оставить на месте?
>> No.58474  

>>58473
Эм, что-то форматирование поехало, ну да ладно.

>> No.58475  

>>58473

> Можно ли в ренпае каким-нибудь образом выдавать многостроковые реплики,

ну или эмулировать это каким-нибудь образом?
\n — новая строка.

> Можно ли, например, в NTL режиме удалять одну реплику каким-нибудь образом,

а остальные оставить на месте?
Нет.

>> No.58476  
Файл: 1444059298410.png -(26 KB, 799x536, 1308854842001.png)
26

>>58475

Спасибо

>> No.58483  
Файл: 1444260391330.jpg -(125 KB, 612x612, 1443935821203.jpg)
125

>>58475

>Нет.

Ну как это нет, когда да?

$ nvl_list.pop()

Работает для непустого числа строк. Можно переписать аккуратнее, например на:

$ nvl_list = nvl_list[:-1]

Можно pop'ать конкретное сообщение по номеру. Возможностей уйма. Что нужно-то?

>> No.58484  

>>58483
А проверить размер тексотового блока в пикселях до отрисовки возможно?

>> No.58497  

>>58484
Пожалуйста, опиши для начала полный сценарий, чего тебе нужно. Возможно, тебе на самом деле не надо знать размер блока в пикселях.

>> No.58504  

>>58497
Я не та сейба, что спрашивала до этого. Но я хочу сделать автолистание нвл.
Собственно математически все просто. При добавлении сообщения в пул нвл_строк замеряем их высоту.
Если суммарная высота строк в пуле + высота новой строки > высоты окна, стираем строки в пуле и добавляем в него новую строку.
Иначе просто добавляем.
Не могу нарыть как посчитать высоту текстового блока с учетом всех стилей.

>> No.58508  

Можно ли показывать сцены и диалоги на некоторое время, чтобы сменялось автоматически? Делать видео не вариант - будет много места сжирать.
Можно ли забрать контроль у юзера?

>> No.58510  

>>58508
Показ текста без пропуска: $ renpy.say(who, what, interact = False)
Пауза без пропуска: $ renpy.pause(delay, interact = False)

>> No.58511  

>>58510
Спасибо за ответ. Все оказалось так очевидно.

>> No.58633  

Идиотский вопрос: как проверить наличие файла с определённым именем? После loadable вылетает без ошибок.

>> No.58636  

>>58633

>Идиотский вопрос: как проверить наличие файла с определённым именем?
if renpy.loadable('images/cg02.png'):
...
>После loadable вылетает без ошибок.

Покажи код и/или воспроизведи ошибку на пустом проекте и выложи zip.

>> No.58637  

>>58636
Почему-то после добавления renpy. вылетать перестало. Видимо, я совсем криворукий идиот. Зато теперь не вылетает, а просто не работает. Глаза замылились уже.
http://rghost.ru/92nmYCMQd

>> No.58638  

>>58637

def change(p):
p[2]+=1
if renpy.loadable('[p[0]][p[1]][p[0]][p[2]].png'):
pass
else:
p[2]=1
return p

А что ты вообще пытаешься сделать этой функцией?

Во-первых, не работает скорее всего потому, что renpy-подстановки в квадратных скобках скорее всего работают только в репликах и не работают в произвольном python-коде. В итоге, эта шняга всегда ищет на диске файл с именем '[p[0]][p[1]][p[0]][p[2]].png', очевидно, тебе нужно что-то другое.

Во-вторых, насколько мне известно, renpy.loadable ищет относительно тех путей, которые заданы для поиска, в твоём случае, относительно папки "game".

Если я правильно понимаю твою логику, то должно быть что-то в духе:

def change(p):
p[2]+=1
if renpy.loadable('images/'+p[0]+p[1]+p[0]+p[2]+'.png'):
pass
else:
p[2]=1
return p

Только я всё равно не понимаю, что должен делать этот код, учитывая, что файла 'images/s1s1.png' в архиве нет.

>> No.58639  

>>58638
Переименовал и так и отправил, чёрт... Суть в том, что у меня много файлов с такими однотипными названиями. В процессе работы их станет ещё больше. Мне нужно свободное, зацикленное переключение между картинками. Если убрать этот алгоритм проверки наличия с loadable, то игра просто вылетит, потому что попытается загрузить несуществующий файл.
Я потыкался немного, попытался сделать то, что не работало в прошлый раз - получилось, магия.
http://rghost.ru/7D8cpGCPl

>> No.58640  

>>58639

>получилось, магия.

В итоге, у тебя какие-то вопросы остались или разобрался?

>> No.58641  

>>58640
Разобрался, спасибо тебе. ~~

>> No.58652  

(Проблема с вордфильтром устранена.)

>> No.58653  
Файл: 1446806425904.png -(78 KB, 800x600, screenshot0006.png)
78

>>58641
Немножко советов:

  1. Вынеси формирование имени файла в отдельную функцию. Например:
    def image_path(p):

     return 'images/%s%s%s%s.png' % (p[0],p[1],p[0],p[2])

А потом уже проверяй renpy.loadable(image_path(p)) и показывай show expression image_path(s) at left. Так ты сможешь в будущем поддержать другой формат имён файла редактированием одной строки, а не правкой всего файла, это удобно и порождает меньше ошибок.

2. Связку if условие:-pass-else-код проще заменить на if not условие:-код, например:

    if not renpy.loadable(image_path(p)): 
p[2]=1

3. hide expression - практика не очень хорошая. В данном случае всё хорошо, но спокойнее работать с обычным hide-кодом, который просто hide спрайт, а не вычислять выражение заново. Для того, чтобы было что скрыть таким простым образом, нужно пользоваться связкой show expression код as спрайт at позиция при отображении. Например, так:

    show expression image_path(c) as tag_c at left
else:
hide tag_c

Если вдруг захочешь перекрашивать спрайты динамически, а не хранить N вариантов раскрасок в файлах, я могу рассказать, как это делается в генераторе https://youtu.be/fPbjaFnbyuI?t=2m19s, который тоже написан на renpy.

>> No.58654  

>>58652
(Спасибо за оперативность!)

>> No.58655  

>>58653
Первое и второе взял, спасибо. Насчёт as и перекрашивания я думал, но потом подзабыл как-то, потому что по-хорошему придётся разбивать картинки на элементы разных цветов, делать способ отрисовывать их группой и делать возможность перекрашивания каждого в отдельности. Хотя...
А как это там делается?

>> No.58657  
Файл: 1446849461031.png -(16 KB, 300x400, Qipao 1.T.dress.O.10.png)
16

>>58655
Там те слои, которые можно перекрашивать, хранятся в виде картинки в синих тонах. А она уже перекрашивается в соответствии с указанными Hue, Saturation, Brightness при помощи http://www.renpy.org/wiki/im.MatrixColor

Можно использовать что-то такое для перекраски слоя:

def image_path_color(p, hsb):
h,s,b = hsb
m = im.matrix.hue(h)*im.matrix.saturation(s)*im.matrix.brightness(b)
return im.MatrixColor(image_path(p),m)

Соответственно, что-то такое для его отрисовки:

show expression image_path_color(c, c_hsb) as tag_c at left

Hue меняется от 0.0 до 360.0, Saturation от 0.0 до 2.0, Brightness от -1.0 до 1.0. Как именно задавать hsb - на твоё усмотрение, можно перебирать какие-то удачные комбинации из списка, можно дать юзеру ползунки, а можно просто сделать кнопку генерации случайной расцветки:

'Цвет платья' if vb==1:
$c_hsb = (renpy.random.random()*360,renpy.random.random()*2,renpy.random.random()*0.2)
>> No.58658  

>>58657
Спасибо. Я вот посмотрел на matrix, почитал... Лень - великая сила, поэтому я потыкался немного в документацию и взял im.Recolor, в котором привычное любимое rgba. Теперь осталось с ползунками разобраться и по желанию подгружать шмотки по частям, чтобы для каждой части отдельно цвет выбирать.
http://rghost.ru/7gBGgVbFb

>> No.58760  

Вот я тут собрался обновить «Ren’py» с какой-то древней версии 2013 года, но потом услышал, что новые версии отсылают какую-то статистику, на что ругаются файрволлы и антивирусы.
Это правда?

>> No.58779  
Файл: 1447543479407.jpg -(22 KB, 921x606, 2bafbcb16b9b0508bfd1a6fe1897c97a.jpg)
22

Ребята, как в Рэнпае выводить анимации на экран через переменные?

Пишу show анимация
Работает

Пишу if анимация равно тру
Ничего не показывает, хоть и не ругается на скрипт.

>> No.58780  
Файл: 1447546672933.png -(102 KB, 854x446, 1415397200307.png)
102

>>58760

>Услышал

В интернетах? Исходники и release notes в открытом доступе.

>>58779

>Пишу if анимация равно тру

Как это вообще должно работать? Ты вообще понимаешь, что делаешь? Где, в конце концов, код?

>> No.58781  

>>58780

>Исходники и release notes в открытом доступе.

И все прямо такие-растакие кодеры, чтобы их читать и понимать.
Зачем отвечать, когда ответить нечего?

>> No.58784  

>>58781
Зачем спрашивать, когда не можешь даже чётко сформулировать свой вопрос или банально загуглить? Зачем ёрничать о знании кодинга, когда есть чейнджлог и ctrl+f? Зачем спрашивать о достоверости иформации на имиджборде? Зачем спрашивать достоверность информации не у того, кто её распространяет?
Нет, телеметрии нет, есть стимоинтеграция и андройдомаркетинтеграция по желанию. За ссылками - RTFM. Веришь?

>> No.58785  

>>58784
Я видел тезисы насчёт файрвола в разных источниках и в разное время, вот и пытаюсь выяснить, откуда они взялись.

>> No.58786  

>>58785
Внутри самого ренпая интернет-кода нет. Сторонние модули могут делать что угодно.
Без ссылок на те утверждения я ничего путного сказать не могу. Гуглинг ничего такого не показывает.

>> No.58787  

>>58786
Ок. Утверждения были на 4чане и даже здесь, но сейчас уже ничего не найти.
Дальше сам поковыряюсь.

>> No.58798  

>>58787
Всё, что я слышал на этот счёт - это то, что PyTom подумывал устроить Hardware Survey в 2011 году ( http://lemmasoft.renai.us/forums/viewtopic.php?f=32&t=10477 ), чтобы решить, пользуется ли кто-то ещё Маками на PowerPC. В итоге передумал и просто убрал поддержку.

Если у тебя есть другие сведения, не на уровне слухов, а на уровне ссылок, поделись, пожалуйста.

>> No.59537  

Няши, кто знает, как Ren'Py тянет перевод?
Если новеллу перевести, перевод будет в одном файле, и этот файл имеет приоритет перед оригинальными ресурсами? В оригинальных ресурсах каждая глава отдельным файлом.
Где об этом можно прочитать подробнее? Голова уже не варит. Гугл, обычно предлагает или утилиты для распаковки, или для перевода самого меню.

>> No.59538  

>>59537
Так распаковываешь файлы с главами и переводишь там текст, нет?

>> No.59544  

>>59538
Это понятно, но слишко эникейно. Ren'Py же поддерживает добавление локализаций без замены оригинальных ресурсов. Но я не понимаю, какая должна быть структура у этого файла с переводом, если главы отдельно, персонажи отдельно, и вообще все в разных файлах.

>> No.59545  

>>59544
Подозреваю, что он, поди, поддерживает именно, если автор оригинала не делал никаких ухищрений с размазыванием по сотне файлов. Впрочем, мне казалось, что там всякие лейблы и прочее глобально работают. Те же переходы между файлами работают через простой jump или как его там.

>> No.59546  

>>59544
https://www.renpy.org/doc/html/translation.html

>When the project scripts are available, translation files can be generated by opening the project in the Ren'Py Launcher, and choosing "Generate Translations". The launcher will prompt you for the name of the language to generate, and will then proceed to create or update the translation files.
>There will be one translation file created per game script file. The common.rpy file will also be created to contain translations of strings found in the common code.

Ты ведь даже не гуглил, не так ли?

>> No.59547  
Файл: 1458347305167.jpg -(24 KB, 448x545, 14069086553340.jpg)
24

>>59546
Я не знаю, как открыть чужой проект в Ren'Py. archive.rpa сначала надо чем-то распаковать?
decompile.rpy генерирует все в txt. С этого я начал и пришел к вам.
Сейчас нагуглил RPAExtractor, но у меня на это ума не хватает.

>> No.59550  

>>59547
И что, там нельзя потом тхт пересохранить в нужном формате?

>> No.59551  

>>59547
Лолботовский декомпилятор и разархиватор недоделан и устарел. Используй unrpyc для декомпиляции и rpatool для распаковки.

>> No.59582  

>>59551
Опаньки, а что конкретно не распаковывается и не декомпилируется?

>> No.59583  

Такой вопрос. Есть ли смысл обновлять ренпю с 6.13.8 до актуальной версии, если всякая там поддержка стимов и мобилок не нужна?

>> No.59584  

>>59583
Я пока что не обновляю. Работает - не трогай.



Удалить сообщение []
Пароль
[d | an-b-bro-fr-gf-hr-l-m-maid-med-mi-mu-ne-o-old_o-p-ph-r-s-sci-sp-t-tran-tv-w-x | bg-vg | au-mo-tr | a-aa-abe-azu-c-dn-fi-hau-jp-ls-ma-me-rm-sos-tan-to-vn | misc-tenma-vndev | dev-stat]
[Burichan] [Futaba] [Gurochan] [Tomorrow] - [Архив - Каталог - К доске] [Главная]