Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Monnoroch, Maks_K оба не правы:

bind_stalker.script - колбэк на получение инфопоршня

function actor_binder:info_callback(npc, info_id)
    --' Сюжет
    level_tasks.proceed(self.object)
.....

bind_stalker.script - поднимаем предмет

function actor_binder:on_item_take (obj)
    level_tasks.proceed(self.object)
end

bind_stalker.script -бросаем предмет

function actor_binder:on_item_drop (obj)
    level_tasks.proceed(self.object)
end

bind_stalker.script -колбэк на таск

function actor_binder:task_callback(_task, _objective, _state)
    task_manager.task_callback(_task:get_id(), _objective:get_idx(), _state)
    if _objective:get_idx() == 0 then
        if _state == task.fail then
            news_manager.send_task(db.actor, "fail", _task, _objective)
        elseif _state == task.completed then
            task_manager.reward_by_task(_task)
            news_manager.send_task(db.actor, "complete", _task, _objective)
        else
            news_manager.send_task(db.actor, "new", _task, _objective)
        end
    else
        if _task:get_objective(0):get_state() == task.in_progress then
            news_manager.send_task(db.actor, "update", _task, _objective)
        end
    end
end

bind_stalker.script - апдейтер актера

function actor_binder:update(delta)
.....
task_manager.actor_update()
....

вот тута оно проверяецо

Изменено пользователем Gonarh
Ссылка на комментарий
убрать знак =

:good2:

Дело в том что так работает

 

function имя()

if level.get_time_hours() >= 6 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

 

а так нет

 

function имя()

if level.get_time_hours() > 6 and level.get_time_hours() < 24 then

return true

else

return false

end

end

 

:( В чем причина ?

 

 

 

Ссылка на комментарий

потому что 24 часа никогда не бывает, бывает 22,23 но не 24, поэтому условие level.get_time_hours() < 24 выполняется всегда

Изменено пользователем Gonarh
Ссылка на комментарий

Gonarh

function имя()

if level.get_time_hours() >= 6 then

return true

else

return false

end

end

срабатывает

 

function имя()

if level.get_time_hours() > 6 then

return true

else

return false

end

end

не срабатывает

 

кровоSTALKER

вылетает на синхронизации

 

 

 

Ссылка на комментарий

У меня функция вызывается из логики НПС для переключения на другую секцию

Сама функция находится в xr_conditions

 

>= 6 так переключает

> 6 так нет тойсть я просто удаляю равно и уже не работает (негде ошибится)

 

 

вот секция логики

 

[logic@esc_lager_zoneguard1]

active = walker@esc_lager_zoneguard1

 

[walker@esc_lager_zoneguard1]

on_info = {=time_testoww} walker5@esc_lager

on_info2 = {=time2_testoww} walker5@esc_lager

path_walk = guard_walk1

path_look = guard_look1

meet = meet@zoneguard_novice_lager1

 

[meet@zoneguard_novice_lager1]

meet_state = 10| wait@talk_hello

meet_state_wpn = 10| threat@threat_weap

victim = 10| actor

victim_wpn = 10| actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

 

[walker5@esc_lager]

on_info = {=time_testoww1} sleeper10@esc_lager

on_info2 = {=time2_testoww1} sleeper10@esc_lager

path_walk = guard_walk4

meet = meet@lager

 

Ссылка на комментарий

у тебя есть переключение на логику слипера sleeper10@esc_lager, а её описание нету

кроме того у тебя происходит переключение на логику валкера дважды

on_info = {=time_testoww} walker5@esc_lager

on_info2 = {=time2_testoww} walker5@esc_lager

при выполнении одной из функций time_testoww1 или time2_testoww1

покажи их

Изменено пользователем Gonarh
Ссылка на комментарий

Хорошо выкладываю весь блок логики для esc_lager_zoneguard1

 

;охранники

 

[logic@esc_lager_zoneguard1]

active = walker@esc_lager_zoneguard1

 

[walker@esc_lager_zoneguard1]

on_info = {=time_testoww} walker5@esc_lager

on_info2 = {=time2_testoww} walker5@esc_lager

path_walk = guard_walk1

path_look = guard_look1

meet = meet@zoneguard_novice_lager1

 

[meet@zoneguard_novice_lager1]

meet_state = 10| wait@talk_hello

meet_state_wpn = 10| threat@threat_weap

victim = 10| actor

victim_wpn = 10| actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

 

[walker5@esc_lager]

on_info = {=time_testoww1} sleeper10@esc_lager

on_info2 = {=time2_testoww1} sleeper10@esc_lager

path_walk = guard_walk4

meet = meet@lager

 

[sleeper10@esc_lager]

on_info = {=time_testoww2} kamp5@esc_lager

on_info2 = {=time2_testoww2} kamp5@esc_lager

path_main = mod6

meet = meet@lager

 

[kamp5@esc_lager]

on_info = {=time_testoww3} walker1@esc_lager_zoneguard1

on_info2 = {=time2_testoww3} walker1@esc_lager_zoneguard1

center_point = camp_center

path_walk = camp_center_task

soundgroup = esc_lager

meet = meet@lager

 

[walker1@esc_lager_zoneguard1]

on_info = {=time_testoww4} walker6@esc_lager

on_info2 = {=time2_testoww4} walker6@esc_lager

path_walk = guard_walk1

path_look = guard_look1

meet = meet1@zoneguard_novice_lager1

 

[meet1@zoneguard_novice_lager1]

meet_state = 10| wait@talk_hello

meet_state_wpn = 10| threat@threat_weap

victim = 10| actor

victim_wpn = 10| actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

[walker6@esc_lager]

on_info = {=time_testoww5} sleeper11@esc_lager

on_info2 = {=time2_testoww5} sleeper11@esc_lager

path_walk = guard_walk4

meet = meet@lager

 

[sleeper11@esc_lager]

on_info = {=time_testoww6} kamp6@esc_lager

on_info2 = {=time2_testoww6} kamp6@esc_lager

path_main = mod6

meet = meet@lager

 

[kamp6@esc_lager]

on_info = {=time_testoww7} walker2@esc_lager_zoneguard1

on_info2 = {=time2_testoww7} walker2@esc_lager_zoneguard1

center_point = camp_center

path_walk = camp_center_task

soundgroup = esc_lager

meet = meet@lager

 

[walker2@esc_lager_zoneguard1]

on_info = {=time_testoww8} walker7@esc_lager

on_info2 = {=time2_testoww8} walker7@esc_lager

path_walk = guard_walk1

path_look = guard_look1

meet = meet2@zoneguard_novice_lager1

 

[meet2@zoneguard_novice_lager1]

meet_state = 10| wait@talk_hello

meet_state_wpn = 10| threat@threat_weap

victim = 10| actor

victim_wpn = 10| actor

use = true

use_wpn = true

meet_dialog = escape_lager_guard_start_dialog

 

[walker7@esc_lager]

on_info = {=time_testoww9} sleeper12@esc_lager

path_walk = guard_walk4

meet = meet@lager

 

[sleeper12@esc_lager]

on_info = {=time_testoww10} kamp7@esc_lager

path_main = mod6

meet = meet@lager

 

[kamp7@esc_lager]

on_info = {=time_testoww11} walker@esc_lager_zoneguard1

on_info2 = {=time2_testoww11} walker@esc_lager_zoneguard1

center_point = camp_center

path_walk = camp_center_task

soundgroup = esc_lager

meet = meet@lager

 

 

 

Функции в xr_conditions

 

-------------------------------------------------------------------------------------------шаг первый -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function time_testoww()

if level.get_time_hours() >= 6 then

return true

else

return false

end

end

 

 

 

 

function time2_testoww()

if level.get_time_hours() <= 3 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------второй

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww1()

if level.get_time_hours() >= 8 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww1()

if level.get_time_hours() < 6 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

--------------------------------------------------------------------------------------------------------------------------------------------------------------третий ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww2()

if level.get_time_hours() >= 10 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww2()

if level.get_time_hours() <= 7 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------четвертый ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

function time_testoww3()

if level.get_time_hours() >= 12 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww3()

if level.get_time_hours() <= 9 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------пятый

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww4()

if level.get_time_hours() >= 14 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww4()

if level.get_time_hours() <= 11 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------шестой

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww5()

if level.get_time_hours() >= 16 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww5()

if level.get_time_hours() <= 13 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------седьмой ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww6()

if level.get_time_hours() >= 18 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww6()

if level.get_time_hours() <= 15 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------восьмой ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww7()

if level.get_time_hours() >= 20 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww7()

if level.get_time_hours() <= 17 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------девятый ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww8()

if level.get_time_hours() >= 22 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww8()

if level.get_time_hours() <= 19 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------десятый ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww9()

if level.get_time_hours() >= 0 and level.get_time_hours() <= 21 then

return true

else

return false

end

end

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------одинадцатый ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww10()

if level.get_time_hours() >= 2 and level.get_time_hours() <= 23 then

return true

else

return false

end

end

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------------двенадцатый ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

function time_testoww11()

if level.get_time_hours() >= 4 and level.get_time_hours() <= 24 then

return true

else

return false

end

end

 

function time2_testoww11()

if level.get_time_hours() <= 1 and level.get_time_hours() >= 0 then

return true

else

return false

end

end

 

 

 

 

Ссылка на комментарий

итак поехали:

level.get_time_hours() <= 24 - условие не исполнится никогда(25 часов хрен его знает скока минут :rofl2: я хочу себе такие часы) - вкупе с and - функции где есть это условие всегда будут возвращать false

level.get_time_hours() >= 0 - условие будет исполнено всегда(часа с номером -1[минус один] не существует) - можно выкинуть

 

допустим сейчас 12 часов дня, по твоей логике функции

function time_testoww()

function time_testoww1()

function time_testoww2()

function time_testoww3()

function time2_testoww5()

function time2_testoww6()

function time2_testoww7()

function time2_testoww8()

function time_testoww9()

function time_testoww11()

вернут true - на какую логику переключится непись???

 

Вывод: кривая однака логика.

Следствие: правь условия переключения логики

Изменено пользователем Gonarh
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...