[Гайд] Создаем карту с раундами и волнами мобов

xxNpCxx

Активный
16 Окт 2015
85
0
Я не силён в lua шарю.. можно написать куда именно писать это.

Выделяешь спавнер жмешь Alt+Enter там доабвляешь новое поле ( переменную) Далее во вкладке Outputs настраиваешь вызов Lua скрипта при нужных тебе действиях.

вот то как обратиться к этой переменной в Lua .
Этот код уменьшает значение этйо переменной на 1.

trigger.caller:Attribute_SetIntValue("Имя переменной",trigger.caller:Attribute_GetIntValue("Имя переменной",0)-1)
 
Последнее редактирование модератором:

SanyaDuizFX

Пользователь
18 Окт 2015
37
0
Выделяешь спавнер жмешь Alt+Enter там доабвляешь новое поле ( переменную) Далее во вкладке Outputs настраиваешь вызов Lua скрипта при нужных тебе действиях.

вот то как обратиться к этой переменной в Lua .
Этот код уменьшает значение этйо переменной на 1.

trigger.caller:Attribute_SetIntValue("Имя переменной",trigger.caller:Attribute_GetIntValue("Имя переменной",0)-1)
Сяб ) +реп.
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Ну или можешь завести глобальную переменную, или локальную в коде, где ты осуществляешь спавн.
 

CryDeS

Друзья CG
14 Июл 2015
1,210
11
Выделяешь спавнер жмешь Alt+Enter там доабвляешь новое поле ( переменную) Далее во вкладке Outputs настраиваешь вызов Lua скрипта при нужных тебе действиях.

вот то как обратиться к этой переменной в Lua .
Этот код уменьшает значение этйо переменной на 1.

trigger.caller:Attribute_SetIntValue("Имя переменной",trigger.caller:Attribute_GetIntValue("Имя переменной",0)-1)
Сделать костыль с помощью другого костыля. Ты определенно сделал мой день :D
 
Последнее редактирование модератором:

wRadchuk

Новичок
31 Авг 2016
6
0
У меня не работает. С начала сделал по своему, затем плюнул и скачал ваши готовые файлы. В редакторе добавил info_target и четыре path_corner. Зациклил их (way1 = wa2 = way3 = way4 = way1) и по идее крипы должны ходить по кругу, но вот их нет. Крипы не спавнятся и я не знаю почему.

addon_game_mode.lua
Код:
--[[
  Basic Barebones
]]
-- Required files to be visible from anywhere
require( 'timers' )
require( 'barebones' )
GAME_ROUND = 0
MAX_ROUNDS = 5
ROUND_DURATION = 30
ROUND_UNITS = 2
--[[if GameMode == nil then
   GameMode = class({})
end]]--
function Precache( context )
  -- NOTE: IT IS RECOMMENDED TO USE A MINIMAL AMOUNT OF LUA PRECACHING, AND A MAXIMAL AMOUNT OF DATADRIVEN PRECACHING.
  -- Precaching guide: [url]https://moddota.com/forums/discussion/119/precache-fixing-and-avoiding-issues[/url]
  --[[
  This function is used to precache resources/units/items/abilities that will be needed
  for sure in your game and that cannot or should not be precached asynchronously or
  after the game loads.
  See GameMode:PostLoadPrecache() in barebones.lua for more information
  ]]
  print("[BAREBONES] Performing pre-load precache")
  -- Particles can be precached individually or by folder
  -- It it likely that precaching a single particle system will precache all of its children, but this may not be guaranteed
  PrecacheResource("particle", "particles/units/heroes/hero_leshrac/leshrac_lightning_bolt.vpcf" , context)
  PrecacheResource("particle", "particles/econ/courier/courier_golden_roshan/golden_roshan_ambient.vpcf" , context)
  PrecacheResource("particle", "particles/part_exp_two.vpcf" , context)
  PrecacheResource("particle", "particles/econ/generic/generic_aoe_explosion_sphere_1/generic_aoe_explosion_sphere_1.vpcf", context)
  PrecacheResource("particle_folder", "particles/test_particle", context)
  -- Models can also be precached by folder or individually
  -- PrecacheModel should generally used over PrecacheResource for individual models
  PrecacheResource("model_folder", "particles/heroes/antimage", context)
  PrecacheResource("model", "particles/heroes/viper/viper.vmdl", context)
  PrecacheModel("models/heroes/viper/viper.vmdl", context)
  -- Sounds can precached here like anything else
  PrecacheResource("soundfile", "soundevents/game_sounds_heroes/game_sounds_gyrocopter.vsndevts", context)
  -- Entire items can be precached by name
  -- Abilities can also be precached in this way despite the name
  PrecacheItemByNameSync("example_ability", context)
  PrecacheItemByNameSync("item_example_item", context)
  -- Entire heroes (sound effects/voice/models/particles) can be precached with PrecacheUnitByNameSync
  -- Custom units from npc_units_custom.txt can also have all of their abilities and precache{} blocks precached in this way
  PrecacheUnitByNameSync("npc_dota_hero_ancient_apparition", context)
  PrecacheUnitByNameSync("npc_dota_hero_enigma", context)
  PrecacheUnitByNameSync("example_unit_1", context)
