Skocz do zawartości

Featured Replies

Opublikowano
  • Autor
1 minutę temu, Delta napisał(a):

a bugów pewnie od cholery


Helena! Mam zawał! - Memy.pl

Jak to z marty bylo robione to mozliwe ze wyogarniali co bylo XD

Opublikowano

Pare podpowiedzi dla osób pracujących na entry-core:

- Nie ma modułu Sequence w plikach i może wyskoczyć błąd w visualu z PythonNetworkStreamIkarusShop.cpp :
 

    if (!Send(pack))
    {
        TraceError("CANNOT SEND OFFLINESHOP PACKET : SUBHEADER %d - pack",pack.subheader);
        return;
    }

    if(!Send(subpack))
        TraceError("CANNOT SEND OFFLINESHOP PACKET : SUBHEADER %d - subpack ", pack.subheader);
}


To wtedy żeby zatrybiło to poprawiłem tak:

 

    if (!Send(sizeof(pack), reinterpret_cast<const char*>(&pack))) // ZMIANA
    {
        TraceError("CANNOT SEND OFFLINESHOP PACKET : SUBHEADER %d - pack", pack.subheader);
        return;
    }

    if (!Send(sizeof(subpack), reinterpret_cast<const char*>(&subpack))) // ZMIANA
    {
        TraceError("CANNOT SEND OFFLINESHOP PACKET : SUBHEADER %d - subpack", pack.subheader);
        return;
    }


EffectManager.h 

Tutaj może error wyskoczyć związane z tym:
      

 BOOL RegisterEffect2(const char * c_szFileName, uint32_t* pdwRetCRC, bool isNeedCache=false);


To wtedy w PythonIkarusShop.cpp fraze:

#ifdef ENABLE_IKASHOP_ENTITIES
namespace ikashop
{
#ifdef EXTEND_IKASHOP_ULTIMATE
    ShopInstance::EffectID ShopInstance::_FindEffectCRC(const SignString& name) {
        auto it = s_RegisterEffectMap.find(name);
        if (it != s_RegisterEffectMap.end())
            return it->second;

       EffectID crc = 0;
       if (!CEffectManager::Instance().RegisterEffect2(name.c_str(), &crc, false)) {
            crc = 0;
            TraceError("CANNOT REGISTER EFFECT FILE : %s", name.c_str());
       }


zmieniłem na to:

#ifdef ENABLE_IKASHOP_ENTITIES
namespace ikashop
{
#ifdef EXTEND_IKASHOP_ULTIMATE
    ShopInstance::EffectID ShopInstance::_FindEffectCRC(const SignString& name) {
        auto it = s_RegisterEffectMap.find(name);
        if (it != s_RegisterEffectMap.end())
            return it->second;

//        EffectID crc = 0;
//        if (!CEffectManager::Instance().RegisterEffect2(name.c_str(), &crc, false)) {
//            crc = 0;
//            TraceError("CANNOT REGISTER EFFECT FILE : %s", name.c_str());
//        }


EffectID crc = 0;    //dodana poprawka pod entry
if (!CEffectManager::Instance().RegisterEffect2(name.c_str(), reinterpret_cast<uint32_t*>(&crc), false)) {
    crc = 0;
    TraceError("CANNOT REGISTER EFFECT FILE : %s", name.c_str());
}



Jeszcze ten #ifdef trzeba dodać z tematu bo będzie wywalać error związany z ApplyAlwaysHidden & ReleaseAlwaysHidden
<< KLIKNIJ W TEMAT >>

Opublikowano
  • Autor
1 godzinę temu, ExoCarossa napisał(a):

Dodawał ktoś już i wie jak to wygląda?

Masz screena w temacie, mogę dorzucić więcej jak trzeba będzie 

Edytowane przez ARK

Opublikowano

+ za wstawkę na pewno wykorzystam, tylko szkoda ze nikt jeszcze w tych projektach offline shop nie zrobił opcji z możliwością kupienia danej ilości z xx stacku, trza będzie sobie to samemu ogarnąć

W dniu 12.10.2024 o 15:38, Delta napisał(a):

a bugów pewnie od cholery


Helena! Mam zawał! - Memy.pl

jakie błędy masz na myśli? 

 

  • 4 tygodnie później...
Opublikowano
2 minuty temu, mostrzymorda napisał(a):

źle coś dodłeś, u mnie śmiga normalnie na 5.8.
Spróbuj jeszcze raz krok po kroku

wszystko jest poprawnie dodane 1:1, tylko game nie odpala jak mam enable ikarius , dodawałeś też te patchy?

Opublikowano
6 minut temu, mostrzymorda napisał(a):

ta dodawalem, dodaj syser to bedzie wiadomo lub sprawdz napiecie na plycie glownej

a masz zwiększony limit na count? 

game mi wogóle po enable nie odpala zero reakcji i game tworzy 2x wiekszy rozmiar więc coś nie pasuję z typami danych

ja nie dodawałem zadnych patchy tylko main dodałem

Opublikowano
Godzinę temu, Kaszalotpospolity napisał(a):

a masz zwiększony limit na count? 

game mi wogóle po enable nie odpala zero reakcji i game tworzy 2x wiekszy rozmiar więc coś nie pasuję z typami danych

ja nie dodawałem zadnych patchy tylko main dodałem

Core też się nie tworzy?

Opublikowano
10 minut temu, Zephyr napisał(a):

Core też się nie tworzy?

mam core i debugowałem ale zaduzo zabawy w poprawianie więc sobie odpuszczę zresztą zaduzo biblotek uzywa rapidjson i fmt dla mnie to zbędny balast im więcej biblotek masz w projekcie to więcej problemów na przyszłość przy zmianie platformy

Opublikowano
  • Autor
11 minut temu, Azurri napisał(a):

Czy ktoś rzetelnie testował te sklepy?

Ktoś na pewno ale wątpię czy podzieli sie informacja co i jak z nimi

  • Sevence odpiął/ęła ten temat
Opublikowano

Przesyłam wam fix na nakładające się sklepy od kebabów

Witajcie przyjaciele, jako ZibaGames naprawiliśmy problem polegający na tym,
że sklepy wykryte w wersji Ikarus OfflineShop V2 mogą być otwierane zagnieżdżone. Wraz z nową aktualizacją dodano kontrolę odległości między sklepami, co całkowicie rozwiązało problem.


Szukaj:

	void CShopManager::CreateShopEntity(SHOP_HANDLE shop)
	{
		auto& spawn = shop->GetSpawn();
		if (auto sectree = SECTREE_MANAGER::Instance().Get(spawn.map, spawn.x, spawn.y))
		{
			auto entity = std::make_shared<ShopEntity>();
			entity->SetShopName(shop->GetName());
			entity->SetMapIndex(spawn.map);
			entity->SetXYZ(spawn.x, spawn.y, 0);
			entity->SetShop(shop);
#ifdef EXTEND_IKASHOP_ULTIMATE
			entity->SetShopType(shop->GetDecoration());
#endif
			sectree->InsertEntity(entity.get());
			entity->UpdateSectree();
			shop->SetEntity(entity);

			m_entityByVID[entity->GetVID()] = entity;
		}
	}



Zamień na:


#ifndef DISTANCE_APPROX
#define DISTANCE_APPROX(x, y) (abs(x) + abs(y))

#endif

void CShopManager::CreateShopEntity(SHOP_HANDLE shop)

{

    auto& spawn = shop->GetSpawn();

   

    // Karakter opsiyonel — sadece bilgi amaçlı

    LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(shop->GetOwnerPID());

   

    if (auto sectree = SECTREE_MANAGER::Instance().Get(spawn.map, spawn.x, spawn.y))

    {

        long new_x = spawn.x;

        long new_y = spawn.y;

        bool conflict = true;

        int max_try = 20;

   

        std::random_device rd;

        std::mt19937 gen(rd());

        std::uniform_int_distribution<> dis(-150, 150);

   

        while (conflict && max_try > 0)

        {

            conflict = false;

   

            new_x = spawn.x + dis(gen);

            new_y = spawn.y + dis(gen);

   

            auto check_shops = [&](LPENTITY ent)

            {

                if (ent->IsType(ENTITY_NEWSHOPS))

                {

                    if (DISTANCE_APPROX(ent->GetX() - new_x, ent->GetY() - new_y) < 100)

                        conflict = true;

                }

            };

   

            sectree->ForEachAround(check_shops);

            --max_try;

        }

   

        if (conflict)

        {

            if (ch)

                ch->ChatPacket(CHAT_TYPE_INFO, "FIX_SKLEPY1");

            return;

        }

   

        auto entity = std::make_shared<ShopEntity>();

        entity->SetShopName(shop->GetName());

        entity->SetMapIndex(spawn.map);

        entity->SetXYZ(new_x, new_y, 0);

        entity->SetShop(shop);

#ifdef EXTEND_IKASHOP_ULTIMATE

        entity->SetShopType(shop->GetDecoration());

#endif

        sectree->InsertEntity(entity.get());

        entity->UpdateSectree();

        shop->SetEntity(entity);

   

        m_entityByVID[entity->GetVID()] = entity;

    }

}

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...