Go Back   The PokéCommunity Forums > Creative Discussions > Game Development > Pokémon Essentials

Notices
For all updates, view the main page.

Pokémon Essentials All questions and discussion about Pokémon Essentials, the Pokémon game kit for RPG Maker XP, go in here. Also contains links to the latest downloads and the Essentials Wiki.



Reply
Click here to go to the first staff post in this thread.  
Thread Tools
  #1    
Old December 24th, 2013 (10:15 AM).
Saving Raven's Avatar
Saving Raven
#BAMFPokemonNerd
 
Join Date: Mar 2011
Location: everywhere
Age: 20
Gender: Male
Nature: Sassy
Send a message via Skype™ to Saving Raven
I've tried doing a beta release of my game, but for some reason there is a problem with the encryption, where there are errors with choosing starters and with items, which seems like a problem with the PBS folder
I don't have problems when i do not encrypt it, is there a way to release a game without fear of your work being stolen? or something along those lines
__________________

~My Deviantart - Litharreon Wiki - Litharreon Game Download~

Reply With Quote
  #2    
Old December 24th, 2013 (10:30 AM).
Rayquaza.'s Avatar
Rayquaza.
Lead Dev in Pokémon Chaos
 
Join Date: Sep 2011
Location: United Kingdom
Age: 18
Gender: Male
Nature: Adamant
What kind of errors (specifically)?
I too have a problem with encryption as the PBS folder is never put in the encrypted archive, there are a couple of solutions I know of to stop your work from being stolen:
- put default graphics in it instead and save custom stuff for the full version.
- find the source of the problem and work around it by getting advice from experienced members.
__________________
Reply With Quote
  #3    
Old December 24th, 2013 (10:39 AM). Edited December 24th, 2013 by Saving Raven.
Saving Raven's Avatar
Saving Raven
#BAMFPokemonNerd
 
Join Date: Mar 2011
Location: everywhere
Age: 20
Gender: Male
Nature: Sassy
Send a message via Skype™ to Saving Raven
Quote originally posted by Rayquaza.:
What kind of errors (specifically)?
I too have a problem with encryption as the PBS folder is never put in the encrypted archive, there are a couple of solutions I know of to stop your work from being stolen:
- put default graphics in it instead and save custom stuff for the full version.
- find the source of the problem and work around it by getting advice from experienced members.
well when at the beginning you're given a few items, but when you chck your bag, there are no itms, and when you try to withdraw an item from the PC it shows the picture of the item "potion" but does no have the name of it in the list, it is blank, and still counts it (x1) and if you try to withdraw it it says "you bag is full" or something, and you cannot withdraw it


when you try to obtain a pokemon it gives this error


which seems to be caused by the fact the pbs folder is not in the encrypted archive as you mentioned
is there a way to have an installation thing that packs it all up and lets the user see and use only the game application? or something like that, I think ive seen others do it before...
__________________

~My Deviantart - Litharreon Wiki - Litharreon Game Download~

Reply With Quote
  #4    
Old December 24th, 2013 (12:20 PM).
Rayquaza.'s Avatar
Rayquaza.
Lead Dev in Pokémon Chaos
 
Join Date: Sep 2011
Location: United Kingdom
Age: 18
Gender: Male
Nature: Adamant
As far as I know there is no other way to encrypt absolutely everything. The Audio and PBS folders are always left out of the encrypted archive. Unless you get some external encryption which is worse because its free and not the same format (not written in RGSS/Ruby).
As for the script error I'm unsure of the cause but it is intriguing as to why it is happening. I'm sure this isn't the problem but do you have all the necessary libraries included when you encrypt it and extract it as a separate folder? By libraries I mean "RGSS104E.dll" and "rubyscreen.dll".
__________________
Reply With Quote
  #5    
Old December 24th, 2013 (12:28 PM).
Saving Raven's Avatar
Saving Raven
#BAMFPokemonNerd
 
Join Date: Mar 2011
Location: everywhere
Age: 20
Gender: Male
Nature: Sassy
Send a message via Skype™ to Saving Raven
Quote originally posted by Rayquaza.:
As far as I know there is no other way to encrypt absolutely everything. The Audio and PBS folders are always left out of the encrypted archive. Unless you get some external encryption which is worse because its free and not the same format (not written in RGSS/Ruby).
As for the script error I'm unsure of the cause but it is intriguing as to why it is happening. I'm sure this isn't the problem but do you have all the necessary libraries included when you encrypt it and extract it as a separate folder? By libraries I mean "RGSS104E.dll" and "rubyscreen.dll".
they are there
you say they are always left out, do you mean that it would fix the problem to after encrypting it, put the PBS folder in there? or do you mean that its weird to cause problems since it isnt apart of the encryption in the first place?

iunno what the cause of the error is, but its weird it only happens with the encrypted copy of the game, and when i compress the game not encrypted, it works fine
__________________

~My Deviantart - Litharreon Wiki - Litharreon Game Download~

Reply With Quote
  #6    
Old December 24th, 2013 (12:39 PM).
Rayquaza.'s Avatar
Rayquaza.
Lead Dev in Pokémon Chaos
 
Join Date: Sep 2011
Location: United Kingdom
Age: 18
Gender: Male
Nature: Adamant
By saying "always left out" I mean they're never put in the archive but are extracted as whole folders instead. The PBS file isn't of RMXP origin so wouldn't be put in the archive, Audio just never gets put in the encrypted archive (the reasons for which I'm unsure).

I think if the error comes about after testing an extracted version suggests there is a problem in the original script (compilers are lazy, unless there's a HUGE change they don't detect problems) so I suggest that you go to the original game, on RMXP, and hold down CTRL and click "Playtest" at the same time. This should force the compiler to be more thorough when checking the scripts and run through every scrap of data possible.
__________________
Reply With Quote
  #7    
Old December 24th, 2013 (01:06 PM).
Saving Raven's Avatar
Saving Raven
#BAMFPokemonNerd
 
Join Date: Mar 2011
Location: everywhere
Age: 20
Gender: Male
Nature: Sassy
Send a message via Skype™ to Saving Raven
I did hold down ctrl and did a play test, but nothing changed
the encrypted version has the same error and problems the non encrypted version does not

whats weird is I noticed that the player's name is in red (for a female) on the encrypted version, while it should be and is blue on the non encrypted version
__________________

~My Deviantart - Litharreon Wiki - Litharreon Game Download~

Reply With Quote
  #8    
Old December 24th, 2013 (01:41 PM).
Rayquaza.'s Avatar
Rayquaza.
Lead Dev in Pokémon Chaos
 
Join Date: Sep 2011
Location: United Kingdom
Age: 18
Gender: Male
Nature: Adamant
I'm stumped. I suggest you ask Maruno. After all, he is more knowledgeable about how essentials behaves than I.
__________________
Reply With Quote
  #9    
Old December 24th, 2013 (02:03 PM).
~JV~'s Avatar
~JV~
Dev of Pokémon Uranium
 
Join Date: Aug 2007
Location: Rio de Janeiro
Age: 20
Nature: Relaxed
Send a message via Skype™ to ~JV~
I've got some experience with game releases and the first thing you have to know is that you DON'T need the PBS folder after the encryption, JUST DELETE IT, all the data on it is already on the encrypted data folder after you last compiled the game. The only thing left out of the encryption is the audio folder and the needed .dll.

I don't see how the encryption would break your game since it never happened in any of the 8-10 times I did it for a public release. Are you sure you compiled the PBS folder correctly before encrypting? Are you using an alternate version (if you know what I mean) of RMXP? If I were you I would download a clean Essentials folder and try to encrypt it and see what happens, do that to check if it's a problem on your RMXP/PC or if it's something particular to your Game folder.
__________________
Reply With Quote
  #10    
Old December 24th, 2013 (03:03 PM). Edited December 24th, 2013 by Saving Raven.
Saving Raven's Avatar
Saving Raven
#BAMFPokemonNerd
 
Join Date: Mar 2011
Location: everywhere
Age: 20
Gender: Male
Nature: Sassy
Send a message via Skype™ to Saving Raven
I tried with the newest essentials and it does it as well

I'm pretty sure I'm doing it right, I've made a release before but its the first time this ever happened, and I only know 1 way to compile the game, maybe I'm doing that wrong, iunno, but I read the wiki and did that, but everything still happens but I cant figure out the cause of it

I also tried it with V11, and it worked fine, it seems like a V13 bug...
__________________

~My Deviantart - Litharreon Wiki - Litharreon Game Download~

Reply With Quote
  #11    
Old December 24th, 2013 (03:30 PM).
Maruno's Avatar
Maruno
Lead Dev of Pokémon Essentials
 
