[MOD] Market (Рынок) 2moons 2.0

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

    • [MOD] Market (Рынок) 2moons 2.0

      Итак други, написал мод для версии 2.0 что есть:
      • Продажа ресурсов, флота и обороны
      • Покупка соответственно
      • Отмена лота
      • Возвращение ресурсов на ту планету откуда был выставлен лот (чтоб не перекидывали с планету на планету флот/оборону/ресурсы)
      Собственно все понятно и модифицируемо для Вас друзья)

      Приступим:
      в Базе данных выполняем запрос:

      SQL-Query

      1. CREATE TABLE `uni1_market` (
      2. `id` int(11) NOT NULL,
      3. `id_owner` int(16) NOT NULL DEFAULT 0,
      4. `id_planet` int(16) NOT NULL DEFAULT 0,
      5. `lot` text NOT NULL,
      6. `price` bigint(20) NOT NULL DEFAULT 0,
      7. `time` int(16) NOT NULL DEFAULT 0
      8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;



      открываем файл dbtables.php и вставляем



      PHP Source Code

      1. 'MARKET' => DB_PREFIX.'market',


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

      PHP Source Code: ShowMarketPage.class.php

      1. <?php
      2. # мод Рынок (Market)
      3. # author: Aurum79 aka Чук
      4. /*
      5. CREATE TABLE `uni1_market` (
      6. `id` int(11) NOT NULL,
      7. `id_owner` int(16) NOT NULL DEFAULT 0,
      8. `id_planet` int(16) NOT NULL DEFAULT 0,
      9. `lot` text NOT NULL,
      10. `price` bigint(20) NOT NULL DEFAULT 0,
      11. `time` int(16) NOT NULL DEFAULT 0
      12. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      13. */
      14. class ShowMarketPage extends AbstractGamePage
      15. {
      16. public static $requireModule = MODULE_FLEET_TABLE;
      17. function __construct()
      18. {
      19. parent::__construct();
      20. }
      21. function show()
      22. {
      23. global $USER, $db, $PLANET, $LNG, $resource, $reslist;
      24. $lot = array();
      25. foreach(array_merge($reslist['resstype'][1], $reslist['fleet'], $reslist['defense']) as $sellID)
      26. {
      27. if ($PLANET[$resource[$sellID]] == 0)
      28. continue;
      29. $lot[] = array(
      30. 'id' => $sellID,
      31. 'count' => $PLANET[$resource[$sellID]],
      32. );
      33. }
      34. $sql ='SELECT * FROM %%MARKET%% WHERE id_owner != :userID;';
      35. $markets = $db->select($sql, array(
      36. ':userID' => $USER['id']
      37. ));
      38. $market = array();
      39. foreach($markets as $lotID)
      40. {
      41. $Popup = '<a href="#" data-tooltip-content="<table style=\'width:200px\'>';
      42. $text = '';
      43. $Datalot = array();
      44. $lotz = explode(';', $lotID['lot']);
      45. foreach($lotz as $Item => $Group)
      46. {
      47. if (empty($Group))continue;
      48. $res = explode(',', $Group);
      49. $Popup .= '<tr><td style=\'width:50%;color:white\'>'.$LNG['tech'][$res[0]].':</td><td style=\'width:50%;color:white\'>'.pretty_number($res[1]).'</td></tr>';
      50. $Datalot[] = floatToString($res[1]).' '.$LNG['tech'][$res[0]];}
      51. $text .= implode('; ', $Datalot);
      52. $Popup .= '</table>" class="tooltip">Лот</a><span class="textForBlind"> ('.$text.')</span>';
      53. $market[] = array(
      54. 'lot' => $Popup,
      55. 'id' => $lotID['id'],
      56. 'price' => $lotID['price'],
      57. 'time' => _date($LNG['php_tdformat'],$lotID['time']),
      58. );
      59. }
      60. $sql ='SELECT * FROM %%MARKET%% WHERE id_owner = :userID; ';
      61. $u = $db->select($sql, array(
      62. ':userID' => $USER['id']
      63. ));
      64. $u_lot = array();
      65. foreach($u as $lotID)
      66. {
      67. $Popup = '<a href="#" data-tooltip-content="<table style=\'width:200px\'>';
      68. $text = '';
      69. $Datalot = array();
      70. $lotz = explode(';', $lotID['lot']);
      71. foreach($lotz as $Item => $Group)
      72. {
      73. if (empty($Group))continue;
      74. $res = explode(',', $Group);
      75. $Popup .= '<tr><td style=\'width:50%;color:white\'>'.$LNG['tech'][$res[0]].':</td><td style=\'width:50%;color:white\'>'.pretty_number($res[1]).'</td></tr>';
      76. $Datalot[] = floatToString($res[1]).' '.$LNG['tech'][$res[0]];}
      77. $text .= implode('; ', $Datalot);
      78. $Popup .= '</table>" class="tooltip">Лот</a><span class="textForBlind"> ('.$text.')</span>';
      79. $u_lot[] = array(
      80. 'lot' => $Popup,
      81. 'id' => $lotID['id'],
      82. 'price' => $lotID['price'],
      83. 'time_off' => $lotID['time']+172800,
      84. 'time' => _date($LNG['php_tdformat'],$lotID['time']),
      85. );
      86. }
      87. $this->assign(array(
      88. 'lot' => $lot,
      89. 'market' => $market,
      90. 'u_lot' => $u_lot,
      91. 'timestamp' => TIMESTAMP,
      92. ));
      93. $this->display('page.market.tpl');
      94. }
      95. function add()
      96. {
      97. global $PLANET,$USER, $LNG, $resource, $reslist;
      98. $db = Database::get();
      99. $lot = array();
      100. $price = max(0, min(0,HTTP::_GP('price',0)));
      101. $add_lot = array_merge($reslist['resstype'][1], $reslist['fleet'], $reslist['defense']);
      102. foreach ($add_lot as $id => $lotID)
      103. {
      104. $amount = max(0, floor(HTTP::_GP('lot'.$lotID, 0.0, 0.0)));
      105. if ($amount < 1) continue;
      106. if ($amount > $PLANET[$resource[$lotID]]) continue;
      107. $lot[] = $lotID.','.floatToString($amount);
      108. $PLANET[$resource[$lotID]] -= $amount;
      109. $sql = "UPDATE %%PLANETS%% SET
      110. ".$resource[$lotID]."=".$resource[$lotID]."-:amount
      111. WHERE id = :planetID;";
      112. $db->update($sql, array(
      113. ':planetID' => $PLANET['id'],
      114. ':amount' => $amount
      115. ));
      116. }
      117. if (empty($lot) || $price == 0){
      118. $this->printMessage('Ничего не выставлено в лот или не указана цена', array(array(
      119. 'label' => $LNG['sys_forward'],
      120. 'url' => 'game.php?page=market'
      121. )));
      122. }
      123. $sql = 'INSERT INTO %%MARKET%% SET
      124. id_owner = :id_owner,
      125. id_planet = :id_planet,
      126. lot = :lot,
      127. price = :price,
      128. time = :time;';
      129. $db->insert($sql, array(
      130. ':id_owner' => $USER['id'],
      131. ':id_planet' => $PLANET['id'],
      132. ':time' => TIMESTAMP,
      133. ':lot' => implode(';', $lot),
      134. ':price' => round($price),
      135. ));
      136. $this->printMessage('Лот выставлен дружище!', array(array(
      137. 'label' => $LNG['sys_forward'],
      138. 'url' => 'game.php?page=market'
      139. )));
      140. }
      141. function sell()
      142. {
      143. global $PLANET,$USER, $LNG,$db, $resource, $reslist;
      144. $id = HTTP::_GP('id', 0);
      145. $selling = $db->selectSingle("SELECT * FROM %%MARKET%% WHERE id = :ID;", array(':ID' => $id));
      146. if($USER[$resource[921]] < $selling['price']){
      147. $this->printMessage('Чувак, бабла не хватает, иди лесом!', array(array( 'label' => $LNG['sys_forward'],'url' => 'game.php?page=market')));}else{
      148. $sell_lot = explode(';', $selling['lot']);
      149. foreach ($sell_lot as $sell => $id)
      150. {
      151. $res = explode(',', $id);
      152. $PLANET[$resource[$res[0]]] += $res[1];
      153. $sql = "UPDATE %%PLANETS%% SET
      154. ".$resource[$res[0]]."=".$resource[$res[0]]."+:amount
      155. WHERE id = :planetID;";
      156. $db->update($sql, array(
      157. ':planetID' => $PLANET['id'],
      158. ':amount' => $res[1]
      159. ));
      160. }
      161. $USER[$resource[921]] -= $selling['price'];
      162. $sql = "UPDATE %%USERS%% SET ".$resource[921]."=".$resource[921]."+:amount WHERE id = :userID;";
      163. $db->update($sql, array(':userID'=> $selling['id_owner'],':amount'=> $selling['price']));
      164. $sql = "DELETE FROM %%MARKET%% WHERE id = :lotId;";
      165. $db->delete($sql, array(
      166. ':lotId' => $selling['id']
      167. ));
      168. $this->printMessage('Все было куплено!', array(array(
      169. 'label' => $LNG['sys_forward'],
      170. 'url' => 'game.php?page=market'
      171. )));
      172. }
      173. }
      174. function cancel_lot()
      175. {
      176. global $PLANET,$USER, $LNG,$db, $resource, $reslist;
      177. $id = HTTP::_GP('id', 0);
      178. $cancel = $db->selectSingle("SELECT * FROM %%MARKET%% WHERE id = :ID;", array(':ID' => $id));
      179. $cancel_lot = explode(';', $cancel['lot']);
      180. foreach ($cancel_lot as $sell => $id)
      181. {
      182. $res = explode(',', $id);
      183. $PLANET[$resource[$res[0]]] += $res[1];
      184. $sql = "UPDATE %%PLANETS%% SET
      185. ".$resource[$res[0]]."=".$resource[$res[0]]."+:amount
      186. WHERE id = :planetID;";
      187. $db->update($sql, array(
      188. ':planetID' => $cancel['id_planet'],
      189. ':amount' => $res[1]
      190. ));
      191. }
      192. $sql = "DELETE FROM %%MARKET%% WHERE id = :lotId;";
      193. $db->delete($sql, array(
      194. ':lotId' => $selling['id']
      195. ));
      196. $this->printMessage('Лот был снят с продажи!', array(array(
      197. 'label' => $LNG['sys_forward'],
      198. 'url' => 'game.php?page=market'
      199. )));
      200. }
      201. }
      Display All
      Кто к нам с чем зачем, тот от того и того! :D

      The post was edited 3 times, last by aurum79: Изменение: добавлено время лота ().

    • 2 сообщение. Ибо ограничение в 10000 символов

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

      HTML Source Code: page.market.tpl

      1. {block name="title" prepend}Market{/block}
      2. {block name="content"}
      3. <style>
      4. /* TABS */
      5. .accordion-tabs {
      6. padding: 0px 20px; /* Убираем отступы */
      7. width: auto;
      8. border: 1px solid #0c1114;
      9. border-radius: 0.1875em;
      10. margin-bottom: 1.5em;
      11. margin-left:0;
      12. padding-left:0;
      13. }
      14. .accordion-tabs:before,
      15. .accordion-tabs:after {
      16. content: " ";
      17. display: table;
      18. }
      19. .accordion-tabs:after {
      20. clear: both;
      21. }
      22. .accordion-tabs li{
      23. list-style:none;
      24. }
      25. .accordion-tabs li.tab-head-cont:first-child a {
      26. border-top-left-radius: 0.1875em;
      27. border-top-right-radius: 0.1875em;
      28. border-top: 0;
      29. }
      30. .accordion-tabs li.tab-head-cont:last-child a {
      31. border-bottom-left-radius: 0.1875em;
      32. border-bottom-right-radius: 0.1875em;
      33. }
      34. .accordion-tabs li.tab-head-cont a {
      35. text-decoration:none;
      36. border-top: 1px solid rgba(68,68,68,0.1);
      37. color: #ffffff;
      38. display: block;
      39. padding: 0.75em 0.809em;
      40. }
      41. .accordion-tabs li.tab-head-cont a:hover {
      42. color: #ffffff;
      43. }
      44. .accordion-tabs li.tab-head-cont a:focus {
      45. outline: none;
      46. }
      47. .accordion-tabs li.tab-head-cont a.is-active {
      48. background-color: #2b4053;
      49. border-bottom: 0;
      50. color:#ffffff;
      51. }
      52. .accordion-tabs li.tab-head-cont section {
      53. padding: 1.5em 1.618em;
      54. background: #2b4053;
      55. display: none;
      56. overflow: hidden;
      57. width: 100%;
      58. }
      59. /* RESPONSIVE */
      60. @media screen and (min-width: 40em) {
      61. .accordion-tabs {
      62. border: none;
      63. position: relative;
      64. }
      65. .accordion-tabs li.tab-head-cont {
      66. display: inline;
      67. }
      68. .accordion-tabs li.tab-head-cont:last-child a {
      69. border-bottom-left-radius: 0;
      70. border-bottom-right-radius: 0;
      71. }
      72. .accordion-tabs li.tab-head-cont a {
      73. display: inline-block;
      74. vertical-align: baseline;
      75. zoom: 1;
      76. *display: inline;
      77. *vertical-align: auto;
      78. border-top: 0;
      79. border-top-right-radius: 0.1875em;
      80. border-top-left-radius: 0.1875em;
      81. }
      82. .accordion-tabs li.tab-head-cont a.is-active {
      83. background-color: #2b4053;
      84. border: 1px solid #2b4053;
      85. border-bottom: 1px solid #2b4053;
      86. margin-bottom: -1px;
      87. }
      88. .accordion-tabs li.tab-head-cont section {
      89. border-bottom-left-radius: 0.1875em;
      90. border-bottom-right-radius: 0.1875em;
      91. border: 1px solid #2b4053;
      92. float: left;
      93. left: 0;
      94. padding: 0.75em 0.809em;
      95. }
      96. .accordion-tabs li.tab-head-cont section p {
      97. -webkit-columns: 1;
      98. -moz-columns: 1;
      99. columns: 1;
      100. }
      101. </style>
      102. <table class="table519">
      103. <tbody>
      104. <tr>
      105. <td class="left">
      106. <ul class="accordion-tabs">
      107. <li class="tab-head-cont">
      108. <a href="#" class="is-active">Лоты на рынке</a>
      109. <section>
      110. <table style="width:100%;">
      111. <tbody>
      112. <th>Лот:</th>
      113. <th>Дата:</th>
      114. <th>Стоимость:</th>
      115. <th></th>
      116. {foreach $market as $row}
      117. <tr>
      118. <td>{$row.lot}</td>
      119. <td>{$row.time}</td>
      120. <td>{$row.price|number} ТМ</td>
      121. <td><a href="?page=market&mode=sell&id={$row.id}">Купить</a></td>
      122. </tr>
      123. {/foreach}
      124. </tbody>
      125. </table>
      126. </section>
      127. </li>
      128. <li class="tab-head-cont">
      129. <a href="#">Выставить лот</a>
      130. <section>
      131. <table style="width:100%;">
      132. <form action="?page=market&mode=add" method="post">
      133. {foreach $lot as $row}
      134. <tr>
      135. <td>{$LNG.tech.{$row.id}}:</td>
      136. <td>{$row.count|number}</td>
      137. <td>
      138. <input name="lot{$row.id}" size="10" value="0">
      139. </td>
      140. </tr>
      141. {/foreach}
      142. <tr>
      143. <td>Цена в ТМ:</td>
      144. <td>
      145. <input name="price" id="price" size="10" value="0">
      146. </td>
      147. <td></td>
      148. </tr>
      149. <tr>
      150. <td colspan="3"><button type="submit">Продолжить</button> </td>
      151. </tr>
      152. </form>
      153. </table>
      154. </section>
      155. </li>
      156. <li class="tab-head-cont">
      157. <a href="#">Ваши лоты</a>
      158. <section>
      159. <table style="width:100%;">
      160. <tbody>
      161. <th>Лот:</th>
      162. <th>Дата:</th>
      163. <th></th>
      164. {foreach $u_lot as $row}
      165. <tr>
      166. <td>{$row.lot}</td>
      167. <td>{$row.time}</td>
      168. <td>{if $row.time_off > $timestamp}-{else}<a href="?page=market&mode=cancel_lot&id={$row.id}">Снять лот</a>{/if}</td>
      169. </tr>
      170. {/foreach}
      171. </tbody>
      172. </table>
      173. </section>
      174. </li>
      175. </ul>
      176. </td>
      177. </tr>
      178. </tbody></table>
      179. <script>
      180. $(document).ready(function () {
      181. $('.accordion-tabs').children('li').first().children('a').addClass('is-active')
      182. .next().addClass('is-open').show();
      183. $('.accordion-tabs').on('click', 'li > a', function(event) {
      184. if (!$(this).hasClass('is-active')) {
      185. event.preventDefault();
      186. $('.accordion-tabs .is-open').removeClass('is-open').hide();
      187. $(this).next().toggleClass('is-open').toggle();
      188. $('.accordion-tabs').find('.is-active').removeClass('is-active');
      189. $(this).addClass('is-active');
      190. } else {
      191. event.preventDefault();
      192. }
      193. });
      194. });
      195. </script>
      196. {/block}
      Display All


      ну и собственно ссылка в меню:

      HTML Source Code

      1. <li><a href="game.php?page=market">Рынок</a></li>


      пара скринов на всякий случай))


      P.S. -- все достаточно читабельно и модифицируемо, если будет не лень скоро обновлю чтоб не "сейвили" ресурсы и прочее на рынке
      UPD. Добавил "антисейв". Теперь нельзя снять свой лот если от выставления лота до снятия прошло менее 48 часов
      Кто к нам с чем зачем, тот от того и того! :D

      The post was edited 2 times, last by aurum79: Изменение: добавлено время лота ().

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

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

      нарушаешь договор я тебе проплатил 4 тысячи только за один мод с обещанием дать две еще если ты сделаешь мод за сутки как ты обещал... ты не сделал ни первый не второй то бухой то проблемы дома и так всегда после получения финансов ни одного мода даже пиратов я переписал где ты не смог написать массив ..за две недели и лично я - Николай не буду с тобой работать больше ..... и другим не советую не платить пока не

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

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

    • По моду: ты оплатил, времени не было и я вернул деньги. Чеки обнародовать?
      Идея не сложная и я решил ее доработать без твоего финансирования. Что я делаю в свое свободное время не твое дело. Я тебе ничего не должен как и ты мне. Так что давай так: ты критикуешь или за дело или просто молчишь.
      Далее: тебе достается мод без доплаты, чего тебе еще надо?
      Твой двиг это твой двиг и выкладывать я его не собирался и не собираюсь. Работать со мной? Это я с тобой не буду работать без 100% предоплаты, по дебагингу я не отказывал ни разу.
      З.Ы. я пишу что мне нравится и буду писать. И выкладывать буду то что написал я. Не на пррдажу. Нацди хоть одну строчку общую между тем что давал тебе и тем что выложил тут. Или мне самому выложить?
      Кто к нам с чем зачем, тот от того и того! :D
    • ты вернул покажи чеки ????????????? короче не удивляйся если все работы уволят на две недели ок по тебе работают все достал возврат будет полный поверь слово мужик адаю не помогут
    • я молды все твои сделал сам без тебя ты мудак Николай я понимаю почем от тебя твоя жена сбежала скоро словишь привет больше я с тобой не общаюсь пока мне на поступят а поверь поступят обратно финансы и твой голос записан ка кты бухой ныл дай денег у меня проблемы я тебе дал не вернул и работу не сделал твою работу помогали переделать все рахговор хзаокнчен ты в разработке где ты работаешь и на кого я знаю где живеш тоже уже пробили я не люблю кидков и ты теперь поймешь с кем свзяался
    • Эм... Коля, ты дебил? Тебе адрес нужен? Я тебе его сам дам. Более того я тебе его давал. Сверься с записями)) далее - меня не Коля зовут, Леня я, Леня! Далее: да насрать, мудло, ты меня один раз уже кинул, насрал тут на форуме что я тебе бд снес и прочее... Знаешь, ты мудак и дебил, но я выше твоего говна)) я даже выкладывать ничего не буду из того что "твое", реал не буду. Я буду просто писать свое и выкладывать что захочу. Мне кайф от этого. А ты живи как хочешь)
      Кто к нам с чем зачем, тот от того и того! :D
    • разговор закончен теперь поймешь мои возможности все..дальше пиши что угодно . просто наглость надоела .. я тебя не оскорблял сейчас и не буду теперь дело принципа ты получил больше 10 к за пару модов которые н один не доделал постоянно проблемы с женой постоянно как деньги получишь бухаешь и не фига не доделываешь приходится делать самому все . я тебе платил не потому что я не знаю а для скорости работы ... все точка пиши что угодно ... думаю не зря твоя жена сбежала от тебя ;) я от такого бы тоже сбежал . ты вернул только две из шести за первые два мода которые я дал тебе в итоге я сделал массив который ты не мог сделать или мудил ... и то тчо ты сейчас выложил пришлось так же делать самому .. далее ты получил деньги за помощь еще на три мода около 10 к не один не работал все с багами пришлось исправлять все самому .. а ошибки тупые были даже не смотрел что окончания разные в переменных это кстати причина твоих багов последних трех модов переменные в разных местах не соответствуют движку .. под предлогом что надо делать на оригинале хорошо что я не дал тебе весь оригинал ты раздаешь мои наработки всем . зачем лишняя проверка на ноль там где она не нужна?? достаточно было ее убрать и все стало работать .. или думаешь что я еще наивный такой ??? три года работы в пхп сутками поверь только дурак не научится что то делать .. ты же что выкладываешь что космовар что на базе моего пользуешься только решениями с кого то получив в свои руки своего ты не можешь не чего придумать ума не хватит работаешь электриком... работай.. но в код не суйся .. а то что с тобой нельзя работать это факт .. ты даже по той версии отдал сразу старой еще три года назад с бэками поленившись их вычистить чем и подсадил наш тогда старый проект .. хорошо что хоть признался потом что бэкдоры были но как обычно отмазался тем что сам не знал . есть такая поговорка жадность фрайера сгубила !! наверно слышал . так что продолжай втюхивать ребятам новичкам какой ты крутой спец и тебя бедного все кидают новому со своей логикой в коде ты не научишься ты хорошо лишь копируешь готовое
      из 6 заказанных модов был один рабочий прилет пиратов.. который код и то пришлось мне править

      твои тут только две верхние строчки
      $shance = mt_rand(1,100);
      if($shance >= 30){ // процент "обиды" пиратов

      а вот мои которые ты не сделал не смог .... потом только сказал ... а я знаю это .. так какого хрена мне пришлось за мое же бабло делать это самому себе ???

      $fleetArray = array();
      $minCount = 5;
      $maxCount = 500;
      $arFleets = array('204', '205', '206', '207', '223', '209', '213', '211', '215');
      shuffle($arFleets);
      $randCountFleets = mt_rand(0, count($arFleets)-1);

      for ($i = 0; $i <= $randCountFleets; $i++) {
      $fleetArray[$arFleets[$i]] = mt_rand($minCount, $maxCount);
      }

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


      исправив его он в модах указан .. итог не одного рабочего мода только не доделки и выкинул в итоге примерно порядка 15 к на ветер


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

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

    • кто будет ставить мной придуманный мод поправлю ошибку чука и гека ))


      1. CREATE TABLE `uni1_market` (
      2. `id` int(11) NULL,
      3. `id_owner` int(16) NOT NULL DEFAULT 0,
      4. `id_planet` int(16) NOT NULL DEFAULT 0,
      5. `lot` text NULL,
      6. `price` bigint(20) NOT NULL DEFAULT 0,
      7. `time` int(16) NOT NULL DEFAULT 0
      8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


      чук не стыдно запросы составлять не правильно ??? такой спец и две ошибки в коротком запросе при создание в базу ))) гыыы ржу не могу
      и нашел еще 4 ошибки в коде если чук когда столкнетесь и его высочество не поправит спрашивайте... шепну в чем дело )))

      плюс делайте защиты и условие на уникальность id иначе возможна подмена товара . чук помогай не опытным ))) раз выложил я же не буду за свое бабло и еще тебя поправлять )))

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

    • Гигабайты обид... Ты б вместо своего мусора лучшеб дописал то что не хватает по твоему мнению и выложил бы. А то только критика какая то))) созидать то совсем не умеешь?
      Кто к нам с чем зачем, тот от того и того! :D
    • зато умею делать то - за что ты берешь деньги и не доделываешь ))) и я поправляю... три раза молча я проглотил не доделки.. сам все сделал.. или переделал.. но тут уже накипело сдирать по 5 штук по 3 штуки и не фига не делать.. это перебор с твоей стороны . я не буратино что бы просто так за работу давать .. которую уже делаю лучше тебя признай хоть ))) нашел то хоть в расширенной версии как вывести юнитов ? я решил эту проблему... а ты вижу нет сделал просто простой вариант )) мне к примеру хватило этот же код переписать с лету который тут изменив 40 процентов и добавив свое плюс увидел ошибки с лету в запросе при создание таблы ))) сделать лучше и код чище .. и более короткий ))) а ты поработай с тем чисто для себя мне не нужно я там все решил.. я пусть медленней делаю зато качественно .. Леня я работаю с этим движком 25 часов в сутки )) уже три года и постоянно учусь .. ты же нет... ты просто ловишь халтуры ..но когда они сложные для твоего понимания ты сливаешься под любым предлогом

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

      var planetCount = 9;
      var planet = [];
      var planetSize = [10, 10, 10, 10, 12, 9, 12, 13];
      var planetSpeed = [0.007, 0.003, 0.004, 0.004, 0.0008, 0.001, 0.009, 0.009, 0.009];
      var planetAngle = [100, 100, 80, 30, 20, 10, 10, 10, 30];
      var planetPosX = [25,5,-40, -60, 70, 100, 100, -80, -130, -140];
      var planetPosY = [5, 0, 0, 0, 0, 0];
      var planetPoly = 30;

      for(i=1,i<=9,i++){
      planet = BABYLON.Mesh.CreateSphere('planet'+i, planetPoly, planetSize[i], scene);
      planet[i].position.y = planetPosY[i];
      planet[i].orbit = { radius: planetPosX[i], speed: planetSpeed[i], angle: planetAngle[i] };
      }
    • Так выложи) иначе все эти твои слова бахвальство на ровном месте ничем не подкрепленное.
      Кто к нам с чем зачем, тот от того и того! :D
    • ну переделанный мод месть пиратов который я за тебя сделал заплатив 2 штуки тебе .. но увы леня набухался сказал завтра . продолжалось по сей день и так со всеми модами . пришлось напрячь мозг и пилить самому .. тут уже лежит это доказательство того что я делаю... а ты нет ))) не позорься мастер массивов )))

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

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

    • тут в метсо лениного кода

      тык пишем вот это ))) дает возможность организовать не только табы но и раздвижные списки которые по умолчанию скрыты к примеру визуалка картинок ))) отходим господа от окон всплывающих ))
      <script>
      $(function(){
      var $tabs = $("#ui_tabs");
      var $areas = $("#ui_areas");

      $tabs.find("a").click(function(){

      var $this = $(this);
      var tab_id = $this.attr("href");

      $tabs.find("a").removeClass("active");
      $this.addClass("active");

      $areas.find(".ui_item").removeClass("active");
      $areas.find('.ui_item[data-tab="'+tab_id+'"]').addClass("active");

      });
      });

      $(function(){

      $(".collapsed_item").iCollapser({
      height: 100,
      btnOpen: "Развернуть",
      btnClose: "Свернуть",
      afterload: function(){},
      });

      });

      </script>



      <div class="ui_tabs" id="ui_tabs">
      <ul>
      <li>
      <a href="#tab_1" class="active">лот</a>
      </li>
      <li>
      <a href="#tab_2">лот</a>
      </li>
      <li>
      <a href="#tab_3">лот пишем короче свое</a> если сюда добавить класс collapsed_item то к примеру настрои размер показа показываем три кораблика при нажатие весь список раздвинется и покажет весь лот визуально)))
      </li>

      </ul>
      </div>




      <div class="ui_item active" data-tab="#tab_1">
      <div class="ui_wrap">тут ваша инфа</div>
      </div>

      <div class="ui_item" data-tab="#tab_2">
      <div class="ui_wrap"></div>
      </div>


      и так далее можно сделать по атрибуду будет еще короче то есть будет искать все по родительскому классу в своем блоке без указания ид ))) позже скину и такое дело



      если в списке открывашке укажем вот такой класс collapsed_item то получим сокрытие списка

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

    • та кже в оригинальной задумке идет привязка к новому зданию триада на орбите.. она разрушается и к офику Торговец ... скорость доставки лота идет от прокачки этих двух параметров
    • Пипец вы срач устроили; а теперь не много философии:
      К коду:
      "Что для паука является порядком, то для бабочки - беспорядок"
      "Понятие порядка у каждого свое"

      Просьба к Лёне:
      Шандоу, заявляет, что ты слил мне его двиг, т.к. расы его старого двига очень похожи на мои, скажи, что ты этого не делал, и то что я сам написал код, т.к. я не смог ему этого донести.

      Просьба к Николаю:
      Ты опять слил свою идею. (хватит наступать на грабли!!!)
      Отлично разбираюсь в 2moons: V1.7.1; V1.7.3; V1.8.git. Кому нужна помощь писать в ЛС.

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

    • Yaro2709 wrote:

      Просьба к Лёне:
      Шандоу, заявляет, что ты слил мне его двиг, т.к. расы его старого двига очень похожи на мои, скажи, что ты этого не делал, и то что я сам написал код, т.к. я не смог ему этого донести.
      прикалываешься? он до сих пор небось уверен что я ему БД сносил, уж хз для чего. плевал я что то кому то объяснять. я выложил мод в общее пользование, а тут срачь какой то невменяемый получается))) надоело. буду просто выкладывать то что пишу сам и плевал я что то кому то доказывать
      Кто к нам с чем зачем, тот от того и того! :D
    • и так две ошибки первая гавнокод поправлю не много у великого лени менделеева

      второе нет условия и можно спокойно выставлять пустые иды

      первой вот это гавнодкод вам дает ноль что бы вы не ставили короче мод не работает как надо изначально как обычно леня и делает
      $price = max(0, min(0,HTTP::_GP('price',0))); аналогичные варианты нах сносим много дерьма лишнего что делает данный кусок проверку и тут же присваивает вам в ячейку ноль хоть усритесь лям ставьте будет ноль
      меняем на
      $price = HTTP::_GP('price',0);

      после вот этого дерьма

      if (empty($lot)){
      $this->printMessage('y не выбрано же', array(array(
      'label' => $LNG['sys_forward'],
      'url' => 'game.php?page=triada'
      )));
      }

      добавляем еще одно простое как у лени иначе юзер будет кидать другому за ноль бабала

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

      if (empty($price)){
      $this->printMessage('а деньги сюююка леня гони.. а потом выставляй слот', array(array(
      'label' => $LNG['sys_forward'],
      'url' => 'game.php?page=triada'
      )));
      }


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

      атак это пишется на много проще )))) учись леня

      далее что бы проверить все функции работы куда что падает создаем файл в корне logfile.txt

      и вставляем в форыч вот такую хрень
      file_put_contents($_SERVER['DOCUMENT_ROOT'].'/logfile.txt','price: '.$price); она даст вам понять любую ошибку ))) в лог файле куда что тянется и что приходит ))) классная штука учите классику пхп


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

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

    • Shandow wrote:

      первой вот это гавнодкод вам дает ноль что бы вы не стаивили
      $price = max(0, min(0,HTTP::_GP('price',0))); аналогичные варианты нах сносим много дерьма лишнего
      меняем на
      $price = HTTP::_GP('price',0);

      после вот этого дерьма

      if (empty($lot)){
      $this->printMessage('y не выбрано же', array(array(
      'label' => $LNG['sys_forward'],
      'url' => 'game.php?page=triada'
      )));
      }
      ахахах, правда? ты почитай для чего используются max и min ))) если ты не понял, то это была проверка чтобы переменная не была 0! тобишь чтобы не выставлялся фактически халявный лот))) ну ну, гений кодинга)))
      Кто к нам с чем зачем, тот от того и того! :D
    • гы ты проверял то свой код ??? умник в данном коде ради прикола проверил и слоты с нуля стоят и спокойно покупаются без суммы и так далее дырявое дерьмо учись )))

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

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

      ты мне скажи где функция HTTP и что она делает я знаю где она есть такой hhtp.class.php туда глянь и потом сам учебник почитай ))