XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Log

offline
Опыт: 3,538
Активность:
Я сдаюсь (где ошибка в коде?)
Вот это написано в прелоаде карты.
Код:
globals
    hashtable hash = InitHashtable()
endglobals

function deleteText takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer h = GetHandleId(t)
local texttag text = LoadTextTagHandle(hash, h, 0)
    call FlushChildHashtable(hash, h)
    call DestroyTimer(t)
    call DestroyTextTag(text)
set text = null
set t = null
endfunction
//Выше этих функции вставить
function CopyGroup takes group g returns group
    set bj_groupAddGroupDest = CreateGroup()
    call ForGroup(g, function GroupAddGroupEnum)
    return bj_groupAddGroupDest
endfunction
//Проверка на координату юнита
function RandomEnum takes nothing returns nothing
    local integer r = GetRandomInt(1,bj_groupRandomConsidered)
    local unit u = GetEnumUnit()
    if r != 1 then
        call GroupRemoveUnit(bj_groupAddGroupDest, u)
    else
        set bj_groupRandomCurrentPick = u
    endif
    set u = null
endfunction

function RandomFromGroup takes group g returns unit
    set bj_groupAddGroupDest = CopyGroup(g)
    set bj_groupRandomConsidered = CountUnitsInGroup(bj_groupAddGroupDest)
    call ForGroup(bj_groupAddGroupDest, function RandomEnum)
    call GroupClear(bj_groupAddGroupDest)
    call DestroyGroup(bj_groupAddGroupDest)
    return bj_groupRandomCurrentPick
endfunction


Приложил скрины, больше jass'a нигде нет.

Собственно игра при запуске выдаёт "Игра не найдена", т.е где-то в jass коде ошибка, я изломал голову где, но не могу найти.
Я ставил точку после целочисленных в таймере, я не ставил точку после целочисленной в таймере, я двигал скобки по всякому, ну в общем всё на уровне хомяка делал, не помогает ._.

Отцы jass'a, помогите разобраться... х_х
Миниатюры
Кликните на картинку для увеличения
Название:  jass1.jpg
Просмотров: 17
Размер:  212.5 Кбайт  Кликните на картинку для увеличения
Название:  jass3.jpg
Просмотров: 8
Размер:  216.6 Кбайт  Кликните на картинку для увеличения
Название:  jass4.jpg
Просмотров: 6
Размер:  206.6 Кбайт  Кликните на картинку для увеличения
Название:  jass2.jpg
Просмотров: 8
Размер:  217.4 Кбайт  

Отредактировано Log, 14.06.2012 в 16:42.
Старый 14.06.2012, 15:50
Sidhe
Unity3D engine
offline
Опыт: 7,721
Активность:
сохраняется нормально?
Старый 14.06.2012, 16:47
Log

offline
Опыт: 3,538
Активность:
Да, при сохранении ошибок не выдаёт.
Я ж по этому и обратился.

P.S Там где было Trig_saveoursouls1_conditions исправил уже, после единицы пробел поставил.
Старый 14.06.2012, 17:00
Nordi

offline
Опыт: 893
Активность:
Log, а ты уверен что проблемы в джасе? выруби триги и попробуй без них.
Старый 14.06.2012, 17:31
Log

offline
Опыт: 3,538
Активность:
Nordi, чем это ещё может быть вызвано?

Log добавил:
На моём веку такую фигню только jass вызывал, когда в нём опечатка у варика происходит "когнитивный диссонанс" (то есть - крах реальности).
Старый 14.06.2012, 17:46
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,279
Активность:
Log:
Nordi, чем это ещё может быть вызвано?
Неправильным использованием глобальных переменных, а именно set bj_groupAddGroupDest = CopyGroup(g) у теюя переменная приравнивается функции copy group, а эта функция создаёт новую группу делает с нейкие действия и возвращает новую группу, в туже глобальную переменную, отсюда утечка, ошибка....
Старый 14.06.2012, 17:52
Log

offline
Опыт: 3,538
Активность:
Цитата:
Сообщение от quq_CCCP
~Log:
> Nordi, чем это ещё может быть вызвано?
Неправильным использованием глобальных переменных, а именно ""set bj_groupAddGroupDest = CopyGroup(g)"" у теюя переменная приравнивается функции copy group, а эта функция создаёт новую группу делает с нейкие действия и возвращает новую группу, в туже глобальную переменную, отсюда утечка, ошибка....



Cомневаюсь что ошибка здесь, дело в том, что g - это моя переменная. Он копирует группу, которую я указываю, затем выстраивает юнитов, берёт из них случайного, и выдаёт мне его.

Ошибка точно не в ней, я проверял в другой карте - всё работает, хотя возможно я допустил ошибку при копировании кода, и забыл поменять переменные, сейчас перепроверю.
Старый 14.06.2012, 17:59
Nordi

offline
Опыт: 893
Активность:
можно сделать ошибки которые вообще будут фаталить варик при попытке открытия карты в списке... и совсем не в тригах. А ве будет нормально сохранять карту.
Старый 14.06.2012, 18:00
Log

offline
Опыт: 3,538
Активность:
Цитата:
Сообщение от Nordi
можно сделать ошибки которые вообще будут фаталить варик при попытке открытия карты в списке... и совсем не в тригах. А ве будет нормально сохранять карту.


Я ничего нового не добавлял, только реген даммику поставил -1.5

Я подумал, может дело в варике, сейчас переставляю.

Log добавил:
Закрывайте. Решил проблему.

Всем спасибо.
Старый 14.06.2012, 18:41
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 15:47.