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

Модифицирую кнопку под пик

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

Оффлайн Роман

  • 88
  • Мощь: 0
Вот гайд customgames.ru/tu...m-prostuyu-knopku .
Вообщем хочу переделать эту кнопку под пик, что я делаю.Иду в луа,и js.
Код


function onBtnTestClick(event){
    $.Msg("onBtnTestClick") // вывод в консоль

    var plyID = Game.GetLocalPlayerID(); // Game - глобальная штука, смотри API JS

    var data = { // Обьект для передачи в Луа
        playerID: plyID,
        msg: event         // аргумен, который указывали в хмл onactivate="onBtnTestClick('myArgument')
    }

    // кладем       "придуманное_имя_события" и наш обьект
    GameEvents.SendCustomGameEventToServer(  "event_test",             data );

}

Код

function GameMode:OnTest( keys )
  for k,v in pairs(keys) do
    print(k,v)
      PlayerResource:ReplaceHeroWith(v, "npc_dota_hero_night_stalker", 0, 0)
  end

end
Значит для начала, как типичный ноунейм в программировании и языке луа. Беру и ставлю у команды
PlayerResource:ReplaceHeroWith(v, "npc_dota_hero_night_stalker", 0, 0)
Как айди игрока ставлю v и что же происходит, кажется, что все работает ,но нет у нас ещё и пишеться по мимо айди игрока ещё и эта строчка из js. Казалось бы удалил её и все но это слишком просто. Тут в моей голове пришло 2 варианта норм изучуть for и pairs из луа, либа юзать что нибудь другое. Пока остановился на 1.Пошел гуглить pairs lua. Вот что я нашел www.lua.ru/doc/5.1.html
pairs (t)

Возвращает три значения: функцию next (результат вызова, примечание переводчика), таблицу t, и nil, поэтому конструкция

       
          for k,v in pairs(t) do body end
         
будет выполнять итерацию по всем ключевым парам таблицы t.

См. предупреждения для функции next если Вы хотите в процессе итерации модифицировать таблицу.
И брат этой функции

ipairs (t)

Возвращает три значения: итератор, таблицу t, и 0, поэтому конструкция


        for i,v in ipairs(t) do body end
       
будет выполнять цикл парами (1,t[1]), (2,t[2]), ···, до первого целого ключа, отсутствующего в таблице.
И вижу я, что у ipairs есть массив, но не знаю ,как его сюда написать заместо v...
PlayerResource:ReplaceHeroWith(v, "npc_dota_hero_night_stalker", 0, 0)
Вот такой вопрос ноунейма в луа, подскажите плз

Оффлайн Роман

  • 88
  • Мощь: 0
Re: Модифицирую кнопку под пик
« Ответ #1 : 15-07-2017, 16:36:19 »
ну ок вопрос тупой просто уберу 1 строчку из java

Оффлайн I_GRIN_I

  • Продвинутый
  • 390
  • Мощь: 6
  • Научиться бы скриптить...
Re: Модифицирую кнопку под пик
« Ответ #2 : 16-07-2017, 18:00:22 »
Роман, че ты несешь то вообще чекнутый, на русском говори

Оффлайн Илья

  • Супермодератор
  • 1912
  • Мощь: 16
Re: Модифицирую кнопку под пик
« Ответ #3 : 16-07-2017, 18:53:52 »
Он своим энтузиазмом меня напоминает, когда я только моддингом начинал заниматься.
Однако да, мою речь люди разбирали и я даже какие-то моменты описывал доселе малоизведанные потому что ими никто не интересовался, а черт разбери о чем он порой говорит.

Оффлайн I_GRIN_I

  • Продвинутый
  • 390
  • Мощь: 6
  • Научиться бы скриптить...
Re: Модифицирую кнопку под пик
« Ответ #4 : 16-07-2017, 20:56:22 »
Илья, он помоему форум использует как свой дневник

Оффлайн Илья

  • Супермодератор
  • 1912
  • Мощь: 16
Re: Модифицирую кнопку под пик
« Ответ #5 : 17-07-2017, 00:15:59 »
Илья, он помоему форум использует как свой дневник

Я приблизительно так же делал. Просто тогда трудно было оценить сложность проблемы/вопроса. Поэтому после 30 минут безуспешных поисков ответа, выкладываешь вопрос. Но не останавливаешься на этом и продолжаешь искать решение. В результате через часа два его находишь неведомым образом, но на форуме то люди не так часто появляются, в итоге отписываешься о решении сам.

Например тот же Den4icc иногда подобные посты делает : )