[MOD] Tournament v1.8, 2.0

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

    • [MOD] Tournament v1.8, 2.0

      Este mod es tomado del xterium, yo solamente hice algunas pequeñas modificaciones, yo lo adapate a 2moons y las necesidades de mi comunidad.
      Por ende los derechos reservados para sus respectivos dueños.


      ¿Cómo puedo participar en los Mini Torneos?
      Verán un botón de color azul que dice Participar, le dan ahí, ejemplo siguiente imagen.


      ¿Cómo se que requisitos debo cumplir para ganar en los Mini Torneos?
      Debajo del boton de Participar hay un abreve descripción allí podrás encontrar el requisito de dicho torneo que debes cumplir, ejemplo la siguiente imagen


      Los Mini Torneos cuentas con 5 secciones, Alpha, Beta, Gamma, Delta y Epsilon pero contamos con un total de 10 Mini Torneos que son los siguientes.
      1. Los ganadores del torneo son los jugadores que encontrarán mas Materia Oscura en las expediciones.
      2. Los ganadores del torneo son los jugadores que perderán más flota en un agujero negro.
      3. Los ganadores del torneo son los jugadores que harán la mayoría de las destrucciones de las unidades.
      4. Los ganadores del torneo son los jugadores que tengan más batallas ganadas.
      5. Los ganadores del torneo serán las expediciones exitosas.
      6. Los ganadores del torneo son los jugadores que encontrarán mas naves en las expediciones.
      7. Los ganadores del torneo son los jugadores que encontrarán la mayor cantidad de Materia Oscura.
      8. Los ganadores del torneo son los jugadores que ganen mas batallas contra Aliens y Piratas.
      9. Los ganadores del torneo son los jugadores que harán la destrucción más lunas en los jugadores activos.
      10. Los ganadores del torneo son los jugadores que harán más lunas en los jugadores activos.
      Funcionalidad:

      Los ganadores del torneo son los jugadores que encontrarán mas Materia Oscura en las expediciones.
      • En este torneo pondrá toda la Materia Oscura que encuentres en las expediciones y en las misiones a la Luna
      Los ganadores del torneo son los jugadores que perderán más flota en un agujero negro.
      • En este torneo contará cada vez que pierdas la flota(no cuentan las batallas contra los Aliens o Piratas) y siempre sumará 1 Puntos
      Los ganadores del torneo son los jugadores que tengan más batallas ganadas.
      • Este torneo contará las batallas como 1 Punto y sumarán hasta que se acaben los Mini Torneos
      Los ganadores del torneo serán las expediciones exitosas.
      • Este torneo como bien dice suma 1 Punto aquella expedición que tenga éxito.
      Los ganadores del torneo son los jugadores que encontrarán mas naves en las expediciones.
      • Este torneo siempre sumará 1 Punto cada vez que encuentre alguna nave en las expediciones.
      Los ganadores del torneo son los jugadores que encontrarán la mayor cantidad de Materia Oscura.
      • Este torneo solo contará si encuentras mas de 700 de Materia Oscura en las expediciones y misión a la Luna no cuenta, y sumará la Materia Oscura.
      Los ganadores del torneo son los jugadores que ganen mas batallas contra Aliens y Piratas.
      • Este torneo cuenta las batallas ganadas contra los Aliens y Piratas y sumará 1 Puntos.
      Los ganadores del torneo son los jugadores que harán la destrucción más lunas en los jugadores activos.
      • Este torneo solo contará las lunas destruidas a los jugadores activos y sumará 1 Punto.
      Los ganadores del torneo son los jugadores que harán más lunas en los jugadores activos.
      • Este torneo solo contará si creas Lunas a los jugadores activos y sumará 1 Punto.
      Duración:
      Los Mini Torneos tendrán una duración de 2 días

      NOTA:
      Los Mini Torneo varían cada vez que se reactiven, puede ser que algunos coincidan.

      Para los Torneo que estan activos en esta configuración debe agregar los siguiente.

      Añadir antes de

      PHP Source Code: MissionCaseExpedition.class.php

      1. $this->UpdateFleet('fleet_resource_darkmatter', $this->_fleet['fleet_resource_darkmatter'] + $Size);
      Esto

      PHP Source Code: MissionCaseExpedition.class.php

      1. if ($Size >0){
      2. tournement($this->_fleet['fleet_owner'], 1, $Size);//mas materia oscura
      3. tournement($this->_fleet['fleet_owner'], 5, 1);//mision exitosa
      4. }
      5. if($Size >700){
      6. tournement($this->_fleet['fleet_owner'], 7, $Size);//mayor materia oscura
      7. }
      Añadir antes de

      PHP Source Code: MissionCaseExpedition.class.php

      1. $this->UpdateFleet('fleet_array', $NewFleetArray);
      2. $this->UpdateFleet('fleet_amount', array_sum($fleetArray));

      Añadir esto

      PHP Source Code: MissionCaseExpedition.class.php

      1. if ($Found >0){
      2. tournement($this->_fleet['fleet_owner'], 6, 1);//mas naves
      3. tournement($this->_fleet['fleet_owner'], 5, 1);//mision exitosa
      4. }

      Añadir antes de

      PHP Source Code: MissionCaseExpedition.class.php

      1. PlayerUtil::sendMessage($this->_fleet['fleet_owner'], 0, $LNG['sys_mess_tower'], 3,
      2. $LNG['sys_mess_attack_report'], $message, $this->_fleet['fleet_end_stay']);

      Esto

      PHP Source Code: MissionCaseExpedition.class.php

      1. if($combatResult['won'] == 'a'){
      2. tournement($this->_fleet['fleet_owner'], 5, 1);//mision exitosa
      3. tournement($this->_fleet['fleet_owner'], 8, 1);//Aliens/Piratas
      4. }

      Añadir antes de

      PHP Source Code: MissionCaseExpedition.class.php

      1. $Message = $LNG['sys_expe_lost_fleet_'.mt_rand(1,4)];

      Esto

      PHP Source Code: MissionCaseExpedition.class.php

      1. tournement($this->_fleet['fleet_owner'], 2, 1);//Agujeros Negros

      Añadir luego de

      PHP Source Code: MissionCaseAtack.class.php

      1. if(Config::get($this->_fleet['fleet_universe'])->debris_moon == 1)
      2. {
      3. foreach($debrisResource as $elementID)
      4. {
      5. $planetDebris[$elementID] = 0;
      6. }
      7. }

      Esto

      PHP Source Code: MissionCaseAtack.class.php

      1. tournement($this->_fleet['fleet_owner'], 10, 1);

      Añadir luego de

      PHP Source Code: MissionCaseAtack.class.php

      1. pretty_number($debris[902])
      2. );

      Esto

      PHP Source Code: MissionCaseAtack.class.php

      1. if($i == 0)
      2. tournement($userID, 3, round($combatResult['unitLost']['defender'] / $totalAttackers));
      3. elseif($i == 1)
      4. tournement($userID, 3, round($combatResult['unitLost']['attacker'] / $totalDefenders));
      5. if ($combatResult['won'] == 'a') {
      6. tournement($userID, 4, 1);
      7. }
      Añadir luego de

      PHP Source Code: MissionCaseDestruction.class.php

      1. PlayerUtil::deletePlanet($targetPlanet['id']);
      Esto

      PHP Source Code: MissionCaseDestruction.class.php

      1. //Destruccion de luna, jugadores activos
      2. if($targetUser['onlinetime'] > TIMESTAMP - 24 * 3600 * 7){
      3. tournement($this->_fleet['fleet_owner'], 9, 1);
      4. }
      Añadir luego de

      PHP Source Code: MissionCaseFoundDM.class.php

      1. $Message = $LNG['sys_expe_found_dm_'.mt_rand(1, 3).'_'.mt_rand(1, 2).''];
      Esto

      PHP Source Code: MissionCaseFoundDM.class.php

      1. if($FoundDark > 0){
      2. tournement($this->_fleet['fleet_owner'], 1, $FoundDark); //Mayor MO
      3. tournement($this->_fleet['fleet_owner'], 5, 1); //mas expediciones exitosas
      4. }
      Añadir

      HTML Source Code: main.navigation_header.tpl

      1. <li><a href="game.php?page=tourney"><i class="fas fa-dice tooltip padding_navigation" data-tooltip-content="{$LNG.lm_tourney}"></i></a></li>
      VERY SAD :/ :/ :/ :/
    • Añadir BD

      SQL-Query

      1. alter table uni1_config add tourneyEnd int(11) UNSIGNED NOT NULL DEFAULT '0';
      2. INSERT INTO `uni1_cronjobs` (`cronjobID`, `name`, `isActive`, `min`, `hours`, `dom`, `month`, `dow`, `class`, `nextTime`, `lock`) VALUES
      3. (28, 'Tournaments', 1, '45', '5', '*', '*', '*', 'TournamentCronjob', 1532144700, NULL);
      4. CREATE TABLE `uni1_tourney` (
      5. `tourneyId` int(11) UNSIGNED NOT NULL DEFAULT '0',
      6. `tourneyName` varchar(50) NOT NULL,
      7. `priceOne` int(11) UNSIGNED NOT NULL DEFAULT '0',
      8. `priceTwo` int(11) UNSIGNED NOT NULL DEFAULT '0',
      9. `priceThree` int(11) UNSIGNED NOT NULL DEFAULT '0',
      10. `tourneyEvent` tinyint(3) UNSIGNED NOT NULL DEFAULT '1'
      11. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
      12. INSERT INTO `uni1_tourney` (`tourneyId`, `tourneyName`, `priceOne`, `priceTwo`, `priceThree`, `tourneyEvent`) VALUES
      13. (1, 'Alpha', 5000, 3000, 2000, 5),
      14. (2, 'Beta', 5000, 3000, 2000, 3),
      15. (3, 'Gamma', 5000, 3000, 2000, 1),
      16. (4, 'Delta', 5000, 3000, 2000, 2),
      17. (5, 'Epsilon', 5000, 3000, 2000, 4);
      18. CREATE TABLE `uni1_tourney_logs` (
      19. `logId` int(11) UNSIGNED NOT NULL,
      20. `tourneyUnits` double(50,0) UNSIGNED NOT NULL DEFAULT '0',
      21. `playerId` int(11) UNSIGNED NOT NULL DEFAULT '0',
      22. `joinTime` int(11) UNSIGNED NOT NULL DEFAULT '0',
      23. `tourneyJoin` int(11) UNSIGNED NOT NULL DEFAULT '0'
      24. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      25. CREATE TABLE `uni1_tourney_participante` (
      26. `joinId` int(11) UNSIGNED NOT NULL,
      27. `tourneyUnits` double(50,0) UNSIGNED NOT NULL DEFAULT '0',
      28. `playerId` int(11) UNSIGNED NOT NULL DEFAULT '0',
      29. `joinTime` int(11) UNSIGNED NOT NULL DEFAULT '0',
      30. `tourneyJoin` int(11) UNSIGNED NOT NULL DEFAULT '0'
      31. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      32. ALTER TABLE `uni1_tourney`
      33. ADD PRIMARY KEY (`tourneyId`);
      34. ALTER TABLE `uni1_tourney_logs`
      35. ADD PRIMARY KEY (`logId`);
      36. ALTER TABLE `uni1_tourney_participante`
      37. ADD PRIMARY KEY (`joinId`);
      38. ALTER TABLE `uni1_tourney_logs`
      39. MODIFY `logId` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
      40. ALTER TABLE `uni1_tourney_participante`
      41. MODIFY `joinId` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
      Display All


      Añadir

      PHP Source Code: GeneralFunctions.php

      1. function tournement($playerId, $tourneyEvent, $addUnits){
      2. $sql = "SELECT * FROM %%TOURNEY%% WHERE tourneyEvent = :tourneyId;";
      3. $tourneyInfo = database::get()->selectSingle($sql, array(
      4. ':tourneyId' => $tourneyEvent,
      5. ));
      6. $sql = "SELECT * FROM %%TOURNEYPARTICI%% WHERE tourneyJoin = :tourneyId AND playerId = :playerId;";
      7. $tourneyCheck = database::get()->selectSingle($sql, array(
      8. ':tourneyId' => $tourneyInfo['tourneyId'],
      9. ':playerId' => $playerId
      10. ));
      11. if(!empty($tourneyCheck) && config::get()->tourneyEnd >= TIMESTAMP){
      12. $sql = 'UPDATE %%TOURNEYPARTICI%% SET tourneyUnits = tourneyUnits + :tourneyUnits WHERE tourneyJoin = :tourneyJoin AND playerId = :playerId;';
      13. database::get()->update($sql, array(
      14. ':tourneyUnits' => $addUnits,
      15. ':tourneyJoin' => $tourneyInfo['tourneyId'],
      16. ':playerId' => $playerId,
      17. ));
      18. }
      19. }
      Display All

      Añadir

      Source Code: AbstractGamePage.class.php

      1. $this->assign(array(
      2. 'tourneyEnd' => config::get()->tourneyEnd - TIMESTAMP,
      3. ));
      En el comprimido esta el resto de archivos
      Espero que sea de su agrado
      Files
      • tourney.zip

        (279.1 kB, downloaded 412 times, last: )
      VERY SAD :/ :/ :/ :/

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

    • Jbaukens wrote:

      You are just copying part of my source code of my different games and placing it here.
      Este mod es tomado del xterium, yo solamente hice algunas pequeñas modificaciones, yo lo adapate a 2moons y las necesidades de mi comunidad.
      Por ende los derechos reservados para sus respectivos dueños.

      No se si el codigo es tuyo, pero lo que te puedo garantisar es que, le estoy dando el copyrigth del creador, ni me estoy robando el codigo porque es open source, ni me estoy dando credito por el trabajo.
      Pero te aseguro que el xterium v1.7 de @Danter14.

      Pero te sigo asegurando mas, NO CONOSCO ningún juego tuyo, disculpa mi ignorancia

      Simplemente lo lleve para que se pueda poner en 2moons.
      VERY SAD :/ :/ :/ :/
    • tellez wrote:

      Hola, no puedo activar el evento por el tema de los módulos, faltan los archivos para activar y desactivar el módulo.
      Trabaja por CronJob, desactiva la tarea cron si no quieres que se ejecute.
      Una vez que ejecute la tarea cron el trabaja solo, debes revisar el fichero Cron
      VERY SAD :/ :/ :/ :/
    • Listo. me arroja este error despues de darle "Participar"

      Message: Call to undefined function getUsername()
      File: /includes/pages/game/ShowTourneyPage.class.php
      Line: 88
      URL: localhost/xnova/game.php?page=tourney
      PHP-Version: 7.3.3
      PHP-API: apache2handler
      2Moons Version: 1.8.git
      Debug Backtrace:
      #0 /game.php(57): ShowTourneyPage->show()
      #1 {main}
    • Well I prepared everything and made changes in the code because it was missing and a lot of errors happened afterwards



      I made the correct files and I share them on this post, moreover I will also make a video for their installation

      yamilrh you will be put as author and me as edit

      Attention for the change of missions please take the code from the first post because it is not in the file
      Files

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

    • Danter14 wrote:

      Well I prepared everything and made changes in the code because it was missing and a lot of errors happened afterwards



      I made the correct files and I share them on this post, moreover I will also make a video for their installation

      yamilrh you will be put as author and me as edit

      Attention for the change of missions please take the code from the first post because it is not in the file
      gracias, pero recuerda que yo solo hice que funcionara en 2moons. Y ya jeremy me estuvo atacando porque asume que le robe su codigo, cuando claramente en el primer mensaje di el credito a quien lo creo.
      VERY SAD :/ :/ :/ :/
    • yamilrh wrote:

      gracias, pero recuerda que yo solo hice que funcionara en 2moons. Y ya jeremy me estuvo atacando porque asume que le robe su codigo, cuando claramente en el primer mensaje di el credito a quien lo creo.
      Jérémy has always been like that, but let's move on and besides he just see the money.
      What matters is the community right here.
    • Danter14 wrote:

      Well I prepared everything and made changes in the code because it was missing and a lot of errors happened afterwards



      I made the correct files and I share them on this post, moreover I will also make a video for their installation

      yamilrh you will be put as author and me as edit

      Attention for the change of missions please take the code from the first post because it is not in the file
      USER ERROR: "Call to undefined function tournement()"
      File: /www/wwwroot/xnovaone.online/includes/classes/missions/MissionCaseAttack.class.php | Line: 355
      URL: xnovaone.online/game.php?page=scan | Version: 1.8.git
      Stack trace:
      #0 /includes/classes/class.FlyingFleetHandler.php(80): MissionCaseAttack->TargetEvent()
      #1 /includes/FleetHandler.php(31): FlyingFleetHandler->run()
      #2 /includes/common.php(131): require('/www/wwwroot/xn...')
      #3 /game.php(24): require('/www/wwwroot/xn...')
      #4 {main}
    • Danter14 wrote:

      yamilrh wrote:

      gracias, pero recuerda que yo solo hice que funcionara en 2moons. Y ya jeremy me estuvo atacando porque asume que le robe su codigo, cuando claramente en el primer mensaje di el credito a quien lo creo.
      Jérémy has always been like that, but let's move on and besides he just see the money.What matters is the community right here.


      NOTICE: "Undefined variable: totalAttackers"
      File: /www/wwwroot/xnovaone.online/includes/classes/missions/MissionCaseAttack.class.php | Line: 441
      URL: xnovaone.online/game.php?page=scan | Version: 1.8.git
      Stack trace:
      #0 /includes/classes/missions/MissionCaseAttack.class.php(441): errorHandler(8, 'Undefined varia...', '/www/wwwroot/xn...', 441, Array)
      #1 /includes/classes/class.FlyingFleetHandler.php(80): MissionCaseAttack->TargetEvent()
      #2 /includes/FleetHandler.php(31): FlyingFleetHandler->run()
      #3 /includes/common.php(131): require('/www/wwwroot/xn...')
      #4 /game.php(24): require('/www/wwwroot/xn...')
      #5 {main}
    • LisDid you add the 2 new functions in the GeneralFunction.php?

      Danter14 wrote:


      And reassure me you did not replace the file completely?
      to, problema solucionado, pero ahora no me sale el boton Participar y ya active el Cronj, que debi hacer para que aparezca el boton participar.
    • look in the cron the date when the event will be activated, if you want to activate it faster put them every 1 min for every 2 days