2moons perdida de recursos

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

  • 2moons perdida de recursos

    Buenas `por favor alguien puede ayudarme o sabe como solucionar el problema de la perdida de recursos al mover un planets a lunas los recursos desaparecen como puedo solucionar ese problema
  • Desconocido wrote:

    Buenas `por favor alguien puede ayudarme o sabe como solucionar el problema de la perdida de recursos al mover un planets a lunas los recursos desaparecen como puedo solucionar ese problema
    Que los usuarios no se pongan f5 cuando la flota este a punto de llegar al planeta, el desespero es consecuencia de esas perdidas
    VERY SAD :/ :/ :/ :/
  • Desconocido wrote:

    Buenas `por favor alguien puede ayudarme o sabe como solucionar el problema de la perdida de recursos al mover un planets a lunas los recursos desaparecen como puedo solucionar ese problema
    Yo agregue un codigo que me parecio necesario aunque no he experimentado perdidas no se ha encontrado en produccion aun. Aqueda que lo prueben los que tienen servidores online. A mi parecer, 2Moons no calcula los recursos actuales del planeta al que se estan enviando los recursos, aunque no deberia resultar en problemas en el calculop al entrar al planeta nuevo, considero que es necesario hacerlo al dejar los recursos. les dejo los cambios. No solo se agrego el RessUpdate, sino que se modificaron las consultas al planeta final

    PHP Source Code: MissionCaseTransport.class.php

    1. function TargetEvent()
    2. {
    3. #####################
    4. # START #
    5. #####################
    6. $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    7. $startPlanetName = Database::get()->selectSingle($sql, array(
    8. ':planetId' => $this->_fleet['fleet_start_id']
    9. ), 'name');
    10. $targetPlanet = Database::get()->selectSingle($sql, array(
    11. ':planetId' => $this->_fleet['fleet_end_id']
    12. ));
    13. $targetPlanetName = $targetPlanet['name'];
    14. $sql = "SELECT * FROM %%USERS%% WHERE id = :userId;";
    15. $targetUser = Database::get()->selectSingle($sql, array(
    16. ':userId' => $targetPlanet['id_owner']
    17. ));
    18. $targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);
    19. # ADD ResUpdate
    20. $planetUpdater = new ResourceUpdate();
    21. list($targetUser, $targetPlanet) = $planetUpdater->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);
    22. #####################
    23. # END #
    24. #####################
    25. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    26. $Message = sprintf($LNG['sys_tran_mess_owner'],
    27. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    28. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    29. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    30. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    31. );
    32. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 5,
    33. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    34. if ($this->_fleet['fleet_target_owner'] != $this->_fleet['fleet_owner'])
    35. {
    36. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_target_owner']);
    37. $Message = sprintf($LNG['sys_tran_mess_user'],
    38. $startPlanetName, GetStartAddressLink($this->_fleet, ''),
    39. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    40. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    41. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    42. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    43. );
    44. PlayerUtil::sendMessage($this->_fleet['fleet_target_owner'], 0, $LNG['sys_mess_tower'], 5,
    45. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    46. }
    47. $this->StoreGoodsToPlanet();
    48. $this->setState(FLEET_RETURN);
    49. $this->SaveFleet();
    50. }
    Display All
    Gestor de proyectos para xampp
    Cardinal System for XAMPP
  • Desconocido wrote:

    Saludos mano ahora es que vi tu respuesta por aqui lo voy a probar en mi servidor en linea y tu comunico si me arroja algun error
    mas bien debes comprobar el comportamiento de los recursos al transportar. De ser posible verifica con que salio y con que llegó. Es probable que sucedan otros problemas pero por el momento, en desarrollo no los he encontrado, aun simulando una actualizacion constante de la pagina en el momento de llegada al planeta. Esperaré por la respuesta de como te fue con el codigo. Saludos!!
    Gestor de proyectos para xampp
    Cardinal System for XAMPP
  • [13-Oct-2023 08:11:24 America/Havana] PHP Fatal error: Class MissionCaseTransport contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Mission::EndStayEvent, Mission::ReturnEvent) in /home/luzperdida/web/xnova.nat.cu/public_html/includes/classes/missions/MissionCaseTransport.class.php on line 3

    Source Code

    1. [13-Oct-2023 08:11:24 America/Havana] PHP Fatal error: Class MissionCaseTransport contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (Mission::EndStayEvent, Mission::ReturnEvent) in /home/luzperdida/web/xnova.nat.cu/public_html/includes/classes/missions/MissionCaseTransport.class.php on line 3
  • PHP Source Code

    1. <?php
    2. class MissionCaseTransport extends MissionFunctions implements Mission
    3. {
    4. function __construct($Fleet)
    5. {
    6. $this->_fleet = $Fleet;
    7. }
    8. function TargetEvent()
    9. {
    10. #####################
    11. # START #
    12. #####################
    13. $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    14. $startPlanetName = Database::get()->selectSingle($sql, array(
    15. ':planetId' => $this->_fleet['fleet_start_id']
    16. ), 'name');
    17. $targetPlanet = Database::get()->selectSingle($sql, array(
    18. ':planetId' => $this->_fleet['fleet_end_id']
    19. ));
    20. $targetPlanetName = $targetPlanet['name'];
    21. $sql = "SELECT * FROM %%USERS%% WHERE id = :userId;";
    22. $targetUser = Database::get()->selectSingle($sql, array(
    23. ':userId' => $targetPlanet['id_owner']
    24. ));
    25. $targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);
    26. # ADD ResUpdate
    27. $planetUpdater = new ResourceUpdate();
    28. list($targetUser, $targetPlanet) = $planetUpdater->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);
    29. #####################
    30. # END #
    31. #####################
    32. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    33. $Message = sprintf($LNG['sys_tran_mess_owner'],
    34. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    35. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    36. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    37. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    38. );
    39. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 5,
    40. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    41. if ($this->_fleet['fleet_target_owner'] != $this->_fleet['fleet_owner'])
    42. {
    43. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_target_owner']);
    44. $Message = sprintf($LNG['sys_tran_mess_user'],
    45. $startPlanetName, GetStartAddressLink($this->_fleet, ''),
    46. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    47. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    48. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    49. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    50. );
    51. PlayerUtil::sendMessage($this->_fleet['fleet_target_owner'], 0, $LNG['sys_mess_tower'], 5,
    52. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    53. }
    54. $this->StoreGoodsToPlanet();
    55. $this->setState(FLEET_RETURN);
    56. $this->SaveFleet();
    57. }
    58. }
    59. ?>
    Display All
  • Desconocido wrote:

    #####################
    # START #
    #####################
    $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    $startPlanetName = Database::get()->selectSingle($sql, array(
    ':planetId' => $this->_fleet['fleet_start_id']
    ), 'name');
    $targetPlanet = Database::get()->selectSingle($sql, array(
    ':planetId' => $this->_fleet['fleet_end_id']
    ));
    $targetPlanetName = $targetPlanet['name'];
    $sql = "SELECT * FROM %%USERS%% WHERE id = :userId;";
    $targetUser = Database::get()->selectSingle($sql, array(
    ':userId' => $targetPlanet['id_owner']
    ));
    $targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);
    # ADD ResUpdate
    $planetUpdater = new ResourceUpdate();
    list($targetUser, $targetPlanet) = $planetUpdater->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);
    #####################
    # END #
    #####################
    este pedazo es el unico que debes cambiar
    Gestor de proyectos para xampp
    Cardinal System for XAMPP
  • te resultara en el error "id_owner" y es que solo tiene un SQL que busca unicamente el campo "name", la solucion es agregar otra consulta para que busque tambien el campo que no encuentra.

    PHP Source Code

    1. <?php
    2. /*
    3. * ╔══╗╔══╗╔╗──╔╗╔═══╗╔══╗╔╗─╔╗╔╗╔╗──╔╗╔══╗╔══╗╔══╗
    4. * ║╔═╝║╔╗║║║──║║║╔═╗║║╔╗║║╚═╝║║║║║─╔╝║╚═╗║║╔═╝╚═╗║
    5. * ║║──║║║║║╚╗╔╝║║╚═╝║║╚╝║║╔╗─║║╚╝║─╚╗║╔═╝║║╚═╗──║║
    6. * ║║──║║║║║╔╗╔╗║║╔══╝║╔╗║║║╚╗║╚═╗║──║║╚═╗║║╔╗║──║║
    7. * ║╚═╗║╚╝║║║╚╝║║║║───║║║║║║─║║─╔╝║──║║╔═╝║║╚╝║──║║
    8. * ╚══╝╚══╝╚╝──╚╝╚╝───╚╝╚╝╚╝─╚╝─╚═╝──╚╝╚══╝╚══╝──╚╝
    9. *
    10. * @author Tsvira Yaroslav <https://github.com/Yaro2709>
    11. * @info ***
    12. * @link https://github.com/Yaro2709/New-Star
    13. * @Basis 2Moons: XG-Project v2.8.0
    14. * @Basis New-Star: 2Moons v1.8.0
    15. */
    16. class MissionCaseTransport extends MissionFunctions implements Mission
    17. {
    18. function __construct($Fleet)
    19. {
    20. $this->_fleet = $Fleet;
    21. }
    22. function TargetEvent()
    23. {
    24. $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    25. $startPlanetName = Database::get()->selectSingle($sql, array(
    26. ':planetId' => $this->_fleet['fleet_start_id']
    27. ), 'name');
    28. $sql = 'SELECT name, id_owner FROM %%PLANETS%% WHERE `id` = :planetId;';
    29. $targetPlanet = Database::get()->selectSingle($sql, array(
    30. ':planetId' => $this->_fleet['fleet_end_id']
    31. ));
    32. $targetPlanetName = $targetPlanet['name'];
    33. $sql = "SELECT * FROM %%USERS%% WHERE id = :userId;";
    34. $targetUser = Database::get()->selectSingle($sql, array(
    35. ':userId' => $targetPlanet['id_owner']
    36. ));
    37. $targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);
    38. # ADD ResUpdate
    39. $planetUpdater = new ResourceUpdate();
    40. list($targetUser, $targetPlanet) = $planetUpdater->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);
    41. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    42. /**
    43. * If target exists, deploy resources.
    44. * If it is a destroyed moon, avoid to call StoreGoodsToPlanet()
    45. */
    46. if ($targetPlanetName) {
    47. $Message = sprintf(
    48. $LNG['sys_tran_mess_owner'],
    49. $targetPlanetName,
    50. GetTargetAddressLink($this->_fleet, ''),
    51. pretty_number($this->_fleet['fleet_resource_metal']),
    52. $LNG['tech'][901],
    53. pretty_number($this->_fleet['fleet_resource_crystal']),
    54. $LNG['tech'][902],
    55. pretty_number($this->_fleet['fleet_resource_deuterium']),
    56. $LNG['tech'][903]
    57. );
    58. PlayerUtil::sendMessage(
    59. $this->_fleet['fleet_owner'],
    60. 0,
    61. $LNG['sys_mess_tower'],
    62. 5,
    63. $LNG['sys_mess_transport'],
    64. $Message,
    65. $this->_fleet['fleet_start_time'],
    66. NULL,
    67. 1,
    68. $this->_fleet['fleet_universe']
    69. );
    70. if ($this->_fleet['fleet_target_owner'] != $this->_fleet['fleet_owner']) {
    71. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_target_owner']);
    72. $Message = sprintf(
    73. $LNG['sys_tran_mess_user'],
    74. $startPlanetName,
    75. GetStartAddressLink($this->_fleet, ''),
    76. $targetPlanetName,
    77. GetTargetAddressLink($this->_fleet, ''),
    78. pretty_number($this->_fleet['fleet_resource_metal']),
    79. $LNG['tech'][901],
    80. pretty_number($this->_fleet['fleet_resource_crystal']),
    81. $LNG['tech'][902],
    82. pretty_number($this->_fleet['fleet_resource_deuterium']),
    83. $LNG['tech'][903]
    84. );
    85. $new = array();
    86. $new['startPlanet'] = $this->_fleet['fleet_start_id'];
    87. $new['startPlanetName'] = $startPlanetName;
    88. $new['metal'] = $this->_fleet['fleet_resource_metal'];
    89. $new['crystal'] = $this->_fleet['fleet_resource_crystal'];
    90. $new['deuterium'] = $this->_fleet['fleet_resource_deuterium'];
    91. $new['targetPlanet'] = $this->_fleet['fleet_end_id'];
    92. $new['targetPlanetName'] = $targetPlanetName;
    93. PlayerUtil::sendMessage(
    94. $this->_fleet['fleet_target_owner'],
    95. 0,
    96. $LNG['sys_mess_tower'],
    97. 5,
    98. $LNG['sys_mess_transport'],
    99. $Message,
    100. $this->_fleet['fleet_start_time'],
    101. NULL,
    102. 1,
    103. $this->_fleet['fleet_universe']
    104. );
    105. }
    106. $this->StoreGoodsToPlanet();
    107. }
    108. /**
    109. * Check if returning planet exists.
    110. * If is a player destroyed moon, redirect the fleet to the main planet.
    111. */
    112. if (!$startPlanetName) {
    113. $originUser = Database::get()->selectSingle("SELECT id_planet, galaxy, system, planet FROM %%USERS%% WHERE id = :id", array(
    114. ':id' => $this->_fleet['fleet_owner']
    115. ));
    116. $this->UpdateFleet('fleet_start_id', $originUser['id_planet']);
    117. $this->UpdateFleet('fleet_start_galaxy', $originUser['galaxy']);
    118. $this->UpdateFleet('fleet_start_system', $originUser['system']);
    119. $this->UpdateFleet('fleet_start_planet', $originUser['planet']);
    120. $this->UpdateFleet('fleet_start_type', 1);
    121. }
    122. $this->setState(FLEET_RETURN);
    123. $this->SaveFleet();
    124. }
    125. function EndStayEvent()
    126. {
    127. return;
    128. }
    129. function ReturnEvent()
    130. {
    131. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    132. $sql = 'SELECT name FROM %%PLANETS%% WHERE id = :planetId;';
    133. $planetName = Database::get()->selectSingle($sql, array(
    134. ':planetId' => $this->_fleet['fleet_start_id'],
    135. ), 'name');
    136. $Message = sprintf($LNG['sys_tran_mess_back'], $planetName, GetStartAddressLink($this->_fleet, ''));
    137. PlayerUtil::sendMessage(
    138. $this->_fleet['fleet_owner'],
    139. 0,
    140. $LNG['sys_mess_tower'],
    141. 4,
    142. $LNG['sys_mess_fleetback'],
    143. $Message,
    144. $this->_fleet['fleet_end_time'],
    145. NULL,
    146. 1,
    147. $this->_fleet['fleet_universe']
    148. );
    149. $this->RestoreFleet();
    150. }
    151. }
    Display All
    Ya este es el archivo completo
    Gestor de proyectos para xampp
    Cardinal System for XAMPP
  • PHP Source Code

    1. <?php
    2. class MissionCaseTransport extends MissionFunctions implements Mission
    3. {
    4. function __construct($Fleet)
    5. {
    6. $this->_fleet = $Fleet;
    7. }
    8. function TargetEvent()
    9. {
    10. $sql = "SELECT * FROM %%PLANETS%% WHERE id = :planetId;";
    11. $targetPlanet = Database::get()->selectSingle($sql, array(
    12. ':planetId' => $this->_fleet['fleet_end_id']
    13. ));
    14. // return fleet if target planet deleted
    15. if($targetPlanet == false)
    16. {
    17. $sql = "SELECT * FROM %%USERS%% WHERE id = :id;";
    18. $Player = Database::get()->selectSingle($sql, array(
    19. ':id' => $this->_fleet['fleet_owner']
    20. ));
    21. FleetFunctions::SendFleetBack($Player, $this->_fleet['fleet_id']);
    22. return;
    23. }
    24. $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    25. $startPlanetName = Database::get()->selectSingle($sql, array(
    26. ':planetId' => $this->_fleet['fleet_start_id']
    27. ), 'name');
    28. $targetPlanetName = Database::get()->selectSingle($sql, array(
    29. ':planetId' => $this->_fleet['fleet_end_id']
    30. ), 'name');
    31. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    32. $Message = sprintf($LNG['sys_tran_mess_owner'],
    33. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    34. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    35. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    36. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    37. );
    38. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 5,
    39. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    40. if ($this->_fleet['fleet_target_owner'] != $this->_fleet['fleet_owner'])
    41. {
    42. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_target_owner']);
    43. $Message = sprintf($LNG['sys_tran_mess_user'],
    44. $startPlanetName, GetStartAddressLink($this->_fleet, ''),
    45. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    46. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    47. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    48. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    49. );
    50. PlayerUtil::sendMessage($this->_fleet['fleet_target_owner'], 0, $LNG['sys_mess_tower'], 5,
    51. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    52. }
    53. $this->StoreGoodsToPlanet();
    54. $this->setState(FLEET_RETURN);
    55. $this->SaveFleet();
    56. }
    57. function EndStayEvent()
    58. {
    59. return;
    60. }
    61. function ReturnEvent()
    62. {
    63. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    64. $sql = 'SELECT name FROM %%PLANETS%% WHERE id = :planetId;';
    65. $planetName = Database::get()->selectSingle($sql, array(
    66. ':planetId' => $this->_fleet['fleet_start_id'],
    67. ), 'name');
    68. $Message = sprintf($LNG['sys_tran_mess_back'], $planetName, GetStartAddressLink($this->_fleet, ''));
    69. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 4, $LNG['sys_mess_fleetback'],
    70. $Message, $this->_fleet['fleet_end_time'], NULL, 1, $this->_fleet['fleet_universe']);
    71. $this->RestoreFleet();
    72. }
    73. }
    74. ?>
    Display All
    el problema es que mi archivo no es igual
  • [13-Oct-2023 10:51:32] NOTICE: "Undefined index: b_hn_id"
    File: /home/luzperdida/web/xnova.nat.cu/public_html/includes/classes/class.PlanetRessUpdate.php | Line: 323
    URL: xnova.nat.cu/game.php?page=MultiExpe&mode=SendFleets | Version: 2.3.git
    Stack trace:
    #0 /includes/classes/class.PlanetRessUpdate.php(323): errorHandler(8, 'Undefined index...', '/home/luzperdid...', 323, Array)
    #1 /includes/classes/class.PlanetRessUpdate.php(93): ResourceUpdate->Newhangar()
    #2 /includes/classes/missions/MissionCaseTransport.class.php(32): ResourceUpdate->CalcResource(Array, Array, true, '1697208689')
    #3 /includes/classes/class.FlyingFleetHandler.php(94): MissionCaseTransport->TargetEvent()
    #4 /includes/classes/class.FlyingFleetHandler.php(41): FlyingFleetHandler->run()
    #5 /includes/common.php(114): FlyingFleetHandler->start()
    #6 /game.php(8): require_once('/home/luzperdid...')
    #7 {main}
  • Desconocido wrote:

    PHP Source Code

    1. <?php
    2. class MissionCaseTransport extends MissionFunctions implements Mission
    3. {
    4. function __construct($Fleet)
    5. {
    6. $this->_fleet = $Fleet;
    7. }
    8. function TargetEvent()
    9. {
    10. $sql = "SELECT * FROM %%PLANETS%% WHERE id = :planetId;";
    11. $targetPlanet = Database::get()->selectSingle($sql, array(
    12. ':planetId' => $this->_fleet['fleet_end_id']
    13. ));
    14. // return fleet if target planet deleted
    15. if($targetPlanet == false)
    16. {
    17. $sql = "SELECT * FROM %%USERS%% WHERE id = :id;";
    18. $Player = Database::get()->selectSingle($sql, array(
    19. ':id' => $this->_fleet['fleet_owner']
    20. ));
    21. FleetFunctions::SendFleetBack($Player, $this->_fleet['fleet_id']);
    22. return;
    23. }
    24. $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    25. $startPlanetName = Database::get()->selectSingle($sql, array(
    26. ':planetId' => $this->_fleet['fleet_start_id']
    27. ), 'name');
    28. $targetPlanetName = Database::get()->selectSingle($sql, array(
    29. ':planetId' => $this->_fleet['fleet_end_id']
    30. ), 'name');
    31. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    32. $Message = sprintf($LNG['sys_tran_mess_owner'],
    33. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    34. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    35. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    36. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    37. );
    38. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 5,
    39. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    40. if ($this->_fleet['fleet_target_owner'] != $this->_fleet['fleet_owner'])
    41. {
    42. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_target_owner']);
    43. $Message = sprintf($LNG['sys_tran_mess_user'],
    44. $startPlanetName, GetStartAddressLink($this->_fleet, ''),
    45. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    46. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    47. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    48. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    49. );
    50. PlayerUtil::sendMessage($this->_fleet['fleet_target_owner'], 0, $LNG['sys_mess_tower'], 5,
    51. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    52. }
    53. $this->StoreGoodsToPlanet();
    54. $this->setState(FLEET_RETURN);
    55. $this->SaveFleet();
    56. }
    57. function EndStayEvent()
    58. {
    59. return;
    60. }
    61. function ReturnEvent()
    62. {
    63. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    64. $sql = 'SELECT name FROM %%PLANETS%% WHERE id = :planetId;';
    65. $planetName = Database::get()->selectSingle($sql, array(
    66. ':planetId' => $this->_fleet['fleet_start_id'],
    67. ), 'name');
    68. $Message = sprintf($LNG['sys_tran_mess_back'], $planetName, GetStartAddressLink($this->_fleet, ''));
    69. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 4, $LNG['sys_mess_fleetback'],
    70. $Message, $this->_fleet['fleet_end_time'], NULL, 1, $this->_fleet['fleet_universe']);
    71. $this->RestoreFleet();
    72. }
    73. }
    74. ?>
    Display All
    el problema es que mi archivo no es igual
    Hermano, aunque el archivo tuyo cambie un poco, solo leyendo te daras cuenta que es lo que estoy cambiando. La primera parte del codigo fue modificada por ti o alguien mas, por lo que se quedaria igual. Yo estoy modificando el original y comente que la consulta SQL que dice

    $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';

    al ser utilizada en la parte de targetPlanetName debes agregarle otra

    $sql_planet = 'SELECT * FROM %%PLANETS%% WHERE `id` = :planetId;';

    Aqui quedaria tu archivo:


    PHP Source Code

    1. <?php
    2. class MissionCaseTransport extends MissionFunctions implements Mission
    3. {
    4. function __construct($Fleet)
    5. {
    6. $this->_fleet = $Fleet;
    7. }
    8. function TargetEvent()
    9. {
    10. $sql = "SELECT * FROM %%PLANETS%% WHERE id = :planetId;";
    11. $targetPlanet = Database::get()->selectSingle($sql, array(
    12. ':planetId' => $this->_fleet['fleet_end_id']
    13. ));
    14. // return fleet if target planet deleted
    15. if($targetPlanet == false)
    16. {
    17. $sql = "SELECT * FROM %%USERS%% WHERE id = :id;";
    18. $Player = Database::get()->selectSingle($sql, array(
    19. ':id' => $this->_fleet['fleet_owner']
    20. ));
    21. FleetFunctions::SendFleetBack($Player, $this->_fleet['fleet_id']);
    22. return;
    23. }
    24. $sql = 'SELECT name FROM %%PLANETS%% WHERE `id` = :planetId;';
    25. $startPlanetName = Database::get()->selectSingle($sql, array(
    26. ':planetId' => $this->_fleet['fleet_start_id']
    27. ), 'name');
    28. $sql = 'SELECT * FROM %%PLANETS%% WHERE `id` = :planetId;';
    29. $targetPlanet = Database::get()->selectSingle($sql, array(
    30. ':planetId' => $this->_fleet['fleet_end_id']
    31. ));
    32. $targetPlanetName = $targetPlanet['name'];
    33. $sql = "SELECT * FROM %%USERS%% WHERE id = :userId;";
    34. $targetUser = Database::get()->selectSingle($sql, array(
    35. ':userId' => $targetPlanet['id_owner']
    36. ));
    37. $targetUser['factor'] = getFactors($targetUser, 'basic', $this->_fleet['fleet_start_time']);
    38. # ADD ResUpdate
    39. $planetUpdater = new ResourceUpdate();
    40. list($targetUser, $targetPlanet) = $planetUpdater->CalcResource($targetUser, $targetPlanet, true, $this->_fleet['fleet_start_time']);
    41. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    42. $Message = sprintf($LNG['sys_tran_mess_owner'],
    43. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    44. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    45. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    46. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    47. );
    48. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 5,
    49. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    50. if ($this->_fleet['fleet_target_owner'] != $this->_fleet['fleet_owner'])
    51. {
    52. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_target_owner']);
    53. $Message = sprintf($LNG['sys_tran_mess_user'],
    54. $startPlanetName, GetStartAddressLink($this->_fleet, ''),
    55. $targetPlanetName, GetTargetAddressLink($this->_fleet, ''),
    56. pretty_number($this->_fleet['fleet_resource_metal']), $LNG['tech'][901],
    57. pretty_number($this->_fleet['fleet_resource_crystal']), $LNG['tech'][902],
    58. pretty_number($this->_fleet['fleet_resource_deuterium']), $LNG['tech'][903]
    59. );
    60. PlayerUtil::sendMessage($this->_fleet['fleet_target_owner'], 0, $LNG['sys_mess_tower'], 5,
    61. $LNG['sys_mess_transport'], $Message, $this->_fleet['fleet_start_time'], NULL, 1, $this->_fleet['fleet_universe']);
    62. }
    63. $this->StoreGoodsToPlanet();
    64. $this->setState(FLEET_RETURN);
    65. $this->SaveFleet();
    66. }
    67. function EndStayEvent()
    68. {
    69. return;
    70. }
    71. function ReturnEvent()
    72. {
    73. $LNG = $this->getLanguage(NULL, $this->_fleet['fleet_owner']);
    74. $sql = 'SELECT name FROM %%PLANETS%% WHERE id = :planetId;';
    75. $planetName = Database::get()->selectSingle($sql, array(
    76. ':planetId' => $this->_fleet['fleet_start_id'],
    77. ), 'name');
    78. $Message = sprintf($LNG['sys_tran_mess_back'], $planetName, GetStartAddressLink($this->_fleet, ''));
    79. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 4, $LNG['sys_mess_fleetback'],
    80. $Message, $this->_fleet['fleet_end_time'], NULL, 1, $this->_fleet['fleet_universe']);
    81. $this->RestoreFleet();
    82. }
    83. }
    84. ?>
    Display All
    Gestor de proyectos para xampp
    Cardinal System for XAMPP
  • Desconocido wrote:

    [13-Oct-2023 10:51:32] NOTICE: "Undefined index: b_hn_id"
    File: /home/luzperdida/web/xnova.nat.cu/public_html/includes/classes/class.PlanetRessUpdate.php | Line: 323
    URL: xnova.nat.cu/game.php?page=MultiExpe&mode=SendFleets | Version: 2.3.git
    Stack trace:
    #0 /includes/classes/class.PlanetRessUpdate.php(323): errorHandler(8, 'Undefined index...', '/home/luzperdid...', 323, Array)
    #1 /includes/classes/class.PlanetRessUpdate.php(93): ResourceUpdate->Newhangar()
    #2 /includes/classes/missions/MissionCaseTransport.class.php(32): ResourceUpdate->CalcResource(Array, Array, true, '1697208689')
    #3 /includes/classes/class.FlyingFleetHandler.php(94): MissionCaseTransport->TargetEvent()
    #4 /includes/classes/class.FlyingFleetHandler.php(41): FlyingFleetHandler->run()
    #5 /includes/common.php(114): FlyingFleetHandler->start()
    #6 /game.php(8): require_once('/home/luzperdid...')
    #7 {main}
    Bueno, eso no tiene que ver con el codigo que te suministre. No conozco el indice b_hn_id ?(
    Gestor de proyectos para xampp
    Cardinal System for XAMPP
  • Desconocido wrote:

    mano lo que fue modificaco no o hice yo no poseo mucho conocimiento de programacion por eso es q te mostre como fue que de modifico mi archivo
    reemplazalo por el que te mostre en la respuesta que dice como quedaria tu archivo completo. Ahi esta todo modificado, es solo reemplazar el tuyo por ese
    Gestor de proyectos para xampp
    Cardinal System for XAMPP