• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokemon Compiler

Ho-oh 112

Advance Scripter
311
Posts
13
Years
    • Seen Mar 8, 2014
    FIXED!!!
    Right here's the error,

    Message: Script error within event 9, map 47 (Route 2):
    Exception: NoMethodError
    Message: Section146:23:in `pbLoadFromString2'undefined method `unpack' for nil:NilClass
    ***Full script:
    pbSelectAndLoadTradingFile
    Interpreter:243:in `pbExecuteScript'
    Trading:2:in `pbLoadPokemonFromBase64'
    Trading:114:in `pbLoadTradingFile'
    Trading:244:in `pbSelectAndLoadTradingFile'
    (eval):1:in `pbExecuteScript'
    Interpreter:787:in `eval'
    Interpreter:243:in `pbExecuteScript'
    Interpreter:787:in `command_111'
    Interpreter:319:in `execute_command'
    Interpreter:193:in `update'
    Interpreter:275:in `pbExecuteScript'
    Interpreter:787:in `command_111'
    Interpreter:319:in `execute_command'
    Interpreter:193:in `update'
    Interpreter:106:in `loop'
    Interpreter:198:in `update'
    Scene_Map:103:in `update'
    Scene_Map:101:in `loop'
    Scene_Map:114:in `update'
    Scene_Map:68:in `main'

    It says cannot "unpack" what I already packed up.... REALLY!?

    Heres the script:
    Code:
    def pbLoadFromString2(string)
      array=[]
      movesarray=[]
      trainer=[]
      array=string
      array = array.to_a
      trainer2=array[0]
      rnd=array[1]
      species=array[2]
      level=array[3]
      ivs=array[4]
      evs=array[5]
      shiny=array[6]
      shadow=array[7]
      totalhp=array[8]
      attack=array[9]
      defense=array[10]
      speed=array[11]
      spatk=array[12]
      spdef=array[13]
      pid=array[14]
      id=array[15]
      ot=array[16,10].unpack("C7")
      pokerus=array[26]
      pokerusTime=array[27]
      item=array[28]
      mail=array[29]
      name=array[30,7].unpack("C7")
      exp=array[37]
      happiness=array[38]
      status=array[39]
      statusCount=array[40]
      eggsteps=array[41]
      ballused=array[42]
      markings=array[43]
      obtainMode=array[44]
      obtainMap=array[45]
      obtainLevel=array[46]
      language=array[47]
      otgender=array[48]
      movesarray=array[49]
      poke=PokeBattle_Pokemon.new(1,1)
      poke.species=species
      poke.level=level
      poke.iv=ivs
      poke.ev=evs
      for i in 0..3
        poke.moves[i]=PBMove.new(movesarray[i])
      end
      if shiny == 0
        poke.makeShiny
      end
      if shadow == 0
        poke.makeShadow
      end
      poke.totalhp=totalhp
      poke.attack=attack
      poke.defense=defense
      poke.speed=speed
      poke.spatk=spatk
      poke.spdef=spdef
      poke.personalID=pid
      poke.id=id
      poke.ot=ot
      poke.pokerus=pokerus
      poke.pokerusTime=pokerusTime
      poke.item=item
      poke.mail=mail
      poke.name=name
      poke.exp=exp
      poke.happiness=happiness
      poke.status=status
      poke.statusCount=statusCount
      poke.eggsteps=eggsteps
      poke.ballused=ballused
      poke.markings=markings
      poke.obtainMode=obtainMode
      poke.obtainMap=obtainMap
      poke.obtainLevel=obtainLevel
      poke.language=language
      poke.otgender=otgender
      trainer=trainer2
      p trainer, trainer2
      if trainer != nil
        trainer2=[trainer[0].pack("C7"),trainer[1]]
      end
      x=[poke,rind,trainer2]
      return x
    end
     
    def pbDumpToString2(pokemon,rnd,trainer)
      return false if pokemon == nil
      #          ||
      # Compiler VV
      trainer2=[trainer.name.unpack("C7"),trainer.id]
      array=[]
      movesarray=[]
      move1array=[moves[0].pp, moves[0].ppup, moves[0].id]
      move2array=[moves[1].pp, moves[1].ppup, moves[1].id]
      move3array=[moves[2].pp, moves[2].ppup, moves[2].id]
      move4array=[moves[3].pp, moves[3].ppup, moves[3].id]
      movesarray=[move1array,move2array,move3array,move4array]
      species=pokemon.species
      level=pokemon.level
      ivs=pokemon.iv
      evs=pokemon.ev
      shiny=pokemon.isShiny?
      shadow=pokemon.isShadow?
      totalhp=pokemon.totalhp
      attack=pokemon.attack
      defense=pokemon.defense
      speed=pokemon.speed
      spatk=pokemon.spatk
      spdef=pokemon.spdef
      pid=pokemon.personalID
      id=pokemon.id
      ot=pokemon.ot.unpack("C7")
      pokerus=pokemon.pokerus
      pokerusTime=pokemon.pokerusTime
      item=pokemon.item
      mail=pokemon.mail
      name=pokemon.ot.unpack("C7")
      exp=pokemon.exp
      happiness=pokemon.happiness
      status=pokemon.status
      statusCount=pokemon.statusCount
      eggsteps=pokemon.eggsteps
      ballused=pokemon.ballused
      markings=pokemon.markings
      obtainMode=pokemon.obtainMode
      obtainMap=pokemon.obtainMap
      obtainLevel=pokemon.obtainLevel
      language=pokemon.language
      otgender=pokemon.otgender
     
      if shiny == true
        shiny = 0
      elsif shiny == false
        shiny = 1
      end
      if shadow == true
        shadow = 0
      elsif shadow == false
        shadow = 1
      end
      # Ends compile
         #                                ||
      # Wrties Array with the data in it. VV
      array = [trainer2,rnd,species,level,ivs,evs,shiny,shadow,totalhp,
      attack,defense,speed,spatk,spdef,pid,id,ot,pokerus,pokerusTime,item,mail,name,
      exp,happiness,status,statusCount,eggsteps,ballused,markings,obtainMode,
      obtainMap,obtainLevel,language,otgender,movesarray]
      array = array.flatten! # flattens it
      File.open('test.txt', 'wb'){|f| # Opens backup of pokemon
      f.write(array) #makes backup
      } # Closes backup of pokemon
    end
     
    Last edited:

    venom12

    Pokemon Crystal Rain Relased
    476
    Posts
    17
    Years
    • Age 33
    • Seen Dec 28, 2023
    Its saying there is no definition for "unpack" you should make unpack def.
     

    venom12

    Pokemon Crystal Rain Relased
    476
    Posts
    17
    Years
    • Age 33
    • Seen Dec 28, 2023
    Yeah maybe, but it say that there is no method for unpack
     
    10,674
    Posts
    15
    Years
    • Seen yesterday
    As venom stated, you have not defined what unpack is or does. It sort of appears out of nowhere in
    ot=array[16,10].unpack("C7"). You must define the function for it to work. From what I can see at least.
     

    Ho-oh 112

    Advance Scripter
    311
    Posts
    13
    Years
    • Seen Mar 8, 2014
    I got it, I implented it in PokeBattle__Pokemon, and it works (Really I can't believe it's so picky where it needs to be.....)
     

    venom12

    Pokemon Crystal Rain Relased
    476
    Posts
    17
    Years
    • Age 33
    • Seen Dec 28, 2023
    Btw its trade script ? It will be public?
     
    Back
    Top