Простые вопросы #3

HexMarkoff

Пользователь
8 Май 2020
12
0
Проект
Dugeon rpg
Здравствуйте. Кто-нибудь знает как передавть инфу из одного луа скрипта в другой ? Как сохранять значения переменных и потом использовать их ?
 

kyrylovelykyi

Новичок
14 Фев 2022
2
0
Всем привет. Делаю абилку, которая имеет аналогичный функционал блинку. Как и у оригинального блинка, выставил "AbilityCastRange" равным 0, а максимальный рендж блинка определяю уже в коде. С этим проблем нет. Но если устанавливать "AbilityCastRange" равным 0, то когда игрок наводит мышку на абилку, то рендж абилки не рисуется, хотя у оригинального блинка рендж нарисован.
Вариант с тем, чтобы вручную указать в "AbilityCastRange" максимальный рендж не подходит, потому что тогда если игрок нажмет каст слишком далеко, то абилка не закастуется до того момента, пока герой не прибежит на нужный рендж.

В итоге вижу тут 2 варианта:
1. Отслеживать наведение мыши на абилку и отрисовывать круг ренджа. - Не нашел как можно это отследить и как можно этот круг нарисовать.
2. Сделать пассивный невидимый модифаер и залинковать его к абилке и в нем переопределить GetCastRange или GetAOERange. Я это уже сделал, но рендж все-равно не рисуется, может можно как-то по-другому это реализовать через модифаер?

Или может есть вообще другой способ?
Заранее спасибо за ответ
 

ZLOY

Администратор
Команда форума
27 Июн 2016
953
182
Код:
function my_ability:GetCastRange(loc, target)
    return IsClient() and 1200 or 0
end
 
  • Нравится
Реакции: kyrylovelykyi

LyreViral

Новичок
13 Фев 2022
2
0
Проект
OPDota
И снова я с глупыми вопросами и просьбой гайда. Помогите пожалуйста, как установить attachments.lua от barebones.
В инструкции написано:
-"require" this file inside your code in order to gain access to the Attachments global table.
-Optionally require "libraries/notifications" before this file so that the Attachment Configuration GUI can display messages via the Notifications library.
-Ensure that this file is placed in the vscripts/libraries path -Ensure that you have the barebones_attachments.xml, barebones_attachments.js, and barebones_attachments.css files in your panorama content folder to use the GUI. -Ensure that barebones_attachments.xml is included in your custom_ui_manifest.xml with <CustomUIElement type="Hud" layoutfile="file://{resources}/layout/custom_game/barebones_attachments.xml" />
-Finally, include the "attachments.txt" in your scripts directory if you have a pre-build database of attachment settings.
Кажется делаю, что нужно, а интерфейс так и не появляется. Можете объяснить, что качать, куда вставлять?
( https://github.com/bmddota/barebone...es/scripts/vscripts/libraries/attachments.lua )
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,149
196
www.dotabuff.com
Проект
Roshan defense
Здравствуйте. Кто-нибудь знает как передавть инфу из одного луа скрипта в другой ? Как сохранять значения переменных и потом использовать их ?
Что ты хочешь передавать и куда, скажи что именно тебе надо.
 

HexMarkoff

Пользователь
8 Май 2020
12
0
Проект
Dugeon rpg
Что ты хочешь передавать и куда, скажи что именно тебе надо.
Допустим, у комманды есть 10 жизней, когда герой умирает отнимается одна жизнь. Переменая good_guys_health находится в скрипте где находится слушатель на смерть юнита, но как мне поменять ее значение из другого скрипта, например что бы если игрок покупает аегис, то прибавляется 1 жизнь. Как сделать это из скрипта предмета ? У меня в принцепе это реализовано(через отдельный скрипт где хранятся все переменные, и когда они мне нужны получать их с помощью require), но это не всегда почему-то работает. Вот я и подумал, может есть какой-нибудь другой способ.
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,149
196
www.dotabuff.com
Проект
Roshan defense
Переменная обновленная в глобальном файле addon_game_mode через requre, ты их можешь использовать в других фалйлах.
Например DOTA_TEAM_HEALTH = 10
Ты сможешь менять ее из любого луашного файла
 
  • Нравится
Реакции: HexMarkoff

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Как ограничить количество мест в лобби? мой addoninfo.txt:
<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
"AddonInfo"
{
maps "chen"
"penaltiesenabled" "0"
"IsTemplate" "1"
"IsPlayable" "1"
"chen"
{
"MaxPlayers" "1"
}
}
Но при создании лобби все равно оказывается 10 мест. Что делать?
 

logica

Пользователь
27 Июн 2021
56
7
Проект
DotaRoyale
Как ограничить количество мест в лобби? мой addoninfo.txt:
<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
"AddonInfo"
{
maps "chen"
"penaltiesenabled" "0"
"IsTemplate" "1"
"IsPlayable" "1"
"chen"
{
"MaxPlayers" "1"
}
}
Но при создании лобби все равно оказывается 10 мест. Что делать?
Если не ошибаюсь он не даст запустить с 2 игроками карту chen
 
  • Нравится
Реакции: fabio_longo

logica

Пользователь
27 Июн 2021
56
7
Проект
DotaRoyale
У меня настроен он так, игра может запуститься только когда будет фулл лобби или 2 игрока
 

Вложения

  • 1646739020608.png
    1646739020608.png
    1.9 KB · Просмотры: 21
  • Нравится
Реакции: fabio_longo

HexMarkoff

Пользователь
8 Май 2020
12
0
Проект
Dugeon rpg
Здравствуйте. Полсе обновления в доте, кастомка начала крашиться на 20 - 25 минуте, вроде ничего не делал, просто шел. Это только у меня ? Если нет, подскажите пожалуйста, как это исправить ?
 

SilverKey

Новичок
5 Мар 2022
4
1
Проект
SilverKey
Ребят, всем привет)Подскажите как правильно функцию написать, чтобы в таймере после отчета всех героев телепортировать указанную в точку на карте.... спасибо
 
