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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Помогите решить проблему (Хочу создать босса для Арены)
Помогите решить проблему
AJIuCaRDДата: Понедельник, 06 Июня 2011, 14:18:30 | Сообщение # 1
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Помогите создать босса чтобы он выходил после определенной волны обычных мобов =((
 

ArchmageДата: Понедельник, 06 Июня 2011, 14:27:57 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 265
Награды: 0
Репутация: 7
Блокировки:
Обычно через функцию Create unit
Просто после,например 3х волн крипов Crate unit Босс и все)
 

romaN-1998Дата: Понедельник, 06 Июня 2011, 14:27:58 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
Смотри, потребление пиши <= 0, проверяешь номер волны, и выпускаешь определённого босса.
 

AJIuCaRDДата: Понедельник, 06 Июня 2011, 16:20:18 | Сообщение # 4
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Это в тригерах надо делать да? Через определенную функцию Create Unit
Например я создал босса под именем BigBadBoss, как мне сделать чтобы он выходил из нижнего правого угла карты? =(
В триггерах я не очень=((

Добавлено (06-06-2011, 16:20)
---------------------------------------------
Начало процедуры как я понял будет таким:
function CreateUnit takes nothing returns nothing
call

 

sacar777Дата: Понедельник, 06 Июня 2011, 16:24:44 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 416
Награды: 0
Репутация: 35
Блокировки:
1)Создаешь область, куда пойдет босс.
2) Проверяешь, что бы босс смог дойти до области, то есть пройти в узких местах, ворота или другое, ну ты понял.
3)Ставишь босса на карту (думаю ты уже поставил).
4)Триггер
Событие: Не знаю как ты там делаешь, поэтому с событием подсказать не могу...
Условие:тоже хз (что и выше)
Действие:Боевая Единица set rally to point for Твой Босс to Центр (Твоя область).
Вот картинка




Legion

Герои: 10%
Ландшафт: 30%
Предметы: 10%
Баланс:80%
Код:70%
Общая готовность: 10%
Бета Тест карты выявил 4 довольно простых бага.


Сообщение отредактировал sacar777 - Понедельник, 06 Июня 2011, 16:26:32
 

SirNikolasДата: Понедельник, 06 Июня 2011, 16:51:19 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
sacar777, rally point - это "флажок" у зданий. Нужно делать move, attack или smart.

 

AJIuCaRDДата: Понедельник, 06 Июня 2011, 17:14:17 | Сообщение # 7
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Босса поставил на карту где он должен выходить
Но он там стоит с самой первой волны и еще и нейтральный

Добавлено (06-06-2011, 17:14)
---------------------------------------------
Получился вот такой триггер
function Trig_BigBadBoss_Actions takes nothing returns nothing
call SetUnitPositionLoc( gg_unit_u00B_0014, GetRectCenter(gg_rct________________004) )
endfunction

//===========================================================================
function InitTrig_BigBadBoss takes nothing returns nothing
set gg_trg_BigBadBoss = CreateTrigger( )
call TriggerAddAction( gg_trg_BigBadBoss, function Trig_BigBadBoss_Actions )
endfunction


Пытаюсь сохранить карту выдает много шибок в частности Отсутствует название,оператор кода,название функции
Что не так?

 

sacar777Дата: Понедельник, 06 Июня 2011, 17:23:06 | Сообщение # 8
7 уровень
Группа: Проверенные
Сообщений: 416
Награды: 0
Репутация: 35
Блокировки:
Quote (SirNikolas)
SirNikolas

а да, перепутал=)

Добавлено (06-06-2011, 17:23)
---------------------------------------------
Quote (AJIuCaRD)
AJIuCaRD

попробуй не переводить в Джас, гуи сохрани проверь работает или нет..

Какое событие ставишь и условие?

Если не ошибаюсь вот корень зла (gg_rct________________004) ) Джас не воспроизводит русский язык, пиши название областей по английски..


Legion

Герои: 10%
Ландшафт: 30%
Предметы: 10%
Баланс:80%
Код:70%
Общая готовность: 10%
Бета Тест карты выявил 4 довольно простых бага.


Сообщение отредактировал sacar777 - Понедельник, 06 Июня 2011, 17:25:25
 

SirNikolasДата: Понедельник, 06 Июня 2011, 17:29:19 | Сообщение # 9
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (sacar777)
Если не ошибаюсь, вот корень зла
Ничего подобного. Он просто переводит кириллицу в подчеркивания.


 

AJIuCaRDДата: Понедельник, 06 Июня 2011, 17:47:23 | Сообщение # 10
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Quote (sacar777)
Какое событие ставишь и условие?

В Условие поставил Мой босс равно Attaked unit
А в событие что можно поставить?
Quote (sacar777)
попробуй не переводить в Джас, гуи сохрани проверь работает или нет..

Я и не пытался переводить
Quote (sacar777)
Если не ошибаюсь вот корень зла (gg_rct________________004)

Это не корень зла это точка куда пойдем босс когда появится
 

romaN-1998Дата: Понедельник, 06 Июня 2011, 17:59:24 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
AJIuCaRD, не то делаешь. Делай на GUI тогда или вот код:
Code
function Trig_Boss_Actions takes nothing returns nothing
local unit boss
if udg_wave = 1 then
set boss = CreateUnit(Player(11),'boss',3695,-3325,315)
call IssuePointOrder(boss,"attack",0,0)
set udg_wave = udg_wave + 1
set boss = null
endif
if udg_wave = 2 then
set boss = CreateUnit(Player(11),'bos2',3695,-3325,315)
call IssuePointOrder(boss,"attack",0,0)
set boss = null
set udg_wave = udg_wave + 1
endif
endfunction

function InitTrig_Boss takes nothing returns nothing
      set gg_trg_Boss = CreateTrigger()
      call TriggerRegisterPlayerStateEvent( gg_trg_Boss, Player(11), PLAYER_STATE_RESOURCE_FOOD_USED, LESS_THAN_OR_EQUAL, 0.00 )
      call TriggerAddAction( gg_trg_Boss, function Trig_Boss_Actions )
endfunction


короче:
Quote
call TriggerRegisterPlayerStateEvent( gg_trg_Boss, Player(11), PLAYER_STATE_RESOURCE_FOOD_USED, LESS_THAN_OR_EQUAL, 0.00 )

Где Player(11) = должен быть игрок-владелец мобов. Player(11) - коричневый игрок
В Jass отсчёт игроков идёт с 0.

Quote
set boss = CreateUnit(Player(11),'bos2',3695,-3325,315)

где 'bos2' = рав-код твоего босса
Где 3695, -3325 = координаты, где он создатся
где 315 = угол поворота

Quote
if udg_wave = 1 then

ты должен иметь переменную wave = типа Целочисленная.

Разжевал, всё что смог. Будут вопросы - задавай.
А да:
Quote

call TriggerAddAction( gg_trg_Boss, function Trig_Boss_Actions )

gg_trg_Boss = имя триггера (Boss)

И ещё, тебе надо сделать столько if'ов, сколько у тебя волн.
Или тогда пробуй как-нибудь циклом тогда.


Сообщение отредактировал romaN-1998 - Понедельник, 06 Июня 2011, 18:00:41
 

DeadJassДата: Понедельник, 06 Июня 2011, 18:43:41 | Сообщение # 12
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
romaN-1998, много if'оф.
лучше сделать так
integer wave
integer array UnitType
забить в юнит тайп мобоф вот так
set UnitType[1]='u001'
set UnitType[2]='u002'
set UnitType[3]='u003'
set UnitType[4]='boss'

Ну и потом просто когда пища становиться 0 создавать юнитов так:
set wave=wave+1
call CreateUnit(Player(11),UnitType[wavw],x,y,face)



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

SirNikolasДата: Понедельник, 06 Июня 2011, 18:54:08 | Сообщение # 13
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
DeadJass, только их надо сделать глобальными. А то при каждом запуске триггера будет забивать массив.

 

AJIuCaRDДата: Понедельник, 06 Июня 2011, 20:06:44 | Сообщение # 14
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Quote (romaN-1998)
Где Player(11) = должен быть игрок-владелец мобов.

А можно в место player-а поставить нейтральные войска? и как это написать вместо playera
Quote (romaN-1998)
где 'bos2' = рав-код твоего босса

Это этот код - 0014? Или где его правильно посмотреть?

потом смотри в код у тебя идет
1-я волна - создание босса его имя место где он появляется и тэдэ после как я понял когда он умирает то идет
2-я волна в которой опять он создается?

Добавлено (06-06-2011, 19:59)
---------------------------------------------
И вместо boss писать BigBadBoss или можно так оставить?

Добавлено (06-06-2011, 20:06)
---------------------------------------------
еще вопрос: на этой строке if udg_wave = 1 then выдает ошибку "Отсутствует название"
какое название? оО

 

sacar777Дата: Понедельник, 06 Июня 2011, 20:10:50 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 416
Награды: 0
Репутация: 35
Блокировки:
ты бы сначала триггеры выучил, потом за Джас брался..
Quote (SirNikolas)
SirNikolas

