• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
Resource icon

Resource [v16/v17/v18/v19/v20/v21] Cable Club 3.7

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
yeah figures there'd be more knock on effects, with such sweeping changes.
moves = {m for m in fspecies['Moves'].split(',')[1::2] if m} becomes

Python:
Expand Collapse Copy
            moves = []
            if 'Moves' in fspecies:
                moves = {m for m in fspecies['Moves'].split(',')[1::2] if m}
abilities needs a similar adjustment.
Yeah ive tried a bunch of different ways to fix this and all of them either do nothing to the output or break it. can you provide the fixed one?
 

Coumbiagou

Novice
Member
Joined
Dec 5, 2023
Posts
26
HI. a question, i am trying to use the script command to activate the server, but it gives me error, so how can i solve this?
 

Vendily

Elite Trainer
Member

Vendily

Elite Trainer
Member
HI. a question, i am trying to use the script command to activate the server, but it gives me error, so how can i solve this?
It's easier to debug issues if you give me more to work with than "it gives me error".
What error did it say? Did it have a stack trace? Is it the python server (cable_club.py) or the game (the plugin) that errored?
 

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
It seems to only be taking hidden abilites, not taking normal ability and not taking form abilities
 

DragonXT

Novice
Member
Joined
Feb 29, 2024
Posts
11
I'm having trouble understanding the plugin's function because I'm from another country
 

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
@Vendily



Ruby:
Expand Collapse Copy
# Inside the loop that reads pokemon.txt
if 'Abilities' in species:
    ability_names = species['Abilities'].split(',')
    abilities = set(ability_names)
    if 'HiddenAbilities' in species:
        abilities.update(species['HiddenAbilities'].split(','))
    output_parser.set(internal_name, 'abilities', ",".join(abilities))

# Inside the loop that reads pokemon_forms.txt
if 'Abilities' in fspecies:
    ability_names = fspecies['Abilities'].split(',')
    abilities = set(output_parser.get(internal_name, 'abilities').split(','))
    if 'HiddenAbilities' in fspecies:
        abilities.update(fspecies['HiddenAbilities'].split(','))
    abilities.update(ability_names)
    output_parser.set(internal_name, 'abilities', ",".join(abilities))
 
Last edited:

mynameisumbreon

Novice
Member
Joined
Nov 11, 2021
Posts
19
I may just be an idiot when it comes to following instructions, but I am having difficulty allowing for alternate forms to be allowed in the cable club. The specific issue I'm having is alolan ninetales isn't allowed in the cable club. From what I can gather, the cable_club_pokemon_processor.py is not adding the information from alternate forms into the allowed information. Let me know if I'm just dumb or if there was an actual error!

Edit: I was able to manually add the information for alolan ninetales into the server_pokemon.txt and that seems to be working. Not sure why the processor didn't want to add the information.
 
Last edited:

Vendily

Elite Trainer
Member
I'm having trouble understanding the plugin's function because I'm from another country
This plugin adds in the ability to connect online to other players so you can trade, battle, and record mix. It does not provide overworld interactions, just controlled one on one interactions between two players. It has no matchmaking capabilities.

I may just be an idiot when it comes to following instructions, but I am having difficulty allowing for alternate forms to be allowed in the cable club. The specific issue I'm having is alolan ninetales isn't allowed in the cable club. From what I can gather, the cable_club_pokemon_processor.py is not adding the information from alternate forms into the allowed information. Let me know if I'm just dumb or if there was an actual error!

Edit: I was able to manually add the information for alolan ninetales into the server_pokemon.txt and that seems to be working. Not sure why the processor didn't want to add the information.
@Vendily

Ruby:
Expand Collapse Copy
# Inside the loop that reads pokemon.txt
if 'Abilities' in species:
    ability_names = species['Abilities'].split(',')
    abilities = set(ability_names)
    if 'HiddenAbilities' in species:
        abilities.update(species['HiddenAbilities'].split(','))
    output_parser.set(internal_name, 'abilities', ",".join(abilities))

# Inside the loop that reads pokemon_forms.txt
if 'Abilities' in fspecies:
    ability_names = fspecies['Abilities'].split(',')
    abilities = set(output_parser.get(internal_name, 'abilities').split(','))
    if 'HiddenAbilities' in fspecies:
        abilities.update(fspecies['HiddenAbilities'].split(','))
    abilities.update(ability_names)
    output_parser.set(internal_name, 'abilities', ",".join(abilities))
