Metin2 Official Pet Sistemi

Arslan

Sabır; yüzünü ekşitmeden acıyı yudumlamaktır.
Onaylanmış Üye
5 Kas 2020
118
9
Çevrimiçi zamanı
13h 45m
18
Best answers
0
Oyuncu
Metin2, CS:GO
1- Yumurtudan çıkarılan petin açılmadan nakliyeye koyulması.

char_item.cpp açılır ve aratılır

Kod:

if (item2->GetVnum() == 55002)
{

altına ekle

Kod:

if (item->GetAttributeValue(3) == 0)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("pet_bu_halde_konulamaz."));
return false;
}

2- Süresi biten petin nakliyeye koyulması.

char_item.cpp açılır ve aratılır

Kod:

if (item2->GetVnum() == 55002)
{

altına ekle


Kod:

if(item->GetAttributeValue(3) < 1){
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("PET_SURESI_BITMISKEN_BUNU_YAPAMASSIN"));
return false;
}

3- Kendi levelinizden büyük petin nakliyeden çıkarılması.

char_item.cpp aç ve arat

Kod:

if (item->GetVnum() == 55002 && item->GetAttributeValue(0) > 0) {

int pos = GetEmptyInventory(item->GetSize());
if(pos == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You don't have enought space."));
return false;
}

Altına ekle


Kod:

if(GetLevel() < item->GetAttributeValue(4))
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("pet leveli senin levelinden buyuk"));
return false;
}

4- Kendi petinizin sizin levelinizi geçmesi.

newpetsystem.cpp aç ve arat


Kod:

void CNewPetActor::SetExp(DWORD exp, int mode)
{

altına ekle

Kod:

if(GetLevel() >= m_pkOwner->GetLevel()) {return;}

5- Kendi petiniz ile aynı levele ulaştığınızda nesne exp yedirilmesi.

newpetsystem.cpp aç ve arat


Kod:

void CNewPetActor::ItemCubeFeed(int type)


kod bloğu içersindeki for döngüsüne müsait biryere ekle.

Kod:

if(GetLevel() >= m_pkOwner->GetLevel())
{
m_pkOwner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Pet ile ayni seviye oldugundan item yediremezsin."));
return;
}

6- Kilitli itemin pete nesne exp olarak yedirilmesi.

newpetsystem.cpp aç ve arat


Kod:

void CNewPetActor::ItemCubeFeed(int type)

kod bloğu içersindeki for döngüsüne müsait biryere ekle.

Kod:

if (itemxp->IsBind() || itemxp->IsUntilBind())
{
m_pkOwner->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't pet this item because is binded!"));
return;
}


7- Sol alttaki mini pet ekranında skill slotlarının kayması.


uiscript/petminiinformationwindow.py açılır ve bulunur




Kod:

"slot" : ({"index":0, "x":-5, "y":0, "width":16, "height":16,},{"index":1, "x":58-36-5, "y":0, "width":16, "height":16,},{"index":2, "x":80-36-5, "y":0, "width":16, "height":16,},),


değiştirilir.


Kod:

"slot" : ({"index":0, "x":4, "y":0, "width":16, "height":16,},{"index":1, "x":58-36-5+9, "y":0, "width":16, "height":16,},{"index":2, "x":80-36-5+9, "y":0, "width":16, "height":16,},),



8- Pet levelinin anlık olarak yenilenmemesi.



newpetsystem.cpp açılır ve aratılır

Kod:

void CNewPetActor::SetLevel(DWORD level)

kod bloğunun en altına eklenir.


Kod:

m_pkChar->UpdatePacket();
m_pkOwner->UpdatePacket();

9- Pet levelini yükselttikten sonra pet itemine bakıldığında hala petin eski levelinin gözükmesi


10- Offlineshop'a nakliye koyunca petin levelinin değişmesi sorunu


11- Official pet sistemi için slot effect eklenilmesi [UPDATE]


12- Pet açıkken gm karakterle ip komutu yazınca core vermesi.

cmd_gm
bunu bul
ACMD(do_item_purge)
altına ekle

if (ch->GetNewPetSystem()->IsActivePet())
{
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Pet varken envanteri silemezsin"));
return;
}
 
Üst