- Katılım
- 4 Ocak 2016
- Konular
- 163
- Mesajlar
- 818
- Online süresi
- 1ay 29g
- Reaksiyon Skoru
- 761
- Altın Konu
- 59
- Başarım Puanı
- 214
- TM Yaşı
- 10 Yıl 3 Ay 18 Gün
- MmoLira
- 3,698
- DevLira
- 3
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
Merhabalar arkadaşlar,
ZibaGames olarak, Ikarus OfflineShop V2 sürümünde tespit edilen pazarların iç içe açılabilmesi sorununu giderdik. Yeni güncelleme ile birlikte pazarlar arasında mesafe kontrolü eklenmiştir ve bu sayede sorun tamamen çözülmüştür.
Sorunsuz bir şekilde kullanabilirsiniz.
Güle güle kullanın!
Saygılar,
ZibaGames olarak, Ikarus OfflineShop V2 sürümünde tespit edilen pazarların iç içe açılabilmesi sorununu giderdik. Yeni güncelleme ile birlikte pazarlar arasında mesafe kontrolü eklenmiştir ve bu sayede sorun tamamen çözülmüştür.
Sorunsuz bir şekilde kullanabilirsiniz.
Güle güle kullanın!Saygılar,
ikarus_shop_manager.cpp:
// ARAT VE AŞAĞIDA Kİ İLE DEĞİŞTİR
void CShopManager::CreateShopEntity(SHOP_HANDLE shop)
C++:
#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, "Bu konumda çok fazla pazar var. Lütfen farklı bir yerde deneyin.");
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;
}
}
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Son düzenleme:
- Katılım
- 15 May 2013
- Konular
- 972
- Mesajlar
- 6,656
- Online süresi
- 2ay 11g
- Reaksiyon Skoru
- 5,350
- Altın Konu
- 314
- Başarım Puanı
- 319
- TM Yaşı
- 12 Yıl 11 Ay 12 Gün
- MmoLira
- 22,230
- DevLira
- 15
Paylaşım için teşekkürler kardeşim.
- Katılım
- 4 Ocak 2016
- Konular
- 163
- Mesajlar
- 818
- Online süresi
- 1ay 29g
- Reaksiyon Skoru
- 761
- Altın Konu
- 59
- Başarım Puanı
- 214
- TM Yaşı
- 10 Yıl 3 Ay 18 Gün
- MmoLira
- 3,698
- DevLira
- 3
rica ederim yorumunuz için ben teşekkür ederim moderatörüm.Paylaşım için teşekkürler kardeşim.
- Katılım
- 20 Haz 2022
- Konular
- 10
- Mesajlar
- 68
- Online süresi
- 1ay 2g
- Reaksiyon Skoru
- 20
- Altın Konu
- 0
- Başarım Puanı
- 50
- TM Yaşı
- 3 Yıl 10 Ay 4 Gün
- MmoLira
- 1,876
- DevLira
- 6
Paylaşım için teşekkürler kardeşim.
Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)
Benzer konular
- Cevaplar
- 17
- Görüntüleme
- 2K
- Cevaplar
- 37
- Görüntüleme
- 2K
- Cevaplar
- 8
- Görüntüleme
- 2K
- Cevaplar
- 25
- Görüntüleme
- 9K













