А если теперь открыть окно заточки и не точить ничего а просто его закрыть то с игры можно выйти?Небольшая поправка, устраняющая проблему с дублированием сообщений при закрытии окна зачарования.
Посмотреть вложение 90926
В файле ItemEnchantWnd.uc мы удаляем одну строку.
Код:function HandleEnchantHide() { isRetry = False; class'EnchantAPI'.static.RequestEnchantItem(-1); // <-- УДАЛИТЬ ЭТО Me.HideWindow(); }
Да, всё работает корректно. Можно спокойно закрыть окно заточки и нормально выйти из игры.А если теперь открыть окно заточки и не точить ничего а просто его закрыть то с игры можно выйти?
У вас все криты связаны с уроном на экране который проходит по вам попробуйте отключить в настройках урон на экране и потеститьПосле установки ласт апдейта при реса и многих вещах появились криты раньше этого всего не было при первой версии. Ничего не менял
Во время реса персонажа во время многих действий получаю критУ вас все криты связаны с уроном на экране который проходит по вам попробуйте отключить в настройках урон на экране и потестить
Щас буду разбираться.Во время реса персонажа во время многих действий получаю крит
General protection fault!
History: NCWnd::AddAnchorChildWnd <- NCWnd::SetAnchor <- UWindowHandle::execSetAnchor <- UObject:rocessEvent <- (OnScreenDamageWnd Transient.OnScreenDamageWnd0, Function Interface.OnScreenDamageWnd.OnTimer) <- NConsoleWnd::Tick <- UGameEngine::Tick <- UpdateWorld <- MainLoop
Я с ума схожу уже.
Да с уроном связана вы правильно сказали, подскжаите пожалуйста как это чинить?
function OnTimer( int TimerID )
{
local bool isNegative;
local int tmpTimer;
local int idx;
if ( TimerID < 0 )
{
isNegative = True;
tmpTimer = int(Mid(string(TimerID), 1));
}
else
tmpTimer = TimerID;
if ( TimerID == BUFFER_TIMER_ID )
{
bBufferActive = False;
FlushDamageBuffer();
Me.KillTimer(BUFFER_TIMER_ID);
return;
}
if ( tmpTimer >= 30000 )
{
idx = tmpTimer - 30000;
if ( idx >= 0 && idx < MAX_CONTAINER && wContainer[idx] != None )
{
if ( !isNegative )
{
wContainer[idx].Move(0, 100, 2);
Me.SetTimer((idx) + 20000, 1000);
}
else
{
wContainer[idx].Move(0, -100, 2);
Me.SetTimer(-(idx) + 20000, 1000);
}
}
}
else if ( tmpTimer >= 20000 )
{
idx = tmpTimer - 20000;
if ( idx >= 0 && idx < MAX_CONTAINER && wContainer[idx] != None )
{
if ( !isNegative )
{
wContainer[idx].Move(0, 100, 0.05);
Me.SetTimer((idx) + 10000, 40);
}
else
{
wContainer[idx].Move(0, -100, 0.05);
Me.SetTimer(-(idx) + 10000, 40);
}
}
}
else if ( tmpTimer >= 10000 )
{
idx = tmpTimer - 10000;
if ( idx >= 0 && idx < MAX_CONTAINER && wContainer[idx] != None )
wContainer[idx].HideWindow();
}
Me.KillTimer(TimerID);
}
case "EnchantTab1":
ProccessAnim.SetTexture("Direction.Enchant3.enchant_proccess_000");
OffAnimEffect( ProccessAnim );
else if ( GetEnchantTabIndex() == 0 )
OffAnimEffect( ProccessAnim );
else if ( GetEnchantTabIndex() == 0 )
{
ProccessAnim.SetTexture("Direction.Enchant3.enchant_proccess_000");
OffAnimEffect( ProccessAnim );
}
Применил фикс для ItemEnchantWnd, но краш остался. После анализа стека вызовов понял, что проблема не в ItemEnchantWnd, а в OnScreenDamageWnd:Щас буду разбираться.
Нашёл глюк в ItemEnchantWnd:
в OnclickButton:
После
вставьтеC-подобный:case "EnchantTab1":
C-подобный:ProccessAnim.SetTexture("Direction.Enchant3.enchant_proccess_000"); OffAnimEffect( ProccessAnim );
И В HandleClickCancel
Измените:
На:C-подобный:else if ( GetEnchantTabIndex() == 0 ) OffAnimEffect( ProccessAnim );
C-подобный:else if ( GetEnchantTabIndex() == 0 ) { ProccessAnim.SetTexture("Direction.Enchant3.enchant_proccess_000"); OffAnimEffect( ProccessAnim ); }
Нажми на кнопку там функция замени ее в OnScreenDamageWnd.ucПрименил фикс для ItemEnchantWnd, но краш остался. После анализа стека вызовов понял, что проблема не в ItemEnchantWnd, а в OnScreenDamageWnd:
OnScreenDamageWnd Transient.OnScreenDamageWnd0, Function Interface.OnScreenDamageWnd.OnTimer
-> SetAnchor -> AddAnchorChildWnd -> General protection fault
не помогает.
Сделал мне самого не критует при килл и реса но игроков критует, заменили новый файл тожеНажми на кнопку там функция замени ее в OnScreenDamageWnd.uc
Ну так а игроки обновили interface.u ?Сделал мне самого не критует при килл и реса но игроков критует, заменили новый файл тоже
Да все хорошо, спасибо большое за помощь. Каждый раз не получается скачивать все файлы и заменять так как есть уже измененные файлы чтобы их заного не пилить.. По этому по частям приходится. Спасибо за Ваш труд и за апдейты.Ну так а игроки обновили interface.u ?
if ( m_potionAutoUse[0] == 1 && Potion[0].ItemNum > 0 )
RequestUseItem(Potion[0].ServerID);
if ( m_potionAutoUse[1] == 1 && Potion[0].ItemNum > 0 ) <-- тут ошибка Potion[0].ItemNum должно быть Potion[1].ItemNum
RequestUseItem(Potion[1].ServerID);
if ( m_potionAutoUse[0] == 1 && Potion[0].ItemNum > 0 )
RequestUseItem(Potion[0].ServerID);
if ( m_potionAutoUse[1] == 1 && Potion[1].ItemNum > 0 )
RequestUseItem(Potion[1].ServerID);
if ( m_potionAutoUse[2] == 1 && Potion[2].ItemNum > 0 )
RequestUseItem(Potion[0].ServerID);
if ( m_potionAutoUse[3] == 1 && Potion[3].ItemNum > 0 )
RequestUseItem(Potion[1].ServerID);
RegisterEvent( EV_ReceiveAttack );
RegisterEvent( EV_ReceiveMagicSkillUse );
case EV_ReceiveAttack:
HandleUseShots( a_Param, 0, 2 );
break;
case EV_ReceiveMagicSkillUse:
HandleUseShots( a_Param, 1, 3 );
break;
function HandleUseShots( string param, int slot1, int slot2 )
{
local int AttackerID;
ParseInt(param, "AttackerID", AttackerID);
if ( AttackerID == class'UIDATA_PLAYER'.static.GetPlayerID() )
{
if ( m_potionAutoUse[slot1] == 1 && Potion[slot1].ItemNum > 0 )
RequestUseItem(Potion[slot1].ServerID);
}
if ( AttackerID == class'UIDATA_PET'.static.GetPetID() )
{
if ( m_potionAutoUse[slot2] == 1 && Potion[slot2].ItemNum > 0 )
RequestUseItem(Potion[slot2].ServerID);
}
}
function HandleSystemMessage( string a_Param )
{
local int Index, Param1, Param2;
ParseInt(a_Param, "Index", Index);
ParseInt(a_Param, "Param1", Param1);
ParseInt(a_Param, "Param2", Param2);
if ( Index == 35 || Index == 46 || Index == 1015 || Index == 1066 )
ExecuteEvent(70694);
}
У меня один аккаунт здесь и один аккаунт на люцере. Продажа модов правилами не запрещена. Прошу администрацию разобраться с данным поведением оскорбительного характера.Посмотреть вложение 92524
Если что эта залупа пытается продать этот интерфейс на форуме люцеры. Так что будьте бдительны. Так у него мульти акк.
Каких [А по щам?] модов бл**ь, ты продаешь чужой интерфейс выложенный в шару. Какой с**а мод, ты чушка, и нехуй мне писать в тг, я понимаю что продажи обломаны, но от твоих угроз ничего не изменится.У меня один аккаунт здесь и один аккаунт на люцере. Продажа модов правилами не запрещена. Прошу администрацию разобраться с данным поведением оскорбительного характера.
Передeлка Окна инвентарь ето кастом модКаких [А по щам?] модов бл**ь, ты продаешь чужой интерфейс выложенный в шару. Какой с**а мод, ты чушка, и нехуй мне писать в тг, я понимаю что продажи обломаны, но от твоих угроз ничего не изменится.
Окно инвентаря было изменено, код UC переписан, что в соответствии с определением является модификацией (модом).Каких [А по щам?] модов бл**ь, ты продаешь чужой интерфейс выложенный в шару. Какой с**а мод, ты чушка, и нехуй мне писать в тг, я понимаю что продажи обломаны, но от твоих угроз ничего не изменится.
Каких [А по щам?] модов бл**ь, ты продаешь чужой интерфейс выложенный в шару. Какой с**а мод, ты чушка, и нехуй мне писать в тг, я понимаю что продажи обломаны, но от твоих угроз ничего не изменится.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?