Ваши вопросы по Jass'y - Страница 3 - Форум


Правила форума ·

Форум » Warcraft III » Триггеры и Jass » Ваши вопросы по Jass'y ((помощь))
Ваши вопросы по Jass'y

H_A_PK

#1
Здесь вы можете задать интересующий вам вопрос по JASS. Наши юзиры помогут вам и подскажут ответ.



  • 1. На тему распространяются Правила Раздела, за несоблюдения правил будут выносится предупреждения, а затем замечания (батхёрт)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#31
Quote (Omni174)
А можно как-нибудь сделать(не на гуи -_-) чтобы:
Каждые 5 сек.
Все юниты типа Рыцарь нападали на тип пехотинец?

Code
function Trig_order_Actions takes nothing returns nothing

  local group g = CreateGroup()
  local unit u = null
    
  local group g2 = CreateGroup()
  local unit u2 = null
   
  call GroupEnumUnitsInRect(g,<Облость карты>,null)
  call GroupEnumUnitsInRect(g2,<Облость карты>,null)  
  set u = FirstOfGroup(g)
  set u2 = FirstOfGroup(g2)
   
    loop
     set u = FirstOfGroup(g)
      
             loop
                set u2 = FirstOfGroup(g2)
                 
                       if  GetUnitTypeId(u2) == <равкод рыцаря> and GetUnitTypeId(u) == <равкод пехотинца> then
                        call IssueTargetOrder(u,"attack",u2)
                       endif
      
                call        GroupRemoveUnit(g2,u2)
                exitwhen u2==null
             endloop
                 
     call        GroupRemoveUnit(g,u)
     exitwhen u==null
    endloop
     
    call DestroyGroup(g)
    call DestroyGroup(g2)
    set g = null
    set g2 = null
     
endfunction

function InitTrig_NewTrigger takes nothing returns nothing

     local trigger t = CreateTrigger()
      
     call TriggerRegisterTimerEvent (t, 5, true)
     call TriggerAddAction(t, function Trig_order_Actions)
      
endfunction
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

MEGA

#32
H_A_PK, Кстати спасибо, чёт я совсем забыл что ты мне помог))

да не за что, в следующий раз выражай благодарство в лс

Omni174

#33
H_A_PK,
Как сделать спелл нову..

H_A_PK

#34
Quote (Omni174)
H_A_PK,
Как сделать спелл нову..

У нас что тут ? Заказ спелов ?
Говори что конкретно ты не понимаешь smile Это и на гуи риализовать можно
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

SunCreep

#36
H_A_PK, что именно?Координаты.
Мне говорил,что если использовать координаты,а не точки,то это меньше нагружает систему и не оставляет таких утечек как точки.
Я хоть и просил фф привести пример координатных ссылок,но он не чё не выдал мне(
Может ты сможешь?К примеру скил,который создаёт дамми в округ кастера и двигает их с по координатам.

H_A_PK

#37
Code
local unit u = GetTriggerUnit()
local unit u2 = CreateUnit(Player(0),'e000',GetUnitX(u),GetUnitY(u),0)
local real x = GetUnitX(u) + 300*Cos(.0174532*180)
local real y = GetUnitY(u) + 300*Sin(.0174532*180)

call SetUnitX(u,x)
call SetUnitY(u,y)
happy
вот тебе примеры на гуи в прикриплении
Прикрепления: WaterSpellPack-.w3x (49.9 Kb)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

SunCreep

#38
H_A_PK, эм ну в наработку я не лезу в эту,но спросит ещё кое что хочу.
Я так понял:
Объявил переменную и приравнял её к кастеру
После объявил вторую и приравнял её к юниту,которого создаёшь в позиции кастера.
После указываешь координаты кастера и смещение на 300 по какой-то формуле.
После обнуляешь.

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

H_A_PK

#39
Quote (H_A_PK)
local real x = GetUnitX(u) + 300*Cos(.0174532*180)
local real y = GetUnitY(u) + 300*Sin(.0174532*180)

полярные координаты
Quote (SunCreep)
Объявил переменную и приравнял её к кастеру
После объявил вторую и приравнял её к юниту,которого создаёшь в позиции кастера.
После указываешь координаты кастера и смещение на 300 по какой-то формуле.
После обнуляешь.

да
Quote (SunCreep)
И что это за число,я так понимаю что в начале ты забыл 0 или какое-то другое число.

ноль не обязательно писать
Quote (SunCreep)
И это просто куски,а как ссылаться на эти значения на гуи?

через каступ скрипт конечно же или личный сценарий smile
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

SunCreep

#41
То есть:


Нет это бред какой-то я не знаю фактора смещения,и не знаю что значит " 'e000' "

H_A_PK

#42
Quote (SunCreep)
и не знаю что значит " 'e000' "

Это равкод юнита, посмотри я на прошлой странице объяснял это Омни
Quote (SunCreep)
С-приводит способность в действие
CS: local unit u = GetTriggerUnit()
для каждого числа от 1 до 30 делать
CS: local unit u2 = CreateUnit(Player(0),'e000',GetUnitX(u),GetUnitY(u),0)
включить триггер

С-каждые 0.04 сек.
Для каждого числа от 1 до 30 делать
local real x = GetUnitX(u) + 300*Cos(.0174532*180)
local real y = GetUnitY(u) + 300*Sin(.0174532*180)


Ты не понял. Локальная переменная работает только в пределах одного триггера!
И объявление их идёт строго в начале триггера.
И замени 180 на число которое будет постоянно меняться , переменную например
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

SunCreep

#43
Хорошо,т.е. что бы перенести значение локальной,мне нужно будет приравнять её к глобальной и после опирировать ей,а после вернуть значение на локальную.

H_A_PK

#44
Quote (SunCreep)
Хорошо,т.е. что бы перенести значение локальной,мне нужно будет приравнять её к глобальной и после опирировать ей

Да, или можешь изучить статью Хеш Таблиц, и передовать ссылки локальных переменных в нужный тебе триггер :)
Quote (SunCreep)
а после вернуть значение на локальную.

Это не нужно вовсе smile
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

SunCreep

#45
значит:


А так?))
Форум » Warcraft III » Триггеры и Jass » Ваши вопросы по Jass'y ((помощь))
Поиск: