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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Помоги разобрать Jass код на части (Ну поясните вернее как он работает)
Помоги разобрать Jass код на части
НаклзДата: Суббота, 07 Сентября 2013, 09:40:46 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Здравствуйте! Помогите, пожалуйста, я в джассе не понимаю... можете привести пример как на ГУИ(с использованием custom script только там где ГУИ нету) сделать вот этот код:
Код
local integer i = 'h000'
local integer l = 0
loop
  exitwhen (l == 11)
         if (l == 0 and GetLocalPlayer() == Player(0)) then
                set i = 'h001'
         endif
  call CreateUnit(Player(l), i, 0., 0., 0.)
         set i = 'h000'
  set l = l + 1
endloop
 

MelodiaДата: Суббота, 07 Сентября 2013, 10:26:39 | Сообщение # 2
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
Лучше скажи, что тебе надо
Цитата (Наклз)
local integer i = 'h000'

???


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

НаклзДата: Суббота, 07 Сентября 2013, 11:31:19 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
ну создать юнитов, одинаковых для всех, но один из игроков будет видеть своего юнита другим... ну например на вид они одинаковые, но имя они когда нажмут будут видеть имя юнита "Математик", а тот кто им контролит "Химик"....
вычитал что можно такое сделать с помощью этого кода, "h000" и "h001" это id юнитов.

Добавлено (07 Сентября 2013, 11:31:19)
---------------------------------------------
Кажется сам разобрался, сейчас тестану

 

DragoNДата: Суббота, 07 Сентября 2013, 11:36:42 | Сообщение # 4
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
GetLocalPlayer() на гуи нету
и мне почему-то кажется, что таки будет десинк
или код рабочий и отлажен другими?


El Psy Congroo
 

FEARKILLERДата: Суббота, 07 Сентября 2013, 11:42:36 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата (Наклз)
ну создать юнитов, одинаковых для всех, но один из игроков будет видеть своего юнита другим

Для всех одинаковых, но только разных. Это как? Привет десинхронизация?
Создание через локальногоигрока юнитов это не нормально, но можно скрывать локально юнитов для определённых игроков, тоесть я могу предложить создать оба вида юнитов для всех игроков, но скрывать ненужных и показывать наоборот нужных.


Делаю из воды вино, хожу по воде...


Сообщение отредактировал FEARKILLER - Суббота, 07 Сентября 2013, 11:43:09
 

MelodiaДата: Суббота, 07 Сентября 2013, 11:49:13 | Сообщение # 6
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
Цитата (FEARKILLER)
Создание через локальногоигрока юнитов это не нормально, но можно скрывать локально юнитов для определённых игроков, тоесть я могу предложить создать оба вида юнитов для всех игроков, но скрывать ненужных и показывать наоборот нужных.

дык десинх же будет при попытке дать приказ скрытому локально юниту dunno
Цитата (DragoN)
GetLocalPlayer() на гуи нету

не ну кс-ку ничего не мешает нам вставить то.ы

Добавлено (07 Сентября 2013, 11:49:13)
---------------------------------------------
надо тогда создавать все юниты, а локально делать прозрачными, при попытке пикнуть не своего юнита - будет пикаться свой


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

FEARKILLERДата: Суббота, 07 Сентября 2013, 11:59:18 | Сообщение # 7
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата (Melodia)
дык десинх же будет при попытке дать приказ скрытому локально юниту

Скрытому юниту можно отдавать приказы и он будет их выполнять. Скрой лучника и прикажи триггерно атаковать другого юнита, и он будет это делать. Стрелы будут вылетать из неоткуда.
Ну и хотелось бы узнать что эти юниты будут делать? Их роль в игровом процессе?


Делаю из воды вино, хожу по воде...
 

НаклзДата: Суббота, 07 Сентября 2013, 12:25:35 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата (FEARKILLER)
Создание через локальногоигрока юнитов это не нормально

юниты создаются нормально, просто id юнита указывается через переменную, которую для одного игрока изменили локально..

Добавлено (07 Сентября 2013, 12:25:35)
---------------------------------------------
Кстати я проверил, работает, все видят моего юнита как пехотинца, а я вижу его как зомби... и десинха нету... он появляется когда юнит умирает, но я планирую его перед смертью убрать из игры тригом и десинха не будет
Просто этот триггер я копипаст, может кто сказать как сделать такое на ГУИ с использованием кустом скрипт только там, где это не обходимо

 

MelodiaДата: Суббота, 07 Сентября 2013, 12:56:19 | Сообщение # 9
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
Цитата (FEARKILLER)
Скрытому юниту можно отдавать приказы и он будет их выполнять.

