Сейчас 08:44:07 Пятница, 26 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » [ВАЖНО] Помощь по JASS
[ВАЖНО] Помощь по JASS
YaponeZzZДата: Четверг, 07 Января 2010, 00:43:49 | Сообщение # 76
SW Hero
Группа: Проверенные
Сообщений: 658
Награды: 2
Репутация: 193
Блокировки:
Сорнемус, все спс... Значит остальные желательно обнулять пр:(set udg_Attack[GetForLoopIndexA()] = null)

 

H_A_PKДата: Воскресенье, 10 Января 2010, 19:31:07 | Сообщение # 77
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Гы, дайте функцию, для подсчёта точек в ректе )
и сразу Функцию, нахождения нвиболее низкой точки в Ректе
, спс сразу говорю )


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

AkvariumДата: Суббота, 16 Января 2010, 20:52:51 | Сообщение # 78
8 уровень
Группа: Проверенные
Сообщений: 581
Награды: 1
Репутация: 87
Блокировки:
Хелп!
Цель:
Нужно что бы значение таймера изменялось на 5-7 символ введенный после строки -set. Проблема сделать проверку что 5-7 == 10-99. А то если так то если написать букву то фатал выдает.


 

SOBAKДата: Понедельник, 01 Февраля 2010, 21:20:42 | Сообщение # 79
6 уровень
Группа: Проверенные
Сообщений: 171
Награды: 0
Репутация: 22
Блокировки:
Скажите а намноголи больше возможностей в джазе чем в простых тригерах ???и как вобще включить джаз??или его качать нужно тогда дайте сылку
 

FlaReoNДата: Вторник, 02 Февраля 2010, 00:03:44 | Сообщение # 80
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
или его качать нужно тогда дайте сылку

ну впринципе не удивительно // хмм... а интересно, тут в треде все посты имеют подобные содержание/характер?)

Quote
Скажите а намноголи больше возможностей в джазе чем в простых тригерах

эти ваши "простые триггеры" на 80-90% состоят из bj-функций (что это такое, ясень пень, вы даже не догадываетесь)

самих возможностей - да, больше, на пару десятков функций

Добавлено (02-02-2010, 00:03)
---------------------------------------------

Quote
А то если так то если написать букву то фатал выдает.

а делать проверку типа:
Code
sub >= "0" and sub <= " 9"

религия не позволяет?



 

Krovosos777Дата: Вторник, 02 Февраля 2010, 15:52:44 | Сообщение # 81
6 уровень
Группа: Заблокированные
Сообщений: 229
Награды: 0
Репутация: 58
Блокировки:
SOBAK, Правка>Конвертировать в текст
 

СамокатДата: Четверг, 04 Февраля 2010, 08:11:30 | Сообщение # 82
5 уровень
Группа: Проверенные
Сообщений: 124
Награды: 0
Репутация: 15
Блокировки:
Почему при работе функции
call SetUnitLookAt( udg_A, "bone_arm1_R", udg_B, 0, 0, 0.00 )
он поворачивает кость "bone_head" ?
 

H_A_PKДата: Четверг, 04 Февраля 2010, 13:58:48 | Сообщение # 83
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
всем хай.
чёрт >_< , дайте ктонить функцию заместо
Code
TriggerSleepAction

да, и чтоб с условием проверять каждые (моё значение)

Ога, и ещё может ктонить напишит функцию, для проверки движения юнита по приказу ? ))
заранее спасибо


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

DoctorGesterДата: Четверг, 04 Февраля 2010, 16:17:09 | Сообщение # 84
6 уровень
Группа: Проверенные
Сообщений: 209
Награды: 0
Репутация: 50
Блокировки:
Делай либо бесконечным циклом с твоим условием либо таймером.
Т.е.
loop
exitwhen Твое условие
endloop

Добавлено (04-02-2010, 16:17)
---------------------------------------------
Для проверки на движение периодически сверяй координаты

 

H_A_PKДата: Четверг, 04 Февраля 2010, 16:17:46 | Сообщение # 85
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (DoctorGester)
loop
exitwhen Твое условие
endloop

вот вот делал так, но ведь блин он буде сробатывать каждые 0.025 сек и что да там просто утечка.
Quote (DoctorGester)
таймером

угу, дай плз функцию на типа
Quote (H_A_PK)
TriggerSleepAction

)


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 17:00:04 | Сообщение # 86
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
Почему при работе функции
call SetUnitLookAt( udg_A, "bone_arm1_R", udg_B, 0, 0, 0.00 )
он поворачивает кость "bone_head" ?

так задумано. т.е. он и должен поворачивать онли эту кость

Quote
TriggerSleepAction

TriggerSleepAction > TimerStart(tim,int,periodic,codefunc)

Quote
Ога, и ещё может ктонить напишит функцию, для проверки движения юнита по приказу ? ))

getcurrentorderid(unit) == <id>



 

H_A_PKДата: Четверг, 04 Февраля 2010, 17:05:54 | Сообщение # 87
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (FlaReoN)
<id>

what this ?
Quote (FlaReoN)
getcurrentorderid(unit)

а это то условие котторое чётко проверит движется ли юнит ? или просто проверит приказ выполняемый приказ ??

Добавлено (04-02-2010, 17:05)
---------------------------------------------

Quote (FlaReoN)
getcurrentorderid

Разверни плз


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 17:46:18 | Сообщение # 88
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
Разверни плз

ололо??? это Н А Т И В К А, чего разворачивать-то?)))
Quote
what this ?

айди текущего приказа. проверяй, если он равен 851986 или 851990 или 851983 (при условии что цель не юнит а точка)



 

H_A_PKДата: Четверг, 04 Февраля 2010, 17:51:58 | Сообщение # 89
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (FlaReoN)
ололо??? это Н А Т И В К А, чего разворачивать-то?)))

ну дак как я могу посмотреть нативка это или нет, вот терь знаю.
блин тогда разверни все takes и return у него какой ?))
Quote (FlaReoN)
айди текущего приказа. проверяй, если он равен 851986 или 851990 или 851983 (при условии что цель не юнит а точка)

а вот с цифрами не понял ??


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 17:54:54 | Сообщение # 90
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
блин тогда разверни все takes и return у него какой ?))

принимает юнита, возвращает айди его приказа (текущего)
Quote
а вот с цифрами не понял ??

ох май...
это ордеры, записанные в инт.форме, обычно для их получения юзают конвертеры. но я их на память уже знаю все)



 

H_A_PKДата: Четверг, 04 Февраля 2010, 17:56:16 | Сообщение # 91
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
тоесть эти цифры =
stop
move
attack
и т.д


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 18:00:31 | Сообщение # 92
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
тоесть эти цифры =
stop
move
attack
и т.д

да



 

H_A_PKДата: Четверг, 04 Февраля 2010, 18:02:55 | Сообщение # 93
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (FlaReoN)
да

хм, надобудет в константах посмореть )


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 18:04:07 | Сообщение # 94
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
851983 - attack
851990 - patrol
851986 - move

у stop - 851972



 

H_A_PKДата: Четверг, 04 Февраля 2010, 18:15:20 | Сообщение # 95
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
ОО их же караздо больше.
при касте спела там совсем другие приказы такчто , ,ОМГ мне надо много искать

Добавлено (04-02-2010, 18:15)
---------------------------------------------
а ну да, мне надо просто
getcurrentorderid(u) == 851972


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 18:22:27 | Сообщение # 96
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
Quote
getcurrentorderid(u) == 851972

getcurrentorderid(u) != 851972, или not(getcurrentorderid(u) == 851972)
первое предпочтительней. только смотри - можно стоять на месте, но выполнять при этом не только ордер стоп. поэтому нужно еще сделать переодическую сверку координат юнита, (это кстати даже лучше проверки на кур.ордер) если совпадают текущие и записанные в предыдущем проходе таймера - юнит стоит, иначе - ...



 

H_A_PKДата: Четверг, 04 Февраля 2010, 18:33:23 | Сообщение # 97
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (FlaReoN)
getcurrentorderid(u) != 851972, или not(getcurrentorderid(u) == 851972)
первое предпочтительней. только смотри - можно стоять на месте, но выполнять при этом не только ордер стоп. поэтому нужно еще сделать переодическую сверку координат юнита, (это кстати даже лучше проверки на кур.ордер) если совпадают текущие и записанные в предыдущем проходе таймера - юнит стоит, иначе - ...


дада
мне то и надо.
у мну короч будет так
Code
getcurrentorderid(u) != 851972 and GetMoveUnitOrder(u)==false

Code
function GetMoveUnitOrder takes unit u returns boolean
  local real x = GetUniX(u)
  local real y = GetUniY(u)
  local boolean b
    loop
     set b = false
    exitwhen x != GetUnitX(u) or y != GetUnitY(u)
     return b
    endloop
  set b = true
  return b
endfunction

ток незнаю Таймер добовлять в цикл или нет ?


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Четверг, 04 Февраля 2010, 18:49:11 | Сообщение # 98
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
OH SHI*!!!!

1. бесконечный цикл => повисание / фатал
2. таймер в цикле - зачем?
зачем вообще цикл? это самый конченый способ! нет, это даже не способ -.- это хрензнаетчто

Quote
GetMoveUnitOrder(u)==false

медленно
ты слышал о "not(...)" ?

--------------------------------
нужно так:
запустить в начале таймер, в функе таймера делать проверку:

//.....
if GetUniX(u) != globX or GetUniY(u) != globY
set globX = GetUniX(u)
set globY = GetUniY(u)
set globB = true
else
set globB = false
endif
//.....
globB - глобалка типа булин, globX/Y - глобалки типа риал
в нужном месте просто проверяй globB, а к самой этой функции можешь и не притрагиваться



 

H_A_PKДата: Суббота, 06 Февраля 2010, 16:24:14 | Сообщение # 99
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (FlaReoN)
if GetUniX(u) != globX or GetUniY(u) != globY
set globX = GetUniX(u)
set globY = GetUniY(u)
set globB = true
else
set globB = false
endif

ок я всё понил -)

Добавлено (06-02-2010, 16:24)
---------------------------------------------
FlaReoN, FlaReoN, дай ид приказа "!удерживать позицию" (короче где два мечя нарисовано) и (где щиток на рисован)


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

FlaReoNДата: Суббота, 06 Февраля 2010, 17:58:11 | Сообщение # 100
7 уровень
Группа: Проверенные
Сообщений: 456
Награды: 0
Репутация: 144
Блокировки:
стоп - 851972
холд позишн - 851993



 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » [ВАЖНО] Помощь по JASS
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz