[MOD] Recruitment (Наемники) для 2moons 2.0

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

    • [MOD] Recruitment (Наемники) для 2moons 2.0

      Итак, дисклеймер как обычно :D
      Написано мной и для меня, выкладываю это для ознакомления, если не нужно или не нравится я никого не заставляю это ставить себе, написано специально для версии 2moons 2.0.

      Предыстории нет, просто написал и выкладываю))

      Приступим
      [Blocked Image: http://skrinshoter.ru/p/190218/jJxaY3.png]
      • создаем файл \includes\recruit.php

      PHP Source Code: recruit.php

      1. <?php
      2. $recruit['types'] = array('first','second'); // массив который выводит активные записи(первую и вторую, третья не выводится для ее добавления необходимо добавить запись через запятую 'third' )
      3. //первая активная запись
      4. $recruit['first']['cost'] = 500; //цена в темной материи
      5. $recruit['first']['fleetArray'] = array( // массив с кораблями и количеством
      6. // id корабля количество выдаваемых кораблей
      7. 204 => 50,
      8. 205 => 55,
      9. );
      10. $recruit['first']['defendArray'] = array( // массив с обороной и количеством
      11. 401 => 50,
      12. 402 => 55,
      13. );
      14. // конец записи
      15. // вторая активная запись
      16. $recruit['second']['cost'] = 1000; //цена
      17. $recruit['second']['fleetArray'] = array(
      18. 219 => 50,
      19. 206 => 55,
      20. );
      21. $recruit['second']['defendArray'] = array(
      22. 405 => 50,
      23. 404 => 55,
      24. );
      25. // конец записи
      26. // третья запись (не активная потому что записи нет в главном массиве)
      27. $recruit['third']['cost'] = 200; //цена
      28. $recruit['third']['fleetArray'] = array(
      29. 220 => 50,
      30. );
      31. $recruit['third']['defendArray'] = array(
      32. 405 => 50,
      33. );
      34. // конец записи
      35. ?>
      Display All



      создаем файл \includes\pages\game\ShowRecruitPage.class.php



      PHP Source Code: ShowRecruitPage.class.php

      1. <?php
      2. class ShowRecruitPage extends AbstractGamePage
      3. {
      4. public static $requireModule = 0;
      5. function __construct()
      6. {
      7. parent::__construct();
      8. }
      9. function buy() //покупка
      10. {
      11. global $PLANET, $USER, $resource, $LNG;
      12. include('includes/recruit.php');
      13. $type = HTTP::_GP('type', '');
      14. $cost = $recruit[$type]['cost']; //цена
      15. $db = Database::get();
      16. $sql = 'UPDATE %%PLANETS%% SET';
      17. foreach($recruit[$type]['fleetArray'] as $shipId => $amount){
      18. $sql .= ' `'.$resource[$shipId].'` = `'.$resource[$shipId].'` + '.floattostring($amount).', ';
      19. }
      20. foreach($recruit[$type]['defendArray'] as $shipId => $amount){
      21. $sql .= '`'.$resource[$shipId].'` = `'.$resource[$shipId].'` + '.floattostring($amount).', ';
      22. }
      23. $sql .= '`metal` = `metal` + 0 ';
      24. $sql .= 'WHERE `id` = :planetid';
      25. if($USER[$resource[921]] < $cost )
      26. {
      27. $this->printMessage($LNG['rec_error'], array(array(
      28. 'label' => $LNG['sys_back'],
      29. 'url' => '?page=recruit'
      30. )));
      31. }
      32. $USER[$resource[921]] -= $cost;
      33. $db->update($sql, array(
      34. ':planetid' => $PLANET['id']
      35. ));
      36. $this->printMessage($LNG['rec_purchased'], array(array(
      37. 'label' => $LNG['sys_back'],
      38. 'url' => '?page=recruit'
      39. )));
      40. }
      41. function show()
      42. {
      43. global $LNG;
      44. include('includes/recruit.php');
      45. $this->tplObj->assign_vars(array(
      46. 'recruit' => $recruit,
      47. ));
      48. $this->display('page.recruit.tpl');
      49. }
      50. }
      51. ?>
      Display All

      создаем файл \styles\templates\game\page.recruit.tpl

      HTML Source Code: page.recruit.tpl

      1. {block name="title" prepend}{$LNG.recruitment}{/block}
      2. {block name="content"}
      3. <div class="content_page">
      4. <div class="title">
      5. {$LNG.recruitment}
      6. </div>
      7. {foreach $recruit['types'] as $type}
      8. <div class="main_construct">
      9. <div class="block_construct">
      10. <div class="title" style="margin: 5px 0 0 -5px; text-align: left;" >
      11. {$LNG.$type.1}
      12. <div class="clear"></div>
      13. </div>
      14. <div class="block_construct_desc">
      15. {$LNG.$type.2}
      16. <div class="block_construct_desc_list">
      17. {foreach $recruit[$type]['fleetArray'] as $shipId => $amount}
      18. <img src="{$dpath}gebaeude/{$shipId}.gif" alt="{$LNG.tech.{$shipId}}" width="30" height="30">
      19. {$LNG.tech.{$shipId}}
      20. {$amount|number}</br>
      21. {/foreach}
      22. {foreach $recruit[$type]['defendArray'] as $shipId => $amount}
      23. <img src="{$dpath}gebaeude/{$shipId}.gif" alt="{$LNG.tech.{$shipId}}" width="30" height="30">
      24. {$LNG.tech.{$shipId}}
      25. {$amount|number}</br>
      26. {/foreach}
      27. </div>
      28. <div>
      29. <form action="?page=recruit&mode=buy" method="post" class="build_form">
      30. <input type="hidden" name="type" value="{$type}">
      31. <button type="submit" class="build_submit construct_button">{$LNG.rec_buy}{$recruit[$type]['cost']|number} {$LNG.tech.921}</button>
      32. </form>
      33. </div>
      34. </div>
      35. </div>
      36. </div>
      37. {/foreach}
      38. <div class="clear"></div>
      39. </div>
      40. {/block}
      Display All

      добавляем в \language\ru\INGAME.php (добавить во все языки которые нужны)

      PHP Source Code: INGAME.php

      1. // наемники
      2. $LNG['recruitment'] = 'Наемники';
      3. $LNG['rec_buy'] = 'Приобрести за ';
      4. $LNG['rec_purchased'] = 'Покупка сделана';
      5. $LNG['rec_error'] = 'Не хватает ресурсов';
      6. $LNG['first'][1] = 'Заголовок 1';
      7. $LNG['first'][2] = 'Описание 1';
      8. $LNG['second'][1] = 'Заголовок 2';
      9. $LNG['second'][2] = 'Описание 2';
      Display All
      Добавить ссылку в меню или где удобно Вам <a href="game.php?page=recruit">{$LNG.recruitment}</a>
      Кто к нам с чем зачем, тот от того и того! :D

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

    • Добавление идет через файл recruit.php сейчас подредактирую чтоб было с комментариями
      Кто к нам с чем зачем, тот от того и того! :D
    • обновил запись с комментариями чтобы было проще понять как добавлять дополнительные варианты
      Кто к нам с чем зачем, тот от того и того! :D
    • Мне это очень нравится, достаточно легко адаптировать его к моим потребностям, добавить новые поля в файл recruit.php
    • Android
      есть масса людей которые помогут искренне - совет не обращайся к этому.. пожалеешь потом, отзывы о нем гремят впереди него я скоро подключу людей которые с ним работали мама не горюй :)

      У кого проблемы с подключением обращайтесь помогу совершенно бесплатно + помогу расширить функционал наемников!
      только пинайте порой сильно занят не всегда могу помощь когда требуется мое личное присутсвие но переадресую на других

      (персонально аурому за посылания от твоей жены типа больной который мы бабки собирали на операцию хватит барыжить чужими идеями я дал слово что ты не будешь работать в инете я его сдержу пока не извинится лично твоя дура )

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

    • а ко мне никто не обращался, я выложил и все))) а ты когда начнешь? а то обещаешь полгода уже))) а за все это время выложил только мой мод регистрации форума и пару видео чего то там))))
      Кто к нам с чем зачем, тот от того и того! :D
    • Во первых я исправил и подсказал ряд решений которые ты умолчал , и не говори шь что бы к тебе потом стучались ааа рег не идет я пояснил твой .. и читать научись там сказано что твой .. третье свое еще раз по фишкам надо покупай тебе только платно кому надо я даю свои разработки дабы ты исчез с рынка и не мудил .. боевку свою зависание код исправь ))) для начала косячный хостаил )) потом кричи кстати мной он же исправлен
    • hola amigo me gustaria adaptar y agregar algunas nuevas funciones a esto lo logro ,pero no como quiero o sea intento agregar tecnologias y recursos pero no se me muestran las imagenes, y porque obligatoriamente tengo que tener un array de fleet y defensa sino, no funciona
    • Amigo: no te entiendo del todo, ¿qué significa que no estás mostrando fotos ? en este caso, escriba su camino a ellos, si necesita agregar diferentes tecnologías de desarrollo por nivel, aquí debe hacerlo usted mismo .. si no lo haces .. es decir, aurum79.. él hizo el mod, él será capaz de terminar rápidamente
      Делаю качественно в сроки! на любой версии moons, встрою, или напишу любой мод , но дорого! afire-space.com

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

    • New

      Creo que por aquí hace para mostrar las imagenes
      1. foreach($recruit[$type]['fleetArray'] as $shipId => $amount){
      2. $sql .= ' `'.$resource[$shipId].'` = `'.$resource[$shipId].'` + '.floattostring($amount).', ';
      3. }
      4. foreach($recruit[$type]['defendArray'] as $shipId => $amount){
      5. $sql .= '`'.$resource[$shipId].'` = `'.$resource[$shipId].'` + '.floattostring($amount).', ';
      haber quisera que cuando pongo el id de metal cristal y deuterio me mostrara las imagenes, lo mismo si decido agregar al mod estructuras e investigaciones en esta caso nada mas estan los array paralas flotas y defensas
    • New

      Картинки тут не при чем, а чтоб исследования добавить нужно дописывать массивы
      Кто к нам с чем зачем, тот от того и того! :D