Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 97 98 99 100 101 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Vitalist
сообщение Mar 1 2006, 14:41
Сообщение #2436


Level 4
**

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Можно ли сделать так, чтобы нужную мне броню смог надеть любой перс, т. е. без всяких там ограничений на навыки?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Mar 1 2006, 16:44
Сообщение #2437


Level 19
Иконки Групп

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



конкретную броню - нет
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Mar 1 2006, 18:32
Сообщение #2438


Level 4
**

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Vhall, а, вообще, броню?
Имеется телепорт, который ведет в другую локацию Мне хотелось бы, чтобы им можно было воспользоваться, только поговорив с одним NPC (типа, до диалога он не "используется" - не активен) Как сие сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 1 2006, 18:37
Сообщение #2439


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Цитата(Vitalist @ Сегодня, 16:41) [snapback]71327[/snapback]
Можно ли сделать так, чтобы нужную мне броню смог надеть любой перс, т. е. без всяких там ограничений на навыки?

В принципе можно, но опять же это ковырять 2Да. Посомтри какие шмотки были в ПЛ. Там один плащ "Покровительства Селун" чего стоит. Таскать такую шмотку мона с 40 левела наверное. А в ПЛ может любой даже комманер. И тапорик +4 Ледяной Вампир, тоже... Посмотри свойства, из Айс редактировал. Там просто как магические св-ва добавляешь в предмет и вся цена сбрасывается на 0. Соотвесвенно и левел для использования.

Цитата(Vitalist @ Сегодня, 20:32) [snapback]71350[/snapback]
Имеется телепорт, который ведет в другую локацию Мне хотелось бы, чтобы им можно было воспользоваться, только поговорив с одним NPC (типа, до диалога он не "используется" - не активен) Как сие сделать?


Насмешил (IMG:style_emoticons/kolobok_light/smile.gif)
Neverwinter Script Source
if(!GetLocalInt(oNpc, "ТИПА_ПОБАЗАРИЛ")) return;
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vhall
сообщение Mar 2 2006, 00:15
Сообщение #2440


Level 19
Иконки Групп

Класс: Обыватель
Характер: True Neutral
Раса: Дварф
NWN: Контент



2Vitalist

Смотря какие ограничения имеются в виду. Если уровень, то это проще простого - есть такие 2da, как сказал Айв, - iprp_<параметр_вещи>.2da. В каждой из них есть столбец Cost. Он в десятичной вычисляет требуемый уровень вещи (Value смотри не меняй).
Если не уровень, а какой либо фит - смотри baseitems.2da, столбцы ReqFeat#.

Но это относится не к конкретной вещи, а к параметрам (в первом случае) и ее типу (во втором).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Mar 3 2006, 23:45
Сообщение #2441


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Небольшой вопрос. Точнее, два.
1. Наверное, все видели в списке плейсов такой предмет - Круг Призыва. Но если его поставить на мапу, он не виден. В комментариях написано, что для того, чтобы его увидеть, его нужно активировать. Скорее всего, это выполняется с помощью функции EventActivateObject, но я никак не могу настроить эту функцию.. Никак не компилируется. Поясните пожалуйста, кто нибудь, за что отвечает каждый параметр, ибо в хэлпе не написано...

2. Как бы создать такой эффект, чтобы над определённым местом постоянно летали огненные черепушки (в НвН есть такое заклинание)? (IMG:style_emoticons/kolobok_light/bad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Mar 4 2006, 01:07
Сообщение #2442


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Цитата
2. Как бы создать такой эффект, чтобы над определённым местом постоянно летали огненные черепушки (в НвН есть такое заклинание)?

Находишь в "Секретные объекты" "труп"(он невидимый) и накладываешь на него EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR).
Цитата
1. Наверное, все видели в списке плейсов такой предмет - Круг Призыва.

Неа, не видел (IMG:style_emoticons/kolobok_light/unknw.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Mar 4 2006, 01:28
Сообщение #2443


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



-fenix-
Извини за наитупейший вопрос, но каким образом можно наложить на предмет такой эффект? На хартбит, что ли?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Mar 4 2006, 02:21
Сообщение #2444


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



Цитата
каким образом можно наложить на предмет такой эффект? На хартбит, что ли?

Не на предмет, а на плейс! Можешь вот так на хертбит.
Neverwinter Script Source
void main()
{
if(GetLocalInt(OBJECT_SELF, "fear") !=1)
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR), OBJECT_SELF);
SetLocalInt(OBJECT_SELF, "fear", 1);
}
}

