Author Id: 27267 Author Name: Tito Drimer301 Post Content: Esto mas que un tutorial es un aporte, pero no me decidía en donde ponerlo así que comienzo: Primero deben desempaquetar el .zip adjunto al post, contiene 5 archivos de texto. Deben copiar el contenido de cada uno de ellos a un nuevo script encima de main y debajo de debug (lo digo porque hay quienes gustan ponerlos arriba del todo). De preferencia guárdenlos con los nombres predefinidos en los archivos de texto. [LIST=1] [*]Los scripts están tal cual de Lost Melody (a excepción de los gráficos, eso lo eliminé), así que tendrán que editar los textos que hacen referencia a RPDex y a Lost Melody. [*]En el script NetworkPVP en la linea 13 sustituyan IP y PUERTO por el servidor/pc con ruby on rails que se encargará de procesar los datos de entrada y salida. [*]No, no necesitan scripts que corran del lado del servidor, pues tan solo necesitan de un "punto" donde ser procesados, ademas utilizan las librerías pre instaladas en rails. [*]Para registrar un usuario necesitan llamar al script: $scene=RegistrarPVP.new [*]Para iniciar un combate:$scene = BattlePVP.new [/LIST] POSIBLES ERRORES Si utilizas una versión superior a 12.1 o inferior puede ocurrir un problema en batalla pvp, consiste en que al pulsar el botón FIGHT/LUCHAR la ventana de comando de batalla NO APARECEN LOS MOVIMIENTOS, por lo que la batalla será eterna a menos que cierren el juego :P ¿Cómo arreglarlo? Debes ajustar el script de escena de batalla a tu versión de essentials. Clases y métodos importantes [SPOILER="Contenido"] Resultados de la batalla: [list] [*]0 - Cancelada [*]1 - Victoria [*]2 - Derrota [*]3 - Huir [*]4 - Pokémon Capturado [*]5 - Empate[/list] [css-h2]Main battle class.[/css-h2] class PokeBattle_OnlineBattle [css-h2]Initialise battle class.[/css-h2] def initialize [css-h2]Info about battle.[/css-h2] def pbDoubleBattleAllowed? [css-h2]Get battler info.[/css-h2] def pbIsOpposing?(index) [css-h2]Player-related info.[/css-h2] def pbPlayer [css-h2]Get party info, manipulate parties.[/css-h2] def pbPokemonCount(party) [css-h2]Check whether actions can be taken.[/css-h2] def pbCanShowCommands?(idxPokemon) [css-h2]Attacking.[/css-h2] def pbCanShowFightMenu?(idxPokemon) [css-h2]Switching Pokémon.[/css-h2] def pbCanSwitchLax?(idxPokemon,pkmnidxTo,showMessages) [css-h2]Using an item. [css-h2]Uses an item on a Pokémon in the player's party. def pbUseItemOnPokemon(item,pkmnIndex,userPkmn,scene) [css-h2]Fleeing from battle.[/css-h2] def pbCanRun?(idxPokemon) [css-h2]Mega Evolve battler.[/css-h2] def pbCanMegaEvolve?(index) [css-h2]Call battler.[/css-h2] def pbCall(index) [css-h2]Gaining Experience.[/css-h2] def pbGainEXP [css-h2]Learning a move.[/css-h2] def pbLearnMove(pkmnIndex,move) [css-h2]Abilities.[/css-h2] def pbOnActiveAll [css-h2]Judging.[/css-h2] def pbJudgeCheckpoint(attacker,move=0) [css-h2]Messages and animations.[/css-h2] def pbDisplay(msg) [css-h2]Battle core.[/css-h2] def pbStartBattle(canlose=false) [css-h2]Command phase.[/css-h2] def pbCommandMenu(i) [css-h2]Attack phase.[/css-h2] def pbAttackPhase [css-h2]End of round.[/css-h2] def pbEndOfRoundPhase [css-h2]End of battle.[/css-h2] def pbEndOfBattle(canlose=false) [/SPOILER] Nota Importante Deben tener las variables 14,17,18 y 24 libres ademas del Interruptor 38. Proximamente, script de superconcurso (estilo DPPt) :3