Необъяснимое поведение кода

Discussion in 'PHP' started by .::f-duck::., 24 Aug 2011.

  1. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    В игрушке, при определенных действиях пользователя в т.ч. операция с отрицательными числами, юзер получает необъяснимое кол-во ресурсов: 4.294.967.295.

    Как это объяснить?
     
  2. Gvidion

    Gvidion Elder - Старейшина

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    Ну на плюсах обычно такие приколы, если переменную типа unsigned long загоняют в минуса, с виду тут тоже на это похоже. Но вот как это объяснить в PHP О_о
     
  3. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Я помню, что в vBulletin примерно такое же было. Гугл ничего толкового не сказал. Правда, судя по всему, это не пхп, а mysql виноват.

    Как это вообще "загнать в минуса"? От 1 отнять 2, что-ли?
     
  4. Gvidion

    Gvidion Elder - Старейшина

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    Типа того, вроде если переменная от 0 до 4,294, 967,295. И она сейчас равна 1, то отняв 2 она станет 4,294, 967,295 или 4,294, 967,294 как-то так вроде.
     
  5. Gvidion

    Gvidion Elder - Старейшина

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    И кстати, что за операции с отрицательными числами в игре? И как они касаются переменной в которой хранятся ресурсы?
     
  6. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    Так в том-то и дело, юзеры как-то, что-то нажали и получилось вот такое. Наш отдел тестеров пытается повторить, но игровым путем это никак не получается, с подменой пакетов тоже не получается: фильтрация.
     
  7. Gvidion

    Gvidion Elder - Старейшина

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    а как обнаружили? в логах про этих игроков ничего интересного не осталось?
     
  8. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    В логах ничего интересного нет. Возникло у 3-их игроков, но по логам ничего конкретного нельзя сказать. Они спокойно играли. В какой-то момент у них появляется заоблачное кол-во ресурсов. Самая пичаль, что они даже в локациях одинаковых не были :(
     
  9. Gvidion

    Gvidion Elder - Старейшина

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    Блин, знал бы примерные функции игры, можно было бы думать. А про действия примерные их спрашивали?
     
  10. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    В логах их действия видны. Примерны, типа "пошел туда-то, сделал то-то".
     
  11. Ups

    Ups Member

    Joined:
    11 Apr 2011
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    Я в играшках вкунтакте писал -9999 в пакетах и получал овер 9000 всего.
     
  12. Gvidion

    Gvidion Elder - Старейшина

    Joined:
    11 Sep 2009
    Messages:
    79
    Likes Received:
    43
    Reputations:
    28
    ну не глядя можно одно сказать, ищите все операции касающиеся переменной - ресурсов, и смотрите что может её изменять не корректно.
     
  13. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    76
    Reputations:
    1
    Смотрите не логи игры,а логи сервера. Какие Гет запросы были сделаны, если есть то и пост запросы. Лог ошибок.Может при этом действии пхп(или мускуль) вываливал ошибку(а если они отключены, то просто записал в лог)
     
Loading...