Не работает CreateUnitByName()

Captain_Pan

Пользователь
20 Авг 2015
21
0
Привет. Помогите плз. После попытки создать строителя для тд перестали работать все CreateUnitByName()...
Код:
function GameMode:OnPlayerPickHero(keys)
	print ('[BAREBONES] OnPlayerPickHero')
	DeepPrintTable(keys)

	local heroClass = keys.hero
	local heroEntity = EntIndexToHScript(keys.heroindex)
	local player = EntIndexToHScript(keys.player)
	
	Say(nil,'game in progres', false)
	--local pID = PlayerResource:GetNthPlayerIDOnTeam(2, 1)
	local pID = player:GetPlayerID()
	local TeamNum = player:GetTeamNumber()
 
	print('pID = '..pID)
	Say(nil,'pID = ' .. pID, false)
	if PlayerResource:IsValidPlayer(pID) then
	print('1')
		if PlayerResource:HasSelectedHero( pID ) then
			print('2')
			if PlayerResource:GetConnectionState(pID) == 2 then
				print('3')	
				print('pID = ' .. pID)
				print('TeamNum = ' .. TeamNum)
				if TeamNum == 2 then
					print('in tn=2')
					local hero = PlayerResource:GetPlayer(pID):GetAssignedHero()
					--local TeNum = PlayerResource:GetTeam(pID)
					local pos1 =Entities:FindByName( nil, "good_shop"):GetAbsOrigin()
					local unit1 = CreateUnitByName("npc_good_shop", pos1, false, hero, hero:GetOwner(), 2 )
					GameRules.bar1[pID+1] = unit1
					if unit1 ~= nil then
					print('?')
						unit1:SetControllableByPlayer( pID, false )
						unit1:SetOwner( hero )
					end
					--[[for i = 1, 6, 1 do 
						print('bar1[' .. i .. '] = ' .. bar1[i])
					end]]
				elseif TeamNum == 3 then
					print('in tn=3')
					local hero = PlayerResource:GetPlayer(pID):GetAssignedHero()
					--local TeNum = PlayerResource:GetTeam(pID)		
					local pos1 =Entities:FindByName( nil, "bad_shop"):GetAbsOrigin()
					local unit1 = CreateUnitByName("npc_bad_shop", pos1, false, hero, hero:GetOwner(), 3 )
					GameRules.bar1[pID+1] = unit1
					if unit1 ~= nil then
					unit1:SetControllableByPlayer( pID, false )
					unit1:SetOwner( hero )
					end
					--[[for i = 1, 6, 1 do 
						print('bar1[' .. i .. '] = ' .. bar1[i])
					end]]
				end 
			end 
		end 
	end 
end
Раньше работали как надо. Пытался скопировать в другой мод, там тоже не работает.

Код на скил постройки башен брал с гайда. Но если вдруг надо то вот:
Код:
PLACED_BUILDING_RADIUS = 64.0
function Build_Swordman(keys)
	
	-- Нам потребуется несколько переменных, они должны быть понятны
  blocking_counter = 0
  attempt_place_location = keys.target_points[1]
  -- Как же сложно! В основном, эта строка находит все объекты внутри PLACED_BUILDING_RADIUS от того, где мы хотим поставить башню
  -- Цикл для подсчета
  for _,thing in pairs(Entities:FindAllInSphere(GetGroundPosition(attempt_place_location, nil), PLACED_BUILDING_RADIUS) ) do
    blocking_counter = blocking_counter + 1
  end
  print(blocking_counter .. " blockers")

  -- Если есть объекты, которые мешают размещению башни, тогда не строим здесь, иначе - размещаем
  if blocking_counter == 0 then
    tower = CreateUnitByName("npc_dota_building_swordman", keys.target_points[1], false, nil, nil,keys.caster:GetPlayerOwner():GetTeam() ) 
		tower:SetControllableByPlayer(keys.caster:GetPlayerID(), true)
  end

end
 
Последнее редактирование модератором:

Captain_Pan

Пользователь
20 Авг 2015
21
0
Сори. Раньше не замечал, потомучто отслеживал скрипты.
[ W Entity System ]: Cannot create an entity because entity class is NULL -1
[ Entity System ]: SERVER: npc_dota_hero_antimage(CDOTA_Unit_Hero_AntiMage) 'npc_dota_hero_antimage' [316] thinking for 51.97 ms!!!

Есть идеи, в чем ошибка?

p.s.
Вроди исправил. Ошибка гдето в новом нпс который я пытался создать.Удалил и все заработало) Правда хочется вернуть башенку. Вот код, где накосячил?
Код:
"npc_dota_building_swordman"
	{
		// Что мы ходим видеть - моделька
		"Model" "models/heroes/wraith_king/wraith_frost.vmdl"
		"BaseClass" "npc_dota_creature"
		// Насколько большой масштаб. Относится к PLACED_BUILDING_RADIUS
		"BoundsHullName" "DOTA_HULL_SIZE_HUGE"
		
			"ModelScale"				".5"
			"Level"						"1"			
			// Abilities
			//----------------------------------------------------------------
			"Ability1"					""			// Ability 1.
			"Ability2"					""			// Ability 2.
			"Ability3"					""			// Ability 3.
			"Ability4"					""			// Ability 4.
			"Ability5"					""			// Ability 5.
			"Ability6"					""			// Ability 6 - Extra.
			"Ability7"					""			// Ability 7 - Extra.
			"Ability8"					""			// Ability 8 - Extra.

			// Armor
			//----------------------------------------------------------------
			"ArmorPhysical"				"0"			// Physical protection.
			"MagicalResistance"			"0"		// Magical protection.

			// Attack
			//----------------------------------------------------------------
			"AttackCapabilities"		"DOTA_UNIT_CAP_MELEE_ATTACK"
			"AttackDamageMin"			"10"		// Damage range min.
			"AttackDamageMax"			"10"		// Damage range max.
			"AttackRate"				"1.6"		// Speed of attack.
			"AttackAnimationPoint"		"0.3"		// Normalized time in animation cycle to attack.
			"AttackAcquisitionRange"	"800"		// Range within a target can be acquired.
			"AttackRange"				"128"		// Range within a target can be attacked.
			"ProjectileModel"			""			// Particle system model for projectile.
			"ProjectileSpeed"			""			// Speed of projectile.
			
			
			// Movement
			//----------------------------------------------------------------
			"MovementCapabilities"		"DOTA_UNIT_CAP_MOVE_GROUND"			// Type of locomotion - ground, air
			"MovementSpeed"				"0"		// Speed
			"MovementTurnRate"			"0.5"		// Turning rate.

			// Status
			//----------------------------------------------------------------
			"StatusHealth"				"1"		// Base health.
			"StatusHealthRegen"			"1"		// Health regeneration rate.
			"StatusMana"				"0"			// Base mana.
			"StatusManaRegen"			"0"			// Mana regeneration rate.
			
		}
	}

p.p.s.
Ошибку нашел. Лишняя скобка закрывающая. Тему можно закрывать)
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
layk_chaka_norrisa.gif
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Илья, Запрашиваемое изображение не может быть загружено.
Попробуйте позже.
:(
Не узнать мне, что там за мемес
 
Реклама: