Четверг, 22 Апреля 2021, 17:15

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Помогите с in_array
Помогите с in_array
jekiДата: Суббота, 05 Января 2013, 11:24 | Сообщение # 1
участник
Сейчас нет на сайте
Всем привет.У меня такая проблема.Не переходит на локации.
Вот такой код:
Код

$locid = $_GET['locid'];

$info_user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE id='$id'"));
$row = mysql_fetch_array(mysql_query("SELECT * FROM `location2` WHERE id='{$info_user['location']}'"));
$go_array = $row['array_go'];
$arr = array($row['id']=>array($go_array));
if(in_array($locid, $arr[$info_user['location']])){
      update('users',array('location'=>$locid),'id='.(int)$id);
      header("Location: game.php?fun=m_loc&map=1");
}else{
      echo '<script>alert("Нельзя попасть в локацию!");location.href="game.php?fun=m_loc&map=1"</script>';
}



Помогите.


Поставьте + плизми

DreamOffДата: Воскресенье, 06 Января 2013, 18:14 | Сообщение # 2
был не раз
Сейчас нет на сайте
функция in_array работает следующим образом in_array("название поля или переменная если вам нодо ",название массива (в вашем случае $arr));
это одна из причин почему не работает , есть ещё несколько строк не вызывающих доверия , такие как
$arr = array($row['id']=>array($go_array));
и
update('users',array('location'=>$locid),'id='.(int)$id);
jekiДата: Воскресенье, 06 Января 2013, 20:54 | Сообщение # 3
участник
Сейчас нет на сайте
DreamOff, я же дал скрины из базы что там не понять.А функция update её можно расписать как mysql_query("UPDATE users SET location='$locid' WHERE id='$id'");

Поставьте + плизми

DreamOffДата: Воскресенье, 06 Января 2013, 22:26 | Сообщение # 4
был не раз
Сейчас нет на сайте
Хорошо , давайте разберем тогда... меня тоже заинтересовало решение этой проблемы :
у вас 2 таблицы 1 с инфо юзера в ней и 2 таблица с локациями и их свойствами
во 2ой таблице поле array_go как я понимаю это контейнер в котором перечислены id лок через которые можно пройти в эту локу .

$arr = array($row['id']=>array($go_array));
вот этой строкой вы создаете многомерный массив который если прогнать через print_r выдает следующее
Код
Array
(
     [1] => Array
         (
             [0] => 1,2,3,4
         )

)

потом вы пытаетесь
if(in_array($locid, $arr[$info_user['location']]))
проверить есть ли в многомерном массиве (от у меня имеет значение 1 в примере выше ) значение которое висит в $locid
если я в самом начале поста угадал с тем что вам нужно , то решение в следующем

$go = explode(",",$go_array);
$arr = array($row['id']=>$go);

если вставить в скрипт это то при листинге массива его вид будет следующий
Код
Array
(
     [1] => Array
         (
             [0] => 1
             [1] => 2
             [2] => 3
             [3] => 4
         )

)

и в этом случае функция in_array будет уместна ибо ей будет что перебирать в массиве
jekiДата: Понедельник, 07 Января 2013, 11:51 | Сообщение # 5
участник
Сейчас нет на сайте
DreamOff, я вас понимаю,но когда я сделал так:
Код

$arr = array(
1=>array(2,3)
2=>array(1),
3=>array(1)
)

Все заработало.Но это не удобно.


Поставьте + плизми

Lord135Дата: Понедельник, 07 Января 2013, 22:19 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Ты нуб) Читай о массивах и функциях к ним применимым.)) И лучше всего напиши СВОЙ движок (меньше проблем с разбором "что, где и какого... почему т.е.?" ) для игры)

Сообщение отредактировал Lord135 - Понедельник, 07 Января 2013, 22:21
jekiДата: Вторник, 08 Января 2013, 17:49 | Сообщение # 7
участник
Сейчас нет на сайте
Цитата (Lord135)
Ты нуб)

Ко мне не относится!
Я просил совета.Просто не работает и это мой движок!


Поставьте + плизми



Сообщение отредактировал jeki - Вторник, 08 Января 2013, 17:50
Lord135Дата: Вторник, 08 Января 2013, 18:08 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
PROstakДата: Вторник, 08 Января 2013, 18:22 | Сообщение # 9
частый гость
Сейчас нет на сайте
Цитата (Lord135)
ты его писал сам?) С нуля?)

В принципе мы работаем вместе, но так как я последнее время приболел и очень редко заходил то 80% всего движка написано именно ним...


likerДата: Вторник, 08 Января 2013, 19:40 | Сообщение # 10
почетный гость
Сейчас нет на сайте
А что за движок? на конкретную игру пишите или универсальный, что умеет движок? smile просто интересно
Lord135Дата: Вторник, 08 Января 2013, 19:44 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
liker, движок про карманных монстров (покемоны, мать их)
PROstakДата: Вторник, 08 Января 2013, 19:45 | Сообщение # 12
частый гость
Сейчас нет на сайте
Цитата (Lord135)
движок про карманных монстров

Да именно про них, но можно пока не многое... Переходить по локам, писать в чат ну и сестра Джой работает... То есть пока что даже pve боя нету.


likerДата: Вторник, 08 Января 2013, 19:49 | Сообщение # 13
почетный гость
Сейчас нет на сайте
а есть сайт поглядеть?
PROstakДата: Вторник, 08 Января 2013, 19:55 | Сообщение # 14
частый гость
Сейчас нет на сайте
Есть но поглядеть не получится так как регистрация закрыта пока что на доработку игры.

likerДата: Вторник, 08 Января 2013, 20:03 | Сообщение # 15
почетный гость
Сейчас нет на сайте
скинь, просто позырю сам сайт как и что smile
Lord135Дата: Вторник, 08 Января 2013, 20:29 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Цитата (PROstak)
80% всего движка написано именно ним...

Цитата (PROstak)
можно пока не многое... Переходить по локам, писать в чат ну и сестра Джой работает... То есть пока что даже pve боя нету.

Как-то противоречиво, не?
jekiДата: Среда, 09 Января 2013, 11:09 | Сообщение # 17
участник
Сейчас нет на сайте
PROstak, прости что сказал что движок мой.

Поставьте + плизми

likerДата: Среда, 09 Января 2013, 12:05 | Сообщение # 18
почетный гость
Сейчас нет на сайте
jeki, а чего у тебя рейтинг отрицательный? smile
PROstakДата: Среда, 09 Января 2013, 15:48 | Сообщение # 19
частый гость
Сейчас нет на сайте
jeki, Да ничего ты и так там больше меня уже сделал)

Добавлено (09.01.2013, 15:39)
---------------------------------------------
liker, Лучше на него не смотреть) Там css где то 0.7% и то вряд ли. О главной я вообще молчу. Кнопка регистрации и авторизации... Ну и новостная лента неудачно размещенная выше всего этого.

Добавлено (09.01.2013, 15:48)
---------------------------------------------
Lord135, Я имел ввиду что 80% того что есть biggrin


jekiДата: Среда, 09 Января 2013, 20:47 | Сообщение # 20
участник
Сейчас нет на сайте
liker, см сам.Меня взламывали.

Поставьте + плизми

Форум игроделов » Движки для разработки игр и сложные системы разработки » Движки для браузерных игр » Помогите с in_array
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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