myoffice91
Posts: 88
|
|
01.10.2019 19:20 |
|
igrik
Posts: 2819
|
(01.10.2019 19:20)myoffice91 Wrote: Quote:Ресейвер CM (инфо по кликам мышки)
F$
Флаги для кликов мышью
37 - CTRL+ALT+SHIFT+левая кнопка мыши
36 - CTRL+ALT+левая кнопка мыши
Ну конечно!
В хелпе же написано, что номера можно комбинировать
CTRL+ALT+SHIFT+ЛКМ = 37 = (4+32+1+0)
CTRL+ALT+ЛКМ = 36 = (4+32+0)
ERM Help Wrote:F$
Флаги для кликов мышью 0 = левая кнопка мыши 1 = Shift+ левая кнопка мыши 4 = Ctrl + левая кнопка мыши 32 = Alt + левая кнопка мыши 512 = правая кнопка мыши
Номера можно комбинировать, например, 5 будет означать, что должны быть нажаты Shift + Ctrl + левая кнопка мыши. Правая кнопка не может быть ни с чем комбинирована.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
01.10.2019 19:47 |
|
Bes
Posts: 5422
|
(15.05.2019 08:29)wessonsm Wrote: Если я не ошибаюсь, есть серьезная ошибка в русском описании команды !!OW:W
...
На самом деле команда !!OW:W#1/$1; возвращает в $1 количество городов под контролем игрока #1.
(15.05.2019 11:21)XEPOMAHT Wrote: команда позволяет считывать/изменять _PlayerSetup_.HasTowns, а это... количество городов у игрока.
уточните, сколько городов можно установить? и нужно ли замечание в справке сделать по поводу установки кол-ва городов, когда поставят число больше чем есть по факту... будут ли ошибки игры?
wessonsm Wrote:P.S. Очень долго искал в справочнике описание конструкции if-el-en.
Оказывается, в списке ресиверов сверху она обозначена как I/E (буквы заглавные почему-то). Неочевидно от слова "совсем".
А в списке ресиверов справа (кнопка "Ресейверы") ее вообще нет.
исправил, что касается самой кнопки, я подумаю, может и стоит её переделать по понятнее
(15.05.2019 12:29)wessonsm Wrote: Кстати, я тут еще подумал, неплохо было бы иметь русский вариант справочника в .html, а не в .chm.
я думаю можно и в самом html выкладывать параллельно с *.chm, на Я.диске сделал
|
|
15.01.2020 11:40 |
|
Bes
Posts: 5422
|
XEPOMAHT, понятно, но что будет при выставлении > 48 ?
вылет? или молчаливое игнорирование игрой такого значения?
что будет возвращаться при отсутствии у игрока городов? 0
а если игрок мёртв? 0или -1 ?
это чтобы я правильно указал диапазон... я так понимаю он должен быть в тексте как 0..48
(This post was last modified: 15.01.2020 12:10 by Bes.)
|
|
15.01.2020 12:06 |
|
XEPOMAHT
Posts: 2356
|
(15.01.2020 12:06)Bes Wrote: XEPOMAHT, понятно, но что будет при выставлении > 48 ?
вылет? или молчаливое игнорирование игрой такого значения?
Скорее всего игра может падать - в коде вога проверки на диапазон отсутствуют, т.е. проверять придётся скриптёру.
(15.01.2020 12:06)Bes Wrote: что будет возвращаться при отсутствии у игрока городов? 0
а если игрок мёртв? 0или -1 ?
0
(15.01.2020 12:06)Bes Wrote: это чтобы я правильно указал диапазон... я так понимаю он должен быть в тексте как 0..48
0..48
(This post was last modified: 15.01.2020 13:14 by XEPOMAHT.)
|
|
15.01.2020 12:40 |
|
igrik
Posts: 2819
|
(15.01.2020 12:40)XEPOMAHT Wrote: (15.01.2020 12:06)Bes Wrote: это чтобы я правильно указал диапазон... я так понимаю он должен быть в тексте как 0..48
0..48
Эмм...
Может всё таки 0...47 (это и есть 48 городов)
А 0...48 (это 49 городов)
game bug fixes extended.dll || My Plugins || My GitHub
|
|
15.01.2020 14:15 |
|
igrik
Posts: 2819
|
(15.01.2020 14:21)XEPOMAHT Wrote: Там не номер города, а их количество, т.е. -1 - установит количество городов, равному номеру текущего (по сути баг, так нельзя), 0 - городов нет, 1 - 1 город и т.д. По сути, надо было делать 2 отдельные команды, а не лепить в одну, чтобы скриптёры не путались.
Я это понимаю. Просто ты указал неверный диапазон 0...48. Я поправил тебя и указал, что правильный диапазон 0...47
Справка по моему мнению должна гласить так
Quote:W#1/$1
Получить количество городов под контролем игрока #1 – игрок $1 – количество городов у игрока
--------------------------------------------------------------------------------
W#1/#2/$1
Установить/проверить порядковый номер города на карте из таблицы городов игрока #1 #1 – игрок #2 – номер города в таблице городов игрока (0…47) $1 – установить или проверить номер города на карте (0…47)
game bug fixes extended.dll || My Plugins || My GitHub
|
|
15.01.2020 14:39 |
|
igrik
Posts: 2819
|
(15.01.2020 16:01)Berserker Wrote: Такое бывает в героях, чтобы номер города на карте отличался от его индекса в массиве городов в нормальном случае?
Я думаю что нет, не отличается. Просто, как я понимаю, ты говоришь о массиве городов в игровом менеджере 0x699538
Доступ к структуре города правильно получать (0x699538->0x21614) + 360 * town_id)
Вот town_id как раз и есть номер города на карте.
А в справке в команде OW:W речь идет конкретно о стуктуре игрока (красный, синий и т.д.), в которой в каждой есть свой массив с кол-вом городов под контролем игрока и массивом городов byte[48], в которых индекс (это номер города в списке у конкретного игрока) и значением (номер города на карте town_id ).
Надеюсь я правильно донёс смысл.
Что-то типо этого: получить структуру третьего города у красного игрока:
Code:
BYTE town_id = o_GameMgr->Player[0].towns_ids[2];
_Town_* town = o_GameMgr->(0x21614) + 360 * town_id;
game bug fixes extended.dll || My Plugins || My GitHub
|
|
15.01.2020 16:32 |
|
wessonsm
Posts: 792
|
Quote:Я это понимаю. Просто ты указал неверный диапазон 0...48. Я поправил тебя и указал, что правильный диапазон 0...47
Я думаю, 0..47 - правильный диапазон для номера города.
0..48 - правильный диапазон для количества городов.
Если к-ство городов 1, он имеет номер 0,
если к-ство городов 2, они имеют номера 0 и 1 и так далее.
..
если к-ство городов 48, они имеют номера 0..47.
(This post was last modified: 15.01.2020 17:17 by wessonsm.)
|
|
15.01.2020 17:08 |
|
Berserker
Posts: 16657
|
|
15.01.2020 20:18 |
|