Clearly the processor has much more to fix. So I can go back and revise it, what exact issues did they cause in the output? Even better if you have the output and inputs for a specific species.
 

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
This plugin adds in the ability to connect online to other players so you can trade, battle, and record mix. It does not provide overworld interactions, just controlled one on one interactions between two players. It has no matchmaking capabilities.



Clearly the processor has much more to fix. So I can go back and revise it, what exact issues did they cause in the output? Even better if you have the output and inputs for a specific species.
what i posted is the fix. took me a couple hours but feel free to test it. its working in my game.
 

mynameisumbreon

Novice
Member
Joined
Nov 11, 2021
Posts
19
This plugin adds in the ability to connect online to other players so you can trade, battle, and record mix. It does not provide overworld interactions, just controlled one on one interactions between two players. It has no matchmaking capabilities.



Clearly the processor has much more to fix. So I can go back and revise it, what exact issues did they cause in the output? Even better if you have the output and inputs for a specific species.
The only issue I could discover is the processor is not grabbing the abilities and moves of pokemon with alternate forms (the pokemon I was testing with was alolan ninetales) but I have been able to get around it by copy-pasting the proper information from the pokemon_forms.txt into server_pokemon.txt.
 

notminiac

Novice
Member
Joined
Feb 24, 2024
Posts
18
Does the plugin support LAN connection provided by Hamachi? been trying to set a connection but we haven't been able to configure it properly if it's possible
 

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
@Vendily

image.png
 

Vendily

Elite Trainer
Member
Huh? def self.connect_to doesn't exist anymore, I removed it in all versions with this latest update.
Your error is in some message that was to be displayed to the screen, but a character in the string isn't encoded correctly. You can just go to whatever is on line 351 in 002_CableClub.rb, and potentially just retype the message or recompile plugins.
I can't help further, as I deleted this section of the code, and it's now out of date.
 

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
@Vendily


The newest version of your code has so many errors, for starters, You cant select your team to be in any other order than the default because it will cause desync and the wrong Pokémon will show on the enemies side, The processor still doesn't have Pokémon correct despite my fixes it still gets some information wrong. You should have kept older versions because as of right now in its current state. Cable club does not function correctly and needs to be fixed
 

Jukes

Cooltrainer
Member
Joined
Jul 15, 2023
Posts
102
Because of that I decided to rollback the version in hopes that it would be fixed
 

MakerBlack

Trainer
Member
Joined
Nov 23, 2020
Posts
88
Hello trainers, if you want to port this to Essentials v21 (I haven't tested it on v20), with EBDX Unnoficial compatibility, some tested changes are necessary.
Basically, the sprite reading is inverted with each Pokémon change, use of mega evolution, etc...

For some reason the EBDX sprites are loaded in such a way that it is necessary to follow this order in def self.pokemon_order(client_id) which is in the CableClub module.

Order:
Expand Collapse Copy
def self.pokemon_order(client_id)
     case client_id
     when 0..1; [0, 1, 2, 3, 4, 5]
     else; raise "Unknown client_id: #{client_id}"
     end
   end

But this will only correct the sprites that are launched, the way Essentials reads the priority is still correct, so I preferred to duplicate the def self.pokemon_order method like this:
Order Priority:
Expand Collapse Copy
def self.pokemon_order_priority(client_id)
     case client_id
     when 0; [0, 1, 2, 3, 4, 5]
     when 1; [1, 0, 3, 2, 5, 4]
     else; raise "Unknown client_id: #{client_id}"
     end
   end
And in the def pbCalculatePriority method of the Battle_CableClub class, it replaces pokemon_order with pokemon_order_priority, thus keeping the priorities correct.

Priority:
Expand Collapse Copy
  def pbCalculatePriority(*args)
    battlers = @battlers.dup
    begin
      order = CableClub::pokemon_order_priority(@client_id)
      order.each_with_index do |o,i|
        @battlers[i] = battlers[o]
      end
      return super(*args)
    ensure
      order = CableClub::pokemon_order(@client_id)
      order.each_with_index do |o,i|
        @battlers[i] = battlers[o]
      end
      @battlers = battlers
    end
  end
After several tests, everything seemed correct! If you encounter any problems please let me know. (Essentials v21).

EDIT: After testing, def pbCalculatePriority(*args) rewrites @battlers and changes the sprites position again, after calculating the priority, in ensure return the default values of @battlers, edition already applied in this edition of the code.
 
Last edited:
Back
Top