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

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

Ответ
 
adic3x

offline
Опыт: 108,439
Активность:
Тип code и RB
вопрос в следующем - мне надо организовать code array. если я использую rb и делаю обычный инт аррай мне это нечем не грозит? вот примерный код
Код:
function C2I takes code c returns integer
 return c
 return 0
endfunction

function I2C takes integer i returns code
 return i
 return null
endfunction

function Test takes nothing returns nothing
 call BJDebugMsg("!")
endfunction

function Run takes nothing returns nothing
 local integer i=C2I(function Test)
 local code c=I2C(i)
 call BJDebugMsg(I2S(i))
 call TimerStart(CreateTimer(), 1., false, c)
endfunction


ADOLF добавил:
я вроде проверял, все норм, но смутил, что если я в функции запуска таймера указываю I2C(i) то он не срабатывает.
Старый 12.12.2007, 10:29
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
грозит, после лоада значения C2I меняются + инт по коду ты получить сможешь, а код по инту нет, короче лучше с этим типом не работать, а юзать boolexpr
Старый 12.12.2007, 10:40
adic3x

offline
Опыт: 108,439
Активность:
насчет первого понял, а насчет второго код по инту получить можна)
Старый 12.12.2007, 10:42
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
Цитата:
код по инту получить можна)

но выполнятся он не будет
Старый 12.12.2007, 10:42
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
но выполнятся он не будет

будет) по крайней мере тот код который находится выше рабочий... прверь, появиться "!"
Старый 12.12.2007, 10:45
Toadcop

offline
Опыт: 54,313
Активность:
ну когда я тестил у меня хендл инндекс кода вообще привышал 32 бита =)
т.е. у них хендлы вроде вообще unsigned long (и т.е. без значные 32 битные инты а точней вроде 33 битные =) хотя я на 100% не уверен но знаю что тот бит который указавает на +/- числа юзаетьса для его продолжения в unsigned)
короче имхо это глючный вариант code оцтойный тип в варе который юзаетьса тока для момента (в статичном виде почти статичном ну как аргумент для функции можно) а хранить их. ну у меня не выходило норм =) т.е. так косяки были (я написал почему) т.е. хендлы привышали 2^31.
Старый 12.12.2007, 12:10
adic3x

offline
Опыт: 108,439
Активность:
не... просто так было бы удобно мне как раз на таймер вешать коде) лана...

сделаю тогда наверное еслеифами и одной коде переменной ибо выполнятся будет раз в минуту не чаще.

Цитата:
привышали 2^31

хм... в жассе... как ты это проверил ;)

аддед:
попробовал через риал... оно его округляет цуго.
Старый 12.12.2007, 13:34
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
хм... в жассе... как ты это проверил ;)
минусовое значение ставало ? =)
// + это всем известно что там long юзаетьса. (2 миллиарда макс значение может быть 32 бита или 2^31) =)
рил на высоких значениях вообще не точный.
Старый 12.12.2007, 15:48
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
что там long юзаетьса

я не это имев ввиду... ты говорил что интегер функции мб больше 2^31 я спрашивал как ты проверил что оно больше если макс 2^31? черел риал проверял что ли?) или просто смотрел что оно того...
Старый 12.12.2007, 15:59
Toadcop

offline
Опыт: 54,313
Активность:
ADOLF я же написал =) идёт переполнение и инт "превращеатьса" (там есть лог действие) в негативный инт =) т.е. хендл -2174532859 (напр) это означает что есть переполнение =)
Старый 12.12.2007, 17:03
KolbaX

offline
Опыт: 10
Активность:
У меня неполучалось инт в код... Тем более удивляют сами ссылки - у меня они были непсоледовательны и менялись каждый запуск... где-то на б.ру было мое про запуск через boolexpr... осталось придумать чем это лучше чем ExecuteFunc()
Старый 17.12.2007, 12:31
adic3x

offline
Опыт: 108,439
Активность:
KolbaX, да я уже решил проблему + мне запускать все равно через таймер надо было)

кста у мну тоже неработало I2C если его сразу указывать в функцию таймера, но работало если поместить в тип коде... зри код)
Старый 17.12.2007, 12:39
Ответ

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

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

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

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



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