ГлавнаяБлогКарты Warcraft 3Гайды для первой ДотыГайды для Доты 2 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: XOPYC  
Форум » Картостроение в Warcraft 3 » Обучение » Помогите разобратся с глюком!
Помогите разобратся с глюком!
Дата: Пятница, 10.02.2017, 14:21 | Сообщение # 1
Рядовой
Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Здравствуйте. Помогите пожалуйста решить парочку проблем.

Первая проблема:
В прикрепленной карте есть триггер "sd ag"

Так вот этот триггер срабатывает за игру 2-а раза, первый при моде "SingleDraft" это тот же "sd" в доте и все работает нормально, а второй раз срабатывает спустя 20 секунд после начала игры для того что бы выбрать героев всем игрокам которые их еще не выбрали и вот тут происходит глюк. Когда я просчитывал цепочку действий триггера понял что глюк происходит между красной рамкой и синей. В красной рамке в переменную записывается случайный юнит, когда действие доходит до синей рамки юнита в переменной уже нету, а когда действие доходит до желтой переменной появляется совсем другой юнит. Но этот вид глюка редко происходит, обычно бывает так что вообще не кто не куда не записывается.
Этот триггер отвечает за рандомных ловкачей есть так же и за разумщиков "sd int" и за силачей "sd st" все эти 3-и триггера одинаковы но глюк происходит почему то только в первом. Я его как тока не пытался исправить даже в редакторе переменных во всех переменных с массивом установил размер(обычно все переменные с массивом оставлял на 1), переводил это триггер в Jass искал там ошибки я в Jass'е разбираюсь на уровне новичка ток что может что то и не заметил но вроде все в порядке, кстати проверял этот триггер переведенным в Jass в игре все равно глюк есть. Вот скрин из игры где показан глюк:

В красных рамках установило "пустоту" и соответственно не кого не дало. Еще в синей рамке не кого не установило, повезло 9-у и 10-у боту что им не выпал герой из ловкачей. И еще токо что заметил что в цикл попал 11 игрок хотя в цикле всего 10 повторений.

Вторая проблема:
Это как бы не проблема просто хочу спросить как сделать что бы было как в доте, на пример у героя есть 5 "Ironwood Branch" в 6-ом слоту находится "Boots of speed" и герой покупает или берет с земли ну или ему кура приносит "Energy Booster" у него собирается "Arcane Boots" как будто у героя есть 7-й слот. Как вот эту штуку сделать? Я пробовал изменить способность "Предметы (герой)" переменная "Alnv" на 7 предметов не получилось.
Еще маленький вопрос как сделать команду подобной "-gold " из той же доты. Коротко говоря как считать цифры введенные в чате, не создавать же мне миллион триггеров. Пытался сделать такой триггер:
Cправка:
// GetEventPlayerChatString() означает "введенная строка чата" и = всему написанному тексту
// GetEventPlayerChatStringMatched() означает "соответствующая строка чата" и = -g
Триггер:
Событие: игрок 1 напечатал "-g " как Подстрока
Действие: cs set udg_g = schet(GetEventPlayerChatString(),GetEventPlayerChatStringMatched())

Код
function schet takes string n, string s returns integer
local integer i
    set i =0
    loop
        exitwhen i > 1000000
        if ( n == ( s + I2S (i) ) ) then
        return i
        else
        endif
        set i = i + 1
    endloop
endfunction

Но почему то максимальное число не миллеон а 11536 я хз из за чего это. Короче скажите как это сделать нормально и без токого головняка к то что зделал я.

P.S. Вы особо не внекайте что там я написал на счет перой проблемы, может я что то упустил и решение совсем легче чем я там себе на придумывал. Вы лутше покопайтесь в карте может что то и найдете и я оказался таким оленем что это не заметил, а может вы даже легче и лутше подобную системе сможите зделать. Карта третьим файлом.
Прикрепления: 5955898.jpg (275.6 Kb) · 3965851.jpg (433.5 Kb) · 87567897.w3x (590.8 Kb)
 
Дата: Пятница, 10.02.2017, 17:18 | Сообщение # 2
Генералиссимус
Проверенные
Сообщений: 5123
Награды: 13
Репутация: 72
Попозже чуток гляну :)

Телеграм @Tshkn
Мой YouTube-канал Se Squared
 
Дата: Суббота, 11.02.2017, 11:00 | Сообщение # 3
Рядовой
Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
спасибо буду ждать.

Добавлено (11.02.2017, 11:00)
---------------------------------------------
На счет команды -gold можете не писать, нашел одну наработку в которой не совсем эта команда была, но главное там был способ отловить цифры после команды оказалось очень легко.
Вот cs:

Код
set udg_G = S2I(SubStringBJ(GetEventPlayerChatString(), 4, StringLength(GetEventPlayerChatString())))

В место 4 ставьте число букв в вашей команде +1. У меня команда -g три знака включая пробел и +1. Почему +1 потому что игрок начинает печатать значение четвертым символом.
 
Дата: Суббота, 11.02.2017, 14:00 | Сообщение # 4
Генералиссимус
Проверенные
Сообщений: 5123
Награды: 13
Репутация: 72
Слишком сложно. Надо вникать. Чот лень. Наверно не буду отвечать. Надо тебе идти на hiveworkshop. Там помогут. А на этом форуме никто варкрафтом уже не занимается. Мне физически лень вникать во все эти триггеры и скрипты. Я могу только что-нибудь простенькое подсказать, что я уже обкатал 100500 раз. Но не чужие системы. Не сказать что твой запрос такой уж сложный. Но просто реально лень. Это энергетические затраты, за которые я ничего не получу :D

А на hiveworkshop конкуренция, воины за репутацию и т.д. Если они канеш сами не загнулись :D

kpb_oxra, зацени лучше редактор старкрафта 2. Он пёжже. Только в нем сохранения не робят, а в целом норм, годный редактор.


Телеграм @Tshkn
Мой YouTube-канал Se Squared
 
Дата: Суббота, 11.02.2017, 20:14 | Сообщение # 5
Рядовой
Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
а чо корты из старкрафта 2 в варике робят? Просто я в вар привык котать, а в старкрафт не охото играть.
 
Дата: Суббота, 11.02.2017, 21:24 | Сообщение # 6
Admin
Администраторы
Сообщений: 14865
Награды: 43
Репутация: 188
Может Хорус знает? Что то он пока не отписался в этой теме

Warcraft 3 - это уже легенда
WC3 - это мини-легенда
Дота - это альтернативный путь развития варкрафта
 
Дата: Суббота, 11.02.2017, 23:01 | Сообщение # 7
Генералиссимус
Проверенные
Сообщений: 5123
Награды: 13
Репутация: 72
Цитата kpb_oxra ()
а чо корты из старкрафта 2 в варике робят? Просто я в вар привык котать, а в старкрафт не охото играть.

Нет, не робят. Но сейчас пилится один мод. Варкрафт 3 с улучшенным графеном на двигле старкрафта 2. Правда мод уже несколько лет пилят, всё не допилят. Но получается норм.

Зацени: https://vk.com/waa_mod


Телеграм @Tshkn
Мой YouTube-канал Se Squared


Сообщение отредактировал Will - Суббота, 11.02.2017, 23:01
 
Дата: Воскресенье, 12.02.2017, 11:02 | Сообщение # 8
Рядовой
Пользователи
Сообщений: 14
Награды: 0
Репутация: 0
Ясно! Тогда можете ответить на этот вопрос:
Цитата
как сделать что бы было как в доте, на пример у героя есть 5 "Ironwood Branch" в 6-ом слоту находится "Boots of speed" и герой покупает или берет с земли ну или ему кура приносит "Energy Booster" у него собирается "Arcane Boots" как будто у героя есть 7-й слот. Как вот эту штуку сделать? Я пробовал изменить способность "Предметы (герой)" переменная "Alnv" на 7 предметов не получилось.

Он вроде легкий.
 
Дата: Воскресенье, 12.02.2017, 13:32 | Сообщение # 9
Генералиссимус
Модераторы
Сообщений: 12761
Награды: 22
Репутация: 142
kpb_oxra, не надо ничего менять, просто сделай триггер проверки инвентаря. Если у него есть всё, что нужно, то просто удаляешь предметы-детали и даёшь герою нужный предмет

это Ксопик!
 
Дата: Воскресенье, 12.02.2017, 20:28 | Сообщение # 10
Генералиссимус
Проверенные
Сообщений: 5123
Награды: 13
Репутация: 72
kpb_oxra, это делается через способность предмета. Когда руну подбираешь с полным инвентарем, она подбирается и юзается, но в предметах не остаётся. Сделай такой триггер который будет реагировать на использование предмета. Т.е. ты покупаешь предмет, а он автоматом уничтожается как руна. Тут триггер это замечает и чекает какие предметы у героя. Если есть что скрестить (с учетом того что герой только-что купил) - удаляются ненужные предметы и за место них "скрещенный". Если у героя нет нужных предметов, а инвентарь полон, пусть купленный предмет падает под ноги. Это делается изи, просто создавая новый предмет в той области, где стоит герой. Вроде в доте так же.

Добавлено (12.02.2017, 18:38)
---------------------------------------------
Беда такой системы в том что нужно пилить альтернативные предметы. Т.е. в лавках продаются "руны", а фактически будут покупаться другие альтернативные предметы, которые "не руны". Пнятненько?

Добавлено (12.02.2017, 20:28)
---------------------------------------------
Как варик кстати в Доте юзается джасс язык, который может отслеживать попытку приобретения предмета. Но я точно хз на счет этой темы. Не думал о ней. Думал только о том как можно замутить такую систему через руны.

Прежде чем так заморачиваться, советую погуглить эту тему хорошенько. И найти готовые наработки. Потому что иначе ты очень много времени потеряешь на то чтобы такую систему сделать.


Телеграм @Tshkn
Мой YouTube-канал Se Squared
 
Форум » Картостроение в Warcraft 3 » Обучение » Помогите разобратся с глюком!
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: