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

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

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

Îòâåò
Ñòðàíèöà 200 èç 261
 
Îïöèè òåìû
#2986
Ñòàðûé 02.01.2020, 22:35
  #2986
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

GrigoriyОрку через скрипт можно как-то добавить походные заклинания? Стандартной командой не выходит
скорее всего нельзя, орки(точнее любой герой с гневом) учить заклинания вообще никаким способом неспособны
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2987
Ñòàðûé 02.01.2020, 22:58
  #2987
^
JonnyP
📖
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

OrnsteinDragonslayerРебята, у меня возник вопрос. Подскажите, что не так?
Условия: есть эльфийский город, принадлежащий, собсна, эльфу (игрок 3). Если его захватит Игрок 2, то провал задания и проигрыш.
...
Эта команда не справляется. После захвата города ничего не происходит. Ошибок никаких нет. Где я мог ошибиться? Спасибо заранее

Вообще, реализация с зацикленной проверкой не самый оптимальный вариант.
Как то так, наверное (в игре не проверял)

Нажмите на изображение для увеличения
Название: Untitled-1.png
Просмотров: 22
Размер:	31.3 Кбайт
ID:	61050
JonnyP âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2988
Ñòàðûé 04.01.2020, 23:05
  #2988
^
Killer5029
📖
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Привет) помогите, пожалуйста. Я хочу чтоб по прошествию какого то времени, игрок захвативший город смог купить все накопленные войска в нейтральном городе, а он «нейтральный город» откуда то берет деньги и сам их покупает. Я даже отключил в настройках возможность постройки ратуши, но это все равно не помогло(
Killer5029 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2989
Ñòàðûé 04.01.2020, 23:53
  #2989
^
OrnsteinDragonslayer
 
Àâàòàð äëÿ OrnsteinDragonslayer
📖
Ðåãèñòðàöèÿ: 10.01.2016
Ñîîáùåíèÿ: 172
Ðåãèñòðàöèÿ: 10.01.2016
Ñîîáùåíèÿ: 172
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

JonnyPВообще, реализация с зацикленной проверкой не самый оптимальный вариант.
Как то так, наверное (в игре не проверял)

Вложение 61050

Не помогает, проблема всё та же - задание не проваливается, никто не проигрывает, консоль ошибки не видит.
А единичка, кстати потому, что задание проваливается для первого игрока.
	function onObjectCapture( prevOwner, newOwner, hero, object )
         if prewOwner == PLAYER_3 and newOwner == PLAYER_2 then
          Trigger( OBJECT_CAPTURE_TRIGGER, 'houseElf', nil )
          SetObjectiveState ('q4', OBJECTIVE_FAILED, PLAYER_1 )
          sleep(10)
          Loose()
         end
end
Trigger(OBJECT_CAPTURE_TRIGGER, 'houseElf', 'onObjectCapture' )
OrnsteinDragonslayer âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2990
Ñòàðûé 05.01.2020, 13:37
  #2990
^
MasteR
 
Àâàòàð äëÿ MasteR
📖
Ðåãèñòðàöèÿ: 24.01.2013
Ñîîáùåíèÿ: 3374
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 24.01.2013
Ñîîáùåíèÿ: 3374
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

OrnsteinDragonslayerНе помогает, проблема всё та же - задание не проваливается, никто не проигрывает, консоль ошибки не видит.
А единичка, кстати потому, что задание проваливается для первого игрока.
	function onObjectCapture( prevOwner, newOwner, hero, object )
         if prewOwner == PLAYER_3 and newOwner == PLAYER_2 then
          Trigger( OBJECT_CAPTURE_TRIGGER, 'houseElf', nil )
          SetObjectiveState ('q4', OBJECTIVE_FAILED, PLAYER_1 )
          sleep(10)
          Loose()
         end
end
Trigger(OBJECT_CAPTURE_TRIGGER, 'houseElf', 'onObjectCapture' )


function onObjectCapture(PrevOwner, NewOwner)

if PrevOwner == 3 and NewOwner == 2 then

Trigger(5, 'houseElf', nil)
SetObjectiveState ('q4', 4, 1)
sleep(10)
Loose()

end

end

Trigger(5, 'houseElf', 'onObjectCapture')

Внимательнее надо с именами переменных
MasteR âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2991
Ñòàðûé 05.01.2020, 13:41
  #2991
^
JonnyP
📖
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ðåãèñòðàöèÿ: 01.09.2011
Ñîîáùåíèÿ: 462
Îòïðàâèòü ñîîáùåíèå äëÿ  JonnyP ñ ïîìîùüþ ICQ
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

OrnsteinDragonslayerНе помогает, проблема всё та же - задание не проваливается, никто не проигрывает, консоль ошибки не видит.
Суть ошибки я передал - функция принимает 4 параметра + излишняя проверка с бесконечным циклом. Возможно синтаксис неверный (я писал что не проверял в игре).
Попробуй "print"-ы повставлять, посмотри что в консоли будет.
... А единичка, кстати потому, что задание проваливается для первого игрока.
... Условия: есть эльфийский город, принадлежащий, собсна, эльфу (игрок 3). Если его захватит Игрок 2, то провал задания и проигрыш.
Чтобы не было путаницы используй константы - PLAYER_1, PLAYER_... и т.д., это неплохая устоявшаяся практика.
В условиях такого не было, поэтому расценил это как ошибку, но это в принципе не важно.

Master...Внимательнее надо с именами переменных
В смысле? Я не нахожу отличий. Если речь про стиль написания переменных то это не имеет значения (PascalCase или camelCase).
JonnyP âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2992
Ñòàðûé 05.01.2020, 13:41
  #2992
^
MasteR
 
Àâàòàð äëÿ MasteR
📖
Ðåãèñòðàöèÿ: 24.01.2013
Ñîîáùåíèÿ: 3374
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 24.01.2013
Ñîîáùåíèÿ: 3374
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Killer5029Привет) помогите, пожалуйста. Я хочу чтоб по прошествию какого то времени, игрок захвативший город смог купить все накопленные войска в нейтральном городе, а он «нейтральный город» откуда то берет деньги и сам их покупает. Я даже отключил в настройках возможность постройки ратуши, но это все равно не помогло(

Может это можно как-то легче сделать, но я бы в такой ситуации не строил бы изначально ни одного здания с существами в этом городе. После того, как город перейдет к игроку, скриптами можно построить любые здания в этом городе, а также (вроде) добавить существ для выкупа.
MasteR âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2993
Ñòàðûé 05.01.2020, 17:23
  #2993
^
Killer5029
📖
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

MasteRМожет это можно как-то легче сделать, но я бы в такой ситуации не строил бы изначально ни одного здания с существами в этом городе. После того, как город перейдет к игроку, скриптами можно построить любые здания в этом городе, а также (вроде) добавить существ для выкупа.
Не помнишь какой командой можно построить здания в городе?
Killer5029 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2994
Ñòàðûé 05.01.2020, 17:31
  #2994
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Killer5029Не помнишь какой командой можно построить здания в городе?
UpgradeTownBuilding(имя_города, id здания)

по поводу добавления существ для выкупа - для этого есть функция SetObjectDwellingCreatures(имя_города, id существа, число)
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2995
Ñòàðûé 05.01.2020, 17:55
  #2995
^
MasteR
 
Àâàòàð äëÿ MasteR
📖
Ðåãèñòðàöèÿ: 24.01.2013
Ñîîáùåíèÿ: 3374
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 24.01.2013
Ñîîáùåíèÿ: 3374
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

JonnyPВ смысле? Я не нахожу отличий. Если речь про стиль написания переменных то это не имеет значения (PascalCase или camelCase).

В параметре функции prevOwner, а в теле функции prewOwner.
MasteR âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2996
Ñòàðûé 05.01.2020, 17:57
  #2996
^
Killer5029
📖
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

GerterUpgradeTownBuilding(имя_города, id здания)

по поводу добавления существ для выкупа - для этого есть функция SetObjectDwellingCreatures(имя_города, id существа, число)
я написал такой скрипт(не работает)
local a=0;
function Armia()
local day=GetDate(3);
if day == 0
then a=a+1;
end;
end;

Trigger(NEW_DAY_TRIGGER, "Armia");

function zoloto()
if prewOwner == PLAYER_NOON and newOwner == PLAYER_NAME
then SetObjectDwellingCreatures('houseInferno', 16, 35*a);
SetObjectDwellingCreatures('houseInferno', 18, 34*a);
SetObjectDwellingCreatures('houseInferno', 20, 18*a);
SetObjectDwellingCreatures('houseInferno', 22, 10*a);
SetObjectDwellingCreatures('houseInferno', 24, 7*a);
SetObjectDwellingCreatures('houseInferno', 26, 4*a);
SetObjectDwellingCreatures('houseInferno', 28, 2*a);

end;
end;

Trigger( OBJECT_CAPTURE_TRIGGER, 'houseInferno', "zoloto")

В чем может быть ошибка? подскажите пожалуйста)
Killer5029 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2997
Ñòàðûé 05.01.2020, 18:02
  #2997
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Killer5029я написал такой скрипт(не работает)
local a=0;
function Armia()
local day=GetDate(3);
if day == 0
then a=a+1;
end;
end;

Trigger(NEW_DAY_TRIGGER, "Armia");

function zoloto()
if prewOwner == PLAYER_NOON and newOwner == PLAYER_NAME
then SetObjectDwellingCreatures('houseInferno', 16, 35*a);
SetObjectDwellingCreatures('houseInferno', 18, 34*a);
SetObjectDwellingCreatures('houseInferno', 20, 18*a);
SetObjectDwellingCreatures('houseInferno', 22, 10*a);
SetObjectDwellingCreatures('houseInferno', 24, 7*a);
SetObjectDwellingCreatures('houseInferno', 26, 4*a);
SetObjectDwellingCreatures('houseInferno', 28, 2*a);

end;
end;

Trigger( OBJECT_CAPTURE_TRIGGER, 'houseInferno', "zoloto")

В чем может быть ошибка? подскажите пожалуйста)

во-первых, вот так:
	local a = 0
вне функций лучше не писать
во-вторых, вот эта строчка:
	if prewOwner == PLAYER_NOON and newOwner == PLAYER_NAME
нейтральный игрок - это PLAYER_NONE. PLAYER_NAME - это что вообще? нужно использовать константы номера игрока, например, PLAYER_1.

кроме того, в определении функции zoloto нужно указать, что у нее есть параметры prewOwner и newOwner:
	function zoloto(prewOwner, newOwner)
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2998
Ñòàðûé 05.01.2020, 18:08
  #2998
^
Killer5029
📖
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Gerterво-первых, вот так:
	local a = 0
вне функций лучше не писать
во-вторых, вот эта строчка:
	if prewOwner == PLAYER_NOON and newOwner == PLAYER_NAME
нейтральный игрок - это PLAYER_NONE. PLAYER_NAME - это что вообще? нужно использовать константы номера игрока, например, PLAYER_1.

кроме того, в определении функции zoloto нужно указать, что у нее есть параметры prewOwner и newOwner:
	function zoloto(prewOwner, newOwner)

PLAYER_NAME - это любой игрок. Я хочу чтоб скрипт работал, когда любой игрок захватит этот город
Killer5029 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2999
Ñòàðûé 05.01.2020, 18:14
  #2999
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ну тогда вообще не надо проверять номер игрока, который захватывает город
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3000
Ñòàðûé 05.01.2020, 18:21
  #3000
^
Killer5029
📖
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ðåãèñòðàöèÿ: 04.01.2020
Ñîîáùåíèÿ: 27
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Gerterну тогда вообще не надо проверять номер игрока, который захватывает город
то есть можно оставить так?
local a = 0
function Armia()
local day=GetDate(3);
if day == 0
then a=a+1;
end;
end;

Trigger(NEW_DAY_TRIGGER, "Armia");

function zoloto()
SetObjectDwellingCreatures('houseInferno', 16, 35*a);
SetObjectDwellingCreatures('houseInferno', 18, 34*a);
SetObjectDwellingCreatures('houseInferno', 20, 18*a);
SetObjectDwellingCreatures('houseInferno', 22, 10*a);
SetObjectDwellingCreatures('houseInferno', 24, 7*a);
SetObjectDwellingCreatures('houseInferno', 26, 4*a);
SetObjectDwellingCreatures('houseInferno', 28, 2*a);

end;


Trigger( OBJECT_CAPTURE_TRIGGER, 'houseInferno', "zoloto")

Добавлено через 2 минуты
Gerterну тогда вообще не надо проверять номер игрока, который захватывает город
то есть можно так оставить?
local a = 0
function Armia()
local day=GetDate(3);
if day == 0
then a=a+1;
end;
end;

Trigger(NEW_DAY_TRIGGER, "Armia");

function zoloto()
SetObjectDwellingCreatures('houseInferno', 16, 35*a);
SetObjectDwellingCreatures('houseInferno', 18, 34*a);
SetObjectDwellingCreatures('houseInferno', 20, 18*a);
SetObjectDwellingCreatures('houseInferno', 22, 10*a);
SetObjectDwellingCreatures('houseInferno', 24, 7*a);
SetObjectDwellingCreatures('houseInferno', 26, 4*a);
SetObjectDwellingCreatures('houseInferno', 28, 2*a);

end;


Trigger( OBJECT_CAPTURE_TRIGGER, 'houseInferno', "zoloto")
Killer5029 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 200 èç 261


Îïöèè òåìû



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


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

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