Вопросы по JASS кодированию - Страница 4 - Wc3-Maps Форум













[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: Strateg, Melissa  
Вопросы по JASS кодированию
-
Dreii2915Дата: Среда, 21-03-2012, 14:33:00 | Сообщение # 61
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 7
Репутация: 0
Статус: Не на сайте
о мой бог кто там ректы выдумал бред отреж руки себе.

Есть ф-ия проверки на проходимость
есть ф-ия определеления высоты рельефа
используем
 
-
MarkSpartakДата: Пятница, 23-03-2012, 11:34:44 | Сообщение # 62
Tu tu-ru

загрузка наград ...
Группа: V.I.P.
Сообщений: 1261
Репутация: 1650
Статус: Не на сайте
Народ подскажите мне, как неопытному джасеру, как вот в этот код занести функцию нанесения урона?
Code
function Trig_A_Conditions takes nothing returns boolean
     if (not(GetSpellAbilityId() == 'A000')) then
         return false
     endif
     return true
endfunction
function Trig_A_Actions takes nothing returns nothing
  local integer i =1
  local unit caster = GetSpellAbilityUnit()
   loop
    exitwhen i>5
    call AddSpecialEffectLocBJ((GetUnitLoc (caster)),"Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl")
    call DestroyEffectBJ(GetLastCreatedEffectBJ())
    set i=i+1  
    call TriggerSleepAction(0.5)
   endloop
endfunction
function InitTrig_A takes nothing returns nothing
     set gg_trg_A = CreateTrigger()
     call TriggerRegisterAnyUnitEventBJ( gg_trg_A, EVENT_PLAYER_UNIT_SPELL_EFFECT )
     call TriggerAddAction(gg_trg_A, function Trig_A_Actions)
     call TriggerAddCondition(gg_trg_A,Condition(function Trig_A_Conditions))
endfunction
 
-
Vla=DДата: Пятница, 23-03-2012, 12:02:24 | Сообщение # 63
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 10
Репутация: 50
Статус: Не на сайте
попробуй
function Trig_A_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A000'
endfunction

function Trig_A_Actions takes nothing returns nothing
unit u=GetTriggerUnit()
real x=GetUnitX(u)
real y=GetUnitY(u)
group g=CreateGroup()
DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl",u,"chest"))
unit e
real i
loop
exitwhen i>3
i=i+1
GroupEnumUnitsInRange(g,x,y,200,null)
loop
e=FirstOfGroup(g)
exitwhen e==null
if IsUnitEnemy(e,GetOwningPlayer(u)) and GetWidgetLife(e)>.0 then
UnitDamageTarget(u,e,100,true,false,ATTACK_TYPE_HERO,DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS)
endif
GroupRemoveUnit(g,e)
endloop
endloop
DestroyGroup(g)
u=null
e=null
g=null
endfunction

function InitTrig_A takes nothing returns nothing
set gg_trg_A = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( gg_trg_A, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddAction(gg_trg_A, function Trig_A_Actions)
call TriggerAddCondition(gg_trg_A,Condition(function Trig_A_Conditions))
endfunction

Добавлено (23/03/2012, 12:02:24)
---------------------------------------------
Если неработает напиши с лс

 
-
MarkSpartakДата: Пятница, 23-03-2012, 12:13:36 | Сообщение # 64
Tu tu-ru

загрузка наград ...
Группа: V.I.P.
Сообщений: 1261
Репутация: 1650
Статус: Не на сайте
Vla=D,
Зачем столько реальных переменных??? Там спел на создания спецэффекта на кастере И нанесения урона врагам.
Ну и я ничего не понял.
Нельзя просто функцию нанесения урона врагам??
 
-
Vla=DДата: Пятница, 23-03-2012, 12:16:34 | Сообщение # 65
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 10
Репутация: 50
Статус: Не на сайте
Я думал тама несколько раз урон наноситься... Опиши что скил делает
 
-
MarkSpartakДата: Пятница, 23-03-2012, 12:52:04 | Сообщение # 66
Tu tu-ru

загрузка наград ...
Группа: V.I.P.
Сообщений: 1261
Репутация: 1650
Статус: Не на сайте
Vla=D,
Создается определённое кол-во спецэффектов (зависит от exitwhen) в позиции caster и при появлении спецэффекта вокруг кастера наносится урон врагам которые подходят под мои условия.
 
-
Vla=DДата: Пятница, 23-03-2012, 13:11:47 | Сообщение # 67
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 10
Репутация: 50
Статус: Не на сайте
http://rghost.ru/37174628 поправиш что надо
 
-
MarkSpartakДата: Пятница, 23-03-2012, 16:05:18 | Сообщение # 68
Tu tu-ru

загрузка наград ...
Группа: V.I.P.
Сообщений: 1261
Репутация: 1650
Статус: Не на сайте
Vla=D, Спс вроде разобрался)
 
-
НубикВЕДата: Пятница, 23-03-2012, 18:00:48 | Сообщение # 69

загрузка наград ...
Группа: Пользователи
Сообщений: 187
Репутация: 261
Статус: Не на сайте
MarkSpartak, Если что-то ешё надо пиши
[c][/c]
 
-
NevermoreДата: Понедельник, 26-03-2012, 15:22:49 | Сообщение # 70
GUI IMBA

загрузка наград ...
Группа: Проверенные
Сообщений: 210
Репутация: 338
Статус: Не на сайте
Что то не работает помогите пожалуйста). Я или не правильно сохроняю данные или загружаю, использую спелл и действия не происходят(
Code

function Timer takes nothing returns nothing
   local timer tim2=GetExpiredTimer()
   local integer h2=GetHandleId(tim2)
   local unit sc2=LoadUnitHandle(udg_hash,h2,1)
   local unit st2=LoadUnitHandle(udg_hash,h2,2)
   local real sx2=LoadReal(udg_hash,h2,3)
   local real sy2=LoadReal(udg_hash,h2,4)
   local effect sef =AddSpecialEffect("Abilities\\Spells\\Human\\Banish\\BanishTarget.mdl",sx2,sy2)
   call SetUnitPosition(sc2,sx2,sy2)
   call DestroyEffect(sef)
   call FlushChildHashtable(udg_hash,h2)
   set tim2=null
   set sc2=null
   set st2=null
   set sef=null
endfunction
function Actions takes nothing returns nothing
   local unit sc=GetSpellAbilityUnit()
   local unit st=GetSpellTargetUnit()
   local timer tim=CreateTimer()
   local integer h=GetHandleId(tim)
   local real sx=GetUnitX(st)
   local real sy=GetUnitY(st)
   call SaveUnitHandle(udg_hash,h,1,sc)
   call SaveUnitHandle(udg_hash,h,2,st)
   call SaveReal(udg_hash,h,3,sx)
   call SaveReal(udg_hash,h,4,sy)
   call TimerStart(tim,0.1,false,function Timer)
   set sc = null
   set st = null
   set tim=null
endfunction
 
-
НубикВЕДата: Среда, 28-03-2012, 13:20:44 | Сообщение # 71

загрузка наград ...
Группа: Пользователи
Сообщений: 187
Репутация: 261
Статус: Не на сайте
Quote (Nevermore)
local timer tim2=GetExpiredTimer()
   local integer h2=GetHandleId(tim2)
   local unit sc2=LoadUnitHandle(udg_hash,h2,1)
   local unit st2=LoadUnitHandle(udg_hash,h2,2)
   local real sx2=LoadReal(udg_hash,h2,3)
   local real sy2=LoadReal(udg_hash,h2,4)

Лол? Убери везде 2-ки

Добавлено (28/03/2012, 13:20:44)
---------------------------------------------
local timer tim=GetExpiredTimer()
local integer h=GetHandleId(tim)
local unit sc=LoadUnitHandle(udg_hash,h,1)
local unit st=LoadUnitHandle(udg_hash,h,2)
local real sx=LoadReal(udg_hash,h,3)
local real sy=LoadReal(udg_hash,h,4)
local effect sef =AddSpecialEffect("Abilities\\Spells\\Human\\Banish\\BanishTarget.mdl",sx,sy)
call SetUnitPosition(sc,sx,sy)
call DestroyEffect(sef)
call FlushChildHashtable(udg_hash,h2)
set tim=null
set sc=null
set st=null
set sef=null


[c][/c]
 
-
ВолкодлакДата: Среда, 04-04-2012, 10:00:33 | Сообщение # 72
Раб

загрузка наград ...
Группа: Пользователи
Сообщений: 14
Репутация: 25
Статус: Не на сайте
Всем привет, есть очень срочный вопрос=)
Я правильно понял, что из функция не может возвращать массив??
А если может, то как это провернуть?