Последнее редактирование:

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Здравствуйте. Полсе обновления в доте, кастомка начала крашиться на 20 - 25 минуте, вроде ничего не делал, просто шел. Это только у меня ? Если нет, подскажите пожалуйста, как это исправить ?
Советую запустить кастомку на локальном сервере и чекать консоль на наличие ошибок/предупреждений, а там уже смотреть, Из-за чего могло крашиться
 

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Ребят, всем привет)Подскажите как правильно функцию написать, чтобы в таймере после отчета всех героев телепортировать указанную в точку на карте.... спасибо
Код:
require ('timers')
local fCountdown = 60 -- длительность таймера обратного отсчёта
   Timers:CreateTimer(0, function()
    if fCountdown > 0 then
        fCountdown = fCountdown - 1
        return 1
    else
      hero:SetAbsOrigin(Vector(0,0,0)) -- где hero - нужный герой, а vector() - координаты телепорта
      return nil
    end
end)
 
  • Нравится
Реакции: barto и SilverKey

SilverKey

Новичок
5 Мар 2022
4
1
Проект
SilverKey
Код:
require ('timers')
local fCountdown = 60 -- длительность таймера обратного отсчёта
   Timers:CreateTimer(0, function()
    if fCountdown > 0 then
        fCountdown = fCountdown - 1
        return 1
    else
      hero:SetAbsOrigin(Vector(0,0,0)) -- где hero - нужный герой, а vector() - координаты телепорта
      return nil
    end
end)
Блин, помогите пожалуйста. Спасибо большое, но чет никак пока не могу. Клеил с другими функциями, использовал разные варианты, а если по твоему то так.... entity не нужно создавать я так понимаю?? где мог ошибиться
 

Вложения

  • qwe.PNG
    qwe.PNG
    2.4 KB · Просмотры: 15

fabio_longo

Продвинутый
13 Июн 2021
153
19
steamcommunity.com
Проект
Chen's Training, Creep Stacking Training
Блин, помогите пожалуйста. Спасибо большое, но чет никак пока не могу. Клеил с другими функциями, использовал разные варианты, а если по твоему то так.... entity не нужно создавать я так понимаю?? где мог ошибиться
Вместо npc_dota_hero_axe у тебя должно быть имя этого юнита) Например, если ты создал акса так:
local unit1 = CreateUnitByName( "npc_dota_hero_axe", Vector(0,0,0), true, nil, nil, DOTA_TEAM_GOODGUYS )
unit1:SetEntityName("axe")
local axe = "axe"
local axe1 = Entities:FindByName(nil,axe)
то у тебя должно быть axe1 вместо npc_dota_hero_axe. Если через хаммер добавлял, то дай в хаммере имя этому юниту, а в скрипте напиши так:
local axe = "[имя юнита]"
local axe1 = Entities:FindByName(nil,axe)
и соответственно вместо npc_dota_hero_axe напиши axe1
 
Последнее редактирование:
  • Нравится
Реакции: barto и SilverKey

SilverKey

Новичок
5 Мар 2022
4
1
Проект
SilverKey
Вместо npc_dota_hero_axe у тебя должно быть имя этого юнита) Например, если ты создал акса так:
local unit1 = CreateUnitByName( "npc_dota_hero_axe", Vector(0,0,0), true, nil, nil, DOTA_TEAM_GOODGUYS )
unit1:SetEntityName("axe")
то у тебя должно быть axe вместо npc_dota_hero_axe. Если через хаммер добавлял, то дай в хаммере имя этому юниту, а в скрипте напиши так:
local axe = "[имя юнита]"
local axe1 = Entities:FindByName(nil,axe)
и соответственно вместо npc_dota_hero_axe напиши axe1
Cпасибо еще раз) пойду пытаться
 
Реклама: