Battle system

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Yes its easily adaptable but it has several issues beside getting it working. To get it working just fix the $Player variable in /opbe/implementations/2moons/1_7_2_injectionMode/calculateAttack, its wrong somewhere in the middle of the file - youll easily find it.
  • Cooperium wrote:

    Yes its easily adaptable but it has several issues beside getting it working. To get it working just fix the $Player variable in /opbe/implementations/2moons/1_7_2_injectionMode/calculateAttack, its wrong somewhere in the middle of the file - youll easily find it.
    Bueno donde se podría encontrar la ultima versión de opbe
  • skynet wrote:

    Cooperium wrote:

    Yes its easily adaptable but it has several issues beside getting it working. To get it working just fix the $Player variable in /opbe/implementations/2moons/1_7_2_injectionMode/calculateAttack, its wrong somewhere in the middle of the file - youll easily find it.
    Bueno donde se podría encontrar la ultima versión de opbe
    github.com/jstar88/opbe
    VERY SAD :/ :/ :/ :/
  • yamilrh wrote:

    skynet wrote:

    Cooperium wrote:

    Yes its easily adaptable but it has several issues beside getting it working. To get it working just fix the $Player variable in /opbe/implementations/2moons/1_7_2_injectionMode/calculateAttack, its wrong somewhere in the middle of the file - youll easily find it.
    Bueno donde se podría encontrar la ultima versión de opbe
    github.com/jstar88/opbe

    como es que se puede implementar? digo para poder usar el opbe en el juego.
  • Tienes que copiar el opbe dentro del juego
    Como yo lo uso es dentro de includes/libs/opbe
    Luego debes ir ah calculateAttack.php que esta en includes/classes/missions/functions/
    y remplazar lo de adentro e incluir el nuevo motor de ataque


    PHP Source Code

    1. <?php
    2. require_once('includes/libs/opbe/implementations/2Moons/1_7_2_injectionMode/calculateAttack.php');
    3. ?>
    Depende de la versión debes implementar la del OPBE
    VERY SAD :/ :/ :/ :/
  • yamilrh wrote:

    Tienes que copiar el opbe dentro del juego
    Como yo lo uso es dentro de includes/libs/opbe
    Luego debes ir ah calculateAttack.php que esta en includes/classes/missions/functions/
    y remplazar lo de adentro e incluir el nuevo motor de ataque


    PHP Source Code

    1. <?php
    2. require_once('includes/libs/opbe/implementations/2Moons/1_7_2_injectionMode/calculateAttack.php');
    3. ?>
    Depende de la versión debes implementar la del OPBE
    Bueno ahora simulo y se queda en blanco.......... no muestra nada.
    Cuando ataco me da error.

    Source Code

    1. Message: Too few arguments to function calculateAttack(), 4 passed in /includes/classes/missions/MissionCaseAttack.class.php on line 181 and at least 6 expected
    2. File: /includes/libs/opbe/implementations/2Moons/1_7_2_injectionMode/calculateAttack.php
    3. Line: 58
    4. URL: http://localhost/2moons/game.php?page=overview
    5. PHP-Version: 7.2.30
    6. PHP-API: apache2handler
    7. 2Moons Version: 2.0.git

    Tengo copiado la carpeta de opbe donde mismo tu. Asi que no se que salio mal.
  • Según por lo que logro entender es que en CalculateAttack.php del obpe linea 158

    PHP Source Code: CalculateAttack.php

    1. function calculateAttack(&$attackers, &$defenders, $FleetTF, $DefTF, $FleetTFD, $DefTFD, $isHostal = 0)



    y en

    PHP Source Code: MissionCaseAttack.class.php

    1. $combatResult = calculateAttack($fleetAttack, $fleetDefend, $fleetIntoDebris, $defIntoDebris);


    En uno hay 6 y el otro solo espera 4, el problema debe estar en esos array pero estoy novato en php todavía y no me doy cuenta.
  • skynet wrote:

    Según por lo que logro entender es que en CalculateAttack.php del obpe linea 158

    PHP Source Code: CalculateAttack.php

    1. function calculateAttack(&$attackers, &$defenders, $FleetTF, $DefTF, $FleetTFD, $DefTFD, $isHostal = 0)


    y en

    PHP Source Code: MissionCaseAttack.class.php

    1. $combatResult = calculateAttack($fleetAttack, $fleetDefend, $fleetIntoDebris, $defIntoDebris);

    En uno hay 6 y el otro solo espera 4, el problema debe estar en esos array pero estoy novato en php todavía y no me doy cuenta.
    Hay algo mal en tu OPBE por que la función calculateAttack del archivo calculateAttack.php que se encuentra en la carpeta 1_7_2_injectionMode del OPBE no te pide tantos parámetros
    In The end
  • Linkin wrote:

    skynet wrote:

    Según por lo que logro entender es que en CalculateAttack.php del obpe linea 158

    PHP Source Code: CalculateAttack.php

    1. function calculateAttack(&$attackers, &$defenders, $FleetTF, $DefTF, $FleetTFD, $DefTFD, $isHostal = 0)

    y en

    PHP Source Code: MissionCaseAttack.class.php

    1. $combatResult = calculateAttack($fleetAttack, $fleetDefend, $fleetIntoDebris, $defIntoDebris);
    En uno hay 6 y el otro solo espera 4, el problema debe estar en esos array pero estoy novato en php todavía y no me doy cuenta.
    Hay algo mal en tu OPBE por que la función calculateAttack del archivo calculateAttack.php que se encuentra en la carpeta 1_7_2_injectionMode del OPBE no te pide tantos parámetros
    Bueno tal parece que tenia un opbe viejo........... lo volví a bajar de github y me dio un pequeño error, pero ya logre que me funcionara...... ahora a arreglarles algunos detalles.

    Gracias
  • Hola, estoy tratando de implementar OPBE en la version 1.8git del 2Moons pero me esta arrojando este error. Como le puedo dar solucion!

    Source Code

    1. Message: Undefined index: users
    2. File: /includes/libs/opbe/implementations/2Moons/1_7_2_injectionMode/calculateAttack.php
    3. Line: 229
    4. URL: https://beta.xnovaone.online/game.php?page=fleetTable&action=sendfleetback
    5. PHP-Version: 7.2.33
    6. PHP-API: fpm-fcgi
    7. 2Moons Version: 1.81.git
    8. Debug Backtrace:
    9. #0 /includes/libs/opbe/implementations/2Moons/1_7_2_injectionMode/calculateAttack.php(229): errorHandler(8, 'Undefined index...', 'FILEPATH ...', 229, Array)
    10. #1 /includes/libs/opbe/implementations/2Moons/1_7_2_injectionMode/calculateAttack.php(146): updatePlayers(Object(PlayerGroup), Array)
    11. #2 /includes/classes/missions/MissionCaseAttack.class.php(176): calculateAttack(Array, Array, '47', '3')
    12. #3 /includes/classes/class.FlyingFleetHandler.php(80): MissionCaseAttack->TargetEvent()
    13. #4 /includes/FleetHandler.php(31): FlyingFleetHandler->run()
    14. #5 /includes/common.php(131): require('FILEPATH ...')
    15. #6 /game.php(24): require('FILEPATH ...')
    16. #7 {main}
    Display All
  • tellez wrote:

    Ya instale el OBPE pero es lo mismo, empata mucho las batallas igual que el motor de batallas tradicional. No tiene en cuenta las tecnologías ni los oficiales. saludos
    serio que no sabes lo que dices,
    normalmente si tu en tu juego tienes muchas implementaciones externas al
    $player['factor']['Attack']
    $player['factor']['Shield']
    $player['factor']['Defensive']
    etc. debes agregarlo manualmente a tu motor de ataque dentro de obpe calculateAttack.php busca function getTechsFromArray($player) y function getTechsFromArrayForReport($player) esa son las funciones con la que debes trabajar.
    y en battle_constants.php ahi configura las variable de opbe segun tu juego
    Sino vuelve al motor de 2moons y corrige los errores que tiene.
    VERY SAD :/ :/ :/ :/
  • yamilrh wrote:

    tellez wrote:

    Ya instale el OBPE pero es lo mismo, empata mucho las batallas igual que el motor de batallas tradicional. No tiene en cuenta las tecnologías ni los oficiales. saludos
    serio que no sabes lo que dices,normalmente si tu en tu juego tienes muchas implementaciones externas al
    $player['factor']['Attack']
    $player['factor']['Shield']
    $player['factor']['Defensive']
    etc. debes agregarlo manualmente a tu motor de ataque dentro de obpe calculateAttack.php busca function getTechsFromArray($player) y function getTechsFromArrayForReport($player) esa son las funciones con la que debes trabajar.
    y en battle_constants.php ahi configura las variable de opbe segun tu juego
    Sino vuelve al motor de 2moons y corrige los errores que tiene.
    hice algo parecido a eso y eran practicamente los mismos resultados. Adapte a mi version de juego 1.8. Adapte el opbe 2.0 y me funciona muchisimo mejor que la 1.7 que demasiada vieja.

    Alguna sugerencia?
  • Hola a todos.

    He logrado adaptar el motor de batallas OPBE 2.0 a la versión 1.8 del 2Moons pero estoy teniendo problemas a la hora de enviar más de 1 nave.

    Si ven en la imagen todo parece estar bien. Resulta que si envías una nave el bono esta bien pero si envías 2 naves solo da el bono de una sola nave.

    Lo que quiero hacer es que sume el bono de todas las naves. En el caso de la imagen el bono de armas debería ser 1.600.000 porque son 2 estrellas.

    Gracias de antemano.
    Images
    • IMG_20230727_133836_179.jpg

      1.96 MB, 1,920×1,080, viewed 170 times
  • tellez wrote:

    Lo que quiero hacer es que sume el bono de todas las naves. En el caso de la imagen el bono de armas debería ser 1.600.000 porque son 2 estrellas.
    Hasta ahora que publicaste no vi necesario resolverlo para mi tambien.
    Creo que con esto ya deberías resolver
    Buscar tu fichero calculateAttack.php dentro del OPBE
    dentro de la función function getShipType($id, $count)
    buscar

    Source Code

    1. $power = $CombatCaps[$id]['attack'];

    remplazar

    Source Code

    1. $power = $CombatCaps[$id]['attack'] * $count;
    La variable $power para armas, $shield para escudo y $cost para blindaje
    VERY SAD :/ :/ :/ :/

    The post was edited 2 times, last by yamilrh ().

  • yamilrh wrote:

    tellez wrote:

    Lo que quiero hacer es que sume el bono de todas las naves. En el caso de la imagen el bono de armas debería ser 1.600.000 porque son 2 estrellas.
    Hasta ahora que publicaste no vi necesario resolverlo para mi tambien.Creo que con esto ya deberías resolver
    Buscar tu fichero calculateAttack.php dentro del OPBE
    dentro de la función function getShipType($id, $count)
    buscar

    Source Code

    1. $power = $CombatCaps[$id]['attack'];
    remplazar

    Source Code

    1. $power = $CombatCaps[$id]['attack'] * $count;
    La variable $power para armas, $shield para blindaje y $cost para escudo
    Listo, es solo multiplicar por la variable $count. Muchas gracias men.

    Pero hay otro problema, es el escudo, esa cifra está muuyyy alteradada y no debe ser así. Ya existe la solución a eso.

    Gracias
  • tellez wrote:

    Listo, es solo multiplicar por la variable $count. Muchas gracias men.
    Pero hay otro problema, es el escudo, esa cifra está muuyyy alteradada y no debe ser así. Ya existe la solución a eso.

    Gracias
    Es que eso mismo estaba revisando, si el tema esta que el sistema los detecta de esa forma pero debes hacer algun cambio mas

    cost normalmente debe ser blindaje deberia quedarte asi

    PHP Source Code

    1. function getShipType($id, $count)
    2. {
    3. $CombatCaps = $GLOBALS['CombatCaps'];
    4. $pricelist = $GLOBALS['pricelist'];
    5. $rf = isset($CombatCaps[$id]['sd']) ? $CombatCaps[$id]['sd'] : 0;
    6. $shield = $CombatCaps[$id]['shield'] * $count;
    7. $cost = array($count * ($pricelist[$id]['cost'][METAL_ID] + $pricelist[$id]['cost'][CRYSTAL_ID]));
    8. $power = $CombatCaps[$id]['attack'] * $count;
    9. if ($id > ID_MIN_SHIPS && $id < ID_MAX_SHIPS)
    10. {
    11. return new Ship($id, $count, $rf, $shield, $cost, $power);
    12. }
    13. return new Defense($id, $count, $rf, $shield, $cost, $power);
    14. }
    Display All
    luego debes ir shared.mission.raport.tpl
    dentro de los {foreach $Player.ships as $ShipID => $ShipData}
    el orden debes cambiarlo deberia quedarte asi
    {$ShipData[0]|number}
    {$ShipData[1]|number}
    {$ShipData[3]|number}
    {$ShipData[2]|number}
    VERY SAD :/ :/ :/ :/