Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Any idea why this may be happening? I'm trying to transport one particular TWINE project - it did have a lot of javascript and stuff in it but... here's the traceback error

Traceback (most recent call last):

  File "twine_to_rpy\twine_to_rpy.py", line 465, in run

  File "twine_to_rpy\twine_to_rpy_model.py", line 209, in run

AttributeError: 'NoneType' object has no attribute 'encode'

It does work with other simpler projects without a lot of TWINE coding (Sugarcube - variables and the like) in it. Maybe it's because I have too many passages for it to parse or some weird code (JS) I should clean out before transferring? 

This tool is designed to write simple Ren'Py games in Twine (already written in Ren'Py language but using the passage jumps of Twine). It will not blanket transform any Twine game into a ready made Ren'Py VN. If you need this for a project I can take a look at the Twine html for testing, feel free to reach out to me at jbtuason/gmail. I have not tested it with any projects using JS.

(+1)

Ah, that does make sense. I had a TWINE game with 498 passages. LOL. No worries. :) It is a good program though. It does work with my simpler/shorter TWINE games.

omg I'm glad to hear that! I didn't have a wide range of tests outside of our own Twine/VN so that's cool to know.

I tend to think it was the JS code I had put in it - or at least that in combination with a *high* amount of Passages that the program had to try to transcribe. Looking at the output - the code that I managed to transcribe to .rpy file was fine, so I really think It was the amount of passages or the JS code. I had an array in the StoryInit Passage which could have made the program choke or something. 

Somehow I don't really think it's the amount of passages... looking at the code context the "Nonetype" error suggests to me that it's checking for passage content for a particular passage when it doesn't exist (I hadn't thought to check if it exists first... but I can add a validation for that in subsequent updates).

(+1)

Cool. If it helps you improve the program, then awesome :)