Урок Гайд , как возродить крипов

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Илья, там придется и код абилки и скрипт абилки копировать
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
vulkantsk, сейчас пилю один проект с разрабом жна, но есть еще один, который я начал пилить только сегодня
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
196
www.dotabuff.com
Проект
Roshan defense
[quote author=I_GRIN_I link=topic=1587.msg10941#msg10941 date=1501694600]
vulkantsk, сейчас пилю один проект с разрабом жна, но есть еще один, который я начал пилить только сегодня
[/quote]
У что у тебя Биржа украла ?
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
vulkantsk, мега спиннер у Злого украли и еще куча остального у дота имбы и тд
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Илья, ну просто твои предметы и абилки узконаправленные, ты больше выживалки пилишь, которые не особо нужны публике... Я тоже ща пилил выживалку весь день, но я просто знаю как все свои задумки реализовать
 

Adam Smith

Друзья CG
4 Окт 2014
473
2
[quote author=I_GRIN_I link=topic=1587.msg10953#msg10953 date=1501712438]
vulkantsk, мега спиннер у Злого украли и еще куча остального у дота имбы и тд
[/quote]
Все кидаем репорты и это гавно удаляют. За енд.
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
196
www.dotabuff.com
Проект
Roshan defense
[quote author=I_GRIN_I link=topic=1587.msg10953#msg10953 date=1501712438]
vulkantsk, мега спиннер у Злого украли и еще куча остального у дота имбы и тд
[/quote]
А разве эти абилки/предметы открытые ?
Если да , то можно ссылку )
Тоже ченить украду ;)
 

somsim

Пользователь
14 Мар 2017
23
0
Прошу правь в 4й строке для места спавна "local caster_respoint = Entities:FindByName(nil,%ВОТ ТУТ%respawn_point%И ТУТ%):GetAbsOrigin() --Пробиваем адрес дома" - КОВЫЧКИ
 
Последнее редактирование модератором:

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
196
www.dotabuff.com
Проект
Roshan defense
Прошу правь в 4й строке для места спавна "local caster_respoint = Entities:FindByName(nil,%ВОТ ТУТ%respawn_point%И ТУТ%):GetAbsOrigin() --Пробиваем адрес дома" - КОВЫЧКИ
Поправил , правильно ?
 
Последнее редактирование модератором:

Dark

Новичок
20 Май 2018
1
0
привет
объясни для такого лоха как я ))
ты писал что без timers.lua это не работает, а че это вообще такое, что в этом файле должно быть.
 

uBluewolfu

Активный
20 Ноя 2017
90
5
привет
объясни для такого лоха как я ))
ты писал что без timers.lua это не работает, а че это вообще такое, что в этом файле должно быть.
Этот файл отвечает за таймеры, которые без функции в timers.lua не будут работать. В файле должно быть это.
 

rodor03

Пользователь
12 Июл 2018
61
0
Проект
Убей босса и выиграй
Для того , чтобы возрадить крипов нам потребуется крип находящийся по адресу dota_addons/ваш_мод/scripts/npc/npc_units_custom :
//=================================================================================
// Creature: Gnoll Assassin
//=================================================================================

"npc_dota_creature_gnoll_assassin"
{
// 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" ".9"

// Abilities
//----------------------------------------------------------------
"Ability1" "Respawn" // Ability 1
"Ability2" "" // Ability 2
"Ability3" "" // Ability 3
"Ability4" "" // Ability 4

// Armor
//----------------------------------------------------------------
"ArmorPhysical" "1" // 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_NEUTRALS" // 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"
}
}
И абилка : "Ability1" "Respawn" // Ability 1
Которую вы создадите по адресу dota_addons/ваш_мод/scripts/npc/npc_abilites_custom.txt
"Respawn"
{
"BaseClass" "ability_datadriven"
"AbilityTextureName" "ability_name"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE|DOTA_ABILITY_BEHAVIOR_HIDDEN"

"OnOwnerDied" //Когда юнит умирает
{
"RunScript" //Запускается скрипт
{
"ScriptFile" "scripts/vscripts/units.lua"
"Function" "Respawn"
}
}
}
Для работы следующего трюка потребуется базовый набор скриптов Barebones: "Addon_game_mode.lua", "timers.lua" и "Barenones.lua" , которые нужно сохранить по адресу : "dota_addons/ваш_мод/scripts/vscripts"
https://github.com/MNoya/barebones/tree/source2/game/dota_addons/barebones/scripts/vscripts
Без репозитория "timers.lua" функция "Timers:CreateTimer()" не будет работать !
А также потребуется файл, который нужно создать по адресу dota_addons/ваш_мод/scripts/vscripts/
"units.lua"
Если вы хотите, чтобы юнит возрождался на том же самом месте,где собственно и был убит,то надо вставить в файл :
Код:
function Respawn (keys )
    local caster= keys.caster                --пробиваем IP усопшего
    local caster_position = caster:GetAbsOrigin() --Пробиваем адрес,где лежит жмурик
    local name= caster:GetUnitName()         --Пробиваем имя покойного
    Timers:CreateTimer(5,function()              --Через сколько секунд появится новый фраер(5)
    local unit = CreateUnitByName(name, caster_position + RandomVector( RandomFloat( 0, 50)), true, nil, nil, DOTA_TEAM_NEUTRALS)
-- создаем нового пацыка по трем аргументам ( имя покойного ,адрес жмурика ,true,nil,nil,Команда_нейтралов)
    end)
end
Однако ,если у юнита есть точка,куда нужно вернуть бедолагу , тогда в файл надо вставить следующее:
Код:
function Respawn (keys )
    local caster= keys.caster                --пробиваем IP усопшего
    local team= caster:GetTeamNumber()      --пробиваем команду терпилы
    local caster_respoint = Entities:FindByName(nil,"respawn_point"):GetAbsOrigin() --Пробиваем адрес дома
    local name= caster:GetUnitName()         --Пробиваем имя покойного
    Timers:CreateTimer(5,function()              --Через сколько секунд появится новый фраер(5)
    local unit = CreateUnitByName(name, caster_respoint + RandomVector( RandomFloat( 0, 50)), true, nil, nil, team)
-- создаем нового пацыка по трем аргументам ( имя покойного ,адрес дома ,true,nil,nil,команда терпилы)
    end)
end
Точку "respawn_point" можно создать в Hammer_Edditor
Entity Tool - Entity Class:"info_target" - Properties:Name"respawn_point".
Вот собсна всё .

Дополнительный гайд по теме https://customgames.ru/forum/threads/Дополнение-Гайд-как-возродить-крипов.1440/
А как поставить чтобы он спавнился в раз 8 минут
 

rodor03

Пользователь
12 Июл 2018
61
0
Проект
Убей босса и выиграй
поставь время в таймере на стоко секунд сколько тебе нужно (прочитай код внимательней)
Timers:CreateTimer(5,function() --Через сколько секунд появится новый фраер(5) эта строчка?
 
Реклама: