moon destruction

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

    • moon destruction

      Hola tengo el siguiente problema.
      Envió una flota desde la luna A hacia X, y me destruyen la luna A, la flota por lógica cuando regresa de X debería llegar al planeta de dicha luna A, llega el mensaje como que llego pero se desaparece la flota junto al recurso
      PD: No aparece ningún error en el LOG
      ?( ?(
      VERY SAD :/ :/ :/ :/

      The post was edited 1 time, last by yamilrh ().

    • yamilrh wrote:

      Hola tengo el siguiente problema.
      Envió una flota desde la luna A hacia X, y me destruyen la luna A, la flota por lógica cuando regresa de X debería llegar al planeta de dicha luna A, llega el mensaje como que llego pero se desaparece la flota junto al recurso
      PD: No aparece ningún error en el LOG
      ?( ?(
      Yo en mi servidor tengo puesto que esas flotas se dirijan al planeta principal del usuario al que le destruyeron la luna si lo quieres así puedes hacer los siguientes cambios:

      en includes/classes/missions/MissionCaseDestruction.class.php

      antes de:

      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      Añades:


      PHP Source Code: MissionCaseDestruction.class.php

      1. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      2. ':main_id' => $targetUser['id_planet'],
      3. ':main_galaxy' => $targetUser['galaxy'],
      4. ':main_system' => $targetUser['system'],
      5. ':main_planet' => $targetUser['planet'],
      6. ':destroyed' => $targetPlanet['id'],
      7. ));


      De lo contrario puedes tomar los datos del planeta donde se encuentra esa luna destruida haciendo una consulta a la base de datos que seria así:


      PHP Source Code: MissionCaseDestruction.class.php

      1. $sql = "SELECT id, galaxy, system, planet FROM %%PLANETS%% WHERE id_luna = :id_luna;";
      2. $RedirectPlanet = $db->selectSingle($sql, array(
      3. 'id_luna' => $this->_fleet['fleet_end_id'],
      4. ));
      Y la consulta que te había dado previamente te quedaría así:



      PHP Source Code: MissionCaseDestruction.class.php

      1. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      2. ':main_id' => $RedirectPlanet['id'],
      3. ':main_galaxy' => $RedirectPlanet['galaxy'],
      4. ':main_system' => $RedirectPlanet['system'],
      5. ':main_planet' => $RedirectPlanet['planet'],
      6. ':destroyed' => $targetPlanet['id'],
      7. ));
      En conclusión para lograr lo que quieres solo tendrías que añadir en includes/classes/missions/MissionCaseDestruction.class.php antes de:



      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      el siguiente codigo:



      PHP Source Code: MissionCaseDestruction.class.php

      1. $sql = "SELECT id, galaxy, system, planet FROM %%PLANETS%% WHERE id_luna = :id_luna;";
      2. $RedirectPlanet = $db->selectSingle($sql, array(
      3. 'id_luna' => $this->_fleet['fleet_end_id'],
      4. ));
      5. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      6. ':main_id' => $RedirectPlanet['id'],
      7. ':main_galaxy' => $RedirectPlanet['galaxy'],
      8. ':main_system' => $RedirectPlanet['system'],
      9. ':main_planet' => $RedirectPlanet['planet'],
      10. ':destroyed' => $targetPlanet['id'],
      11. ));
      Display All
      Y así las flotas que partieron desde la luna destruida se actualizarían tomando los datos del planeta al cual pertenecía dicha luna
    • Linkin wrote:

      yamilrh wrote:

      Hola tengo el siguiente problema.
      Envió una flota desde la luna A hacia X, y me destruyen la luna A, la flota por lógica cuando regresa de X debería llegar al planeta de dicha luna A, llega el mensaje como que llego pero se desaparece la flota junto al recurso
      PD: No aparece ningún error en el LOG
      ?( ?(
      Yo en mi servidor tengo puesto que esas flotas se dirijan al planeta principal del usuario al que le destruyeron la luna si lo quieres así puedes hacer los siguientes cambios:
      en includes/classes/missions/MissionCaseDestruction.class.php

      antes de:

      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      Añades:


      PHP Source Code: MissionCaseDestruction.class.php

      1. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      2. ':main_id' => $targetUser['id_planet'],
      3. ':main_galaxy' => $targetUser['galaxy'],
      4. ':main_system' => $targetUser['system'],
      5. ':main_planet' => $targetUser['planet'],
      6. ':destroyed' => $targetPlanet['id'],
      7. ));

      De lo contrario puedes tomar los datos del planeta donde se encuentra esa luna destruida haciendo una consulta a la base de datos que seria así:


      PHP Source Code: MissionCaseDestruction.class.php

      1. $sql = "SELECT id, galaxy, system, planet FROM %%PLANETS%% WHERE id_luna = :id_luna;";
      2. $RedirectPlanet = $db->selectSingle($sql, array(
      3. 'id_luna' => $this->_fleet['fleet_end_id'],
      4. ));
      Y la consulta que te había dado previamente te quedaría así:



      PHP Source Code: MissionCaseDestruction.class.php

      1. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      2. ':main_id' => $RedirectPlanet['id'],
      3. ':main_galaxy' => $RedirectPlanet['galaxy'],
      4. ':main_system' => $RedirectPlanet['system'],
      5. ':main_planet' => $RedirectPlanet['planet'],
      6. ':destroyed' => $targetPlanet['id'],
      7. ));
      En conclusión para lograr lo que quieres solo tendrías que añadir en includes/classes/missions/MissionCaseDestruction.class.php antes de:



      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      el siguiente codigo:



      PHP Source Code: MissionCaseDestruction.class.php

      1. $sql = "SELECT id, galaxy, system, planet FROM %%PLANETS%% WHERE id_luna = :id_luna;";
      2. $RedirectPlanet = $db->selectSingle($sql, array(
      3. 'id_luna' => $this->_fleet['fleet_end_id'],
      4. ));
      5. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      6. ':main_id' => $RedirectPlanet['id'],
      7. ':main_galaxy' => $RedirectPlanet['galaxy'],
      8. ':main_system' => $RedirectPlanet['system'],
      9. ':main_planet' => $RedirectPlanet['planet'],
      10. ':destroyed' => $targetPlanet['id'],
      11. ));
      Display All
      Y así las flotas que partieron desde la luna destruida se actualizarían tomando los datos del planeta al cual pertenecía dicha luna
      Gracias, yo creo que ya antes me habías dado esta solución, y recuerdo que lo había puesto, no se que paso ahora. jajaja thanks
      VERY SAD :/ :/ :/ :/
    • yamilrh wrote:

      Linkin wrote:

      yamilrh wrote:

      Hola tengo el siguiente problema.
      Envió una flota desde la luna A hacia X, y me destruyen la luna A, la flota por lógica cuando regresa de X debería llegar al planeta de dicha luna A, llega el mensaje como que llego pero se desaparece la flota junto al recurso
      PD: No aparece ningún error en el LOG
      ?( ?(
      Yo en mi servidor tengo puesto que esas flotas se dirijan al planeta principal del usuario al que le destruyeron la luna si lo quieres así puedes hacer los siguientes cambios:en includes/classes/missions/MissionCaseDestruction.class.php

      antes de:

      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      Añades:


      PHP Source Code: MissionCaseDestruction.class.php

      1. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      2. ':main_id' => $targetUser['id_planet'],
      3. ':main_galaxy' => $targetUser['galaxy'],
      4. ':main_system' => $targetUser['system'],
      5. ':main_planet' => $targetUser['planet'],
      6. ':destroyed' => $targetPlanet['id'],
      7. ));
      De lo contrario puedes tomar los datos del planeta donde se encuentra esa luna destruida haciendo una consulta a la base de datos que seria así:


      PHP Source Code: MissionCaseDestruction.class.php

      1. $sql = "SELECT id, galaxy, system, planet FROM %%PLANETS%% WHERE id_luna = :id_luna;";
      2. $RedirectPlanet = $db->selectSingle($sql, array(
      3. 'id_luna' => $this->_fleet['fleet_end_id'],
      4. ));
      Y la consulta que te había dado previamente te quedaría así:



      PHP Source Code: MissionCaseDestruction.class.php

      1. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      2. ':main_id' => $RedirectPlanet['id'],
      3. ':main_galaxy' => $RedirectPlanet['galaxy'],
      4. ':main_system' => $RedirectPlanet['system'],
      5. ':main_planet' => $RedirectPlanet['planet'],
      6. ':destroyed' => $targetPlanet['id'],
      7. ));
      En conclusión para lograr lo que quieres solo tendrías que añadir en includes/classes/missions/MissionCaseDestruction.class.php antes de:



      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      el siguiente codigo:



      PHP Source Code: MissionCaseDestruction.class.php

      1. $sql = "SELECT id, galaxy, system, planet FROM %%PLANETS%% WHERE id_luna = :id_luna;";
      2. $RedirectPlanet = $db->selectSingle($sql, array(
      3. 'id_luna' => $this->_fleet['fleet_end_id'],
      4. ));
      5. $db->update("UPDATE %%FLEETS%% SET fleet_start_id = :main_id, fleet_start_galaxy = :main_galaxy, fleet_start_system = :main_system, fleet_start_planet = :main_planet, fleet_start_type = 1 WHERE fleet_start_id = :destroyed", array(
      6. ':main_id' => $RedirectPlanet['id'],
      7. ':main_galaxy' => $RedirectPlanet['galaxy'],
      8. ':main_system' => $RedirectPlanet['system'],
      9. ':main_planet' => $RedirectPlanet['planet'],
      10. ':destroyed' => $targetPlanet['id'],
      11. ));
      Display All
      Y así las flotas que partieron desde la luna destruida se actualizarían tomando los datos del planeta al cual pertenecía dicha luna
      Gracias, yo creo que ya antes me habías dado esta solución, y recuerdo que lo había puesto, no se que paso ahora. jajaja thanks
      Ok bro espero te sirva :thumbup: