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

[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
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
убрать знак =

: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
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

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
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Хорошо выкладываю весь блок логики для 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
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

xzeyzz, куда текстура? текстура нужна если есть 3д модель, аномалии сделаны не так, это партиклы

ЗЫ. огонь, ветер... тоже партиклы

Vita sine libertate, nihil

Vita sine litteris - mors est

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

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

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

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

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

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

Войти

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

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

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