Суббота, 25 Июня 2022, 19:59

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » scn [12]
Результаты поиска
scnДата: Воскресенье, 16 Июня 2013, 01:59 | Сообщение # 1 | Тема: Оцените код функции.
был не раз
Сейчас нет на сайте
Это функция поиска предметов для крафта вещей.

Код
function scan_kraft($w1, $w2) { // $w1 - массив с требованиями, $w2 - массив с инвентарем
  $vs = array();
  for ($c = 0; $c <= count($w1); $c++) {
   for ($i = 0; $i <= count($w2); $i++) {
    if ($w1[$c] == $w2[$i]) {
     $vs[] = $w2[$i];
     unset($w2[$i]);
     for ($i = 0; $i <= count($w2); $i++) {
      if ($w1[$c] == $w2[$i]) {
       $vs[] = $w2[$i];
       unset($w2[$i]);
       if ($vs == $w1)
        return true;
      }
     }
    }
   }
  }
  return false;
}
Пример:  
$item[2] = array(1,3);  
$item[id создаваемого предмета] = array([id требуемого предмета], [id требуемого предмета]);
$item_list = array(1,2,5,7,8,9); // Список id элементов в инвентаре перса (выборка с mysql)

if (scan_kraft($item[2], $item_list) == false) [не достаточно элементов] else [предмет создается]


Возможно есть какие-то замечания?
scnДата: Воскресенье, 16 Июня 2013, 01:54 | Сообщение # 2 | Тема: JS
был не раз
Сейчас нет на сайте
У меня в игре карта, по ней можно бегать. Все на ajax
при клике на ячейку отсылается запрос с id ячейки, перс переходит туда если она рядом.

Чат все обработчики на javascript, чтобы лишний раз не отправлять запрос серверу сначала на клиентской части проверяется правильность.
Канеш если кто то начнет юзать консоль, то на сервере проверка.

Большая половина шаблона игры запакована в javascript чтобы с сервера не передавать постоянно. Так как ajax все

ну и многое чего еще...
scnДата: Воскресенье, 09 Июня 2013, 19:01 | Сообщение # 3 | Тема: Крафт вещей в игре
был не раз
Сейчас нет на сайте
Цитата (Alastar)
Ошибся разделом.

После анализа постов в этом разделе, мне показалось что туда попал.

Добавлено (09.06.2013, 19:01)
---------------------------------------------
Misha2011, а это уже помогло.
Спасибо, вроде ничего сложного, но сам не додумался. Именно то что надо.


Сообщение отредактировал scn - Воскресенье, 09 Июня 2013, 19:03
scnДата: Воскресенье, 09 Июня 2013, 16:36 | Сообщение # 4 | Тема: Крафт вещей в игре
был не раз
Сейчас нет на сайте
Возможно кто то сталкивался с этим, посоветуйте пожалуйста что то. Алгоритм мб.
Наработок пока что нет.
scnДата: Четверг, 06 Июня 2013, 14:00 | Сообщение # 5 | Тема: скрипт уменьшение картинки jquery
был не раз
Сейчас нет на сайте
На далее, используйте пожалуйста тэг code не бейте глаза.

style="width:100%;" растянет картинку.

Если надо чтобы блок был слева, а картинка справа, то блоку float:left; width: n%;
а картинке float:right; width:b%;

Не очень хорошо сформулирован вопрос...

Думаю width=$("#mein").width() было бы лучше width=$("body").width()
scnДата: Вторник, 04 Июня 2013, 13:48 | Сообщение # 6 | Тема: Чат на PHP
был не раз
Сейчас нет на сайте
lvovand, лог будет в чате. И не все сообщения лога будут попадать в базу данных.
То есть после обновления страницы, сообщения лога которые не попали в базу больше не будут отображаться, а сообщения которые еще не успели удалиться будут опять отображаться и получится путанина.
Чтобы не отправлять лишние запросы на сервер, у меня в некоторых участках идет проверка на JavaScript, и если не проходит проверку
просто выполняется $('#msg').append('Действие не доступно'); такие сообщения не попадают в базу.
scnДата: Воскресенье, 02 Июня 2013, 20:37 | Сообщение # 7 | Тема: Чат на PHP
был не раз
Сейчас нет на сайте
lvovand, в том и фишка, что надо удалять их сразу
scnДата: Среда, 29 Мая 2013, 14:12 | Сообщение # 8 | Тема: Чат на PHP
был не раз
Сейчас нет на сайте
Quieteroks, уже понял как сделать. Как с временем, только передавать ID последнего сообщения. И в скрипте который выдает сообщения выполнять SQL запрос который удаляет сообщения, жизнь которых больше 10 секунд, рефреш 5 секунд.
Пока-что лучший вариант, что смог придумать.
Просто видел код, где ничего на сервер не передается, а поступают только новые сообщения.
Но там как я понял куки постоянно перезаписываются.


