Как сделать так, чтобы в определённый день у игрока снималось энное число ресурсов? Заранее спс.
До конца скрипт не знаю,но это делается через New_Day_Trigger. Если такое есть в какой то из кампаний героев повелителей орды,напомните мне. Тогда,может,помогу,если смогу.
Я в своей карте тоже хотел сделать скрипт StartCombat,однако он не популярен-нет его ни в кастомных,ни на ниваловских картах... Я просто заменил его. В вашем случае даже не знаю,как заменить...
SetPlayerResource( nPlayerID, nResID, nCount ) Установка текущего количества ресурса nResID в nCount для игрока nPlayerID. На основе данной функции в файле /scripts/advmap-startup.lua реализован примитив более высокого уровня – void SetPlayerStartResource( nPlayerID, nResID, nCount ) который распределяет игроку стартовые ресурсы в зависимости от уровня сложности.
И чтобы узнать текущее количество ресурсов:
GetPlayerResource( nPlayerID, nResID ) Возвращает текущее количество ресурса nResID у игрока nPlayerID. ID ресурсов прописаны в /scripts/advmap-startup.lua и бывают такими: WOOD = 0 ORE = 1 MERCURY = 2 CRYSTAL = 3 SULFUR = 4 GEM = 5 GOLD = 6
Пример, добавить 10000 золота первому игроку: SetPlayerResource(1, GOLD, GetPlayerResource(1,GOLD)+10000).
Аскет2
11 лет назад
Мне нужны все ресы, полностью писать их имена долго.
function fn(heroName, objectName) if (objectName == "cr1") then do local sulfur = GetPlayerResource(PLAYER_1, 4); MessageBox(path.."text1.txt"); SetPlayerResource(PLAYER_1, 4, sulfur + 10); end else do local gem = GetPlayerResource(PLAYER_1, 5); MessageBox(path.."text1.txt"); SetPlayerResource(PLAYER_1, 5, gem + 10); end; end; end;
И да, я буду крайне благодарен тому, кто разъяснит мне, какие параметры действительно передаются в функцию, связанную с триггером касания:smile20:
Думаю, выражу общее мнение, сказав, чтоб все ответы ты сам искал. Хватит уже дергать других с банальными вопросами, ответы на которые самому за 10 минут найти можно, особенно с учетом того, что уже писали. Как будто другим больше заняться нечем, как писать весь скрипт за кого-то другого.
Рыцарь Бездны
10 лет назад
Здраствуйте,великие владыки древнего языка lua. У меня тут возникли некоторые трудности с перестройкой города... Вобщем по тригеру все работает как нужно,но хотелось бы хоть немного анимировать перестройку).Вобщем в чем суть моего вопроса: что нужно добавить в этот тригер.
Чтобы между выполнением задания и перестройкой города над городом проигрывался визуальный эфект заклинания "святое слово"?.Помогите пожалуста если не трудно).Буду очень благодарен).
Jack_of_shadows
10 лет назад
SetObjectiveState ( "obj3",OBJECTIVE_COMPLETED); PlayVisualEffect('/Effects/_(Effect)/HolyWord.xdb#xpointer(/Effect)', 'necr1', '', X, Y, Z, 0, 0); sleep (5); Вместо X, Y, Z надо подобрать сдвиг на ваш вкус, Z можно сразу ставить где-нибудь 5-6. И sleep вероятно придется увеличить в несколько раз, там довольно длинная анимация.
SetObjectiveState ( "obj3",OBJECTIVE_COMPLETED); PlayVisualEffect('/Effects/_(Effect)/HolyWord.xdb#xpointer(/Effect)', 'necr1', '', X, Y, Z, 0, 0); sleep (5); Вместо X, Y, Z надо подобрать сдвиг на ваш вкус, Z можно сразу ставить где-нибудь 5-6. И sleep вероятно придется увеличить в несколько раз, там довольно длинная анимация.
Спасибо огромное.
А можно еще вопросик?
Наотрез отказывается работать функция MessageBox.
function Question () MessageBox("Maps\Multiplayer\Vostok\Question.txt"); Trigger(REGION_ENTER_AND_STOP_TRIGGER,"reg_1","Question",nil); end; Trigger(REGION_ENTER_AND_STOP_TRIGGER,"reg_1","Question");
Регион указан верно,при входе в него герой останавливается,но сообщение не выдается.Путь к текстовому файлу тоже вроде как указан верно,покрайней мере в корне карты лежит этот файл в кодировке Юникод,неподскажите в чем может быть проблема?
Добавлено через 1 час 18 минут Ой,извиняюсь,разобрался).Слэшы не в ту сторону напечатал... Теперь другая проблема: почитав форум написал вод такой скрипт...
Function Question () QuestionBox("путь к файлу","yes"); end; Trigger(6,"reg1","Question");
function yes () local gold = GetPlayerResourse(1,6); if gold >=3000 then SetPlayerResourse(1,6,GetPlayerResourse(1,6)-3000) SetObjectOwer("gar1",PLAYER_1) else MoveHeroRealTime("Diraya",75,25,0) end; end;
Подскажите пожалуста мне чайнику,как обнулить тригер?.Куда нужно Trigger(6,"reg1","Question",nil); вставить?.
P.S извините за несоблюдение всех пробелов в скрипте,просто пишу с телефона,глядя на монитор,нет возможности просто скопировать и вставить текст(