end
-- Create the game mode when we activate
function Activate()
  GameRules.GameMode = GameMode()
  GameRules.GameMode:InitGameMode()
end

function GameMode:OnGameInProgress()
   local point = Entities:FindByName( nil, "spawnerino"):GetAbsOrigin()
   local waypoint = Entities:FindByName( nil, "way1")
   local return_time = 10
   Timers:CreateTimer(10, function()    
    GAME_ROUND = GAME_ROUND + 1
    if GAME_ROUND == MAX_ROUNDS then
      return_time = nil
     end
     Say(nil,"Wave №" .. GAME_ROUND, false)
     for i=1, ROUND_UNITS do
     local unit = CreateUnitByName( "example_unit_" .. GAME_ROUND, point + RandomVector( RandomFloat( 0, 200 ) ), true, nil, nil, DOTA_TEAM_NEUTRAL )
     unit:SetInitialGoalEntity( waypoint )
     end   
     return return_time
   end)
end

npc_units_custom.txt
Код:
// Units File
"DOTAUnits"
{
  "Version"  "1"
  
  //=================================================================================  
  // Creature: Gnoll Assassin
  //=================================================================================
  "example_unit_1"  
  {
   // General
   //----------------------------------------------------------------
   "Model"         "models/creeps/neutral_creeps/n_creep_gnoll/n_creep_gnoll_frost.vmdl"  // Model.
   "BaseClass"        "npc_dota_creature"
   "SoundSet"        "n_creep_Ranged"
   "GameSoundsFile"     "soundevents/game_sounds_creeps.vsndevts"
   "Level"         "1"
   "ModelScale"       "0.9"
   // Abilities
   //----------------------------------------------------------------
   "Ability1"        ""     // Ability 1
   "Ability2"        ""     // Ability 2
   "Ability3"        ""     // Ability 3
   "Ability4"        ""     // Ability 4
   // Armor
   //----------------------------------------------------------------
   "ArmorPhysical"      "10"     // Physical protection.
   // Attack
   //----------------------------------------------------------------
   "AttackCapabilities"   "DOTA_UNIT_CAP_RANGED_ATTACK"
   "AttackDamageMin"     "30"   // Damage range min.
   "AttackDamageMax"     "36"   // Damage range max.
   "AttackRate"      "1.6"   // Speed of attack.
   "AttackAnimationPoint"   "0.4"   // Normalized time in animation cycle to attack.
   "AttackAcquisitionRange"  "800"   // Range within a target can be acquired.
   "AttackRange"      "500"   // Range within a target can be attacked.
   "ProjectileModel"     "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
   "ProjectileSpeed"     "1500"   // Speed of projectile.     
   // Bounds
   //----------------------------------------------------------------
   "RingRadius"      "40"
   "HealthBarOffset"     "170"
   // Bounty
   //----------------------------------------------------------------
   "BountyXP"        "24"   // Experience earn.
   "BountyGoldMin"      "21"   // Gold earned min.
   "BountyGoldMax"      "29"   // Gold earned max.
   // Movement
   //----------------------------------------------------------------
   "MovementCapabilities"   "DOTA_UNIT_CAP_MOVE_GROUND"
   "MovementSpeed"      "270"   // Speed.     
   // Status
   //----------------------------------------------------------------
   "StatusHealth"      "75"   // Base health.
   "StatusHealthRegen"     "0.5"   // Health regeneration rate.
   "StatusMana"      "0"     // Base mana.
   "StatusManaRegen"     "0.0"   // Mana regeneration rate.   
   
   // Vision
   //----------------------------------------------------------------
   "VisionDaytimeRange"   "400"   // Range of vision during day light.
   "VisionNighttimeRange"   "400"   // Range of vision at night time.
   // Team
   //----------------------------------------------------------------
   "TeamName"        "DOTA_TEAM_GOODGUYS"         // Team name.
   "CombatClassAttack"     "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
   "CombatClassDefend"     "DOTA_COMBAT_CLASS_DEFEND_BASIC"
   "UnitRelationshipClass"   "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
   // Creature Data
   //----------------------------------------------------------------
   "Creature"
   {
     //Level Up
     "HPGain"        "50"
     "DamageGain"      "2"
     "ArmorGain"        "0.25"
     "MagicResistGain"     "0.1"
     "MoveSpeedGain"      "1"
     "BountyGain"      "3"
     "XPGain"        "15"
   }
  }
"example_unit_2"  
  {
   // General
   //----------------------------------------------------------------
   "Model"         "models/creeps/neutral_creeps/n_creep_gnoll/n_creep_gnoll_frost.vmdl"  // Model.
   "BaseClass"        "npc_dota_creature"
   "SoundSet"        "n_creep_Ranged"
   "GameSoundsFile"     "soundevents/game_sounds_creeps.vsndevts"
   "Level"         "1"
   "ModelScale"       "1.9"
   // Abilities
   //----------------------------------------------------------------
   "Ability1"        ""     // Ability 1
   "Ability2"        ""     // Ability 2
   "Ability3"        ""     // Ability 3
   "Ability4"        ""     // Ability 4
   // Armor
   //----------------------------------------------------------------
   "ArmorPhysical"      "10"     // Physical protection.
   // Attack
   //----------------------------------------------------------------
   "AttackCapabilities"   "DOTA_UNIT_CAP_RANGED_ATTACK"
   "AttackDamageMin"     "30"   // Damage range min.
   "AttackDamageMax"     "36"   // Damage range max.
   "AttackRate"      "1.6"   // Speed of attack.
   "AttackAnimationPoint"   "0.4"   // Normalized time in animation cycle to attack.
   "AttackAcquisitionRange"  "800"   // Range within a target can be acquired.
   "AttackRange"      "500"   // Range within a target can be attacked.
   "ProjectileModel"     "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
   "ProjectileSpeed"     "1500"   // Speed of projectile.     
   // Bounds
   //----------------------------------------------------------------
   "RingRadius"      "40"
   "HealthBarOffset"     "170"
   // Bounty
   //----------------------------------------------------------------
   "BountyXP"        "24"   // Experience earn.
   "BountyGoldMin"      "21"   // Gold earned min.
   "BountyGoldMax"      "29"   // Gold earned max.
   // Movement
   //----------------------------------------------------------------
   "MovementCapabilities"   "DOTA_UNIT_CAP_MOVE_GROUND"
   "MovementSpeed"      "270"   // Speed.     
   // Status
   //----------------------------------------------------------------
   "StatusHealth"      "75"   // Base health.
   "StatusHealthRegen"     "0.5"   // Health regeneration rate.
   "StatusMana"      "0"     // Base mana.
   "StatusManaRegen"     "0.0"   // Mana regeneration rate.   
   
   // Vision
   //----------------------------------------------------------------
   "VisionDaytimeRange"   "400"   // Range of vision during day light.
   "VisionNighttimeRange"   "400"   // Range of vision at night time.
   // Team
   //----------------------------------------------------------------
   "TeamName"        "DOTA_TEAM_GOODGUYS"         // Team name.
   "CombatClassAttack"     "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
   "CombatClassDefend"     "DOTA_COMBAT_CLASS_DEFEND_BASIC"
   "UnitRelationshipClass"   "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
   // Creature Data
   //----------------------------------------------------------------
   "Creature"
   {
     //Level Up
     "HPGain"        "50"
     "DamageGain"      "2"
     "ArmorGain"        "0.25"
     "MagicResistGain"     "0.1"
     "MoveSpeedGain"      "1"
     "BountyGain"      "3"
     "XPGain"        "15"
   }
  }
"example_unit_3"  
  {
   // General
   //----------------------------------------------------------------
   "Model"         "models/creeps/neutral_creeps/n_creep_gnoll/n_creep_gnoll_frost.vmdl"  // Model.
   "BaseClass"        "npc_dota_creature"
   "SoundSet"        "n_creep_Ranged"
   "GameSoundsFile"     "soundevents/game_sounds_creeps.vsndevts"
   "Level"         "1"
   "ModelScale"       "2.9"
   // Abilities
   //----------------------------------------------------------------
   "Ability1"        ""     // Ability 1
   "Ability2"        ""     // Ability 2
   "Ability3"        ""     // Ability 3
   "Ability4"        ""     // Ability 4
   // Armor
   //----------------------------------------------------------------
   "ArmorPhysical"      "10"     // Physical protection.
   // Attack
   //----------------------------------------------------------------
   "AttackCapabilities"   "DOTA_UNIT_CAP_RANGED_ATTACK"
   "AttackDamageMin"     "30"   // Damage range min.
   "AttackDamageMax"     "36"   // Damage range max.
   "AttackRate"      "1.6"   // Speed of attack.
   "AttackAnimationPoint"   "0.4"   // Normalized time in animation cycle to attack.
   "AttackAcquisitionRange"  "800"   // Range within a target can be acquired.
   "AttackRange"      "500"   // Range within a target can be attacked.
   "ProjectileModel"     "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
   "ProjectileSpeed"     "1500"   // Speed of projectile.     
   // Bounds
   //----------------------------------------------------------------
   "RingRadius"      "40"
   "HealthBarOffset"     "170"
   // Bounty
   //----------------------------------------------------------------
   "BountyXP"        "24"   // Experience earn.
   "BountyGoldMin"      "21"   // Gold earned min.
   "BountyGoldMax"      "29"   // Gold earned max.
   // Movement
   //----------------------------------------------------------------
   "MovementCapabilities"   "DOTA_UNIT_CAP_MOVE_GROUND"
   "MovementSpeed"      "270"   // Speed.     
   // Status
   //----------------------------------------------------------------
   "StatusHealth"      "75"   // Base health.
   "StatusHealthRegen"     "0.5"   // Health regeneration rate.
   "StatusMana"      "0"     // Base mana.
   "StatusManaRegen"     "0.0"   // Mana regeneration rate.   
   
   // Vision
   //----------------------------------------------------------------
   "VisionDaytimeRange"   "400"   // Range of vision during day light.
   "VisionNighttimeRange"   "400"   // Range of vision at night time.
   // Team
   //----------------------------------------------------------------
   "TeamName"        "DOTA_TEAM_GOODGUYS"         // Team name.
   "CombatClassAttack"     "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
   "CombatClassDefend"     "DOTA_COMBAT_CLASS_DEFEND_BASIC"
   "UnitRelationshipClass"   "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
   // Creature Data
   //----------------------------------------------------------------
   "Creature"
   {
     //Level Up
     "HPGain"        "50"
     "DamageGain"      "2"
     "ArmorGain"        "0.25"
     "MagicResistGain"     "0.1"
     "MoveSpeedGain"      "1"
     "BountyGain"      "3"
     "XPGain"        "15"
   }
  }
"example_unit_4"  
  {
   // General
   //----------------------------------------------------------------
   "Model"         "models/creeps/neutral_creeps/n_creep_gnoll/n_creep_gnoll_frost.vmdl"  // Model.
   "BaseClass"        "npc_dota_creature"
   "SoundSet"        "n_creep_Ranged"
   "GameSoundsFile"     "soundevents/game_sounds_creeps.vsndevts"
   "Level"         "1"
   "ModelScale"       "3.9"
   // Abilities
   //----------------------------------------------------------------
   "Ability1"        ""     // Ability 1
   "Ability2"        ""     // Ability 2
   "Ability3"        ""     // Ability 3
   "Ability4"        ""     // Ability 4
   // Armor
   //----------------------------------------------------------------
   "ArmorPhysical"      "10"     // Physical protection.
   // Attack
   //----------------------------------------------------------------
   "AttackCapabilities"   "DOTA_UNIT_CAP_RANGED_ATTACK"
   "AttackDamageMin"     "30"   // Damage range min.
   "AttackDamageMax"     "36"   // Damage range max.
   "AttackRate"      "1.6"   // Speed of attack.
   "AttackAnimationPoint"   "0.4"   // Normalized time in animation cycle to attack.
   "AttackAcquisitionRange"  "800"   // Range within a target can be acquired.
   "AttackRange"      "500"   // Range within a target can be attacked.
   "ProjectileModel"     "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
   "ProjectileSpeed"     "1500"   // Speed of projectile.     
   // Bounds
   //----------------------------------------------------------------
   "RingRadius"      "40"
   "HealthBarOffset"     "170"
   // Bounty
   //----------------------------------------------------------------
   "BountyXP"        "24"   // Experience earn.
   "BountyGoldMin"      "21"   // Gold earned min.
   "BountyGoldMax"      "29"   // Gold earned max.
   // Movement
   //----------------------------------------------------------------
   "MovementCapabilities"   "DOTA_UNIT_CAP_MOVE_GROUND"
   "MovementSpeed"      "270"   // Speed.     
   // Status
   //----------------------------------------------------------------
   "StatusHealth"      "75"   // Base health.
   "StatusHealthRegen"     "0.5"   // Health regeneration rate.
   "StatusMana"      "0"     // Base mana.
   "StatusManaRegen"     "0.0"   // Mana regeneration rate.   
   
   // Vision
   //----------------------------------------------------------------
   "VisionDaytimeRange"   "400"   // Range of vision during day light.
   "VisionNighttimeRange"   "400"   // Range of vision at night time.
   // Team
   //----------------------------------------------------------------
   "TeamName"        "DOTA_TEAM_GOODGUYS"         // Team name.
   "CombatClassAttack"     "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
   "CombatClassDefend"     "DOTA_COMBAT_CLASS_DEFEND_BASIC"
   "UnitRelationshipClass"   "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
   // Creature Data
   //----------------------------------------------------------------
   "Creature"
   {
     //Level Up
     "HPGain"        "50"
     "DamageGain"      "2"
     "ArmorGain"        "0.25"
     "MagicResistGain"     "0.1"
     "MoveSpeedGain"      "1"
     "BountyGain"      "3"
     "XPGain"        "15"
   }
  }  
"example_unit_5"  
  {
   // General
   //----------------------------------------------------------------
   "Model"         "models/creeps/neutral_creeps/n_creep_gnoll/n_creep_gnoll_frost.vmdl"  // Model.
   "BaseClass"        "npc_dota_creature"
   "SoundSet"        "n_creep_Ranged"
   "GameSoundsFile"     "soundevents/game_sounds_creeps.vsndevts"
   "Level"         "1"
   "ModelScale"       "4.9"
   // Abilities
   //----------------------------------------------------------------
   "Ability1"        ""     // Ability 1
   "Ability2"        ""     // Ability 2
   "Ability3"        ""     // Ability 3
   "Ability4"        ""     // Ability 4
   // Armor
   //----------------------------------------------------------------
   "ArmorPhysical"      "10"     // Physical protection.
   // Attack
   //----------------------------------------------------------------
   "AttackCapabilities"   "DOTA_UNIT_CAP_RANGED_ATTACK"
   "AttackDamageMin"     "30"   // Damage range min.
   "AttackDamageMax"     "36"   // Damage range max.
   "AttackRate"      "1.6"   // Speed of attack.
   "AttackAnimationPoint"   "0.4"   // Normalized time in animation cycle to attack.
   "AttackAcquisitionRange"  "800"   // Range within a target can be acquired.
   "AttackRange"      "500"   // Range within a target can be attacked.
   "ProjectileModel"     "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
   "ProjectileSpeed"     "1500"   // Speed of projectile.     
   // Bounds
   //----------------------------------------------------------------
   "RingRadius"      "40"
   "HealthBarOffset"     "170"
   // Bounty
   //----------------------------------------------------------------
   "BountyXP"        "24"   // Experience earn.
   "BountyGoldMin"      "21"   // Gold earned min.
   "BountyGoldMax"      "29"   // Gold earned max.
   // Movement
   //----------------------------------------------------------------
   "MovementCapabilities"   "DOTA_UNIT_CAP_MOVE_GROUND"
   "MovementSpeed"      "270"   // Speed.     
   // Status
   //----------------------------------------------------------------
   "StatusHealth"      "75"   // Base health.
   "StatusHealthRegen"     "0.5"   // Health regeneration rate.
   "StatusMana"      "0"     // Base mana.
   "StatusManaRegen"     "0.0"   // Mana regeneration rate.   
   
   // Vision
   //----------------------------------------------------------------
   "VisionDaytimeRange"   "400"   // Range of vision during day light.
   "VisionNighttimeRange"   "400"   // Range of vision at night time.
   // Team
   //----------------------------------------------------------------
   "TeamName"        "DOTA_TEAM_GOODGUYS"         // Team name.
   "CombatClassAttack"     "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
   "CombatClassDefend"     "DOTA_COMBAT_CLASS_DEFEND_BASIC"
   "UnitRelationshipClass"   "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
   // Creature Data
   //----------------------------------------------------------------
   "Creature"
   {
     //Level Up
     "HPGain"        "50"
     "DamageGain"      "2"
     "ArmorGain"        "0.25"
     "MagicResistGain"     "0.1"
     "MoveSpeedGain"      "1"
     "BountyGain"      "3"
     "XPGain"        "15"
   }
  }
"example_unit_6"  
  {
   // General
   //----------------------------------------------------------------
   "Model"         "models/creeps/neutral_creeps/n_creep_gnoll/n_creep_gnoll_frost.vmdl"  // Model.
   "BaseClass"        "npc_dota_creature"
   "SoundSet"        "n_creep_Ranged"
   "GameSoundsFile"     "soundevents/game_sounds_creeps.vsndevts"
   "Level"         "1"
   "ModelScale"       "5.9"
   // Abilities
   //----------------------------------------------------------------
   "Ability1"        ""     // Ability 1
   "Ability2"        ""     // Ability 2
   "Ability3"        ""     // Ability 3
   "Ability4"        ""     // Ability 4
   // Armor
   //----------------------------------------------------------------
   "ArmorPhysical"      "10"     // Physical protection.
   // Attack
   //----------------------------------------------------------------
   "AttackCapabilities"   "DOTA_UNIT_CAP_RANGED_ATTACK"
   "AttackDamageMin"     "30"   // Damage range min.
   "AttackDamageMax"     "36"   // Damage range max.
   "AttackRate"      "1.6"   // Speed of attack.
   "AttackAnimationPoint"   "0.4"   // Normalized time in animation cycle to attack.
   "AttackAcquisitionRange"  "800"   // Range within a target can be acquired.
   "AttackRange"      "500"   // Range within a target can be attacked.
   "ProjectileModel"     "particles/neutral_fx/gnoll_base_attack.vpcf" // Particle system model for projectile.
   "ProjectileSpeed"     "1500"   // Speed of projectile.     
   // Bounds
   //----------------------------------------------------------------
   "RingRadius"      "40"
   "HealthBarOffset"     "170"
   // Bounty
   //----------------------------------------------------------------
   "BountyXP"        "24"   // Experience earn.
   "BountyGoldMin"      "21"   // Gold earned min.
   "BountyGoldMax"      "29"   // Gold earned max.
   // Movement
   //----------------------------------------------------------------
   "MovementCapabilities"   "DOTA_UNIT_CAP_MOVE_GROUND"
   "MovementSpeed"      "270"   // Speed.     
   // Status
   //----------------------------------------------------------------
   "StatusHealth"      "75"   // Base health.
   "StatusHealthRegen"     "0.5"   // Health regeneration rate.
   "StatusMana"      "0"     // Base mana.
   "StatusManaRegen"     "0.0"   // Mana regeneration rate.   
   
   // Vision
   //----------------------------------------------------------------
   "VisionDaytimeRange"   "400"   // Range of vision during day light.
   "VisionNighttimeRange"   "400"   // Range of vision at night time.
   // Team
   //----------------------------------------------------------------
   "TeamName"        "DOTA_TEAM_GOODGUYS"         // Team name.
   "CombatClassAttack"     "DOTA_COMBAT_CLASS_ATTACK_PIERCE"
   "CombatClassDefend"     "DOTA_COMBAT_CLASS_DEFEND_BASIC"
   "UnitRelationshipClass"   "DOTA_NPC_UNIT_RELATIONSHIP_TYPE_DEFAULT"
   // Creature Data
   //----------------------------------------------------------------
   "Creature"
   {
     //Level Up
     "HPGain"        "50"
     "DamageGain"      "2"
     "ArmorGain"        "0.25"
     "MagicResistGain"     "0.1"
     "MoveSpeedGain"      "1"
     "BountyGain"      "3"
     "XPGain"        "15"
   }
  }
}