Сообщение отредактировал scn - Среда, 29 Мая 2013, 14:19
scnДата: Суббота, 25 Мая 2013, 17:33 | Сообщение # 9 | Тема: Помогите пожалуйста сного
был не раз
Сейчас нет на сайте
в .htacccess
в самый верх: AddDefaultCharset UTF-8

дальше открываешь каждый файл через Notepad++
Выделяешь все, жмешь CTRL+C
Сверху в нотепаде, где кодировка. Берешь UTF-8 (Без BOM)
Может быть такое что все перекосячилось. Выделяешь все, жмешь CTRL+V, CTRL+S
и все.

Еще может быть причина проблемы сам хостинг. Частенько бывает когда заливаешь через их файл. менеджер. херает кодировку.
scnДата: Суббота, 25 Мая 2013, 17:26 | Сообщение # 10 | Тема: Есть пару вопросов
был не раз
Сейчас нет на сайте
Не знаю решило ли проблему сообщение выше, выложу свой вариант который стоит у меня.
Работает с jQuery
Отображение хп
Код

<span id="thishp"><?=$checkMe['health'];?></span>/<span id="maxhp"><?=MaxHp($checkMe['con']);?></span>


JavaScript:
Код

setInterval("RegenHp()", 1000);
function RegenHp() {
  var thp = parseInt($('#thishp').html()); // текущее состояние хп
  var mhp = parseInt(con*60);  // максимум хп (выносливость * 60)
  if (thp < mhp) { // Если хп меньше максимума
   $('#thishp').html(thp+1); // добавляется 1 к текущему состоянию хп
   var wd = (thp / mhp * 100); // Это красная полоса хп (ширина)
   $('#health').css({'width':''+wd+'%'});  // отображение полосы
  }
  if (thp > mhp || thp == mhp) { // если хп равно максимуму или больше вдруг
   $('#health').css({'width':'100%'});
   $('#thishp').html(mhp);
  }
}


Каждые 5 сек идет аякс запрос к файлу refresh.php где обновляет данные и редактирует хп

файл refresh.php:
Код

function MaxHp($con) {
  return $con * 60;
}
$hpcoef = 1; // Сколько хп восстанавливать в секунду
$row = mysql_fetch_array(mysql_query("SELECT `con`, `lastupdate`, `health` FROM `gm_users` WHERE `id` = $id LIMIT 1"));
$maxhp = MaxHp($row['con']);
$uphp = round((time() - $row['lastupdate']) * $hpcoef + $row['health']);
if ($uphp > $maxhp) $uphp = $maxhp;
@mysql_query("UPDATE `gm_users` SET `lastupdate` = ".time().", `health` = $uphp WHERE `id` = $id LIMIT 1");
echo "$('#thishp').html($uphp);";


Вот так smile
scnДата: Суббота, 20 Апреля 2013, 00:56 | Сообщение # 11 | Тема: Чат на PHP
был не раз
Сейчас нет на сайте
Хочу сделать чат на PHP с jQuery (ajax),
есть одна деталь которую не знаю как реализовать.
Чат нужен для браузерной игры, но в чате будут как и сообщения пользователей,
так и системные сообщения.
Есть игры где сообщения не обновляются, а только новые добавляются ( $().append() ) в чат
и сервер выдает только новые. Как это реализовать? Помогите пожалуйста
scnДата: Воскресенье, 04 Ноября 2012, 01:51 | Сообщение # 12 | Тема: Урок по созданию браузерной игры № 7
был не раз
Сейчас нет на сайте
как будет считываться информация с таблицы с вещами?
на каждое поле с шмоткой в users новый запрос в inventar?
Я пробую писать игру и на этом застрял...
Форум игроделов » Записи участника » scn [12]
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2022 Рейтинг