Ну а можешь откуда угодно наложить эффект с помощью
Neverwinter Script Source
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR), OBJECT_SELF);

Только тогда вместо OBJECT_SELF укажи объект на который накладывается эффект.

А что там с кругом призыва, уже разобрался? Мож ты портал какой так обозвал, я че та не помню такого? (IMG:style_emoticons/kolobok_light/unknw.gif)

Сообщение отредактировал -fenix- - Mar 4 2006, 02:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Mar 4 2006, 02:23
Сообщение #2445


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Спасибо большущее.
А круг призыва - это такая бошльшая пентограмма, которую, можно расположить на земле. Расположен в группе "визуальные эффекты".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Mar 4 2006, 02:42
Сообщение #2446


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



А..., усе, вспомнил. (IMG:style_emoticons/kolobok_light/smile.gif)

1)Снимаешь галку "статик".
2)Ставешь первичное состояние "деактивировано".
3) Включаешь/отключаешь анимацию с помощью функции
NSS
// Cause the action subject to play an animation
// - nAnimation: ANIMATION_*
// - fSpeed: Speed of the animation
// - fDurationSeconds: Duration of the animation (this is not used for Fire and
//  Forget animations)
void ActionPlayAnimation(int nAnimation, float fSpeed=1.0, float fDurationSeconds=0.0)


QUOTE
Скорее всего, это выполняется с помощью функции EventActivateObject, но я никак не могу настроить эту функцию.. Никак не компилируется.

Откуда ты вообще это взял?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dana
сообщение Mar 5 2006, 00:17
Сообщение #2447


Level 2
*

Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



Доброго всем времени суток.
У меня на повестке вопрос. Ситуация: чар набрал опыта для левел апа. Мне надо сделать так, что бы ему больше не давалась экспа, пока он не сделает ап. Что и де мне надо написать?
Заранее спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Mar 5 2006, 03:08
Сообщение #2448


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Dana, тебе надо в скрипте обработки опыта создать формулу, по которой проверять опыт персонажа. Если он равен следующему уровню, то не давать опыт вообще. Например, персонаж поднялся до 3-го уровня, берем формулу:

((((Уровень + 1) * Уровень) / 2 * 1000) - 1)

и подставляем в нее текущий уровень персонажа. В расчете у нас получится цифра 2999. Далее делаем условие:
NSS
if (GetXP(oPlayer)  > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
{
    SetXP(oPlayer, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dana
сообщение Mar 5 2006, 05:26
Сообщение #2449


Level 2
*

Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



QUOTE(Zirrex @ Mar 5 2006, 03:08) [snapback]71718[/snapback]

Dana, тебе надо в скрипте обработки опыта создать формулу, по которой проверять опыт персонажа.

Спасибо. А где именно написать? на OnDeath мобов? если да, то как быть с другими участниками пати?
Похожий скрипт я видела на Амене (IMG:style_emoticons/kolobok_light/smile.gif) там кааааак раз Зирекс заправляет ))
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Mar 5 2006, 14:09
Сообщение #2450


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Dana, да, именно там. Опыт распределяется по всей партии! У кого опыт выше уровня, те опыт получат, а у кого он равен 2999, то не получат. На Амене выводится сообщение, дескать, вы достигли предела, обратитесь к мастеру тренировки.

З.Ы. Так это я и есть (IMG:style_emoticons/kolobok_light/wink3.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dana
сообщение Mar 5 2006, 17:57
Сообщение #2451


Level 2
*

Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



Продолжаем разбор: =)

Написанное мной на OnDeath:
NSS
#include "NW_I0_GENERIC"
void main()
{

object oKiller = GetLastKiller();
int nLevel = GetCharacterLevel(oKiller);
if (GetXP(oKiller)  > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
{
    SetXP(oKiller, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
    SendMessageToPC(oKiller, "Your must LEVEL UP!!!");

}
else
{
    ExecuteScript("nw_c2_default7", OBJECT_SELF);
}
}



Для мобов есть стандартная функция - "nw_c2_default7"

NSS
#include "x2_inc_compon"
#include "x0_i0_spawncond"

void main()
{
    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
    object oKiller = GetLastKiller();
    // If we're a good/neutral commoner,
    // adjust the killer's alignment evil
    if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
    {
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    // Call to allies to let them know we're dead
    SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);

    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);

    // NOTE: the OnDeath user-defined event does not
    // trigger reliably and should probably be removed
    if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }
    craft_drop_items(oKiller);
}


Ничего не пойму (IMG:style_emoticons/kolobok_light/sad.gif) Вроде бы все работает. Сообщение о поднятии уровня появляется, но...опыт продолжает даваться. При наступлении следующего OnDeath опыт опять приходит в норму (т.е. -1 до след. апа), а затем опять дается. Млин! (IMG:style_emoticons/kolobok_light/sad.gif)
1) прошу объяснить что не так
2) прошу исправить
3) либо... уважаемый Zirrex выложит версию исправленную и дополненную...(вариант: свою с Амена)... (IMG:style_emoticons/kolobok_light/angel.gif)
4) может я что не так поняла, но опыт-то проверяется только у "object oKiller = GetLastKiller();"? и коим образом тут остальные участники пати?


Aiwan: Дана, у нас есть специальный BBкод который вставляется нажатием на букву N [nss]. Это как раз код для скриптов НВН. Добро пожаловать. (IMG:style_emoticons/kolobok_light/biggrin.gif)


Сообщение отредактировал Aiwan - Mar 5 2006, 22:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Mar 5 2006, 18:43
Сообщение #2452


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Dana, а, стоп, в данном случае опыт будет даваться только тому, кто убил это существо. Для распределения опыта по партии, нужен скрипт иного профиля. Я так написал, потому что не знаю, как у тебя работает скрипт в самом модуле. Может быть уже есть система распределения опыта (IMG:style_emoticons/kolobok_light/smile.gif)

Не надо ExecuteScript делать, лучше уж так:
NSS
#include "x0_i0_spawncond"

void main()
{
    object oKiller = GetLastKiller();

    int nLevel = GetHitDice(oKiller);

    if (GetXP(oKiller) > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
    {
        SetXP(oKiller, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
        SendMessageToPC(oKiller, "Your must LEVEL UP!!!");
    }
    else
    {
        // Это лишь для примера, по-настоящему нужна система распределения опыта, и желательно своя, а не стандартная
        SendMessageToPC(oKiller, "О боги, меня наградили");
        SetXP(oKiller, 100);
    }

    if (GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }
}

Остальное из скрипта "nw_c2_default7", я выкинул, потому что лишнее, и подходит больше для одиночной игры, чем для сетевого модуля. Тем более понижать мировоззрение за убийство фракции Commoner - это гм... не очень весело (IMG:style_emoticons/kolobok_light/smile.gif)

Что это - GetCharacterLevel? Есть функция - int GetHitDice(object oCreature)

Да, и не забудь поставить в модульных настройках опцию "XP Scale" в 0, если ты используешь свою систему распределения опыта. Пока она у тебя будет стоять не в 0, то скрипт выдачи опыта на действии "OnDeath" монстра работать будет не совсем верно. Он тебя ограничивает по опыту, а стандартный скрипт игры выдает опыт, минуя это условие.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Mar 5 2006, 23:11
Сообщение #2453


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



-fenix-
Спасибо. Скоро проверю. По поводу EventActivate - там было написано, что этот объект надо активировать, вот я и подумал на него...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dana
сообщение Mar 6 2006, 09:59
Сообщение #2454


Level 2
*

Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



продолжим:
Допустим у меня система распределения опыта - всем поровну.
в представленном коде OnDeath моба, как я понимаю, происходит проверка ТОЛЬКО его oKillera.
NSS
if (GetXP(oKiller) > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
    {
        SetXP(oKiller, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
        SendMessageToPC(oKiller, "Your must LEVEL UP!!!");
    }

следовательно надо сделать это для каждого участников пати? иначе получается, можно просто поставить чарf рядом, самому уйти спать, а в это врtмя будет идти прокач. Так?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 6 2006, 10:22
Сообщение #2455


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Можно проверить кто убил. Если я уловил нить вопроса (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
NSS
if (GetXP(oKiller) > ((((nLevel + 1) * nLevel) / 2 * 1000) - 1))
    {
        if(GetIsPC(oKiller)
        {
          SetXP(oKiller, (((nLevel + 1) * nLevel) / 2 * 1000) - 1);
          SendMessageToPC(oKiller, "Your must LEVEL UP!!!");
        }
    }
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Mar 6 2006, 11:44
Сообщение #2456


Level 9
Иконки Групп

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Aiwan, не, не уловил. (IMG:style_emoticons/kolobok_light/pardon.gif)

Dana, кусок прямо из Lexicon'a(с легким тюнингом):
NSS
// Get the first PC party member
    object oPartyMember = GetFirstFactionMember(oKiller, TRUE);
    // We stop when there are no more valid PC's in the party.
    while(GetIsObjectValid(oPartyMember) == TRUE)
    {
        // Do something to party member
        if (GetXP(oPartyMember) > ((((nLevel + 1) * nLevel) * 500) - 1))
        {
            SetXP(oPartyMember, (((nLevel + 1) * nLevel) * 500) - 1);
            SendMessageToPC(oPartyMember, "Your must LEVEL UP!!!");
        }
        // Get the next PC member of oPC's faction.
        // If we put anything but oPC into this, it may be a totally
        // unreliable loop!
        oPartyMember = GetNextFactionMember(oKiller, TRUE);
    }
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Mar 7 2006, 00:08
Сообщение #2457


Level 9
Иконки Групп

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



dumbo, интересно, а можно еще больше эту формулу упростить? В принципе, я видел, что деление на 2, а потом умножение на 1000, лишнее, но оставил так.

Dana, я же тебе дал ссылку в ICQ. Подобный код, который написал dumbo, можно вставить внутрь такой системы распределения опыта.

В скрипте "nw_c2_default7" лишь добавится:
NSS
ExecuteScript("xp_system", oKiller);

Сама же система полностью разбирается в скрипте "xp_system". Посмотри эту систему.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dana
сообщение Mar 8 2006, 18:19
Сообщение #2458


Level 2
*

Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



Продолжим извечные «что» да «как». На повестке 2 вопроса.

1)ситуация. Как мне сделать проверку, находится ли в данной локации хотя бы один PC?
2)Посмотрите и исправьте если это требуется мой код (прыжок к лидеру). Это кольцо с уникальной силой для себя. На OnActvateItem модуля. Еще идет проверка на то, у кого находится кольцо. То есть у другого игрока оно не должно работать. (если выпадет в луте)
NSS
void main()
{
object oItem = GetItemActivated();
string sTag = GetTag(oItem );
object oPC = GetItemActivator();
object oLeader = GetFactionLeader(oPC);
location locTarget = GetLocation(oPC);
string sPlayerName = GetPCPlayerName(oPC);

//CALL_LEADER - is a tag of teleport ring with unique power for himself
    if (( sTag == "CALL_LEADER" ) && (sPlayerName == "vasya pupkin"))
    {
        if(GetIsObjectValid(oLeader) == TRUE && oLeader != oPC)
        {
ApplyEffectAtLocation(DURATION_TYPE_INSTANT,    EffectVisualEffect(VFX_IMP_UNSUMMON), locTarget);
            ActionWait(2.0);
            ActionJumpToObject(oLeader);
        }
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Mar 8 2006, 21:20
Сообщение #2459


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



1. Тут надо бы больше параметров. Например когда проверяем? При входе, выходе, триггер... Это просто.

2. В чем проблема?

Вопрос от меня. Что делашь? Шард?

Можно перебрать всех в локации, а можно посмотреть как делает биовар.
NSS
object GetNearestPC(object oTarget=OBJECT_SELF)
{
  object oNearestPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, oTarget);
  string sPCName = GetName(oNearestPC);
  return oNearestPC;
  }
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dana
сообщение Mar 8 2006, 21:43
Сообщение #2460


Level 2
*

Класс: Друид
Характер: Lawful Neutral
Раса: Полуэльф



1) проверка, когда выходит PC из локации. на OnExit наверно
2) вроде как разобралась. Надо было через AssignCommand() делать
3) да, шард. По мирам Ю.Никитина. Скриптер пока тока я, да и то начинающий (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 97 98 99 100 101 > » 
Ответить в эту темуОткрыть новую тему
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 23rd July 2025 - 03:55