Перейти к содержимому


Фотография

Деньги-деньги-деньги!


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Aidan4

Aidan4

    Кот учёный

  • Пользователи
  • PipPipPip
  • 824 сообщений

Отправлено 19 Май 2003 - 21:39

В общем, пишу маленький модик... Мне нужно отнять 100000 золотых из инвенторя при условии что они, конечно, есть...
В общем в диалогах нужная ветка стоит, где идёт проверка на то, что сказал игрок и есть ли у него 100000. При выполнении у игрока отнимаются деньги, а НеПиСяю добавляются. Я пробовал с айтемом "Gold_001", т.е.
player->removeitem "Gold_001" 100000
Но при тесте отнималось только 36 с чем то тысяч (или около того)... Я ума не приложу, почему так происходит... Может, мне цену сбить ;) Или ещё чего сделать? Честно говоря, голова уже не варит... Может вы что-нибудь посоветуете? ;)


#2 Гость_Scorpy [ZISpel]_*

Гость_Scorpy [ZISpel]_*
  • Гости

Отправлено 19 Май 2003 - 22:36

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


#3 Aidan4

Aidan4

    Кот учёный

  • Пользователи
  • PipPipPip
  • 824 сообщений

Отправлено 20 Май 2003 - 14:29

Я ещё не писал скриптов. Работа идёт по порядку ;) Сначала обстановка, потом НиПиСяи и диалоги, лишь потом скрипты. Поэтому переменной золота быть не должно. Или ты про другое?


#4 Cheb

Cheb

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 166 сообщений

Отправлено 20 Май 2003 - 17:45

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


#5 Aidan4

Aidan4

    Кот учёный

  • Пользователи
  • PipPipPip
  • 824 сообщений

Отправлено 20 Май 2003 - 19:13

Возможно, число денег ;) (да и, наверное, любых других предметов) определяется некой таинственной переменной, вложенной в движок ТЕС:КС (а, может, и другой какой переменной). Число же корректно работающих объектов может равняться 2^15 или 32768 единиц.
Это всего лишь моя теория, которую я сейчас пойду и проверю. Точнее, попытаюсь проверить. Могу ошибаться (как и все мы ;)


#6 Aidan4

Aidan4

    Кот учёный

  • Пользователи
  • PipPipPip
  • 824 сообщений

Отправлено 20 Май 2003 - 19:27

Так... теория не была подтверждена экспериментально... корректность заканчивалась на числе 34464. С этим числом чего я только ни делал, не помогло... Возможно, пока точно не узнаем, в чём же дело придётся считать, что это глюк движка и нужно пользоваться числами до 34464. Само же это число можно временно назвать "крайней точкой". Удачных поисков закономерности, камрады! ;)

ЕДИТ: продолжил исследования... при попытке отнять 1000000 (1млн.) золотых из инвентаря отнималось только 16960. Это даже меньше, чем при попытке отнять 100000 примерно в 2 раза (в 2,0(3207547169811) раз, если быть точным). Ума не приложу, почему так происходит, а потому предлагаю пока свалить это всё на глюк движка и не переходить "крайнюю точку" в 34464 единиц объектов. По крайней мере, до того момента, пока не найдётся более-менее вразумительное объяснение сему явлению ;)


#7 VladZ

VladZ

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 373 сообщений

Отправлено 20 Май 2003 - 22:25

34464=100000-65536=100000-2^16.
1000000-16960=15*2^16.
Хмм... закономерность, говорите.
Все-таки переполнение счетчика, только
при 65536. В общем, отнимать действительно
придется в несколько этапов.




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Рейтинг@Mail.ru