хмм, неужели я чтото спутал, сам же помню десинх в своей "Монополии", когда скрывал локально юниты. hmm Мне тогда так и сказали, что скрывать можно но нельзя ордеры давать...
Цитата (Наклз)
как сделать такое на ГУИ

прям с локалками?


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

НаклзДата: Суббота, 07 Сентября 2013, 13:08:48 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
та хоть и с глобалками
 

FEARKILLERДата: Суббота, 07 Сентября 2013, 13:19:32 | Сообщение # 11
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата (Melodia)
хмм, неужели я чтото спутал, сам же помню десинх в своей "Монополии", когда скрывал локально юниты. hmm Мне тогда так и сказали, что скрывать можно но нельзя ордеры давать...

Я сказал что он при скрытии не лишается возможности атаковать, и если есть возможность атаковать, то он посути у всех игроков будет атаковать, а вот насчёт получения урона я не знаю как скрытый юнит будет реагировать. Если хочешь можешь поэкспериментировать, кто не даёт. Я лично все подобные заморочки с локальным созданием объектов стороной обхожу.
Цитата (Наклз)
как сделать такое на ГУИ с использованием кустом скрипт

Цитата (Melodia)
прям с локалками?

Цитата (Наклз)
та хоть и с глобалками

В гуи, при создании юнита нужна обязательно точка и не проще тогда весь этот кусок кода записать полностью как есть, при помощи cs? Локалки можно глобалками только заменить, чтобы к ним можно было обращаться через гуи.


Делаю из воды вино, хожу по воде...
 

НаклзДата: Суббота, 07 Сентября 2013, 13:27:44 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата (FEARKILLER)
нужна обязательно точка

центр карты мне тоже не очень как-то подходит, так что точка убдет кстати...
 

FEARKILLERДата: Суббота, 07 Сентября 2013, 13:54:01 | Сообщение # 13
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата (Наклз)
центр карты мне тоже не очень как-то подходит, так что точка убдет кстати...

Тода тебе нужно только jass условие внутри цикла:
Код
if bj_forLoopAIndex==1 and GetLocalPlayer()==Player(0)then
     //Переменная сравкодом юнита (строчка на гуях)
endif

Всё остальное и сам цикл, создание юнита и точка на гуях делай.

или без целочисленной переменной делай:
Код
if bj_forLoopAIndex==1 and GetLocalPlayer()==Player(0)then
     //Создать Юнита 1 (строчка на гуях)
else
     //Создать Юнита 2 (строчка на гуях)
endif


Делаю из воды вино, хожу по воде...
 

НаклзДата: Суббота, 07 Сентября 2013, 14:30:00 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата (FEARKILLER)
 //Переменная сравкодом юнита (строчка на гуях)

какого юнита? зомби или пехотинца?
и ещё, а если мне надо только одному игроку создать, ну я имею введу не 12 юнитов, а только одного...
 

FEARKILLERДата: Суббота, 07 Сентября 2013, 15:12:10 | Сообщение # 15
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата (Наклз)
какого юнита? зомби или пехотинца?

Ну в условии у тебя стоит 'h001', я не знаю кто это, пех или зомбарь.
Цитата (Наклз)
и ещё, а если мне надо только одному игроку создать, ну я имею введу не 12 юнитов, а только одного...

Не понял. Но ведь и так создаётся только для одного красного игрока другой вид юнита('h001'), для всех других игроков иной('h000').


или



Делаю из воды вино, хожу по воде...
 

НаклзДата: Суббота, 07 Сентября 2013, 15:48:36 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата (FEARKILLER)
Не понял.

Ну я имел введу что бы создавалось не 12 юнитов... а один... да и ладно, с этим я сам разберусь.
Второй вариант какой-то дикий, а за
- огромное спасибо! тему можно закрывать.


Сообщение отредактировал Наклз - Суббота, 07 Сентября 2013, 15:50:37
 

DragoNДата: Суббота, 07 Сентября 2013, 16:10:08 | Сообщение # 17
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Цитата (FEARKILLER)
if bj_forLoopAIndex==1 and GetLocalPlayer()==Player(0)then
//Создать Юнита 1 (строчка на гуях)
else
//Создать Юнита 2 (строчка на гуях)
endif

идиотизм, тогда точно десинк будет
функция создания должна быть ВНЕ GetLocalPlayer(), просто в зависимости от игрока в неё будут поданы несколько разные параметры
устанавливать надо переменную целочисленную, а не юнита 'h000' это raw code, а переменная юнита - виджет вроде


El Psy Congroo
 

MelodiaДата: Суббота, 07 Сентября 2013, 16:34:55 | Сообщение # 18
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5041
Блокировки:
Вроде А пишется GetForLoopIndexA() или это одно и то же? Только там бж а там не бж...ыыыыы

CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

DragoNДата: Суббота, 07 Сентября 2013, 17:52:07 | Сообщение # 19
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Цитата (Наклз)

Ну я имел введу что бы создавалось не 12 юнитов... а один... да и ладно, с этим я сам разберусь.
Второй вариант какой-то дикий, а за

чувак, ты создание юнита из цикла вытащи, в цикле только переменную изменяй, хотя я что-то не особо вижу смысл в цикле:О


El Psy Congroo
 

HexingДата: Суббота, 07 Сентября 2013, 19:17:13 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Цитата (DragoN)
хотя я что-то не особо вижу смысл в цикле:О

+1


 

НаклзДата: Суббота, 07 Сентября 2013, 19:22:25 | Сообщение # 21
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата (Наклз)
с этим я сам разберусь.

Цитата (DragoN)
идиотизм, тогда точно десинк будет

поэтому я и написал
Цитата (Наклз)
Второй вариант какой-то дикий, а за
- огромное спасибо!

и ещё что, немало важное:
Цитата
тему можно закрывать.
Всем спасибо за помощь.


Сообщение отредактировал Наклз - Суббота, 07 Сентября 2013, 19:23:17
 

FEARKILLERДата: Суббота, 07 Сентября 2013, 23:33:24 | Сообщение # 22
6 уровень
Группа: Проверенные
Сообщений: 175
Награды: 0
Репутация: 149
Блокировки:
Цитата (DragoN)
идиотизм, тогда точно десинк будет
функция создания должна быть ВНЕ GetLocalPlayer(), просто в зависимости от игрока в неё будут поданы несколько разные параметры
устанавливать надо переменную целочисленную, а не юнита 'h000' это raw code, а переменная юнита - виджет вроде

Переменная юнита unit далее->widget->agent->handle. Но, собственно какая разница то? Ты всё равно локально подставляешь равкод и CreateUnit() уже вернёт не тот тип юнита для одного из игроков, а значит она будет в любом случае. Объекты должны быть у всех всегда одинаковыми.
Вот же пишет человек, проверивший:
Цитата (Наклз)
десинха нету...

Цитата (Наклз)
он появляется когда юнит умирает


И вообще, я считаю что это глупая затея, создавать разные объекты локально. Можно ведь поискать какие нибудь другие варианты или просто отказаться от этой идеи. Но она не моя, поэтому пусть Наклз сам решает.


Делаю из воды вино, хожу по воде...
 

ExtrematorДата: Воскресенье, 08 Сентября 2013, 04:23:24 | Сообщение # 23
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата (Наклз)
создать юнитов, одинаковых для всех, но один из игроков будет видеть своего юнита другим...
дисконект же сразу

Добавлено (08 Сентября 2013, 03:42:52)
---------------------------------------------

Цитата (Наклз)
Кстати я проверил, работает, все видят моего юнита как пехотинца, а я вижу его как зомби... и десинха нету... он появляется когда юнит умирает, но я планирую его перед смертью убрать из игры тригом и десинха не будет Просто этот триггер я копипаст, может кто сказать как сделать такое на ГУИ с использованием кустом скрипт только там, где это не обходимо
а разве там не будет десинха хотя бы за счёт разницы в скоростидвижения, атаки, регенерации, и других параметров из РО ?

Добавлено (08 Сентября 2013, 03:47:00)
---------------------------------------------



да они все как то не очень

Добавлено (08 Сентября 2013, 04:23:24)
---------------------------------------------
Вообще должно быть как то так... И нахрена вам цикл?

 

НаклзДата: Воскресенье, 08 Сентября 2013, 09:33:30 | Сообщение # 24
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата (Extremator)
а разве там не будет десинха хотя бы за счёт разницы в скоростидвижения, атаки, регенерации, и других параметров из РО ?

они будут одинаковые, изменения только визуальные.

Добавлено (08 Сентября 2013, 09:33:30)
---------------------------------------------

Цитата (Extremator)
Цитата (Наклз)
создать юнитов, одинаковых для всех, но один из игроков будет видеть своего юнита другим...
дисконект же сразу

блин тебе хостануть что ли, что бы ты убедился
 

HexingДата: Воскресенье, 08 Сентября 2013, 15:05:06 | Сообщение # 25
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Extremator, видимо все параметры кроме имени модели одинаковы, поразительно что нет десинка

 

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

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