CustomGames.ru - Dota 2 пользовательские игры

GetIntellect

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
GetIntellect
« : 21-09-2016, 14:15:24 »
Как правильно использовать эту функцию? Мне пишет что = nil, хотя я использую эту функцию от кастера,
Код
self:GetCaster():GetIntellect()
Что не так?
« Последнее редактирование: 21-09-2016, 14:36:37 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн ZLOY

  • Супермодератор
  • 367
  • Мощь: 4
Re: GetIntellect
« Ответ #1 : 21-09-2016, 14:57:19 »
Как правильно использовать эту функцию? Мне пишет что = nil, хотя я использую эту функцию от кастера,
Код
self:GetCaster():GetIntellect()
Что не так?
У вас одна проблема на всех.
Функции GetIntellect нет в клиентском API

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
Re: GetIntellect
« Ответ #2 : 21-09-2016, 16:10:36 »
Функции GetIntellect нет в клиентском API
Если не секрет, можешь описать то как искать интеллект от сервера или от чего нужно?
« Последнее редактирование: 21-09-2016, 17:06:13 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
Re: GetIntellect
« Ответ #3 : 22-09-2016, 06:14:56 »
Ну блин, скажи пожалуйста как искать инту, очень нужно.
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн Adam Smith

  • Друзья CG
  • 468
  • Мощь: 6
  • жрять жри его
Re: GetIntellect
« Ответ #4 : 22-09-2016, 08:20:49 »
if IsServer() then
By PG.Freeman

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
Re: GetIntellect
« Ответ #5 : 22-09-2016, 09:10:45 »
if IsServer() then
Это не помогает.
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн Илья

  • Супермодератор
  • 1906
  • Мощь: 16
Re: GetIntellect
« Ответ #6 : 22-09-2016, 10:51:32 »
Ты где, в модификаторе пытаешься её вызвать?

Вызывай извне и передавай в модификатор как параметр:

сердце некоего кастующегося скилла на броню, зависящий от интеллекта кастера
Код
function greater_defense:OnSpellStart()
local caster = self:GetCaster()
local target = self:GetCursorTarget()
local bonus = caster:GetIntellect()/5
if target:HasModifier("modifier_physical_armor_bonus") then
target:RemoveModifierByName("modifier_physical_armor_bonus")
end
EmitSoundOn("MU.baff", caster)
target:AddNewModifier( caster, self, "modifier_physical_armor_bonus", {duration = 10, armor = bonus} )
end
[свернуть]

сердце модификатора бонуса брони для этого скилла
Код
function modifier_physical_armor_bonus:OnCreated(params)
if IsServer () then
self.armor = params.armor
self:SetStackCount(self.armor)
local id1 = ParticleManager:CreateParticle("particles/units/heroes/hero_huskar/huskar_inner_vitality.vpcf",PATTACH_ABSORIGIN_FOLLOW , self:GetAbility():GetCursorTarget() )
GameRules:GetGameModeEntity():SetContextThink(string.format("CreatureThink_%d", params.creationtime),
function()
ParticleManager:DestroyParticle(id1, false)
return nil
end,
params.duration)
end
end
[свернуть]


« Последнее редактирование: 22-09-2016, 10:53:43 от Илья »

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
Re: GetIntellect
« Ответ #7 : 22-09-2016, 12:13:58 »
Илья, А можешь подсказать как у пассивного предмета искать?
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн ZLOY

  • Супермодератор
  • 367
  • Мощь: 4
Re: GetIntellect
« Ответ #8 : 22-09-2016, 13:00:15 »
Будет классно, если ты полностью опишешь что твой предмет делает

Оффлайн CryDeS

  • Друзья CG
  • 1200
  • Мощь: 12
Re: GetIntellect
« Ответ #9 : 22-09-2016, 13:21:44 »
Будет классно, если ты полностью опишешь что твой предмет делает
Да и так все очевидно же.
Или ты свою кофейную гущу потерял?

Оффлайн Илья

  • Супермодератор
  • 1906
  • Мощь: 16
Re: GetIntellect
« Ответ #10 : 22-09-2016, 14:02:10 »
Илья, А можешь подсказать как у пассивного предмета искать?

Всмысле? Берешь через item:GetSpecialValueFor("my_value").

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
Re: GetIntellect
« Ответ #11 : 22-09-2016, 18:31:46 »
Таки не так, мне нужно найти интеллект хозяина, но предмет пассивный и каста у него нету, в самой абилке писать проверку на инту в OnCreated и через таймер?

Мой предмет пассивный, при атаке на врага добавляет ему модификатор который наносит урон с переодичностью, и мне нужно чтобы урон от интеллекта увеличивался.
« Последнее редактирование: 22-09-2016, 18:33:17 от Danis »
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн Илья

  • Супермодератор
  • 1906
  • Мощь: 16
Re: GetIntellect
« Ответ #12 : 22-09-2016, 19:23:20 »
Либо реализуй предмет через луа (что позволит тебе сделать именно то, что ты хочешь), либо через свое предложение (что весьма геморно)

Цитировать
..проверку на инту в OnCreated и через таймер

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
Re: GetIntellect
« Ответ #13 : 22-09-2016, 19:34:20 »
Илья, Не, он у меня и так на луа написан.
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]

Оффлайн ZLOY

  • Супермодератор
  • 367
  • Мощь: 4
Re: GetIntellect
« Ответ #14 : 22-09-2016, 19:55:43 »
Хз зачем такое вообще делать на item_lua, если конечно нет каких-то других сложностей с предметом.
Код
if IsServer() then
function modifier:OnCreated(kv)
self:StartIntervalThink(0)
end

function modifier:OnIntervalThink()
ApplyDamage(
{
victim = self:GetParent(),
attacker = self:GetCaster(),
ability=self:GetAbility(),
damage_type = DAMAGE_TYPE_MAGICAL,
damage = self:GetCaster():GetIntellect()
})
return .25
end
end