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

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

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

Îòâåò
Ñòðàíèöà 17 èç 263
 
Îïöèè òåìû
#241
Ñòàðûé 04.12.2011, 11:15
  #241
^
Îëåãàðõ
 
Àâàòàð äëÿ Îëåãàðõ
📖
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

function mmmF ()
if HasArtefact ("Erasial", 66);
then MessageBox ("/Maps/SingleMissions/1/art.txt");
ChangeHeroStat ("Erasial", STAT_EXPERIENCE, 10000);
Trigger (OBJECT_TOUCH_TRIGGER, "mmm", nil);
else MessageBox ("/Maps/SingleMissions/1/artno.txt");
end;
end;
Trigger (OBJECT_TOUCH_TRIGGER, "mmm", "mmmF");

можете посмотреть, где ошибка?
Îëåãàðõ âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#242
Ñòàðûé 04.12.2011, 11:20
  #242
^
JonnyP
📖
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Олегархможете посмотреть, где ошибка?
здесь:
if HasArtefact ("Erasial", 66)==nil then...
или
if HasArtefact ("Erasial", 66)==not nil then...
Че с консолью?
JonnyP âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#243
Ñòàðûé 04.12.2011, 12:56
  #243
^
Îëåãàðõ
 
Àâàòàð äëÿ Îëåãàðõ
📖
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

JonnyPЧе с консолью?
какая консоль? Да, в чем именно ошибка? пробовал поисправлять, не получилось
Îëåãàðõ âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#244
Ñòàðûé 04.12.2011, 13:18
  #244
^
JonnyP
📖
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Олегархкакая консоль?
Before you can use the cheat codes you must first enable the console.
This requires that you edit two files. First, locate the autoexec_a2.cfg
file in your INSTALL FOLDER\Profiles folder. Open this file with Notepad
and add the following line to the end of the file (in the // Startup section):

setvar dev_console_password = schwinge-des-todes

Next, locate the input_a2.cfg file located in next folder:
\MY DOCUMENTS\MY GAMES\HOMM5TOE\PROFILES\\
Open this file with Notepad and in the // console section,
add the following line:

bind show_console '`'

Once you've done the above, you can bring up the console by pressing [`]

она позволяет находить ошибки в скрипте
JonnyP âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#245
Ñòàðûé 04.12.2011, 14:33
  #245
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

if HasArtefact ("Erasial", 66)==nil then...
или
if HasArtefact ("Erasial", 66)==not nil then...
Можно просто if HasArtefact("Erasial",66) then...
Он поймёт, главное точку с запятой убрать.
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#246
Ñòàðûé 05.12.2011, 16:28
  #246
^
Îëåãàðõ
 
Àâàòàð äëÿ Îëåãàðõ
📖
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

не. нет консоли мож, как-то по-другому надо?
Îëåãàðõ âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#247
Ñòàðûé 05.12.2011, 16:36
  #247
^
Dyrman
 
Àâàòàð äëÿ Dyrman
📖
Ðåãèñòðàöèÿ: 24.06.2008
Àäðåñ: Òàì, ãäå íåáà êîí÷àåòñÿ êðàé
Ñîîáùåíèÿ: 3479
Îòïðàâèòü ñîîáùåíèå äëÿ  Dyrman ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 24.06.2008
Àäðåñ: Òàì, ãäå íåáà êîí÷àåòñÿ êðàé
Ñîîáùåíèÿ: 3479
Îòïðàâèòü ñîîáùåíèå äëÿ  Dyrman ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Олегархне. нет консоли мож, как-то по-другому надо?
Украли
Есть есть. Может из-за того,что у JonnyP не по-русски написано, поэтому непонятно
Ну или у вас 64 битная семёрка и карточка нвидеа - в некоторых таких случаях её действительно спёрли
Всемогущий гуглВ директории установленной игры найти файл "autoexec_a2.cfg":
...................Heroes of Might and Magic V/profiles/
открыть его с помощью текстового редактора.
Добавить строку:

setvar dev_console_password = schwinge-des-todes

в самый конец файла, сохраните изменения в файле.

В этой директории найти файл "input_a2.cfg":
C:/Documents and Settings/Ваш_ник/My Documents/My Games/Heroes of Might and Magic V/HOMM5TOE(или типа того)/Profiles/Ваш_ник/
открыть его с помощью текстового редактора.
После текста:

// obsolete, but strictly need for compability with some interfaces
bind close_window 'ESC'
bind confirm_action 'ENTER'
bind confirm_action 'NUM_ENTER'

Добавить строку:

bind show_console '`'

сохраните изменения в файле.

Запустить игру, запустить любую миссию, вызвать консоль с помощью клавиши '`', в консоли напечатать эту команду:

enable_cheats

Нажать клавишу "Enter".
Всё!!!
Dyrman âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#248
Ñòàðûé 05.12.2011, 17:11
  #248
^
Îëåãàðõ
 
Àâàòàð äëÿ Îëåãàðõ
📖
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ðåãèñòðàöèÿ: 02.12.2011
Ñîîáùåíèÿ: 294
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

DyrmanУкрали
Есть есть. Может из-за того,что у JonnyP не по-русски написано, поэтому непонятно
Ну или у вас 64 битная семёрка и карточка нвидеа - в некоторых таких случаях её действительно спёрли
я это и деелал. система у меня 32 битная семерка,а карта - нвидиа
Îëåãàðõ âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#249
Ñòàðûé 07.12.2011, 12:35
  #249
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Появился вопрос. Нет ли такого триггера, срабатывающего, если у игрока нет городов и героев = игрок проиграл ?

И проблема есть. Когда выполняется задание 'obj1', миссия сразу заканчивается победой игрока. Что может быть этому причиной?
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#250
Ñòàðûé 07.12.2011, 13:27
  #250
^
JonnyP
📖
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ПобедительПоявился вопрос. Нет ли такого триггера, срабатывающего, если у игрока нет городов и героев = игрок проиграл ?

И проблема есть. Когда выполняется задание 'obj1', миссия сразу заканчивается победой игрока. Что может быть этому причиной?
не совсем триггер, но можно так сделать:
function lost_PL4()
if GetPlayerState(PLAYER_4)~=1 then
.....................
end;
end;
и на функцию 'lost_PL4' вешаем триггер на потерю игроком героя
Trigger (PLAYER_REMOVE_HERO_TRIGGER,PLAYER_4,'lost_PL4');

тут либо в 'obj1' в параметр 'Ignore' стоит 'false', либо у вас само задание записано не в 'objectives', а в 'scenario informations'[u]
JonnyP âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#251
Ñòàðûé 07.12.2011, 20:38
  #251
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

JonnyPне совсем триггер, но можно так сделать:
function lost_PL4()
if GetPlayerState(PLAYER_4)~=1 then
.....................
end;
end;
и на функцию 'lost_PL4' вешаем триггер на потерю игроком героя
Trigger (PLAYER_REMOVE_HERO_TRIGGER,PLAYER_4,'lost_PL4');

тут либо в 'obj1' в параметр 'Ignore' стоит 'false', либо у вас само задание записано не в 'objectives', а в 'scenario informations'[u]
Триггер не сработал. Меня смущает "~=1". Здесь нужно было заменить на что-либо, или писать именно так? Ошибки не выдало, просто не сработало.

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

Заменил во всех обжективах 'false' на 'true'. Теперь при выполнении того квеста игроку выдаётся поражение .
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#252
Ñòàðûé 07.12.2011, 20:49
  #252
^
Ment
 
Àâàòàð äëÿ Ment
📖
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ðåãèñòðàöèÿ: 30.10.2009
Àäðåñ: Íàöèîíàëüíûé çàïîâåäíèê
Ñîîáùåíèÿ: 30765
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

~=1
Это означает "не равно".
По поводу Ignore не знаю, но там ещё есть параметр NeedComplete (нужно выполнить, по идее, если эти параметры не выставить, то будет достаточно выполнения оставшихся квестов для победы).
Ment âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#253
Ñòàðûé 07.12.2011, 20:59
  #253
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Не помогло . Мистика какая-то. Значит надо будет убрать эту задачу.

А по поводу выполнения задачи при поражении другого игрока? Можете что-то посоветовать ?
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#254
Ñòàðûé 07.12.2011, 21:43
  #254
^
JonnyP
📖
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Победитель
А по поводу выполнения задачи при поражении другого игрока? Можете что-то посоветовать ?
Странно, я делал именно так как написал - при поражении 4-ех вражеских героев - задание выполнено.
тут GetPlayerState — получить текущее состояние игрока,
а '~=1' это не равно, а цифра любая может быть, подробнее из мануала:
Возвращает состояние участия/победы/поражения игрока player: 0 — игрок в игре не
участвует, 1 — игрок еще играет, 2 — игрок проиграл, 3 — ни то, ни другое, ни третье
(возможно, победил, но нельзя сказать определенно).


Добавлено через 6 минут
MentЭто означает "не равно".
но там ещё есть параметр NeedComplete (нужно выполнить, по идее, если эти параметры не выставить, то будет достаточно выполнения оставшихся квестов для победы).
Так его лучше вообще не трогать - он и не используется.
Напишу так: Если в 'Ignore' поставить 'false' , то после выполнения этого задания мииссия будет выиграна, игнорируя другие задания
JonnyP âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#255
Ñòàðûé 08.12.2011, 11:38
  #255
^
Ïîáåäèòåëü
 
Àâàòàð äëÿ Ïîáåäèòåëü
📖
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 18.07.2008
Ñîîáùåíèÿ: 3427
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

JonnyPСтранно, я делал именно так как написал - при поражении 4-ех вражеских героев - задание выполнено.
тут GetPlayerState — получить текущее состояние игрока,
а '~=1' это не равно, а цифра любая может быть, подробнее из мануала:
[i]Возвращает состояние участия/победы/поражения игрока player: 0 — игрок в игре не
участвует, 1 — игрок еще играет, 2 — игрок проиграл, 3 — ни то, ни другое, ни третье
(возможно, победил, но нельзя сказать определенно).
Спасибо, попробую двойку поставить .

По поводу Ignore - изменил на 'true' и теперь при выполнении этого задания выдаётся сообщение о поражении.
Ïîáåäèòåëü âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 17 èç 263


Îïöèè òåìû



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


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

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