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

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

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

Îòâåò
Ñòðàíèöà 233 èç 261
 
Îïöèè òåìû
#3481
Ñòàðûé 25.08.2021, 15:02
  #3481
^
Ìàðòà
📖
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Неа, всё равно глыбу кастует на 20м левеле.
Может, тут что-то лишнее?

path = '/'..GetMapDataPath()
main_hero = 'Raelag'
print("ГГ назван");

SetHeroCombatScript('Raelag', path.."CombatScript.xdb#xpointer(/Script)");
print("Комбат скрипт запущен");

LevR = GetHeroLevel('Raelag');
print("LevR установлен как определитель уровня Раилага");

function HeroLevelSaveF()
SetGameVar("LevR", ceil(GetHeroLevel('Raelag')));
print("Установили что LevR это Сет Гейм Вар");
end

SetGameVar("LevR", 1)
Trigger(HERO_LEVELUP_TRIGGER, "Raelag", "HeroLevelSaveF")

function ProbaF()
    if LevR < 20 then
print("уровень меньше 20");
else
print("уровень 20 или больше");
    end;
        end;
Trigger(OBJECT_TOUCH_TRIGGER, "Proba", "ProbaF");
Ìàðòà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3482
Ñòàðûé 25.08.2021, 15:12
  #3482
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

в комбате строчку 
Level_R = GetGameVar("LevR") + 0

тоже поменяй на

Level_R = ceil(GetGameVar("LevR") + 0)
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3483
Ñòàðûé 25.08.2021, 15:29
  #3483
^
Ìàðòà
📖
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Поменяла. Кастует глыбы, паразит, как ни в чём ни бывало))
И консоль пишет "если уровень меньше 20, то"
Ìàðòà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3484
Ñòàðûé 25.08.2021, 15:44
  #3484
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ну я перепроверил этот вариант скрипта у себя, на 20 уровне, как и нужно, кастует шары. Точно героя до нужного уровня апаешь? Покажи, что в мап скрипте полностью написано.
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3485
Ñòàðûé 25.08.2021, 15:52
  #3485
^
Ìàðòà
📖
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Всё, что там написано, до последней запятой, я выше уже повесила. Там просто больше ничего нет, я даже вступительный ролик ещё не делала.
Что до комбат-скрипта, то я поставила молнии, а не шары, чтобы не переписывать.
Левел у него точно двадцатый, я в редакторе дала ему опыт и способности, да на нём и написано.
Пойду опять на свою пробную карту, понавешаю там то же самое, и проверю, будет ли он кастовать молнии.
Ìàðòà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3486
Ñòàðûé 25.08.2021, 15:56
  #3486
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

МартаЛевел у него точно двадцатый, я в редакторе дала ему опыт и способности, да на нём и написано.
вот тут и кроется проблема. Триггер повышения уровня срабатывает, только если уровень повышается в процессе самой игры, если он был прописан в редакторе, этого не произойдет. Поэтому у тебя срабатывает только строчка
SetGameVar("LevR", 1)

из-за чего боевой скрипт всегда считает, что у героя 1 уровень. 
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3487
Ñòàðûé 25.08.2021, 16:17
  #3487
^
Ìàðòà
📖
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Аа, млин. Так, должно быть, и есть, - на моей пробной карте у него тоже глыбы падают.
Дык, как же мне проверить, работает ли скрипт? Всякий раз вручную набивать ему 20й левел? 
Или, может быть, сменить пока что условие с 20го левела на 2й, а потом переправить, если всё будет хорошо...
Ìàðòà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3488
Ñòàðûé 25.08.2021, 16:25
  #3488
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

МартаДык, как же мне проверить, работает ли скрипт? Всякий раз вручную набивать ему 20й левел? 
можешь при старте карты прописать в консоль @WarpHeroExp('Raelag', 97972). Это апнет героя на нужный уровень.
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3489
Ñòàðûé 25.08.2021, 16:32
  #3489
^
Ìàðòà
📖
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

ЗЫ Точно, всё так и есть. Не знаю, что там с ним будет на 20м, но при смене числа уровней на 2 он исправно кастует молнии. 
Большущее спасибо тебе, я же и знать не знала про набор опыта, и вообще про все эти тонкости.
Хе) Я на читах собаку съела, но единственное, что я никогда не апала, так это опыт). Если чит зачтут, это выход, точно, - спасибо за идею.
Ìàðòà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3490
Ñòàðûé 25.08.2021, 17:14
  #3490
^
}{0TT@6bI4
 
Àâàòàð äëÿ }{0TT@6bI4
📖
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1980
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1980
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Gerterв триггере нужно указать функцию, которая будет срабатывать при повышении уровня. Т.е. ошибка тут:
Trigger(HERO_LEVELUP_TRIGGER, "Raelag")

а должно быть
Trigger(HERO_LEVELUP_TRIGGER, "Raelag", "HeroLevelSaveF")

Это моя вина, я недописал и скинул.
__________________
Ñ óâàæåíèåì, }{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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3491
Ñòàðûé 25.08.2021, 17:16
  #3491
^
}{0TT@6bI4
 
Àâàòàð äëÿ }{0TT@6bI4
📖
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1980
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1980
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Gerterвот тут и кроется проблема. Триггер повышения уровня срабатывает, только если уровень повышается в процессе самой игры, если он был прописан в редакторе, этого не произойдет. Поэтому у тебя срабатывает только строчка
SetGameVar("LevR", 1)

из-за чего боевой скрипт всегда считает, что у героя 1 уровень. 
Повысить уровень можно
@for i=1, N do LevelUpHero("Имягероя") end , где N — количество добавочных уровней. Тогда и запоминать конкретное кол-во опыта для уровней не нужно.
__________________
Ñ óâàæåíèåì, }{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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3492
Ñòàðûé 25.08.2021, 17:26
  #3492
^
Ìàðòà
📖
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ðåãèñòðàöèÿ: 31.01.2020
Ñîîáùåíèÿ: 80
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Чит, увы, не сработал - не зачли. И не факт, что и скрипт в этой ситуации зачтут. Но это не страшно, я уже проверила, - целую рощу деревьев познания насажала, и скакала читом телепорта от одного к другому.
Всё работает. Огромное спасибо вам обоим.
Ìàðòà âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3493
Ñòàðûé 25.08.2021, 17:28
  #3493
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

WarpHeroExp просто устанавливает число опыта героя, без выдачи навыков/статов, поэтому для быстрого тестирования эта функция, очевидно, удобнее.
И это не чит, к слову.
Читом можно так(в консоль прописать):
enable_cheats
add_exp 97972
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3494
Ñòàðûé 25.08.2021, 18:11
  #3494
^
}{0TT@6bI4
 
Àâàòàð äëÿ }{0TT@6bI4
📖
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1980
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 05.09.2019
Àäðåñ: Ñåðåáðÿíûå Ãîðîäà, Àëü-Ñàôèð
Ñîîáùåíèÿ: 1980
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

}{0TT@6bI4Повысить уровень можно
@for i=1, N do LevelUpHero("Имягероя") end , где N — количество добавочных уровней. Тогда и запоминать конкретное кол-во опыта для уровней не нужно.
А вы попробовали этот вариант?
__________________
Ñ óâàæåíèåì, }{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 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3495
Ñòàðûé 26.08.2021, 14:08
  #3495
^
Andrei_21
 
Àâàòàð äëÿ Andrei_21
📖
Ðåãèñòðàöèÿ: 14.03.2021
Ñîîáùåíèÿ: 235
andrei_21
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 14.03.2021
Ñîîáùåíèÿ: 235
andrei_21
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: Ñêðèïòû

Приветствую всех. Влезла проблема в скрипте:

function fon()
local day1;
while 1 do
if GetObjectiveState("zad5")==OBJECTIVE_ACTIVE then
day1=GetDate( ABSOLUTE_DAY ) + 2
while day1 >= GetDate( ABSOLUTE_DAY ) do
sleep(10);
end;
SetObjectiveState("dzad3", OBJECTIVE_ACTIVE);
break
end;
sleep(2);
end;
while 1 do
pfonix = GetHeroCreatures( "Main_Hero", CREATURE_PHOENIX);
if pfonix >= 5 then
SetObjectiveState("dzad3", OBJECTIVE_COMPLETED);
SetObjectiveState("dzad2", OBJECTIVE_FAILED);
break;
end;
end;
end

Игра просто крашится при его выполнении. Сам скрипт был навеян похожим циклом из кампании за Маркела. Вся эта конструкция должна работать. Не уверен, но возможно проблема именно в исполнении через поток. 
__________________
Ñöåíàðèé: "Íàñëåäèå ïðîøëîãî"
Êàìïàíèè:
"
Íîâûé ïîðÿäîê", "Ñåðûé Àëüÿíñ""Ïîèñêè Èñòèíû"

Òðåéëåð êàìïàíèè "Äûõàíèå Ïóñòîòû": https://www.youtube.com/watch?v=NH04dyKPmw8&ab_channel=%D0%90ndrei_21

Andrei_21 âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò
Ñòðàíèöà 233 èç 261


Îïöèè òåìû



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


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

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