Перейти к содержанию

Сообщения от Текущие вопросы и ответы по редактору карт

Аватар пользователя
#1125
откуда ChangeResouce? есть SetPlayerResouce
Change|Set не добавляет игроку ресурсы, а устанавливает, тогда надо делать так:
function regF ()
SetAmbientLight (0, "Tu", true, 5);
delta = GetPlayerResource(1, 5);
SetPlayerResource(1, 5, delta+10);
end;
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "reg", "regF");
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
В ответ пользователю KioM
Аватар пользователя
#1126
KioM
откуда ChangeResouce? есть SetPlayerResouce
ChangeResource Изменяет количество ресурсов указанного вида для игрока, обладающего указанным героем. При этом от данного героя появляется «отлетающее» сообщение, указывая на изменение ресурса
playerID Идентификатор игрока
resourceKindID resourceKindID Идентификатор типа ресурса
quantity Количество (не может быть отрицательным значением)
heroName Имя героя
В ответ пользователю Олегарх
Аватар пользователя
#1128
Олегарх
ChangeResource Изменяет количество ресурсов указанного вида для игрока, обладающего указанным героем. При этом от данного героя появляется «отлетающее» сообщение, указывая на изменение ресурса
playerID Идентификатор игрока
resourceKindID resourceKindID Идентификатор типа ресурса
quantity Количество (не может быть отрицательным значением)
heroName Имя героя

откуда вы это взяли? у меня в офф руковдствах нет таких функций
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
#1129
При создании карты столкнулся со следуещей проблемой:
Если мобу дать ресурсы/артефакт, то после его убийства ты их получаешь. Но если он к тебе присоеденяется - в пролете. Возможен ли вариант без убийства существа( по сценарию не подходит) и получение артефакта/рес-ов только ПОСЛЕ присоеденения существа к армии? Если это скрипт, то, если не сложно, скиньте плиз код :smile45:
Нам нужен мир:smile15: ...Желательно весь!:smile14:
Аватар пользователя
#1130
Вестник,

function MonsterFunction(hero)
    Trigger(OBJECT_TOUCH_TRIGGER, 'Monster', nil);
    -- артефакт
    GiveArtefact(hero, itemId);

    -- ресурс
    gold = GetPlayerResource(PLAYER_1, GOLD);
    SetPlayerResource(PLAYER_1, GOLD, gold+твоя сумма);
end;

Trigger(OBJECT_TOUCH_TRIGGER, 'Monster', 'MonsterFunction');

в свойствах монстра дать ему скриптИмя и выставить, чтобы присоеденялся всегда
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
#1131
ругаетьс, что неопределенны функции MonsterFunction( монстер заменил на скриптовое имя юнита footman) и ItemId.
из ошибки я понял ток то, что нужно дать Айди артефакту. все айди есть в файле от разработчиков, которого нет. а вот с монстром чет не очень доходит.

function footmanFunction(hero)
Trigger(OBJECT_TOUCH_TRIGGER, 'footman', nil);
GiveArtefact(hero, itemId);
end;
Trigger(OBJECT_TOUCH_TRIGGER, 'footman', 'footmanFunction');
Нам нужен мир:smile15: ...Желательно весь!:smile14:
В ответ пользователю KioM
Аватар пользователя
#1132
KioM
откуда вы это взяли? у меня в офф руковдствах нет таких функций
руководство от ValexAV. А кристаллы - это как пример.

аа, все, получилось
function regF ()
sulfur=GetPlayerResource (1, 4);
if sulfur>=3 then
SetPlayerResource (1, 4, sulfur-10);
end;
end;
Trigger (REGION_ENTER_AND_STOP_TRIGGER, "reg", "regF");

Добавлено через 57 минут
в карте World of enroth был объект - НЛО. Как его поставить на карту?
#1133
Ставишь на карту любого героя , потом в дереве свойств жмешь Shared , откроется новое окошко и там выбираешь из списка героев нужный тебе объект ( имеет в названии слово UFO )
Аватар пользователя
#1134
Вестник, ну все правильно заменили, только на место itemId ид артефакта ;) ... ах да, очень часто нужно еще дополнительно обьявлять параметры внутри функции тобиш так:
function MonsterFunction(hero) 
    myHero = hero; -- дополнительно добавил переменную героя
    Trigger(OBJECT_TOUCH_TRIGGER, 'Monster', nil); 
    -- артефакт 
    GiveArtefact(myHero, 53); -- добавил в качестве примера ид артефакта (в данном случае слеза Асхи)

    -- ресурс 
    gold = GetPlayerResource(PLAYER_1, GOLD); 
    SetPlayerResource(PLAYER_1, GOLD, gold+твоя сумма); 
end; 

Trigger(OBJECT_TOUCH_TRIGGER, 'Monster', 'MonsterFunction'); 
Карты для Heroes V: Повелители орды:
Multiplayer: Господство, Извечное противостояние, Война за Магию, Торговая империя, Анатомия войны, Эксперимент
SingleScenario: Последний Рубеж, Трон, Элиралис, Вернуться домой!, Лабиринты разума
Campaign: Колонизация
Аватар пользователя
#1135
Код скопировал, поместил в монстра. название функции изменил и ничего. регист проверил( С++ такой же чувствительности, так что с этим проблем нет). Влияют ли комментарии на работоспасобность скрипта? Можешь ли залить табл с ID предметами, а то в моей сборке нет ни оф. руководства, ни таблички.
Нам нужен мир:smile15: ...Желательно весь!:smile14:
#1137
Вот залил индексы ( см. вложения - думаю , там все понятно )
В ответ пользователю Олегарх
#1139
Олегарх
как редактировать сообщение при выигрыше?

В смысле ? Ты хочешь отредактировать сообщение при завершении миссии и написать в нем типа "Это настоящая победа - не поражение!" ?
Ну так что мешает создать текстовый файл и написать в нем то , что считаешь нужным ? Аналогичную процедуру можно проделать и для сообщения о проигрыше ( "Это ваш позорный проигрыш - не победа !")