Join Date: Jan 2008
Location: England
The PBS folder and its contents are user-friendly ways of adding data to the game. They are not used by the game itself. When you compile the game (preferably by holding Ctrl when you playtest it from RMXP to do a full compile), the information in these .txt files are read, converted into different formats and saved in various .dat files in the Data folder. These .dat files are the things that the game uses. The PBS folder and its contents are therefore irrelevant afterwards and can be discarded.

Any and all text that comes from the PBS files (species names, item descriptions, etc.) is written into the messages.dat file in the Data folder (along with a heap of other text). If that's missing or empty or somehow corrupted (or just not being used for whatever reason), then there's nowhere for the game to get item names/descriptions from, so no text will be shown instead. It is vital that you have a messages.dat file in the Data folder. If you've got multiple languages in your game, you can use it as the English language option, but do not rename the file.

As much as I've done for Essentials, I have never made a game with it. Therefore I have never compressed/encrypted it. I don't know how it works, nor what is compressed/encrypted. Don't bother asking me about it.
__________________
Reply With Quote
  #12    
Old December 24th, 2013 (07:37 PM).
~JV~'s Avatar
~JV~
Dev of Pokémon Uranium
 
Join Date: Aug 2007
Location: Rio de Janeiro
Age: 20
Nature: Relaxed
Send a message via Skype™ to ~JV~
I took a more in depth look right now at the problem, and testing encrypting a clean, new Essentials V13 folder got me the same error, so yeah, that version is currently BROKEN for those that plan on releasing playable content soon since it's kind of a pretty big deal...

I did locate where the error is though, it wasn't much complicated figuring it out through the error messages. The StringInput class on SpriteWindow script has a bunch of problems on it regarding methods calls. I didn't come up with a fix for that yet (it's 1:30am here, kinda tired :/) but using the code from V11 (the version of essentials I use on Uranium) I could make everything work fine.

Simply go to line 1977, delete the WHOLE "Class StringInput " section and add this one on it's place:

Code:
class StringInput
  include Enumerable

  class << self
    def new( str )
      if block_given?
        begin; f = super; yield f
        ensure; f.close if f; end
      else; super; end
    end
    alias open new
  end

  def initialize( str )
    @string = str
    @pos = 0
    @closed = false
    @lineno = 0
  end

  attr_reader :lineno,:string

  def inspect
    return "#<#{self.class}:#{@closed ? 'closed' : 'open'},src=#{@string[0,30].inspect}>"
  end

  def close
    raise IOError, 'closed stream' if @closed
    @pos=nil; @closed=true
  end

  def closed?; @closed; end

  def pos
    raise IOError, 'closed stream' if @closed
    [@pos, @string.size].min
  end

  alias tell pos

  def rewind; seek(0); end

  def pos=(value); seek(value); end

  def seek( offset, whence=IO::SEEK_SET )
    raise IOError, 'closed stream' if @closed
    case whence
      when IO::SEEK_SET
        @pos=offset
      when IO::SEEK_CUR
        @pos+=offset
      when IO::SEEK_END
        @pos=@string.size - offset
      else
        raise ArgumentError, "unknown seek flag: #{whence}"
    end
    @pos = 0 if @pos < 0
    @pos = [@pos, @string.size + 1].min
    offset
  end

  def eof?
    raise IOError, 'closed stream' if @closed
    @pos > @string.size
  end

  def each( &block )
    raise IOError, 'closed stream' if @closed
    begin
      @string.each(&block)
    ensure
      @pos = 0
    end
  end

  def gets
    raise IOError, 'closed stream' if @closed
    if idx = @string.index(?\n, @pos)
      idx += 1  # "\n".size
      line = @string[ @pos ... idx ]
      @pos = idx
      @pos += 1 if @pos == @string.size
    else
      line = @string[ @pos .. -1 ]
      @pos = @string.size + 1
    end
    @lineno += 1
    line
  end

  def getc
    raise IOError, 'closed stream' if @closed
    ch = @string[@pos]
    @pos += 1
    @pos += 1 if @pos == @string.size
    ch
  end

  def read( len = nil )
    raise IOError, 'closed stream' if @closed
    if !len
      return nil if eof?
      rest = @string[@pos ... @string.size]
      @pos = @string.size + 1
      return rest
    end
    str = @string[@pos, len]
    @pos += len
    @pos += 1 if @pos == @string.size
    str
  end

  def read_all; read(); end

  alias sysread read
end
__________________
Reply With Quote
  #13    
Old December 25th, 2013 (09:33 AM).
Maruno's Avatar
Maruno
Lead Dev of Pokémon Essentials
 
Join Date: Jan 2008
Location: England
Hmm, interesting. Poccil gave me a new version of that class, which I put into v13. I don't understand any of it, and obviously Poccil didn't test it thoroughly (I already had to fix the version he originally sent me).

Oh well. I'll revert it in the next release. Looks like I'll have to put it out fairly promptly.
__________________
Reply With Quote
  #14    
Old March 29th, 2014 (07:52 AM). Edited March 29th, 2014 by Mike'n'Ike.
Mike'n'Ike's Avatar
Mike'n'Ike
 
Join Date: Apr 2013
Gender: Male
Quote originally posted by ~JV~:
I took a more in depth look right now at the problem, and testing encrypting a clean, new Essentials V13 folder got me the same error, so yeah, that version is currently BROKEN for those that plan on releasing playable content soon since it's kind of a pretty big deal...

I did locate where the error is though, it wasn't much complicated figuring it out through the error messages. The StringInput class on SpriteWindow script has a bunch of problems on it regarding methods calls. I didn't come up with a fix for that yet (it's 1:30am here, kinda tired :/) but using the code from V11 (the version of essentials I use on Uranium) I could make everything work fine.

Simply go to line 1977, delete the WHOLE "Class StringInput " section and add this one on it's place:

Code:
class StringInput
  include Enumerable

  class << self
    def new( str )
      if block_given?
        begin; f = super; yield f
        ensure; f.close if f; end
      else; super; end
    end
    alias open new
  end

  def initialize( str )
    @string = str
    @pos = 0
    @closed = false
    @lineno = 0
  end

  attr_reader :lineno,:string

  def inspect
    return "#<#{self.class}:#{@closed ? 'closed' : 'open'},src=#{@string[0,30].inspect}>"
  end

  def close
    raise IOError, 'closed stream' if @closed
    @pos=nil; @closed=true
  end

  def closed?; @closed; end

  def pos
    raise IOError, 'closed stream' if @closed
    [@pos, @string.size].min
  end

  alias tell pos

  def rewind; seek(0); end

  def pos=(value); seek(value); end

  def seek( offset, whence=IO::SEEK_SET )
    raise IOError, 'closed stream' if @closed
    case whence
      when IO::SEEK_SET
        @pos=offset
      when IO::SEEK_CUR
        @pos+=offset
      when IO::SEEK_END
        @pos=@string.size - offset
      else
        raise ArgumentError, "unknown seek flag: #{whence}"
    end
    @pos = 0 if @pos < 0
    @pos = [@pos, @string.size + 1].min
    offset
  end

  def eof?
    raise IOError, 'closed stream' if @closed
    @pos > @string.size
  end

  def each( &block )
    raise IOError, 'closed stream' if @closed
    begin
      @string.each(&block)
    ensure
      @pos = 0
    end
  end

  def gets
    raise IOError, 'closed stream' if @closed
    if idx = @string.index(?\n, @pos)
      idx += 1  # "\n".size
      line = @string[ @pos ... idx ]
      @pos = idx
      @pos += 1 if @pos == @string.size
    else
      line = @string[ @pos .. -1 ]
      @pos = @string.size + 1
    end
    @lineno += 1
    line
  end

  def getc
    raise IOError, 'closed stream' if @closed
    ch = @string[@pos]
    @pos += 1
    @pos += 1 if @pos == @string.size
    ch
  end

  def read( len = nil )
    raise IOError, 'closed stream' if @closed
    if !len
      return nil if eof?
      rest = @string[@pos ... @string.size]
      @pos = @string.size + 1
      return rest
    end
    str = @string[@pos, len]
    @pos += len
    @pos += 1 if @pos == @string.size
    str
  end

  def read_all; read(); end

  alias sysread read
end
So I did this and it did fix the error of it not running at all but now when I encrypt it and try to run it I get this error instead (see the attached file)
It says something about NoMethodError Script SpriteWindow line2148 Undefined Neverload=

and I'm not very good at coding or scripting so I have no idea what is going on, if someone could even just point me to the right direction that would be helpful!




EDIT: Nevermind excuse my ignorance, you already said that it still had a bunch of Method call errors.
Attached Thumbnails
My error.PNG‎  
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 05:01 AM.