Хочется чего-то замутить неординарного
 
-
wetalqДата: Пятница, 04-05-2012, 16:37:54 | Сообщение # 73
Король Мёртвых

загрузка наград ...
Группа: V.I.P.
Сообщений: 1263
Репутация: 1572
Статус: Не на сайте
Волкодлак, смотря что тебе нужно сделать

Покупка предметов через способность
 
-
DarkDaroДата: Суббота, 12-05-2012, 09:00:03 | Сообщение # 74

загрузка наград ...
Группа: V.I.P.
Сообщений: 1413
Репутация: 1063
Статус: Не на сайте
аааа все это так сложно для меня.не знаю с чего начать
 
-
NevermoreДата: Суббота, 09-06-2012, 19:50:09 | Сообщение # 75
GUI IMBA

загрузка наград ...
Группа: Проверенные
Сообщений: 210
Репутация: 338
Статус: Не на сайте
daro, это не сложно читай статьи и научишся ok

Добавлено (29/05/2012, 19:56:17)
---------------------------------------------
Проверте код почему урон не идет cry

Code

    local unit Lightningu=GetSpellAbilityUnit()
    local real Lightningx=GetSpellTargetX()
    local real Lightningy=GetSpellTargetY()
    local integer LightningI=0
    local group Lightningg=CreateGroup()
    local unit Lightningu2
    local real Lightningd=GetUnitAbilityLevel(Lightningu,'AOfs')*75.00
    local player Lightningp=GetOwningPlayer(Lightningu)
    local string LightningString="Abilities\\Weapons\\Bolt\\BoltImpact.mdl"
    local string LightningString2="Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl"
    local string LightningString3="Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl"
    call GroupEnumUnitsInRange(Lightningg,Lightningx,Lightningy,350.,null)
  loop   
      set Lightningu2 = FirstOfGroup(Lightningg)
    if IsUnitEnemy(Lightningu,Lightningp) == true then
      call UnitDamageTarget(Lightningu,Lightningu2,Lightningd,false,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_NORMAL,null)
    endif
      call GroupRemoveUnit(Lightningg,Lightningu2)
    exitwhen Lightningu2 == null
  endloop
    call DestroyEffect(AddSpecialEffect(LightningString2,Lightningx,Lightningy))
    call DestroyEffect(AddSpecialEffect(LightningString3,Lightningx,Lightningy))
    loop
       exitwhen LightningI == 12
         call DestroyEffect(AddSpecialEffect(LightningString,Lightningx+350.00*Cos(30*LightningI*bj_DEGTORAD),Lightningy+350.00*Sin(30*LightningI*bj_DEGTO RAD)))
         set LightningI = LightningI + 1
    endloop
    call DestroyGroup(Lightningg)
    set LightningString=null
    set LightningString2=null
    set LightningString3=null
    set Lightningu=null
    set Lightningg=null
    set Lightningu2=null
    set Lightningp=null

