Простые вопросы #3

Rainor

Пользователь
11 Май 2020
12
0
как выдать определенному герою предмет при пике?
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Как то не понятно.
Можно примерами ?)
на клиенте делаешь http запрос на свой сервер в параметрах указываешь ключ -> на сервере проверяешь ключ ( совпадает ли с ключем твоей кастомки или нет) и возвращаешь строку например "print('hello world') -> при получении ответа делаешь loadstring(твой ответ). Чего тут не понятно?
 
20 Дек 2016
892
170
на клиенте делаешь http запрос на свой сервер в параметрах указываешь ключ -> на сервере проверяешь ключ ( совпадает ли с ключем твоей кастомки или нет) и возвращаешь строку например "print('hello world') -> при получении ответа делаешь loadstring(твой ответ). Чего тут не понятно?
Разве изначальный вопрос был не о защите кода кастомки? Или вы предлагаете хранить некоторые скрипты у себя и передавать их по http при загрузке игры?
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Разве изначальный вопрос был не о защите кода кастомки? Или вы предлагаете хранить некоторые скрипты у себя и передавать их по http при загрузке игры?
Да. Это тратит больше ресурсов, но код более защищён но не на уровне представления, а на уровне доступа к нему. Ну а так, если вам надо хранить код именно в доте то можно обфусцировать его перед публикацией
 

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
после патча отображение модифаеров сошло с ума у вас тоже? что ещё патч сломал?
 

Dangalor

Пользователь
11 Авг 2016
32
0
после патча отображение модифаеров сошло с ума у вас тоже? что ещё патч сломал?
Не просто отображение, к примеру модифаер видно
Код:
"item_create_1"
  {
    "ID"            "2101"
    "AbilityBehavior"       "DOTA_ABILITY_BEHAVIOR_PASSIVE"
    "BaseClass"         "item_datadriven"
    "Model"           "models/props_gameplay/red_box.vmdl"
    "AbilityTextureName"        "item_create_1"
    "ItemCost"              "500"
    "ItemKillable"          "1"
    "ItemDroppable"         "1"
    "ItemSellable"          "1"
    "ItemPurchasable"       "1"
    "ItemQuality"           "common"
    "ItemShareability"      "ITEM_FULLY_SHAREABLE"
    "ItemDisassembleRule"   "DOTA_ITEM_DISASSEMBLE_ALWAYS"

    "Modifiers"
    {
      "modifier_1"
      {
        "Passive"     "1"
        "IsHidden"      "1" //если тут написать "true" модиф больше не отображается(но зелёный урон так и не появился)
        "Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
        "Properties"
        {
            "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE" "%ad"
            "MODIFIER_PROPERTY_HEALTH_BONUS" "%hp"
        }
      }
Добавляет персонажу законные 8 урона но они не отображаются как зелёные цифры

Так же умерли некоторые датадрейвен партикли, такие как БКБ и Бладмэйл
 
Последнее редактирование:

DDSuper

Друзья CG
31 Май 2019
405
57
Не просто отображение, к примеру модифаер видно
Код:
"item_create_1"
  {
    "ID"            "2101"
    "AbilityBehavior"       "DOTA_ABILITY_BEHAVIOR_PASSIVE"
    "BaseClass"         "item_datadriven"
    "Model"           "models/props_gameplay/red_box.vmdl"
    "AbilityTextureName"        "item_create_1"
    "ItemCost"              "500"
    "ItemKillable"          "1"
    "ItemDroppable"         "1"
    "ItemSellable"          "1"
    "ItemPurchasable"       "1"
    "ItemQuality"           "common"
    "ItemShareability"      "ITEM_FULLY_SHAREABLE"
    "ItemDisassembleRule"   "DOTA_ITEM_DISASSEMBLE_ALWAYS"

    "Modifiers"
    {
      "modifier_1"
      {
        "Passive"     "1"
        "IsHidden"      "1" //если тут написать "true" модиф больше не отображается(но зелёный урон так и не появился)
        "Attributes" "MODIFIER_ATTRIBUTE_MULTIPLE"
        "Properties"
        {
            "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE" "%ad"
            "MODIFIER_PROPERTY_HEALTH_BONUS" "%hp"
        }
      }
Добавляет персонажу законные 8 урона но они не отображаются как зелёные цифры

Так же умерли некоторые датадрейвен партикли, такие как БКБ и Бладмэйл
Да прятать зелёные цифры, например: спрятать бонусный урон крипу или нпс.
Круть!
 

kain

Активный
2 Окт 2015
125
63
steamcommunity.com
Проект
GreenCircleTD
Разве изначальный вопрос был не о защите кода кастомки? Или вы предлагаете хранить некоторые скрипты у себя и передавать их по http при загрузке игры?
дарклорд тот который любит не придумывать а брать чужое) кастомхеро клаш
передает только модуль декрипта - а основной файл addon_game_lua 100кб лежит локально, но в тулзах увы не работает(шифр,возможно и после ключа там обфускация)... поскольку без дедик ключа модуль не скачивается.
метод не ахти какой, но достаточно оптимизированный получился.
 

DDSuper

Друзья CG
31 Май 2019
405
57
Да. Это тратит больше ресурсов, но код более защищён но не на уровне представления, а на уровне доступа к нему. Ну а так, если вам надо хранить код именно в доте то можно обфусцировать его перед публикацией
Все одно не понял
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Как подключить луа через яву?
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Все одно не понял
вот тебе пример, если не поймешь, то тут мои полномочия иссякают
Lua:
local req = CreateHTTPRequestScriptVM( "get" , "http://localhost:5000/example" --[[ ещё можно дописать сюда параметром dedicated server key]])
        req:SetHTTPRequestRawPostBody("application/json", "{}")--[[или сюда]]
        req:Send(function(res)
            if (res.StatusCode >= 200 and res.StatusCode <=299) then
                ConsoleLog(res.Body)
                local a = loadstring(res.Body)
                a()
            else
                local result = http.RequestError(res.StatusCode)
                if (res == nil) then result = 0 end
            end
        end)
C#:
 [HttpGet("/example")]
        public IActionResult TestCode()
        {
           // тут проверяешь свой ключ, если все ок, то идем дальше, иначе возвращаем пустую строку
            return new OkObjectResult("print(\"HI THERE!! IT WORKS!!!!!!!\")");

        }
или
PHP:
// тут проверяешь свой ключ, если все ок, то идем дальше, иначе возвращаем пустую строку
//или так
echo "print(\"HI THERE!! IT WORKS!!!!!!!\")";
//или так
print_r("print(\"HI THERE!! IT WORKS!!!!!!!\")");

1590694521723.png
 
Последнее редактирование:

LAPKI

Продвинутый
26 Окт 2018
271
61

Дикий Пёс

Друзья CG
28 Июн 2017
411
96
Проект
Petri Reborn
Реклама: