Ñêðèïòû - Ñòðàíèöà 263 - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
Ñòðàíèöà 263 èç 263
 
Îïöèè òåìû
#3931
Ñòàðûé 13.07.2024, 20:34
  #3931
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Ну если глянуть код DialogBox'а, то можно предположить, что проблема в использовании GetCurrentPlayer там. TalkBox ожидает первым аргументом не номер игрока, а его filter. Для 1 и 2 игрока фильтр равен номеру, но для 3+ нет. Поэтому, вероятно, и работает только для двух первых игроков. Если проблема в этом, то решением будет обернуть первый аргумент DialogBox'а - GetPlayerFilter(GetCurrentPlayer())
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3932
Ñòàðûé 13.07.2024, 21:09
  #3932
^
green belly
 
Àâàòàð äëÿ green belly
📖
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 13
Ðåãèñòðàöèÿ: 14.06.2024
Ñîîáùåíèÿ: 13
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Попробовал поменять местами 1 с 3 объектами, код оставил прежним.

Было так:
первый игрок = объект "1"
второй игрок = объект "2" и т.д.
3 игрок и 3 объект и так до 8 не работали

Стало так:
первый игрок касается объекта "3" и все работает
третий игрок касается объекта "1" и не работает.

Значит код верный и работает для всех 8 функций.

Получается дело в номере игрока - для 2 игроков работает, для 6 нет.
Придется отказаться от классной задумки бонуса на усмотрение игрока человека(((

 



Добавлено через 28 минут
GerterНу если глянуть код DialogBox'а, то можно предположить, что проблема в использовании GetCurrentPlayer там. TalkBox ожидает первым аргументом не номер игрока, а его filter. Для 1 и 2 игрока фильтр равен номеру, но для 3+ нет. Поэтому, вероятно, и работает только для двух первых игроков. Если проблема в этом, то решением будет обернуть первый аргумент DialogBox'а - GetPlayerFilter(GetCurrentPlayer())
Прописал получение фильтра, все заработало, благодарю 
green belly âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3933
Ñòàðûé 13.07.2024, 22:05
  #3933
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 834
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

сразу бы хотел предупредить, что если собираешься юзать талкбоксы в мультиплеере по сети, то лучше сразу отказаться от этой идеи, т.к. эта функция ломает сейвы в мультике.
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3934
Ñòàðûé 13.07.2024, 22:17
  #3934
^
Äîëãèé
 
Àâàòàð äëÿ Äîëãèé
📖
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 98
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 98
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

green belly

Попробовал поменять местами 1 с 3 объектами, код оставил прежним.

Было так:
первый игрок = объект "1"
второй игрок = объект "2" и т.д.
3 игрок и 3 объект и так до 8 не работали

Стало так:
первый игрок касается объекта "3" и все работает
третий игрок касается объекта "1" и не работает.

Значит код верный и работает для всех 8 функций.

Получается дело в номере игрока - для 2 игроков работает, для 6 нет.
Придется отказаться от классной задумки бонуса на усмотрение игрока человека(((

 



Добавлено через 28 минут
Прописал получение фильтра, все заработало, благодарю 
 
У всех функций которые называются ....BoxForPlayers аргумент на id игрока работает странно. 1 игрок = 1, 2 игрок = 2, 3 игрок = 4, 4 игрок = 8, 5 игрок = 16, 6 игрок = 32, 7 игрок = 64, 8 игрок = 128. Насчет последних 2 не уверен, проверял только для 6 игроков. 
Äîëãèé âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3935
Ñòàðûé 14.07.2024, 17:27
  #3935
^
Jack_of_shadows
 
Àâàòàð äëÿ Jack_of_shadows
📖
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 526
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 08.09.2013
Ñîîáùåíèÿ: 526
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Долгий 
У всех функций которые называются ....BoxForPlayers аргумент на id игрока работает странно. 1 игрок = 1, 2 игрок = 2, 3 игрок = 4, 4 игрок = 8, 5 игрок = 16, 6 игрок = 32, 7 игрок = 64, 8 игрок = 128. Насчет последних 2 не уверен, проверял только для 6 игроков. 

Это битовая маска, чтобы можно было выводить одинаковое сообщение сразу для нескольких игроков. Например если нужно для 1, 3 и 5, то можно передать PLAYERFLT_1 + PLAYERFLT_3 + PLAYERFLT_5.
__________________
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
ÐÏÃ-ñöåíàðèé äëÿ HoMM5: Ïóòü ãåðîÿ

×àÂî ïî ñîçäàíèþ êàðò äëÿ HoMM5: ×àÂî
Jack_of_shadows âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3936
Ñòàðûé 11.09.2024, 20:47
  #3936
^
Shiroyasha2910
📖
Ðåãèñòðàöèÿ: 07.07.2019
Ñîîáùåíèÿ: 48
Ðåãèñòðàöèÿ: 07.07.2019
Ñîîáùåíèÿ: 48
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Добрый вечер, хотел через скрипт дать маны герою, как с навыком "Тайное преимущество", чтобы игнорировало максимальную ману героя. Попытался через ChangeHeroStat() не получилось. Самое смешное, что когда я только начал заниматься картой у меня наоборот получилось с игнором макс. маны, а требовалось до максимальной, а теперь наоборот и я не могу вспомнить, как я это сделал. Нашёл на форуме ответ, как сделать герою ману до 300, через ChangeHeroStat(), но как писал выше не получилось.

Shiroyasha2910 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3937
Ñòàðûé 11.09.2024, 21:21
  #3937
^
Magnificent
 
Àâàòàð äëÿ Magnificent
📖
Ðåãèñòðàöèÿ: 04.08.2024
Ñîîáùåíèÿ: 6
Ðåãèñòðàöèÿ: 04.08.2024
Ñîîáùåíèÿ: 6
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Shiroyasha2910

Добрый вечер, хотел через скрипт дать маны герою, как с навыком "Тайное преимущество", чтобы игнорировало максимальную ману героя. Попытался через ChangeHeroStat() не получилось. Самое смешное, что когда я только начал заниматься картой у меня наоборот получилось с игнором макс. маны, а требовалось до максимальной, а теперь наоборот и я не могу вспомнить, как я это сделал. Нашёл на форуме ответ, как сделать герою ману до 300, через ChangeHeroStat(), но как писал выше не получилось.


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

ChangeHeroStat("Deleb", STAT_KNOWLEDGE, 10)
ChangeHeroStat("Deleb", STAT_MANA_POINTS, 100)
ChangeHeroStat("Deleb", STAT_KNOWLEDGE, -10)

Быстро проверил через консоль. Да, так работает, мана остаётся выше максимального значения. Пока так, возможно, кто-то знает как одной командой это сделать.
Magnificent âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3938
Ñòàðûé 11.09.2024, 21:56
  #3938
^
Shiroyasha2910
📖
Ðåãèñòðàöèÿ: 07.07.2019
Ñîîáùåíèÿ: 48
Ðåãèñòðàöèÿ: 07.07.2019
Ñîîáùåíèÿ: 48
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

MagnificentВозможное решение: временно добавить герою Знание, а после увеличения количества маны вернуть Знание к прежнему значению. Пример:

ChangeHeroStat("Deleb", STAT_KNOWLEDGE, 10)
ChangeHeroStat("Deleb", STAT_MANA_POINTS, 100)
ChangeHeroStat("Deleb", STAT_KNOWLEDGE, -10)

Быстро проверил через консоль. Да, так работает, мана остаётся выше максимального значения. Пока так, возможно, кто-то знает как одной командой это сделать.

Я об этом думал, но надеялся, что я просто тупой, и не знаю способа получше. Но всё равно спасибо. Блин, как же я в тот раз это одной командой сделал.
Shiroyasha2910 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3939
Ñòàðûé 12.09.2024, 07:47
  #3939
^
}{0TT@6bI4
 
Àâàòàð äëÿ }{0TT@6bI4
📖
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1985
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1985
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Возможно, вы помните увеличение маны в бою функцией SetUnitManaPoints, там нет ограничений по максимуму маны

В моём моде очки здоровья технически реализованы как мана героя и проблемы такой нет, ChangeHeroStat увеличивает манапул выше, чем подразумевает знание героя
__________________
Ñ óâàæåíèåì, }{0TT@6bI4
_________________
Ãðóïïà êàðòîñòðîèòåëåé
Òàì îòâåòû íà âîïðîñû, ðóêîâîäñòâà, ãàéäû è ïðî÷åå
Discord-ñåðâåð "Ãåðîè 5: S.T.A.L.K.E.R"
Ñåðâåð ïî ìîäèôèêàöèè "Ãåðîè 5: S.T.A.L.K.E.R"
_________________
Ñ óâàæåíèåì, }{0TT@6bI4
_________________
Ãðóïïà êàðòîñòðîèòåëåé
Òàì îòâåòû íà âîïðîñû, ðóêîâîäñòâà, ãàéäû è ïðî÷åå
Discord-ñåðâåð "Ãåðîè 5: S.T.A.L.K.E.R"
Ñåðâåð ïî ìîäèôèêàöèè "Ãåðîè 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 263 èç 263


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 07:35.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru