| JASS вопросник |
|
Apollon |
Дата: Суббота, 12-07-2008, 09:22 | Сообщение # 51
|
Генерал-майор
Группа: Проверенные
Сообщений: 277
| Есть какие нибудь JASS функции, чтобы заставить компа-игрока сказать что-нибудь в чат?
Практикуйте спонтанные акты доброты, милосердия и красоты
|
|
|
|
|
|
Zakhar |
Дата: Суббота, 12-07-2008, 10:35 | Сообщение # 52
|
Сержант
Группа: Пользователи
Сообщений: 32
| nothing DisplayTextToPlayer(player toPlayer, real x, real y, string message ) nothing DisplayTimedTextToPlayer (player toPlayer, real x, real y, real duration, string message ) nothing DisplayTimedTextFromPlayer(player toPlayer, real x, real y, real duration, string message ) nothing ClearTextMessages() real x и real y должны быть равны 0. real duration - время показа сообщения. GetLocalPlayer() вернет игрока за данным компом.
|
|
|
|
|
|
Apollon |
Дата: Суббота, 12-07-2008, 14:49 | Сообщение # 53
|
Генерал-майор
Группа: Проверенные
Сообщений: 277
| Quote (Zakhar) GetLocalPlayer() вернет игрока за данным компом. Как понять "вернет игрока за данным компом"? И еще плиз, покажи примеры: 1)Комп 3 игрок пишет всем:" Привет!" 2)Комп 3 игрок пишет союзникам: "Привет!" 3)Комп 3 игрок пишет зритеоям: "Привет"! 4)Комп 3 игрок пишет 6 игроку: "Привет!"
Практикуйте спонтанные акты доброты, милосердия и красоты
Сообщение отредактировал Apollon - Суббота, 12-07-2008, 14:57 |
|
|
|
|
|
Zakhar |
Дата: Воскресенье, 13-07-2008, 00:27 | Сообщение # 54
|
Сержант
Группа: Пользователи
Сообщений: 32
| Даже в коллективной игре на компе каждого игрока запускается скрипт карты. GetLocalPlayer возвращает объект карты с контекстом одного игрока, того - на котором запущен данный скрипт. Если скриптом передать сообщение не локальному игроку, то получится так, что все скрипты карты на всех подлюченных компах отправят сообщение какому-то игроку. Скрипты то одинаковые (думает близзард). И возникает баг. Поэтому нам остается работать только с локальным игроком. Пример на JASS и на триггерах. Не отлажен и не проверен. Code globals
endglobals //----------------- function TextToAllz takes nothing returns integer call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,15, "Hello") endfunction function TextToAlliesz takes nothing returns integer if IsPlayerAlly(GetLocalPlayer(),Player(2)) then call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,15, "Hello") endif endfunction function TextToObserversz takes nothing returns integer if IsPlayerObserver(GetLocalPlayer()) then call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,15, "Hello") endif endfunction function TextToPlayer6z takes nothing returns integer if GetLocalPlayer() == Player(5) then call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,15, "Hello") endif endfunction //----------------- function main takes nothing returns nothing loop call Sleep(11) endloop endfunction
|
|
|
|
|
|
MaSer |
Дата: Воскресенье, 13-07-2008, 01:44 | Сообщение # 55
|
|
Генерал-лейтенант
Группа: КоМодераторы
Сообщений: 725
| Zakhar, и не десинят такие вещи случайно? А то йа сам не работал
RTFM!
|
|
|
|
|
|
dredsss |
Дата: Воскресенье, 13-07-2008, 03:06 | Сообщение # 56
|
Генерал-майор
Группа: Пользователи
Сообщений: 300
| как заставить компа игрока напасть на другого игрока с Х количестовм юнитов и если он проигрывает чтоб он отступил ???
и почему у меня этот аватар на всех форумах :) я понял одно какой же я нуб.........................
|
|
|
|
|
|
MaSer |
Дата: Воскресенье, 13-07-2008, 03:43 | Сообщение # 57
|
|
Генерал-лейтенант
Группа: КоМодераторы
Сообщений: 725
| dredsss, редактором ии....
RTFM!
|
|
|
|
|
|
Zakhar |
Дата: Воскресенье, 13-07-2008, 12:05 | Сообщение # 58
|
Сержант
Группа: Пользователи
Сообщений: 32
| dredsss, способ реализации зависит от того, каким способом ты пишешь скрипт: редактор ИИ, триггеры, JASS в war3map.j, JASS в *.ai, а также используешь ли ты капитанов. -------------- Если скрипт передает послание через сеть, то возникает десинхронизация и бан. В остальных случаях могут нарисоваться баги. Виноватым может быть или картостроитель или близзард, а бан получит игрок. Риск.
|
|
|
|
|
|
Чудо |
Дата: Понедельник, 14-07-2008, 07:21 | Сообщение # 59
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| Quote (MaSer) Zakhar, и не десинят такие вещи случайно? А то йа сам не работал Нет. Локал плеер десинхронизует всего лишь в парочке случаев. dredsss, ты хочешь чтобы за тебя контролил в батле бот? Не стоит мен)))). Если и писать бота для батлы то хилера. Чтобы он отводил юнита игнорируя твои приказы и хилял другими по возможности, лично мне бы помогло сократить апм, и расслабиться немного в игре
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
dredsss |
Дата: Понедельник, 14-07-2008, 12:49 | Сообщение # 60
|
Генерал-майор
Группа: Пользователи
Сообщений: 300
| не парни мне не для бота я тут картку делаю и вот решил разнообразить её хм если можно то поподробней распишите я в ккартостроительстве моно сказать нуб П.с:масер у тя мейлагент есть ??? а то я винду переустанавливал и запорол асю
и почему у меня этот аватар на всех форумах :) я понял одно какой же я нуб.........................
Сообщение отредактировал dredsss - Понедельник, 14-07-2008, 12:50 |
|
|
|
|
|
Чудо |
Дата: Понедельник, 14-07-2008, 14:23 | Сообщение # 61
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| dredsss, стукни мне в Жаббер Mutofreak@gmail.com
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
Padla |
Дата: Понедельник, 14-07-2008, 15:23 | Сообщение # 62
|
Свихнувшийся гений
Группа: Новостейщики
Сообщений: 298
| А как расшифровывается слово Jass?
Помешан на науке... В топку CMS системы всё делаю руками и с нуля Я отомсю всем за тему "захвать мира" и мстя моя будет ужасна к каждому из вас придёт гигантский робот ёжик и съест! помогу чем смогу ГИГАНТСКИЙ РОБОТ ЁЖИК ГОТОВ НА 5% $$$
Сообщение отредактировал Padla - Понедельник, 14-07-2008, 15:23 |
|
|
|
|
|
Чудо |
Дата: Понедельник, 14-07-2008, 15:23 | Сообщение # 63
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| Padla, Just another script что то там еще.
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
MaSer |
Дата: Вторник, 15-07-2008, 01:59 | Сообщение # 64
|
|
Генерал-лейтенант
Группа: КоМодераторы
Сообщений: 725
| Чудо, систем
RTFM!
|
|
|
|
|
|
Чудо |
Дата: Вторник, 15-07-2008, 06:11 | Сообщение # 65
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| local trackable tr=GetTriggeringTrackable() Собственно по поводу этой функции вопрос требует ли обнуление функция, потому что выделяемая на нее ячейка автоматически уничтожилась O.O просто после потерки самого трекабля, сама ячейка без всяких null у меня высвабодилась, причем не одна. Что за чертовщина с варом у меня твариться?
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
Zakhar |
Дата: Вторник, 15-07-2008, 08:38 | Сообщение # 66
|
Сержант
Группа: Пользователи
Сообщений: 32
| Наверно не функция и не ячейка, а переменная. Действительно, не все переменные, наследующие тип hadle, требуют освобождения или не всегда. Чтобы проверить требуется ли освобождение переменной в теле функции можно вызывать свою функцию в цикле и смотреть на виртуальныю память, сожранную вариком. Пример: globals endglobals function MyTestFnz takes nothing returns nothing local location pAz = Location(0,0) //call RemoveLocation(pAz) //set pAz = null endfunction function main takes nothing returns nothing loop call MyTestFnz() endloop endfunction Если не раскомментировать обе строчки в коде, будут ужасающие утечки.
Сообщение отредактировал Zakhar - Вторник, 15-07-2008, 08:41 |
|
|
|
|
|
Чудо |
Дата: Вторник, 15-07-2008, 08:52 | Сообщение # 67
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| Zakhar, спасибо за помощь, пойду проверять))).
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
MaSer |
Дата: Вторник, 15-07-2008, 13:52 | Сообщение # 68
|
|
Генерал-лейтенант
Группа: КоМодераторы
Сообщений: 725
| Zakhar, ятд бесконечный цикл выкидывает сразу итак )
RTFM!
|
|
|
|
|
|
Чудо |
Дата: Вторник, 15-07-2008, 14:40 | Сообщение # 69
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| MaSer, ога))), не совсем. Его можно прекрашать, я запускал через определенную промежутки таймером и смотрел изменения.
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
Zakhar |
Дата: Среда, 16-07-2008, 09:42 | Сообщение # 70
|
Сержант
Группа: Пользователи
Сообщений: 32
| Когда мой пример сохраняют и используют в виде ИИ (elf.ai), он работает без единой проблемы. Результат работы заметен уже через 5 секунд. JASS - проклятый язык. То что в одном месте работает в другом месте может не работать и наоборот. Таймеры в этом исследовании не нужны, а нужны Ctrl+Shift+Esc и Ctrl+Alt+Del.
|
|
|
|
|
|
MaSer |
Дата: Среда, 16-07-2008, 12:44 | Сообщение # 71
|
|
Генерал-лейтенант
Группа: КоМодераторы
Сообщений: 725
| Zakhar, ну да, если в ии, то вроде так и должно быть :хз: . Но проще сделать просто ве с событием 0,01 сек.
RTFM!
|
|
|
|
|
|
Чудо |
Дата: Среда, 16-07-2008, 13:39 | Сообщение # 72
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| Quote (MaSer) у да, если в ии, то вроде так и должно быть РОФЛ
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
Zakhar |
Дата: Среда, 16-07-2008, 17:18 | Сообщение # 73
|
Сержант
Группа: Пользователи
Сообщений: 32
| Уточню. Безобразия, возникающие привыполнении скриптов ИИ и карты различаются, поэтому участки кода из war3map.j там же и надо проверять. В ИИ проще всего использовать бесконечный цикл как в примере. Остается секунд 10 на останов вара. В war3map.j лучше использовать цикл на 20 - 100 итераций внутри триггера с событием 0.01 сек. Иначе любопытствующий программер либо не заметит утечек либо утечки снесут ОС. Еще одна странность: в всевдопотоке main я утечек что-то не поймал.
|
|
|
|
|
|
Чудо |
Дата: Четверг, 17-07-2008, 04:19 | Сообщение # 74
|
Техногенный Упырь
Группа: Модераторы
Сообщений: 733
| Quote (Zakhar) в всевдопотоке main я утечек что-то не поймал. Хз хз, там они есть полюбому, видимо близы что то по хитрому химичат и скрывают от простых смертных)
Даже когда мы не вместе, мы будем смотреть в одно небо...
|
|
|
|
|
|
Iska |
Дата: Понедельник, 28-07-2008, 22:00 | Сообщение # 75
|
Рядовой
Группа: Пользователи
Сообщений: 18
| Извините можете помочь как зделать что бы при магии Молот Бурь врак отлетал от тебя а? ------------------------------------ ДОБАВЛЕНО МЕСНЫМ ХАКЕРОМ Этот смайлик и грамматические ошибки выглядят оскорбительно. Пароль на аккаунт тоже оскорбителен для сайта:12345678 По сабжу: можно использовать SetUnitPosition, но эта функция создает утечки. Лучшего ответа не заслуживаешь.
Когда все от тебя чевото требуют ты становишься злым и надменным -------------- Ты слаб а знаешь почему ты слаб, потому что ты не без пощаден как я.
Сообщение отредактировал Iska - Вторник, 29-07-2008, 11:35 |
|
|
|