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

Самодельное сообщение об ошибке (Error)

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

Оффлайн tasman208

  • 128
  • Мощь: 0
Как вывести игроку сообщение такое как "Недостаточно золота"?
« Последнее редактирование: 18-06-2017, 20:13:09 от Илья »
Crusade Commanders

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Re: Сообщение
« Ответ #1 : 11-05-2016, 16:09:51 »
Как вывести игроку сообщение такое как "Недостаточно золота"?
В связи с чем?
При касте чего либо?
By PG.Freeman

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Сообщение
« Ответ #2 : 11-05-2016, 16:14:29 »
Да не важно при каком событии, мне нужна сама команда, как , например,
Код
 GameRules:SendCustomMessage("bla bla bla", 0, 0)
Вот это выводит сообщения слева, как сообщение об убийстве. А если ты захочешь купить предмет и у тебя не хватает на него, то вылезет сообщение "Недостаточно золота", мне нужно выводить такие же самому.
Crusade Commanders

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Re: Сообщение
« Ответ #3 : 11-05-2016, 16:46:53 »
Как раз таки важно!
Код
function vengefulspirit_nether_swap_lua:CastFilterResultTarget( hTarget )
if self:GetCaster() == hTarget then
return UF_FAIL_CUSTOM
end
 
if ( hTarget:IsCreep() and ( not self:GetCaster():HasScepter() ) ) or hTarget:IsAncient() then
return UF_FAIL_CUSTOM
end
 
local nResult = UnitFilter( hTarget, DOTA_UNIT_TARGET_TEAM_BOTH, DOTA_UNIT_TARGET_HERO + DOTA_UNIT_TARGET_CREEP, DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES, self:GetCaster():GetTeamNumber() )
if nResult ~= UF_SUCCESS then
return nResult
end
 
return UF_SUCCESS
end
 
 
function vengefulspirit_nether_swap_lua:GetCustomCastErrorTarget( hTarget )
if self:GetCaster() == hTarget then
return "#dota_hud_error_cant_cast_on_self"
end
 
if hTarget:IsAncient() then
return "#dota_hud_error_cant_cast_on_ancient"
end
 
if hTarget:IsCreep() and ( not self:GetCaster():HasScepter() ) then
return "#dota_hud_error_cant_cast_on_creep"
end
 
return ""
end
By PG.Freeman

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Сообщение
« Ответ #4 : 11-05-2016, 18:31:01 »
Это хорошо, что можно возвращать стандартные сообщения, а как сделать свои. Чтобы вместо "Недостаточно золота" я мог написать что то свое
Crusade Commanders

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Re: Сообщение
« Ответ #5 : 11-05-2016, 18:46:44 »
Это хорошо, что можно возвращать стандартные сообщения, а как сделать свои. Чтобы вместо "Недостаточно золота" я мог написать что то свое
Код
function loki_replicate:CastFilterResultTarget( hTarget )
if self:GetCaster() == hTarget then
return UF_FAIL_CUSTOM
    end
    if hTarget:IsIllusion() then
        return UF_FAIL_CUSTOM
    end

    if ( hTarget:IsCreep() and ( not self:GetCaster():HasScepter() ) ) or hTarget:IsAncient() then
return UF_FAIL_CUSTOM
end

  if hTarget:GetUnitName() == "npc_dota_hero_pudge" then
return UF_FAIL_CUSTOM
end
if hTarget:HasModifier("modifier_arc_warden_tempest_double") then
return UF_FAIL_CUSTOM
end
if hTarget:GetUnitName() == "npc_dota_hero_necrolyte" then
return UF_FAIL_CUSTOM
end
if hTarget:GetUnitName() == "npc_dota_hero_skeleton_king" then
return UF_FAIL_CUSTOM
end

local nResult = UnitFilter( hTarget, DOTA_UNIT_TARGET_TEAM_BOTH, DOTA_UNIT_TARGET_HERO , DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES, self:GetCaster():GetTeamNumber() )
if nResult ~= UF_SUCCESS then
return nResult
end

return UF_SUCCESS
end

--------------------------------------------------------------------------------

function loki_replicate:GetCustomCastErrorTarget( hTarget )
if self:GetCaster() == hTarget then
return "#dota_hud_error_cant_cast_on_self"
end
if hTarget:GetUnitName() == "npc_dota_hero_skeleton_king" then
return "#dota_hud_error_cant_cast_on_lich"
end
if hTarget:GetUnitName() == "npc_dota_hero_necrolyte" then
return "#dota_hud_error_cant_cast_on_vitiate"
end
if hTarget:GetUnitName() == "npc_dota_hero_pudge" then
return "#dota_hud_error_cant_cast_on_pudge"
end
if hTarget:HasModifier("modifier_arc_warden_tempest_double") then
return "#dota_hud_error_already_dublicate"
end
    if hTarget:IsAncient() then
return "#dota_hud_error_cant_cast_on_ancient"
end
    if hTarget:IsIllusion () then
        return "#dota_hud_error_cant_cast_on_illusion"
    end
    if hTarget:IsCreep() and ( not self:GetCaster():HasScepter() ) then
return "#dota_hud_error_cant_cast_on_creep"
end

return ""
end



Код
"dota_hud_error_cant_cast_on_pudge"						"Нельзя скопироовать Паджика"
"dota_hud_error_cant_cast_on_zoom" "Нельзя использовать на Зума"
By PG.Freeman

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Сообщение
« Ответ #6 : 11-05-2016, 19:42:19 »
Что то я искал искал, но заветную строку так и не нашел :D
Crusade Commanders

Оффлайн Adam Smith

  • Друзья CG
  • 476
  • Мощь: 6
  • жрять жри его
Re: Сообщение
« Ответ #7 : 11-05-2016, 19:43:25 »
Что то я искал искал, но заветную строку так и не нашел :D
Код
if hTarget:GetUnitName() == "npc_dota_hero_skeleton_king" then
return UF_FAIL_CUSTOM
end
Код
"dota_hud_error_cant_cast_on_pudge"						"Нельзя скопироовать Паджика"
"dota_hud_error_cant_cast_on_zoom" "Нельзя использовать на Зума"
Код
if hTarget:GetUnitName() == "npc_dota_hero_necrolyte" then
return "#dota_hud_error_cant_cast_on_vitiate"
end
By PG.Freeman