учту, не знал, что он просто кириллицу подчеркивает.. Думал, что он из за кириллицы её не берет.


Legion

Герои: 10%
Ландшафт: 30%
Предметы: 10%
Баланс:80%
Код:70%
Общая готовность: 10%
Бета Тест карты выявил 4 довольно простых бага.
 

AJIuCaRDДата: Понедельник, 06 Июня 2011, 20:19:34 | Сообщение # 16
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Исправил ошибку отсутствует название(не было переменной wave)
Теперь на месте старой ошибки про название пишет Expected '=='
Что с ней делать?
 

SirNikolasДата: Вторник, 07 Июня 2011, 07:51:43 | Сообщение # 17
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (AJIuCaRD)
Expected '=='
Пропущен знак "==" (сравнение в условии).


 

AJIuCaRDДата: Вторник, 07 Июня 2011, 15:05:51 | Сообщение # 18
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
агась исправил

теперь пишет пропущено выражение в этой строке

set BigBadBoss = CreateUnit(Player(0),'BigBadBoss',3695,-3325,315)

Добавлено (07-06-2011, 15:05)
---------------------------------------------

Quote (AJIuCaRD)
пропущено выражение

То есть отсутствует выражение =)
 

Mep3aB4uKДата: Вторник, 07 Июня 2011, 15:39:58 | Сообщение # 19
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
AJIuCaRD, 'BigBadBoss' - должен быть id юнита к приперу 'n001'. Кажеться ctr+D открывает id
 

AJIuCaRDДата: Вторник, 07 Июня 2011, 16:00:58 | Сообщение # 20
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Quote (Mep3aB4uK)
'BigBadBoss' - должен быть id юнита к приперу 'n001'. Кажеться ctr+D открывает id

Спасибо,исправил
Еще 3 ошибки
Отсутствует название переменной
set BigBadBoss = CreateTrigger()
Отсутствует название
call TriggerRegisterPlayerStateEvent( BigBadBoss, Player(0), PLAYER_STATE_RESOURCE_FOOD_USED, LESS_THAN_OR_EQUAL, 0.00 )
call TriggerAddAction( BigBadBoss, function Trig_Boss_Actions )
 

Mep3aB4uKДата: Вторник, 07 Июня 2011, 16:49:12 | Сообщение # 21
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
AJIuCaRD, создай переменную типа-Боевая еденица с названием BigBadBoss, и везде где BigBadBoss, пропиши udg_BigBadBoss
 

AJIuCaRDДата: Вторник, 07 Июня 2011, 17:19:24 | Сообщение # 22
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Quote (Mep3aB4uK)
создай переменную типа-Боевая еденица с названием BigBadBoss, и везде где BigBadBoss, пропиши udg_BigBadBoss

Исправил, спасибо

теперь 2 ошибки но уже другие
Несовпадение типов при присвоении
set udg_BigBadBoss = CreateTrigger()
Неверный тип аргумента(unit)
call TriggerAddAction(udg_BigBadBoss, function Trig_Boss_Actions )
 

Mep3aB4uKДата: Вторник, 07 Июня 2011, 17:28:20 | Сообщение # 23
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
AJIuCaRD,замени так:
в самом начале и вместо set udg_BigBadBoss=CreateTrigger()
local trigger tri=CreateTrigger()
замени call TriggerAddAction(udg_BigBadBoss, function Trig_Boss_Actions ) на
call TriggerAddAction(tri, function Trig_Boss_Actions )
и в конце
set tri=null


Сообщение отредактировал Mep3aB4uK - Вторник, 07 Июня 2011, 17:30:15
 

AJIuCaRDДата: Вторник, 07 Июня 2011, 17:38:06 | Сообщение # 24
1 уровень
Группа: Пользователи
Сообщений: 18
Награды: 0
Репутация: 0
Блокировки:
Quote (Mep3aB4uK)
local trigger tri=CreateTrigger()

а в скобках ничего не надо писать?

Добавлено (07-06-2011, 17:38)
---------------------------------------------
Неверный тип аргумента(unit)
call TriggerAddAction(tri, function Trig_Boss_Actions )
он ругается на tri наверное
может ему какой нить аргумент задать?

 

SirNikolasДата: Вторник, 07 Июня 2011, 17:46:28 | Сообщение # 25
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
AJIuCaRD, позволь задать один вопрос, это может значительно помочь нам в этом трудном деле - пытаться тебе помочь.


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Помогите решить проблему (Хочу создать босса для Арены)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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