iiiCpu
offline
Опыт:
509Активность: |
Ошибка чтения из ХэшТаблицы
Всё, я окончательно разобрался в проблеме. Суть заключается в том, что кэш\хеш нельзя использовать в одном тригере с трекейблами. То есть если триггер вызывает функцию создания трекейбла, то из этого же триггера вызывать сохранение в кеш\хеш нельзя (не имеет смысла, результат - ноль. см карту). И так было с давних пор. НО! Обходили это просым способом - запускали функцию одного триггера из другого. Это было прекрасно и всё работало. А в версии 1,24 это пофиксали. То есть если мы пытаемся выполнить любую функцию, не содержащуюся в теле триггера или в кастомскрипт, карта просто не загружается.
Методов решения два:
Тема закрыта. Теперь уже целиком и полностью Отредактировано iiiCpu, 21.08.2009 в 01:05. |
19.08.2009, 17:17 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
У тебя никак не может быть равно TRUE
Ты обращаешься не к той ячейке, сделай так...
Да и зачем тебе брать какое-то значение привязанное к локальной переменной... |
19.08.2009, 17:28 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
сори, эт я форматировал от лишних функций. Это кусок того кода, старого. Короче вот без форматирования
Итог: числа одинаковые, но в итоге извлекается ноль Числа специально подобраны. В итоге если повторим блок создания трекабеля, то получим ровные порядковые номера от единицы до Н. |
19.08.2009, 17:47 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hellfim
Новичок
offline
Опыт:
79,700Активность: |
iiiCpu, таблица не создана =)
Нужно написать udg_HashNo1=InitHashtable() Hellfim добавил: И это, вопросы по Jass'у логичнее писать в Jass разделе, не находишь?) |
19.08.2009, 17:57 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
Hellfim, я ж писал: она создаётся в другом триге при инициализации. причём если б что - она вылетала, а она упорно возвращает ноль. ЗЫ: да, я вижу, что там снова разность не совпадает, но я ещё раз пишу - это кусок тригера, облегчённый и изменённый |
19.08.2009, 18:04 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
iiiCpu, Проблема осталась...
(GetHandleId(GetTriggeringTrackable()) - 1048683) / 4 (GetHandleId(testTrackable) - 1048663) / 4 1048683 != 1048663
Ты все ровно считываешь разные Ячейки... |
19.08.2009, 18:38 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
MupaMaX, повторяю для особо тормозных: ЭТО НЕ ОСНОВНОЙ ТРИГЕР. ЭТО ЕГО КОПИЯ В ДРУГОЙ КАРТЕ, ПРИЛИЗАНАЯ И КРИВАЯ. сори за крик - нервы Попробуй создать пустую карту, задать переменные, исправить эти
У меня такое чувство, что придётся отдельную функцию делать... блин... |
19.08.2009, 18:54 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
iiiCpu, Дружище тебе рассказать что я сейчас с помощи ХТ делаю ? ты просто офигеешь... если не в циферках дела, ты значит считываешь разные Trackable...
ХТ тупо бомба... кэш отдыхает, на столько удобней... практичней...
Если ты даешь кусок кода... в котором проблема... ( ты думаешь что в нем проблема... ) тебе вряд ли кто скажет в чем проблема... либо выкладывай весь код связанный с данной таблицей либо ищи проблему сам...
Вероятная проблема - ты считываешь разные Trackable, а циферки ваше удали они не нужны ! |
19.08.2009, 19:17 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
Пусть тот, у кого на этой карте вдруг загрузится сохранённая циферка, кинет меня камень, завёрнутый в скриншот |
19.08.2009, 20:46 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
|
19.08.2009, 21:01 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
Вот держи, на ошибку я тебе указал, ищи способ её решения сам... Если не поймешь в чем она... напиши... |
19.08.2009, 21:21 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
Возможно... Но есть 3 НО.
первое: ты добавил 2 глобальных трака... Зачем? функция спокольно распозновала трак, ты ведь тыкая на моей карте получал постоянно одинаковые и точные значения? второе: куча ненужных переменных. зачем делать 4 раза одно и то же? я тут и так переборщил, а ты ещё хуже делаешь... И два раза дал действия тригерам с траками... некомпитентно третье: твоя исходная карта у меня варом не кушается. Итог: нефиг выпендриваться, это тебе не 50 думмиюнитов делать. Это блин другое. ИМХО тут не в этом дело. У меня кеш тоже не естся. Даже если вынести сохранение переменных за пределы тригера - фапфапфап... Мож вдруг тоткогонельзяназывать выйдет сюда и тыкнет меня носом в мою ошибку... |
19.08.2009, 21:54 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
iiiCpu, Рассказываю прикол... если ты не понял, и не смог запустить карту в варе... у тебя не стоит JNGP, дальше прикол в том что SaveInteger делаться только 1 раз, и то при загрузки карты...
Объяснять дальше есть необходимость ? |
19.08.2009, 22:02 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
MupaMaX, он стоит версия 5с + новый список функций. А ты свою карту проверял? запускал в Варе? Эта "фишка" - всё-равно что себя из болота за волосы тянуть: мож с танком и прокатит, а вот человеку плохо. Проще функцию вписать в кастомскрипт. Всё, спорить с тобой я не буду.
Жду ещё мнений от других людей. [+] 3 пункта от ScorpioT1000: завуалированный мат
Отредактировано ScorpioT1000, 20.08.2009 в 01:31. |
19.08.2009, 22:12 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
iiiCpu, 2 скрина...
на 1м скрине, сразу после старта игры... показываеться ... - 0 ( инициализация... ) хэш таблица еще даже создаться не успела выходит 0... на 2м скрине, я кликаю на зону, и ого, что происходит нам не выводиться ... - 0, потому что сработала функция не установки маяка, а функция клика на зону... P.s. Советую тебе себя за волосы тягать почаще... [+] 2 пункта от Hellfim: 8.1 (прикрепление больших изображений)
Отредактировано Hellfim, 20.08.2009 в 20:03. |
19.08.2009, 23:06 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
Гений... Мне пофф, я хачу тупо в ячейку 1, 1 записать значение 2 и прочитать его. Объясняю ещё раз: я хочу записать в ячейку число. а мне фиг. И знаешь, почему? потому, что я должен это делать в секции function Trig__Actions takes nothing returns nothing иначе никак. Выглядит это где-то так:
=======Тригер==========
=====События=====
к примеру юнит здох. Только события и простая арифметика. =====Действия===== Всё, что душе угодно. Сюда нужно писать всю работу с хешэм (А озможно ли здесь создавать тригеры\добавлять им условия\действия?) =====Тело===== Назначает связи событий и действий. работа с кеш\хеш здесь невозможна. Я писал именно сюда. Итого перенести все записи в Действия и сделать там тригеры. Вот что бывает, когда не знаешь структуру языка. _~
MupaMaX, у тебя вылазит по 2 раза одна надпись. ты не сохранил в хэш, а лишь вывел на экран номер тракейбла. Вылазит по 2 нуля. выводишь 0 при запуске... Подвиг! Занимаешься спеллами... система патронов... Потроны в массив - 10 способов выбора патронов - 10 способов заставить юнита атаковать или НЕ атаковать... Только которые я могу реально реализовать. Создать нестандартную молнию или ещё чего - хммм... когда ToadCop скажет, что твоя карта лучше, чем его квакАрена - я принесу тебе сколько угодно извинений в любом виде. А до тех пор не умничий!
ХОЛИВАР!!!
Тема закрыта. |
19.08.2009, 23:45 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MupaMaX
Мой статус
offline
Опыт:
1,495Активность: |
iiiCpu, Я тебе раза 3 написал в чем искать проблему, ты же уперся и не хотел даже попробовать самостоятельно решить эту проблему... Лучше объясни для чего тебе нужна Хэш Таблица ? |
20.08.2009, 00:36 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
iiiCpu
offline
Опыт:
509Активность: |
обновил первый пост. прошу прочесть и закрыть. |
21.08.2009, 01:06 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|