Добавлено (09/06/2012, 19:50:09)
---------------------------------------------
а все уже не надо lol

 
-
НЕТОПЫРЬДата: Среда, 11-07-2012, 11:32:33 | Сообщение # 76

загрузка наград ...
Группа: Проверенные
Сообщений: 238
Репутация: 231
Статус: Не на сайте
Здравствуйте. Пытаюсь сделать AI для Melee карты (с нестандартными расами).
Делал ИИ через редактор, но где-то видимо ошибся, рабочие тупо собирают ресурсы и не строятся.
Решил вот открыть файл ".ai". Что тут может быть не так?

//===========================================================================
// Specifies building priorities for workers
//===========================================================================
function BuildPriorities takes nothing returns nothing
local integer mine = TownWithMine()
if (gCond_Lost_City) then
call SetBuildAll( BUILD_UNIT, 1, 'h004', -1 )
endif
call SetBuildAll( BUILD_UNIT, 1, 'h003', -1 )
call SetBuildAll( BUILD_UNIT, 2, 'h003', -1 )
call SetBuildAll( BUILD_UNIT, 3, 'h003', -1 )
call SetBuildAll( BUILD_UNIT, 4, 'h003', -1 )
call SetBuildAll( BUILD_UNIT, 5, 'h003', -1 )
if (gCond_Have_Lumber) then
call SetBuildAll( BUILD_UNIT, 1, 'h00E', -1 )
call SetBuildAll( BUILD_UNIT, 1, 'h00B', -1 )
endif
endfunction
 
-
AncientPenguinДата: Среда, 11-07-2012, 14:09:22 | Сообщение # 77

загрузка наград ...
Группа: Избранные
Сообщений: 449
Репутация: 526
Статус: Не на сайте
Quote (НЕТОПЫРЬ)
Что тут может быть не так?


То, что если у тебя сильно нестандартные расы (с тригерами и тд) то через редактор АИ ты не сможешь ничего путного сделать, придется учить джасс и читать статьи про редактирование аи файлов.
 
-
НЕТОПЫРЬДата: Среда, 11-07-2012, 17:27:46 | Сообщение # 78

загрузка наград ...
Группа: Проверенные
Сообщений: 238
Репутация: 231
Статус: Не на сайте
Вот, прочитал статью, http://xgm.ru/forum/showthread.php?t=12036, скачал JassCraft, отредактировал документ.ai, согласно инструкциям статьи. Включил WorldEditor, импортировал свой ".ai" документ, создал триггер "Начать сценарий поведения для Игрок 2 (естественно, компьютер) Bot.ai
Все рвно бот продолжает тупо добывать ресурсы и ничего не делать. Я не могу понять, что я делаю не так. Что в редакторе пытаюсь сделать ИИ, что через редактирование самого файла ".ai". Компьютер элементарно даже не хочет построить крестьянина в ратуше.
 
-
влад10011Дата: Среда, 11-07-2012, 17:58:14 | Сообщение # 79

загрузка наград ...
Группа: V.I.P.
Сообщений: 1265
Репутация: 1039
Статус: Не на сайте
зачем писать какой то AI для Melee карт на Jass да ещё и в специальном файле AI wacko
на GUI можно сделать нормальный AI для Melee например поставить условие что играет компьютер и включить нужный триггер отвечающий за действия, что когда и кого он будет строить, когда нападать и пр.
ты же не ботов для Доты делаешь Х_Х

Look at my horse!
 
-
НЕТОПЫРЬДата: Среда, 11-07-2012, 18:19:42 | Сообщение # 80

загрузка наград ...
Группа: Проверенные
Сообщений: 238
Репутация: 231
Статус: Не на сайте
влад10011, я пытался сделать Melee AI с помощью редактора ИИ, во вкладке здания вроде бы все правильно поставил:

Ратуша (юниты нестандартные)
Работник
Работник
Работник
Работник
Работник
...
и так далее.
Еще раз напишу бот должен построить хотя бы работника в ратуше, но он этого не делает. Я читал статью о том, как правильно сделать цепь строительства. И готов поспорить, я ее правильно сделал, но бот ее не читает. Поэтому я решил попробовать сделать AI через JassCraft, уже от отчаяния sad
 
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:
Рейтинг@Mail.ru
Яндекс.Метрика

Copyright © 2010-2017
Вакансии :: Контакты
Мобильная версия сайта
chat