ФРАКЦИИ

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

    • ФРАКЦИИ

      фракции не альянсовые , каждая фракция дает или отнимает что то по возможностям фракцию можно покинуть за донат ... первый выбор бесплатен ... даю вам укороченный вариант фракции мой более расширенный

      и так начнем

      добавить в `uni1_users` prnt.sc/qid4hb

      далее создаем в INCLUDES - папку VARS в ней создаем файл fraction.php

      PHP Source Code

      1. <?php
      2. $fractionList = array(); //обявили элемент массива
      3. // артефакт 1 его название
      4. $fractionList[1] = array ( // создали массив арта
      5. 'class' => 1, //класс арта 1 для юзера
      6. 'bonus' => array (array('Attack',0.02),array('BuildTime',0.01),array('consumption1',-0.03),array('bonusExpeditionUnit',0.03), array('Resource',-0.03),),//создали бонус и указали его показатель
      7. 'cost' => 50, // стоимость артефакта в тм
      8. );
      9. $fractionList[2] = array ( // создали массив арта
      10. 'class' => 1, //класс арта 1 для юзера
      11. 'bonus' => array (array('Attack',-0.02),array('BuildTime',-0.01),array('Resource',0.05),array('Defensive',0.05),array('bonusEnergy',0.03)),
      12. 'cost' => 50, // стоимость артефакта в тм
      13. );
      14. $fractionList[3] = array ( // создали массив арта
      15. 'class' => 1, //класс арта 1 для юзера
      16. 'bonus' => array (array('Attack',0.01),array('BuildTime',0.02),array('bonusResearchTime',0.01),array('bonusExpeditionUnit',-0.01),array('Resource',0.01),),
      17. 'cost' => 50, // стоимость артефакта в тм
      18. );
      19. $fractionList[4] = array ( // создали массив арта
      20. 'class' => 1, //класс арта 1 для юзера
      21. 'bonus' => array (array('Attack',0.01),array('BuildTime',-0.01),array('bonusExpeditionUnit',0.01),array('consumption1',-0.03),array('Expedition',0.03)),
      22. 'cost' => 50, // стоимость артефакта в тм
      23. );
      24. $fractionList[5] = array ( // создали массив арта
      25. 'class' => 1, //класс арта 1 для юзера
      26. 'bonus' => array (array('Attack',0.01),array('BuildTime',0.01),array('Shield',0.03),array('bonusResearchTime',-0.05),array('Expedition',0.03)),
      27. 'cost' => 50, // стоимость артефакта в тм
      28. );
      Display All


      далее создаем в лангах FRACTION.PHP добавляем перевод

      $LNG['fraction_name'][1]= 'Фракция Пиратов';
      $LNG['fraction_name'][2]= 'Фракция Шахтеров';
      $LNG['fraction_name'][3]= 'Фракция Торговцев';
      $LNG['fraction_name'][4]= 'Фракция Искатели';
      $LNG['fraction_name'][5]= 'Фракция Хранители';



      //bonus
      $LNG['fraction_bonus']['Attack']= array('атака','+','%',100);
      $LNG['fraction_bonus']['Defensive']= array('броня','+','%',100);
      $LNG['fraction_bonus']['bonusEnergy']= array('энергия','+','%',100);
      $LNG['fraction_bonus']['Resource']= array('выработка ','+','%',100);
      $LNG['fraction_bonus']['Shield']= array('щиты','+','%',100);
      $LNG['fraction_bonus']['FlyTime']= array('скорость - ф','+','%',100);
      $LNG['fraction_bonus']['BuildTime']= array('скорость с-ф','+','%',100);
      $LNG['fraction_bonus']['bonusResearchTime']= array('наука с-ф','+','%',100);
      $LNG['fraction_bonus']['consumption1']= array('затраты топлива','+','%',100);
      $LNG['fraction_bonus']['bonusExpeditionUnit']= array('исследвания с-ф','+','%',100);

      $LNG['fraction_bonus']['Expedition']= array('экспедиция слоты с-ф','+','%',100);

      идем в comon.php

      на строке у меня 147 $LNG->includeData добавляем FRACTION

      идем в generalfunctions

      в function getFactors добавляем $fractionList ;

      и в vars.php
      не забудьте подключить

      require 'includes/vars/fraction.php';
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com

      The post was edited 3 times, last by Shadow ().

    • далее создаем в games ShowFractionPage.php

      PHP Source Code

      1. <?php
      2. class ShowFractionPage extends AbstractGamePage
      3. {
      4. public static $requireModule = 1;
      5. function __construct()
      6. {
      7. parent::__construct();
      8. }
      9. function vibrat() //функция выбрать
      10. {
      11. global $USER, $fractionList, $db, $resource, $LNG;
      12. $id = HTTP::_GP('id', 0);
      13. if ($USER['fraction'] != 0)
      14. $this->printMessage('иди нафик куплен уже', array(array(
      15. 'label' => $LNG['sys_forward'],
      16. 'url' => 'game.php?page=fraction'
      17. )));
      18. //делаем выбор
      19. $sql = 'UPDATE %%USERS%% SET
      20. fraction = :vibratFraction
      21. WHERE
      22. id = :userId';
      23. Database::get()->update($sql, array(
      24. ':vibratFraction' => $id,
      25. ':userId' => $USER['id']
      26. ));
      27. $this->printMessage('Вы выбрали фракцию', array(array(
      28. 'label' => $LNG['sys_forward'],
      29. 'url' => 'game.php?page=fraction'
      30. )));
      31. }
      32. function smena() //функция выбрать
      33. {
      34. global $USER, $fractionList, $db, $resource, $LNG;
      35. $id = HTTP::_GP('id', 0);
      36. if ($USER['fraction'] == 0){
      37. $this->printMessage('Глава фракции в виде наказания и предательства требует откупных 50 золотых', array(array(
      38. 'label' => $LNG['sys_forward'],
      39. 'url' => 'game.php?page=fraction'
      40. )));
      41. }
      42. if ($USER['fraction'] != 0) {
      43. if ($USER['fraction'] == $id)
      44. $this->printMessage('Вы уже состоите в этой фракции, повторно нельзя выбрать', array(array('label' => $LNG['sys_forward'], 'url' => 'game.php?page=fraction')));
      45. if ($fractionList[$id]['cost'] > $USER[$resource[921]])
      46. $this->printMessage('Предатель да как ты смеешь без откупных покидать фракцию - гони 50 золотых! ', array(array('label' => $LNG['sys_forward'],'url' => 'game.php?page=fraction')));
      47. $USER[$resource[921]] -= $fractionList[$id]['cost'];
      48. //делаем выбор
      49. $sql = 'UPDATE %%USERS%% SET
      50. fraction = :vibratFraction
      51. WHERE
      52. id = :userId';
      53. Database::get()->update($sql, array(
      54. ':vibratFraction' => $id,
      55. ':userId' => $USER['id']
      56. ));
      57. $this->printMessage('Поздравляем! Вы успешно откупились от бывшего главы для прехода в другую фракцию и вступили в '.$LNG['fraction_name'][$id], array(array(
      58. 'label' => $LNG['sys_forward'],
      59. 'url' => 'game.php?page=fraction'
      60. )));
      61. }
      62. }
      63. function show()
      64. {
      65. global $USER, $fractionList, $db;
      66. $colectionSelect = array();
      67. foreach($fractionList as $id => $artrow)
      68. {
      69. $colectionSelect[$id]= array(
      70. 'class' => $artrow['class'],
      71. 'bonus' => $artrow['bonus'],
      72. 'cost' => $artrow['cost'],
      73. );
      74. }
      75. $this->assign(array(
      76. 'fractionList' => $fractionList,
      77. 'colectionSelect' => $colectionSelect,
      78. 'fraction' => $USER['fraction'],
      79. ));
      80. $this->display('page.fraction.tpl');
      81. }
      82. }
      Display All
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com
    • page.fraction.tpl


      Source Code

      1. {block name="title" prepend}Фракции{/block}
      2. {block name="content"}
      3. <div class="content_page" ">
      4. <div class="pro">
      5. {foreach $colectionSelect as $id => $fractionRow}
      6. <div class="triada4 fe2" >
      7. <img src="{$dpath}fraction/{$id}.png" class="d1">
      8. </br><p class="d2;">{$LNG.fraction_name.$id}</br>
      9. <span class="bi">
      10. {foreach $fractionRow.bonus as $key => $bonusRow}
      11. {$LNG['fraction_bonus'][$bonusRow.0][0]}
      12. {if $bonusRow.1 >0}{$LNG['fraction_bonus'][$bonusRow.0][1]}{/if}{$LNG['fraction_bonus'][$bonusRow.0][3]*$bonusRow.1}{$LNG['fraction_bonus'][$bonusRow.0][2]}<br>
      13. {/foreach}
      14. </span>
      15. {if $fraction == 0}
      16. <a href="game.php?page=fraction&mode=vibrat&id={$id}" class="virt">Выбрать</a>
      17. {elseif $fraction == $id}
      18. <img src="{$dpath}fraction/factiv.png" style="width: 7vw;height: 7vw;left: 2.5vw;bottom: 2vw;position: absolute;">
      19. {elseif $fraction != 0}
      20. <a href="game.php?page=fraction&mode=smena&id={$id}" class="virt">смена фракции</a>
      21. {/if}
      22. </div>
      23. {/foreach}
      24. </div>
      25. </div>
      26. {/block}
      Display All
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com
    • Cree un sistema de facciones empleando el codigo de los oficiales. Agregue 4 facciones en la clase 600 a partir del 680.

      Limite el listo de oficiales al 679.

      Todo bien hasta ahi, pero ahora me ha surgido un problema que no le he podido encontrar la solucion.

      Una de mis facciones reduce el tiempo de vuelo en un 50%. Eso se suma a la reduccion de vuelo del oficial General -10% x3 niveles = -30%
      -30%+(-50%) = -80%. Asi deberia quedar.
      El problema esta en que ahora las naves no tienen capacidad de carga para el combustible necesario. Me redujo el tiempo de vuelo en un 80% y me aumento el consumo de deuterio en un 300%.

      ------

      Create a system of factions using the code of the officers. Add 4 factions in class 600 from 680.



      Limit the ready of officers to 679.



      All good until there, but now I have a problem that I could not find the solution.



      One of my features reduces flight time by 50%. That adds to the General Officer's flight reduction -10% x3 levels = -30%


      -30% + (- 50%) = -80%. That should be.


      The problem is that now the ships have no load capacity for the necessary fuel. I reduced the flight time by 80% and I increased the consumption of deuterium by 300%.

      ---
      Создайте систему фракций, используя код офицеров. Добавьте 4 фракции в классе 600 из 680.



      Ограничить готовность офицеров до 679.



      Все хорошо, пока нет, но сейчас у меня проблема, что я не смог найти решение.



      Одна из моих функций сокращает время полета на 50%. Это добавляет к сокращению полета генерального офицера -10% x3 уровня = -30%


      -30% + (- 50%) = -80%. Это должно быть.


      Проблема в том, что сейчас корабли не имеют грузоподъемности для необходимого топлива. Я сократил время полета на 80% и увеличил потребление дейтерия на 300%.
    • я не использую базу данных для хранения фракций я использую всего лишь одну ячейку для хранения информации))) я использую другой подход и не захламляю базу данных таблицами и ячейками... я отошел от два класики мунса .. и пишу как мой учитель, чей мне подход нравится.. офицеры, есть офицеры.. не путайте тут другое .. я не пишу код как пишут тут .. мне он абсолютно не интересен..

      вот эти фракции которые я написал, они индивидуальные.. это раз. второе - топ фракция получает в игре бонус пока она занимает по фракциям первое место ее скидывает любая фракция чьи лидер фракции способен скинуть другую фракцию с топ места

      если у вас вместо заявленого наоборот что то добавилось, или работает наоборот то посмотрите внимательно какие идут бонусы по умолчанию и делайте не - а + к примеру уже

      1) мне ваш код не нужен .. я не использую 2moons код в чистом виде

      2) если вам нужна помощь то мне нужен ваш код - обработка , что бы я увидел где у вас ошибка и не правильно считает , но так по мне вы где то ошиблись в расчетах и вместо плюса поставили минус

      может я вас конечно не понял - но тут я буду обсуждать только свой код и помогать с ним .. ваш код пишите в другой теме я постараюсь помощь вам
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com
    • Te entiendo, lo que expones aqui lo llevare a mi 2 moons y lo probare. Lo que intentaba era alguna ayuda con el tema del consumo disparado. Aun siguo buscando, leyendo codigo mientras busco la causa.

      Agradezco su ayuda y colavoracion a esta comunidad.
      Le contare como me fue con las facciones que aqui expones.

      Un saludo.
    • Shadow wrote:

      далее создаем в games ShowFractionPage.php

      PHP Source Code

      1. <?php
      2. class ShowFractionPage extends AbstractGamePage
      3. {
      4. public static $requireModule = 1;
      5. function __construct()
      6. {
      7. parent::__construct();
      8. }
      9. function vibrat() //функция выбрать
      10. {
      11. global $USER, $fractionList, $db, $resource, $LNG;
      12. $id = HTTP::_GP('id', 0);
      13. if ($USER['fraction'] != 0)
      14. $this->printMessage('иди нафик куплен уже', array(array(
      15. 'label' => $LNG['sys_forward'],
      16. 'url' => 'game.php?page=fraction'
      17. )));
      18. //делаем выбор
      19. $sql = 'UPDATE %%USERS%% SET
      20. fraction = :vibratFraction
      21. WHERE
      22. id = :userId';
      23. Database::get()->update($sql, array(
      24. ':vibratFraction' => $id,
      25. ':userId' => $USER['id']
      26. ));
      27. $this->printMessage('Вы выбрали фракцию', array(array(
      28. 'label' => $LNG['sys_forward'],
      29. 'url' => 'game.php?page=fraction'
      30. )));
      31. }
      32. function smena() //функция выбрать
      33. {
      34. global $USER, $fractionList, $db, $resource, $LNG;
      35. $id = HTTP::_GP('id', 0);
      36. if ($USER['fraction'] == 0){
      37. $this->printMessage('Глава фракции в виде наказания и предательства требует откупных 50 золотых', array(array(
      38. 'label' => $LNG['sys_forward'],
      39. 'url' => 'game.php?page=fraction'
      40. )));
      41. }
      42. if ($USER['fraction'] != 0) {
      43. if ($USER['fraction'] == $id)
      44. $this->printMessage('Вы уже состоите в этой фракции, повторно нельзя выбрать', array(array('label' => $LNG['sys_forward'], 'url' => 'game.php?page=fraction')));
      45. if ($fractionList[$id]['cost'] > $USER[$resource[921]])
      46. $this->printMessage('Предатель да как ты смеешь без откупных покидать фракцию - гони 50 золотых! ', array(array('label' => $LNG['sys_forward'],'url' => 'game.php?page=fraction')));
      47. $USER[$resource[921]] -= $fractionList[$id]['cost'];
      48. //делаем выбор
      49. $sql = 'UPDATE %%USERS%% SET
      50. fraction = :vibratFraction
      51. WHERE
      52. id = :userId';
      53. Database::get()->update($sql, array(
      54. ':vibratFraction' => $id,
      55. ':userId' => $USER['id']
      56. ));
      57. $this->printMessage('Поздравляем! Вы успешно откупились от бывшего главы для прехода в другую фракцию и вступили в '.$LNG['fraction_name'][$id], array(array(
      58. 'label' => $LNG['sys_forward'],
      59. 'url' => 'game.php?page=fraction'
      60. )));
      61. }
      62. }
      63. function show()
      64. {
      65. global $USER, $fractionList, $db;
      66. $colectionSelect = array();
      67. foreach($fractionList as $id => $artrow)
      68. {
      69. $colectionSelect[$id]= array(
      70. 'class' => $artrow['class'],
      71. 'bonus' => $artrow['bonus'],
      72. 'cost' => $artrow['cost'],
      73. );
      74. }
      75. $this->assign(array(
      76. 'fractionList' => $fractionList,
      77. 'colectionSelect' => $colectionSelect,
      78. 'fraction' => $USER['fraction'],
      79. ));
      80. $this->display('page.fraction.tpl');
      81. }
      82. }
      Display All
      Creo que es ShowFractionPage.class.php

      y me devolvió este error
      Message: Invalid argument supplied for foreach()
      File: /includes/pages/game/ShowFractionPage.class.php
      Line: 158
      URL: localhost/xnova/game.php?page=fraction
      PHP-Version: 7.3.6
      PHP-API: apache2handler
      2Moons Version: 2.0.git
      Debug Backtrace:
      #0
      /includes/pages/game/ShowFractionPage.class.php(158): errorHandler(2,
      'Invalid argumen...', 'C://xampp//htdocs...', 158, Array)
      #1 /game.php(57): ShowFractionPage->show()
      #2 {main}
      VERY SAD :/ :/ :/ :/
    • вы не подключили все окончательно - он не понимает формирование массива $fractionList проверьте подключили ли вы его правильно

      и надеюсь структуру папок и формирование базы данных сделали как я описал? - любое изменение структуры и способов подключения по своему .. будет вызывать ошибку.. вам придется все переписать по другому.. я делаю свои моды так что бы любое вмешательство не опытных.. делало их не рабочими, если пытаются сделать по своему
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com

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

    • мой новый код оф изображения вы просили показать

      prnt.sc/qjteoh

      а это фракции
      prnt.sc/qjteza старый код то что я дал вам тут он рабочий

      это что за минус ???

      это будет мой новый проект по изображениям , а минус тут не при чем странный вы .. изображения я не даю к фракциям.. делаем самостоятельно... так же делаем оформление сами .. я дал только исполняемый код
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com

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

    • еще раз он у вас не работает :) дайте мне доступ к своему проекту я вам его поставлю за пять минут .. или внимательно еще раз сделайте все как написано .. которая у вас ошибка .. говорит о том что он не понимает формирование и от куда его брать .... то есть не правильно формируется массив
      так как вы не подключили fractionList по инструкции .. не можете сами.. дайте доступ я помогу .. я понимаю что для многих в мунс это сложно ... так как не делаете такого го .. или поймите что не так и подлючите нормально .. то что я сказал не выдумывая чего то еще с базой и так далее... по своему у вас не выйдет запустить это - как вы написали выше мол я сделаю id такой то .. или делаете мой вариант один к одному, или пишите свой... видоизмененном виде он работать не будет... так как не предназначен для стандартного внедрения ..
      я сегодня установлю чистую версию 2moons и для вас запишу видео как надо сделать этот мод// и вы увидите что он рабочий и ошибка в том ...что вы не смогли поставить его сами

      днем я прикреплю видео установки
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com
    • yadi.sk/i/Auz80Dj-TRnFbQ

      me equivoqué apresurándome :( la traducción equivocada dio.. lo arreglé .. corrija por favor

      в переводе замените на вот это.. я прошу извинить не тот на автомате дал -

      $LNG['fraction_name'][1]= 'Фракция Пиратов';
      $LNG['fraction_name'][2]= 'Фракция Шахтеров';
      $LNG['fraction_name'][3]= 'Фракция Торговцев';
      $LNG['fraction_name'][4]= 'Фракция Искатели';
      $LNG['fraction_name'][5]= 'Фракция Хранители';



      //bonus
      $LNG['fraction_bonus']['Attack']= array('атака','+','%',100);
      $LNG['fraction_bonus']['Defensive']= array('броня','+','%',100);
      $LNG['fraction_bonus']['bonusEnergy']= array('энергия','+','%',100);
      $LNG['fraction_bonus']['Resource']= array('выработка ','+','%',100);
      $LNG['fraction_bonus']['Shield']= array('щиты','+','%',100);
      $LNG['fraction_bonus']['FlyTime']= array('скорость - ф','+','%',100);
      $LNG['fraction_bonus']['BuildTime']= array('скорость с-ф','+','%',100);
      $LNG['fraction_bonus']['bonusResearchTime']= array('наука с-ф','+','%',100);
      $LNG['fraction_bonus']['consumption1']= array('затраты топлива','+','%',100);
      $LNG['fraction_bonus']['bonusExpeditionUnit']= array('исследвания с-ф','+','%',100);

      $LNG['fraction_bonus']['Expedition']= array('экспедиция слоты с-ф','+','%',100);


      и в vars.php
      не забудьте подключить

      require 'includes/vars/fraction.php';
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com

      The post was edited 4 times, last by Shadow ().

    • Забыл предупредить что бы бонусы работали их надо прописать -- но тут сами - у меня другая боевка и настройки.. мое не подойдет
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com