[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>
    • 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 33 times, last: )

      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.