Название info_target =spawnerino
Название patch_corner = way1, way2, way3, way4.

Что я сделал не так как у вас? Почему не работает?
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Впихни тело функции GameMode:OnGameInProgress() в такую же, только в файле barebones.lua. А из addon_game_mode.lua удали её вообще.
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Если знаком с программированием, советую почитать статьи, что указываю в конце этой.
 

wRadchuk

Новичок
31 Авг 2016
6
0
Илья, вот прикол. У меня нет такого файла. С чем это связано. Я установил с гитхаба барбонес. В чом может быть проблема?

[quote author=Илья link=topic=155.msg6046#msg6046 date=1472830000]
Если знаком с программированием, советую почитать статьи, что указываю в конце этой.
[/quote]
Да, знаком. Посмотрю что там.
 

wRadchuk

Новичок
31 Авг 2016
6
0
Илья, Илья, Я понял в чем была проблема. Это не луа конченый (хотя не соглашусь), а дота. Крипы не появлялись пока не опубликовал кастомку. Всё работает, но после прочтения всего про скриптинг доты и луа в целом знаний не прибавилось. Как например узнать длину массива и как создать массив ассоциаций где по значению одного типа данных можно достать значение другого типа?




P.S. Ещё убило то, что функция это переменная. Я привык больше к Яве. Ну ты Илья знаешь как там всё прекрасно в плане синтаксиса. А вот паскалеподобный синтаксис ужасен. Прям чувствую себя замкнутым понимая что для написания скрипта у меня такой не привлекательный инструмент луа. Все эти end, а не {}, и не надо ;, и модификаторы доступа.
 

Илья

Друзья CG
25 Сен 2015
2,348
41
Эм, "Крипы не появлялись пока не опубликовал кастомку" - такого быть не должно.

"Всё работает, но после прочтения всего про скриптинг доты и луа ... Как например узнать длину массива..." - очень, очень плохо искал и читал, значит.

Пусть table = {"a","b","c"}, тогда #table = 3

Ассоциативный массив, более популярными словами - хэш таблица (ключ - значение):
Пусть table = { "a", "anton",
"vasia", "b",
"1", "odin"
}
Тогда table["a"] = "anton".
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
Скажи это более опытным прогерам.

Lua очень удобный и довольно красивый скриптовый язык. А то, что тебе непривычно после "пользовательской" и объектно-ориентированной java - не вешает клише на lua.
 
Последнее редактирование модератором:

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
wRadchuk, как по мне луа куда понятней и легче в освоении, всякие "end" помогают лучше осознать, где заканчивается та или иная функция и начинается новая.
А это все как раз полезно и хорошо для разработчиков, которые не хотят особо вникать во все, но хотят выпустить свое творчество.
 
Последнее редактирование модератором:

Илья

Друзья CG
25 Сен 2015
2,348
41
I_GRIN_I, как сказать: программисты очень трепетно относятся к месту, занимаемому кодом. И гораздо удобнее, конечно, пользоваться парой символов "{}", чем парой слов "begin,end". А вот обывателем да, проще использовать габаритные структуры.

Java - эт кроме всего прочего еще и абстрактный язык, нацеленный на ООП, что делает его невероятно удобным в "пользовательском" программировании, т.е. удобным для пользователя.

C - более машинный язык, т. е. более низкоуровневый. Там тяжелее видеть картину в целом, но в нем больше возможностей.

Lua - эт скриптовый язык. Причем, язык для "заплаток", на одежде сшитой из программных языков, вроде той же java и С. Однако его сумели сделать весьма удобным, реализовав в нем подобие ООП, а так же простым для обывателей, взяв что-то из габаритных языков, вроде pascal.

Естественно, для меня пока что, как и для wRadchuk, любимый язык - java, но lua мне понравился не сильно меньше, и привыкал я к нему всего пару дней. А вот всякие java script мне не нравятся - очень легко запутаться в своем же коде.
 
Последнее редактирование модератором:

CryDeS

Друзья CG
14 Июл 2015
1,210
11
Си, плюсы ява позволят выстрелить тебе в ногу за 100 строк.
Питон и луа за 5 строк.
По сути это вся разница которую нужно знать когда выбираешь язык.
 

wRadchuk

Новичок
31 Авг 2016
6
0
И в C++ проще работать с 3D графикой. Если говорить о скриптовых языках, то луа не особо и ахати. Ну приходится периучеватся. Я за 7 лет привык к синтаксису C++, Java и PHP вот мне и не нравится его непохожесть на них. Привыкну х..ли.

Илья, спасибо за пример массива. Я бегло прочитал про всё. Местами пропускал, надо перечитать внимательно. И насчет ява скрипта полностью с тобой согласен.
 

CryDeS

Друзья CG
14 Июл 2015
1,210
11
И в C++ проще работать с 3D графикой. Если говорить о скриптовых языках, то луа не особо и ахати. Ну приходится периучеватся. Я за 7 лет привык к синтаксису C++, Java и PHP вот мне и не нравится его непохожесть на них. Привыкну х..ли.

Илья, спасибо за пример массива. Я бегло прочитал про всё. Местами пропускал, надо перечитать внимательно. И насчет ява скрипта полностью с тобой согласен.
Я плюсовик и привык к луа за неделю. В чем твоя проблема бро? :D
 
Последнее редактирование модератором:

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
CryDeS, а c++ от c# сильно отличается вообще? C# он вроде на js похож
 

CryDeS

Друзья CG
14 Июл 2015
1,210
11
[quote author=I_GRIN_I link=topic=155.msg6131#msg6131 date=1473334754]
CryDeS, а c++ от c# сильно отличается вообще? C# он вроде на js похож
[/quote]
Плюсы чистый компилируемый язык, шарп же в свою очередь скриптовый язык для платформы .net. К тому же плюсы кроссплатформены.
И для таких вопросов есть гугл, там дофига сравнения любых языков с любыми, даже если они не сравнимы и имеют разные задачи(как например ты сейчас задал вопрос).
 
Реклама: