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

скрипт на максимальный уровень 100

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

Оффлайн dander072

  • 21
  • Мощь: 0
скажите пожалуйста скрипт на максимальный уровень

Онлайн -ErøtiC-

  • Администратор
  • 335
  • Мощь: 3
  • Забанен
Re: скрипт на максимальный уровень 100
« Ответ #1 : 01-04-2016, 19:16:52 »
С помощью этой функции SetCustomHeroMaxLevel

Код
-- Задаем таблицу опыта
XP_PER_LEVEL_TABLE = {
    0,-- 1
    200,-- 2
    500,-- 3
    900,-- 4
    1400,-- 5
    2000,-- 6
    2600,-- 7
    3200,-- 8
    4400,-- 9
    5400,-- 10
    6000,-- 11
    8200,-- 12
    9000,-- 13
    10400,-- 14
    11900,-- 15
    13500,-- 16
    15200,-- 17
    17000,-- 18
    18900,-- 19
    20900,-- 20
    23000,-- 21
    25200,-- 22
    27500,-- 23
    29900,-- 24
    32400,-- 25
    35000,-- 26
    37700,-- 27
    40500,-- 28
    43400,-- 29
    46400,-- 30
    49500,-- 31
    52700,-- 32
    56000,-- 33
    59400,-- 34
    62900,-- 35
    66500,-- 36
    70200,-- 37
    74000,-- 38
    77900,-- 39
    81900,-- 40
    86000,-- 41
    90200,-- 42
    94500,-- 43
    98900,-- 44
    103400,-- 45
    108000,-- 46
    112700,-- 47
    117500,-- 48
    122400,-- 49
    127400 -- 50
    --и т.д. до 100
}

-- Тащим её в инит
function CAddonGameMode:InitGameMode()
    GameRules:GetGameModeEntity():SetUseCustomHeroLevels( true ) -- установка кастомной системы урвоней
    GameRules:GetGameModeEntity():SetCustomHeroMaxLevel( 100 ) -- максимальный уровень
    GameRules:GetGameModeEntity():SetCustomXPRequiredToReachNextLevel( XP_PER_LEVEL_TABLE ) -- указываем таблицу
end

Оффлайн dander072

  • 21
  • Мощь: 0
Re: скрипт на максимальный уровень 100
« Ответ #2 : 02-04-2016, 04:39:34 »
можешь мне просто отправить файл с этим скриптом?

Оффлайн dander072

  • 21
  • Мощь: 0
Re: скрипт на максимальный уровень 100
« Ответ #3 : 02-04-2016, 08:45:46 »
я вставил код он выдал ошибку [   Developer            ]: ...\dota_addons\wars_of_god\scripts\vscripts\addon_init.lua:57: attempt to index global 'CAddonGameMode' (a nil value)
[   Developer            ]: stack traceback:
[   Developer            ]:    ...\dota_addons\wars_of_god\scripts\vscripts\addon_init.lua:57: in main chunk
[ W VScript              ]: Script Runtime Error: ...\dota_addons\wars_of_god\scripts\vscripts\addon_init.lua:57: attempt to index global 'CAddonGameMode' (a nil value)
[ W VScript              ]: stack traceback:
[ W VScript              ]:    ...\dota_addons\wars_of_god\scripts\vscripts\addon_init.lua:57: in main chunk
[ W VScript              ]: Error running script named addon_init

Онлайн -ErøtiC-

  • Администратор
  • 335
  • Мощь: 3
  • Забанен
Re: скрипт на максимальный уровень 100
« Ответ #4 : 02-04-2016, 09:07:55 »
dander072,
Steam\SteamApps\common\dota 2 beta\game\dota_addons\название аддона\scripts\vscripts

После
Код
if CAddonTemplateGameMode == nil then
   CAddonTemplateGameMode = class({})
end
Добавляем таблицу с опытом

Код
-- XP Table:
HeroMaxLevel = 150
HeroExpTable = {0}
exp={60,120,180,240,300,360,420,480,540,600,
    660,720,780,840,900,960,1020,1080,1140,1200,
    1260,1320,1380,1440,1500,1560,1620,1680,1740,1800,
    1860,1920,1980,2040,2100,2160,2220,2280,2340,2400,
    2460,2520,2580,2640,2700,2760,2820,2880,2940,3000,
    3060,3120,3180,3240,3300,3360,3420,3480,3540,3600,
    3660,3720,3780,3840,3900,3960,4020,4080,4140,4200,
    4260,4320,4380,4440,4500,4560,4620,4680,4740,4800,
    4860,4920,4980,5040,5100,5160,5220,5280,5340,5400,
    5460,5520,5580,5640,5700,5760,5820,5880,5940,6000,
    6060,6120,6180,6240,6300,6360,6420,6480,6540,6600,
    6660,6720,6780,6840,6900,6960,7020,7080,7140,7200,
    7260,7320,7380,7440,7500,7560,7620,7680,7740,7800,
    7860,7920,7980,8040,8100,8160,8220,8280,8340,8400,
    8460,8520,8580,8640,8700,8760,8820,8880,8940,9000,
    9060,9120,9180,9240,9300,9360,9420,9480,9540,9600
   }

xp=0
for i=2,HeroMaxLevel-1 do
   HeroExpTable[i]=HeroExpTable[i-1]+exp[i-1]
end
Здесь таблица с опытом сделана с помощью массива

Ищем функцию function CAddonTemplateGameMode:InitGameMode() и добавляем в неё следующие строчки:
Код
 	GameRules:GetGameModeEntity():SetCustomXPRequiredToReachNextLevel(HeroExpTable)
GameRules:GetGameModeEntity():SetCustomHeroMaxLevel(HeroMaxLevel)

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: скрипт на максимальный уровень 100
« Ответ #5 : 02-04-2016, 09:43:51 »
dander072, если хочешь мутить "приколюхи" в кастомках, то изучай программирование.

Оффлайн dander072

  • 21
  • Мощь: 0
Re: скрипт на максимальный уровень 100
« Ответ #6 : 02-04-2016, 14:20:59 »
а как сделать чтобы статы можно было вкачивать?

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: скрипт на максимальный уровень 100
« Ответ #7 : 02-04-2016, 15:32:51 »
За это отвечает абилка

Код

//=================================================================================================================
// Ability: Attribute Bonus
//=================================================================================================================
"attribute_bonus"
{
// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5002" // unique ID number for this ability.  Do not change this once established or it will invalidate collected stats.
"AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"attribute_bonus_per_level" "2.0"
}
}
}


Правишь ее под себя и даешь героям вместо оригинальной.  Про редактирование абилок тут можешь почитать.

Оффлайн dander072

  • 21
  • Мощь: 0
Re: скрипт на максимальный уровень 100
« Ответ #8 : 02-04-2016, 16:53:11 »
что не так с этим скриптом?
Код
// Dota Heroes File
"DOTAAbilities"
{
"Version" "1"

//=================================================================================================================
// Templar Assassin: Refraction Holdout
//=================================================================================================================
"templar_assassin_refraction_holdout"
{

// General
//-------------------------------------------------------------------------------------------------------------
"ID" "5002" // unique ID number for this ability.  Do not change this once established or it will invalidate collected stats.
"AbilityType" "DOTA_ABILITY_TYPE_ATTRIBUTES"
"AbilityBehavior" "DOTA_ABILITY_BEHAVIOR_PASSIVE"
"MaxLevel"                                       "130"
                "RequiredLevel"                                  "-1"
                "LevelsBetweenUpgrades"                           "1"

// Special
//-------------------------------------------------------------------------------------------------------------
"AbilitySpecial"
{
"01"
{
"var_type" "FIELD_FLOAT"
"attribute_bonus_per_level" "2.0"
}
}
}

на темпларке тупо пустое место вместо него и пишет способность на макс уровне

Пользуйся тегом code. Последнее предупреждение.
« Последнее редактирование: 02-04-2016, 17:05:22 от -ExotiC- »

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16

Оффлайн remeercs

  • 64
  • Мощь: 1
Re: скрипт на максимальный уровень 100
« Ответ #10 : 19-02-2017, 07:08:52 »
С помощью этой функции SetCustomHeroMaxLevel

Код
-- Задаем таблицу опыта
XP_PER_LEVEL_TABLE = {
    0,-- 1
    200,-- 2
    500,-- 3
    900,-- 4
    1400,-- 5
    2000,-- 6
    2600,-- 7
    3200,-- 8
    4400,-- 9
    5400,-- 10
    6000,-- 11
    8200,-- 12
    9000,-- 13
    10400,-- 14
    11900,-- 15
    13500,-- 16
    15200,-- 17
    17000,-- 18
    18900,-- 19
    20900,-- 20
    23000,-- 21
    25200,-- 22
    27500,-- 23
    29900,-- 24
    32400,-- 25
    35000,-- 26
    37700,-- 27
    40500,-- 28
    43400,-- 29
    46400,-- 30
    49500,-- 31
    52700,-- 32
    56000,-- 33
    59400,-- 34
    62900,-- 35
    66500,-- 36
    70200,-- 37
    74000,-- 38
    77900,-- 39
    81900,-- 40
    86000,-- 41
    90200,-- 42
    94500,-- 43
    98900,-- 44
    103400,-- 45
    108000,-- 46
    112700,-- 47
    117500,-- 48
    122400,-- 49
    127400 -- 50
    --и т.д. до 100
}

-- Тащим её в инит
function CAddonGameMode:InitGameMode()
    GameRules:GetGameModeEntity():SetUseCustomHeroLevels( true ) -- установка кастомной системы урвоней
    GameRules:GetGameModeEntity():SetCustomHeroMaxLevel( 100 ) -- максимальный уровень
    GameRules:GetGameModeEntity():SetCustomXPRequiredToReachNextLevel( XP_PER_LEVEL_TABLE ) -- указываем таблицу
end
я написал это в абилите гейм мод!правильно?

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Re: скрипт на максимальный уровень 100
« Ответ #11 : 21-02-2017, 07:05:29 »
Ну если правильно, то проверь и будет работать правильно. Иначе нет.

А так вообще не обязательно именно в game mode писать, можешь где угодно, главное, чтобы ты подключил таблицу через
Код
GameRules:GetGameModeEntity():SetCustomXPRequiredToReachNextLevel( XP_PER_LEVEL_TABLE )

там, где ты задаешь правила своему моду (где ты херачишь все эти GameRules).