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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Скил с применением JASS
Скил с применением JASS
MinatoNimikazeДата: Вторник, 01 Марта 2011, 14:31:07 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 189
Награды: 0
Репутация: -34
Блокировки:
Вапрос обстаит так я создал скил "фаер бол" но ифект самого огненого шара я сделал на двух тригерах при помощи дамми .
Тригеры работают нормально и спел работает тож нормально но если этот спел делают двое в одно и тож время то один из шаров в оконцове не удаляеться .
Дальше я узнал что исправить проблему можно с помошью JASS и локальных переменных но у меня не чё не вышло .
Обьясните и помогите пожалусто.Если можно создайте наработку.
Зарание спс :D
P.S. тригер сделан так
1тригер:
Создаем дамми , включаем тригер 2 , ждём 2сек , выключаем тригер 2.
2тригер:
Переодическое собвтие каждые 0.1 сек двигать дамии
 

lawsonДата: Вторник, 01 Марта 2011, 14:33:09 | Сообщение # 2
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Есть такой раздел ПОМОЩЬ В СОЗДАНИИ СКИЛОВ надо туда писать.
Я могу тебе сделать это в одно триггере.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

MinatoNimikazeДата: Вторник, 01 Марта 2011, 14:40:20 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 189
Награды: 0
Репутация: -34
Блокировки:
Зделай если не затруднит
 

lawsonДата: Вторник, 01 Марта 2011, 14:44:39 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Сделаю только ты там ни чего не поймешь без знаний JASS.

Добавлено (01-03-2011, 14:44)
---------------------------------------------
Куда тебе надо двигать даммика от юнита или куда- то другое место?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

MinatoNimikazeДата: Вторник, 01 Марта 2011, 14:48:25 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 189
Награды: 0
Репутация: -34
Блокировки:
а ты можеш сделать как тригер но с локальными переменными пипо вот этого
http://rghost.ru/4583936

Добавлено (01-03-2011, 14:48)
---------------------------------------------
тока с такими тригерами как у мня в скиле

 

lawsonДата: Вторник, 01 Марта 2011, 14:50:52 | Сообщение # 6
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Пзд*ц ты уже определись какой тебе скилл надо я делаю на JASS все делаю на JASS! не тупи тебе надо скилл фаер бол bkb ytn&

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

MinatoNimikazeДата: Вторник, 01 Марта 2011, 14:56:16 | Сообщение # 7
6 уровень
Группа: Проверенные
Сообщений: 189
Награды: 0
Репутация: -34
Блокировки:
да
 

lawsonДата: Вторник, 01 Марта 2011, 15:03:52 | Сообщение # 8
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:

Добавлено (01-03-2011, 15:03)
---------------------------------------------
MinatoNimikaze,
Ну так ты мне напишешь куда надо двигать дамми?


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

rixt7956Дата: Вторник, 01 Марта 2011, 15:12:11 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
lawson, А ты говорил моя функция бесполезная :D
Code
function UMTXYTimer takes nothing returns nothing
local timer t=GetExpiredTimer()
local integer th=GetHandleId(t)
local unit u1=LoadUnitHandle(udg_Hash,th,0)
local real s=LoadReal(udg_Hash,th,2)
local real x1=GetUnitX(u1)
local real y1=GetUnitY(u1)
local real x2=LoadReal(udg_Hash,th,3)
local real y2=LoadReal(udg_Hash,th,4)
local real f=LoadReal(udg_Hash,th,3)
if SquareRoot((x1-x2)*(x1-x2)+(y1-y2-)*(y1-y2))>s then
set x1=x1+s*Cos(f)
set y1=y1+s*Sin(f)
call SetUnitX(u1,x1)
call SetUnitY(u1,y1)
else
call FlushChildHashtable(udg_Hash,th)
call DestroyTimer(t)
endif
set t=null
set u1=null
endfunction

function UMTXY takes unit u1, real x,real y, real s returns nothing
local timer t=CreateTimer()
local integer th=GetHandleId(t)
call SaveUnitHandle(udg_Hash,th,0,u1)
call SaveReal(udg_Hash,th,3,x)
call SaveReal(udg_Hash,th,4,y)
call SaveReal(udg_Hash,th,2,s)
call     
SaveReal(udg_Hash,th,3,Atan2(GetUnitY(u2)-GetUnitY(u1),GetUnitX(u2)-GetUnitX(u1))
call TimerStart(t,.03,true,function UMTUTimer)
set t=null
endfunction


Сообщение отредактировал rixt7956 - Вторник, 01 Марта 2011, 15:12:52
 

lawsonДата: Вторник, 01 Марта 2011, 15:15:21 | Сообщение # 10
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Агаг только вот теперь раскажи что где надо вставлять чтоб твой триггер заработал ему.

Добавлено (01-03-2011, 15:15)
---------------------------------------------

Quote (rixt7956)
03

Че такой большой период. Используй 0.29 так лучше :)


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

rixt7956Дата: Вторник, 01 Марта 2011, 15:26:07 | Сообщение # 11
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Quote (lawson)
Агаг только вот теперь раскажи что где надо вставлять чтоб твой триггер заработал ему.

Событие
Приводит способность
Условие
тралялял
Действие
Личный сценарий: call UMTXY(GetTriggerUnit(),GetSpellTargetX(),GetSpellTargetY(),20)

Добавлено (01-03-2011, 15:23)
---------------------------------------------
MinatoNimikaze, И не забудь создать переменную хэш-таблицу, с названием Hash, и в триггере с событием инициализация карты сделать
Личный сценарии: set udg_Hash=InitHashtable()

Добавлено (01-03-2011, 15:26)
---------------------------------------------
и также не забудь скопировать вон ту функцию, которую я указал тут в первом сообщение скопировать в нестандартный код карты или по другому называемый custom script code(в самом верху всех триггеров значок свитка, с названием карты) :)

 

lawsonДата: Вторник, 01 Марта 2011, 15:31:08 | Сообщение # 12
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Ага и также не забудь эта функция не создает дамми. А работет только на юнита на которого кастанули.

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Вторник, 01 Марта 2011, 15:32:38
 

rixt7956Дата: Вторник, 01 Марта 2011, 15:40:15 | Сообщение # 13
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Забыл, ну это не проблема, создаешь дами, и передаешь его функции :)
 

MinatoNimikazeДата: Вторник, 01 Марта 2011, 15:41:57 | Сообщение # 14
6 уровень
Группа: Проверенные
Сообщений: 189
Награды: 0
Репутация: -34
Блокировки:
lawson, от даммика
 

lawsonДата: Вторник, 01 Марта 2011, 16:01:59 | Сообщение # 15
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (lawson)
Ну так ты мне напишешь куда надо двигать дамми?

MinatoNimikaze,
Quote (MinatoNimikaze)
от даммика

Я сдаюсь.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

DreiiДата: Среда, 02 Марта 2011, 11:59:07 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (rixt7956)
lawson, А ты говорил моя функция бесполезная

Это же вроде простое движение оО?

Добавлено (02-03-2011, 11:59)
---------------------------------------------

Quote (rixt7956)
bj_lastCreatedUnit

Это вроде бы не работает если юнит создаеться в координатах?


 

SirNikolasДата: Среда, 02 Марта 2011, 13:24:14 | Сообщение # 17
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Dreii, автор темы вряд ли создает дамми через Custom script в координатах.
Quote (lawson)
Че такой большой период? Используй 0.29 - так лучше
Человеческий глаз не различает меньше .04. Да и компьютер малые периоды грузят сильно.


 

rixt7956Дата: Среда, 02 Марта 2011, 13:41:20 | Сообщение # 18
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Quote (Dreii)
Это вроде бы не работает если юнит создаеться в координатах?
Он не знает джасса и будет создовать на гуи.
Quote (Dreii)
Это же вроде простое движение оО?
http://warcraft3ft.info/forum/60-27141-1153199-16-1298650435
 

MinatoNimikazeДата: Среда, 02 Марта 2011, 13:51:10 | Сообщение # 19
6 уровень
Группа: Проверенные
Сообщений: 189
Награды: 0
Репутация: -34
Блокировки:
Вы можете сделать этот тригер уневерсальным с помощью джас
http://rghost.ru/4596448
Если да то плиз зделайте
 

rixt7956Дата: Среда, 02 Марта 2011, 14:04:22 | Сообщение # 20
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Quote (rixt7956)
создать переменную хэш-таблицу, с названием Hash, и в триггере с событием инициализация карты сделать
Личный сценарии: set udg_Hash=InitHashtable()

Quote (rixt7956)
скопировать

Quote (rixt7956)
в нестандартный код карты или по другому называемый custom script code(в самом верху всех триггеров значок свитка, с названием карты)

Quote (rixt7956)
Code
function UMTXYTimer takes nothing returns nothing
local timer t=GetExpiredTimer()
local integer th=GetHandleId(t)
local unit u1=LoadUnitHandle(udg_Hash,th,0)
local real s=LoadReal(udg_Hash,th,2)
local real x1=GetUnitX(u1)
local real y1=GetUnitY(u1)
local real x2=LoadReal(udg_Hash,th,3)
local real y2=LoadReal(udg_Hash,th,4)
local real f=LoadReal(udg_Hash,th,3)
if SquareRoot((x1-x2)*(x1-x2)+(y1-y2-)*(y1-y2))>s then
set x1=x1+s*Cos(f)
set y1=y1+s*Sin(f)
call SetUnitX(u1,x1)
call SetUnitY(u1,y1)
else
call FlushChildHashtable(udg_Hash,th)
call DestroyTimer(t)
endif
set t=null
set u1=null
endfunction

function UMTXY takes unit u1, real x,real y, real s returns nothing
local timer t=CreateTimer()
local integer th=GetHandleId(t)
call SaveUnitHandle(udg_Hash,th,0,u1)
call SaveReal(udg_Hash,th,3,x)
call SaveReal(udg_Hash,th,4,y)
call SaveReal(udg_Hash,th,2,s)
call SaveReal(udg_Hash,th,3,Atan2(GetUnitY(u2)-GetUnitY(u1),GetUnitX(u2)-GetUnitX(u1))
call TimerStart(t,.03,true,function UMTUTimer)
set t=null
endfunction

Quote (rixt7956)
И не забудь создать

Quote (rixt7956)
Событие
Приводит способность
Условие
тралялял
Действие

Quote (rixt7956)
боевая еденица - создать юнита
call UMTXY(bj_lastCreatedUnit,GetSpellTargetX(),GetSpellTargetY(),25)


Сообщение отредактировал rixt7956 - Среда, 02 Марта 2011, 14:06:30
 

lawsonДата: Среда, 02 Марта 2011, 14:57:52 | Сообщение # 21
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
rixt7956,
Да забей он все равно не поймет.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Скил с применением JASS
  • Страница 1 из 1
  • 1
Поиск:

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