И еще, подскажите как исправить ошибку: Value was NIL when getting global with name 'ChangeResource'?
function give_sulfur()
ChangeResource(4, 5, 'Biara')
Trigger(OBJECT_TOUCH_TRIGGER, 'kotel', nil);
end
Впервые здесь? Я Роха — провести быструю экскурсию?
function give_sulfur()
ChangeResource(4, 5, 'Biara')
Trigger(OBJECT_TOUCH_TRIGGER, 'kotel', nil);
end
Какая используется функция для изменения названия и описания объекта?
И еще, подскажите как исправить ошибку: Value was NIL when getting global with name 'ChangeResource'?function give_sulfur()
ChangeResource(4, 5, 'Biara')
Trigger(OBJECT_TOUCH_TRIGGER, 'kotel', nil);
end
1) OverrideObjectTooltipNameAndDescription(объект, путь_к_тексту_имени, путь_к_тексту_описания)
2) Нет такой функции ChangeResource, посмотрите в мануале, какие функции меняют ресурсы.
while GetObjectiveState('meet_demons', PLAYER_1) == OBJECTIVE_ACTIVE do
sleep(5)
end
SetObjectiveState('hero_from_hell', OBJECTIVE_ACTIVE, PLAYER_1);
MessageBox(GetMapDataPath()..'5.txt');
while 1 do
if GetObjectiveState('kill_daeva', PLAYER_1)== OBJECTIVE_COMPLETED
and
GetObjectiveState('capture_mines', PLAYER_1) == OBJECTIVE_COMLETED
then
sleep(5)
SetObjectiveState('hero_from_hell',OBJECTIVE_COMPLETED, PLAYER_1)
SetObjectiveState('go_throw_dungeon',OBJECTIVE_ACTIVE, PLAYER_1)
end
endПосле того как выполняю задание "meet_demons" и закрываю сообщение "5" игра виснет. Что не так сделал?
бесконечный цикл
{
проверка условия.
}В цикл нужно добавить sleep. Плюс, лучше если он будет выполняться в отдельном потоке (по приведенному коду неясно обёрнут он в поток или нет).
MessageBox(GetMapDataPath()..'1.txt');
MessageBox(GetMapDataPath()..'2.txt');
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'Svetlana_Vyacheslav1', 'talk1');
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'demons', 'talk2');
function talk1 ()
MessageBox(GetMapDataPath()..'3.txt')
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'Svetlana_Vyacheslav1', nil);
end
function talk2 ()
MessageBox(GetMapDataPath()..'4.txt');
Trigger(REGION_ENTER_AND_STOP_TRIGGER, 'demons', nil);
end
function task1()
while GetObjectiveState('meet_demons', PLAYER_1) == OBJECTIVE_ACTIVE do
sleep(5)
end
SetObjectiveState('hero_from_hell', OBJECTIVE_ACTIVE, PLAYER_1);
MessageBox(GetMapDataPath()..'5.txt');
end;
function task2()
while 1 do
if GetObjectiveState('kill_daeva', PLAYER_1)== OBJECTIVE_COMPLETED
and
GetObjectiveState('capture_mines', PLAYER_1) == OBJECTIVE_COMLETED
then
sleep(5)
SetObjectiveState('hero_from_hell',OBJECTIVE_COMPLETED, PLAYER_1)
SetObjectiveState('go_throw_dungeon',OBJECTIVE_ACTIVE, PLAYER_1)
end
end
end;
startThread(task1);
startThread(task2) ;Будет.
Смогут.