Как делать ловушки?

remeercs

Активный
24 Янв 2017
75
0
помогите пожалуйста как сделать такие же ловушки как в Овертров и силтбрейкер именно такие на которые ты наступил и они сработали
 
Re: Ловушки как в овертров и силтбрейкере

у меня вышло только самое изи тупо скопировать файлы из овера,а чекая карту там нет моделей ловушки и нажимных плит если что я делаю веном трап
 
Re: Ловушки как в овертров и силтбрейкере

у меня вышло только самое изи тупо скопировать файлы из овера,а чекая карту там нет моделей ловушки и нажимных плит если что я делаю веном трап
Тригер вызывающий скрипт. Посмотри где то на форуме завалялся древний, но все еще актуальный, гайд по телепортации юнитов. Все так же, ток вместо телепорта двигай предметы на карте.
 
Последнее редактирование модератором:
Re: Ловушки как в овертров и силтбрейкере

Тригер вызывающий скрипт. Посмотри где то на форуме завалялся древний, но все еще актуальный, гайд по телепортации юнитов. Все так же, ток вместо телепорта двигай предметы на карте.
а я же скопировал триггер скрипт из овертров
только как теперь это все использовать в моей кастомке что ставить и т.д
 
Последнее редактирование модератором:
Re: Ловушки как в овертров и силтбрейкере

а я же скопировал триггер скрипт из овертров
только как теперь это все использовать в моей кастомке что ставить и т.д
Понятия не имею, кастомка же твоя. Ставь триггер где нужно, ставь скрипт куда нужно.
 
Последнее редактирование модератором:
Re: Ловушки как в овертров и силтбрейкере

Понятия не имею, кастомка же твоя. Ставь триггер где нужно, ставь скрипт куда нужно.
local triggerActive = true

вопрос в чем?! мне нужно узнать как поставить этот тригер посколько такого нету ниже файлы
файл из юнится кастом
Код:
"npc_dota_venom_trap_ward"
{
	 // General
	 //
	 "BaseClass"					"npc_dota_creature"	// Class of entity of link to.
	 "Model"						"models/props/traps/hooded_fang/hooded_fang.vmdl"// Model.
	 "Level"						"1"
  	"VisbibleInPortraitOnly"	"1"
 		
	 // Abilities
	 //----------------------------------------------------------------
		
	 "Ability1"					"breathe_poison"			// Ability 1.
	 "Ability2"					"trap_unselectable"			// Ability 2.
	 "Ability3"					""			// Ability 3.
		"Ability4"					""			// Ability 4.
		"Ability5"					""			// Ability 5.
		"Ability6"					""			// Ability 6 - Extra.
		"Ability7"					""			// Ability 7 - Extra.
		"Ability8"					""			// Ability 8 - Extra.

		// Attack
		//----------------------------------------------------------------
		"AttackCapabilities"		"DOTA_UNIT_CAP_RANGED_ATTACK"

		// Movement
		//----------------------------------------------------------------
		"MovementCapabilities"		"DOTA_UNIT_CAP_MOVE_NONE"			// Type of locomotion - ground, air
		"MovementSpeed"				"0"			// Speed
		"MovementTurnRate"			"0.25"			// Turning rate.

		// Team
		//----------------------------------------------------------------
		"UnitRelationshipClass"		"DOTA_NPC_UNIT_RELATIONSHIP_TYPE_WARD"
	}	
}
ну и содержимое файла venom_trap_trigger
--[[ venom_trap_trigger.lua ]]

local triggerActive = true

function OnStartTouch(trigger)
	local triggerName = thisEntity:GetName()
	local team = trigger.activator:GetTeam()
	local level = trigger.activator:GetLevel()
	--print("Trap Button Trigger Entered")
	if not triggerActive then
		print( "Trap Skip" )
		return
	end
	triggerActive = false
	local button = triggerName .. "_button"

	local model = triggerName .. "_model"
	local npc = Entities:FindByName( nil, triggerName .. "_npc" )
	local target = Entities:FindByName( nil, triggerName .. "_target" )
	if npc ~= nil then
		local venomTrap = npc:FindAbilityByName("breathe_poison")
		npc:SetContextThink( "ResetButtonModel", function() ResetButtonModel() end, 4 )
		npc:CastAbilityOnPosition(target:GetOrigin(), venomTrap, -1 )
		DoEntFire( model, "SetAnimation", "fang_attack", .4, self, self )
	end

	local model1 = triggerName .. "_model1"
	local npc1 = Entities:FindByName( nil, triggerName .. "_npc1" )
	local target1 = Entities:FindByName( nil, triggerName .. "_target1" )
	if npc1 ~= nil then
		local venomTrap = npc1:FindAbilityByName("breathe_poison")
		--npc:SetContextThink( "ResetButtonModel", function() ResetButtonModel() end, 4 )
		npc1:CastAbilityOnPosition(target1:GetOrigin(), venomTrap, -1 )
		DoEntFire( model1, "SetAnimation", "fang_attack", .4, self, self )
	end

	local model2 = triggerName .. "_model2"
	local npc2 = Entities:FindByName( nil, triggerName .. "_npc2" )
	local target2 = Entities:FindByName( nil, triggerName .. "_target2" )
	if npc2 ~= nil then
		local venomTrap = npc2:FindAbilityByName("breathe_poison")
		--npc2:SetContextThink( "ResetButtonModel", function() ResetButtonModel() end, 4 )
		npc2:CastAbilityOnPosition(target2:GetOrigin(), venomTrap, -1 )
		DoEntFire( model2, "SetAnimation", "fang_attack", .4, self, self )
	end

	DoEntFire( button, "SetAnimation", "ancient_trigger001_down", 0, self, self )
	DoEntFire( button, "SetAnimation", "ancient_trigger001_down_idle", .35, self, self )
	DoEntFire( button, "SetAnimation", "ancient_trigger001_up", 4, self, self )
	DoEntFire( button, "SetAnimation", "ancient_trigger001_idle", 4.5, self, self )

	local heroIndex = trigger.activator:GetEntityIndex()
	local heroHandle = EntIndexToHScript(heroIndex)
	npc.KillerToCredit = heroHandle
end

function OnEndTouch(trigger)
	local triggerName = thisEntity:GetName()
	local team = trigger.activator:GetTeam()
	--print("Trap Button Trigger Exited")
	local heroIndex = trigger.activator:GetEntityIndex()
	local heroHandle = EntIndexToHScript(heroIndex)
end

function ResetButtonModel()
	print( "Trap RESET" )
	triggerActive = true
end
 
Последнее редактирование модератором:
Re: Ловушки как в овертров и силтбрейкере

Думаю, здеь ответ будет такой же:

Понятия не имею, кастомка же твоя. Ставь триггер где нужно, ставь скрипт куда нужно.

А вообще тебе ответили прям полным ответом в первом же комменте: иди читай гайды.
 
Последнее редактирование модератором:
Реклама: