onur akbaş 1
onur akbaş
IronTalonX 1
IronTalonX
D 1
delimuratt
berzahx 1
berzahx
PrimeAC 1
PrimeAC
DEVLOPER 1
DEVLOPER
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
romegames 1
romegames
InfernoShade 1
InfernoShade
Fethi Polat 1
Fethi Polat
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı char_item

fatih1886

Level 1
Üye
Katılım
6 Ocak 2024
Konular
15
Mesajlar
36
Online süresi
6d 15h
Reaksiyon Skoru
0
Altın Konu
0
TM Yaşı
2 Yıl 5 Ay 9 Gün
Başarım Puanı
26
MmoLira
1,533
DevLira
3
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Merhabalar,

char_item de item 27989 ve 76006 Metin Taşı Dedektörü orijinal hali sınırsız kullanım vardı bunu sınırlı kullanım için bir kod buldum işe yaradı fakat.

kalan kullanım miktarını göstermiyor. ne yapa bilirim yardım eder misiniz.

Bendeki
bandicam 2024-08-19 14-19-59-899.jpg


Metin2 Tr
bandicam 2024-08-19 14-19-29-899.jpg



Kod:
                            case 27989: // 영석감지기
                            case 76006: // 선물용 영석감지기
                                {
                                    LPSECTREE_MAP pMap = SECTREE_MANAGER::instance().GetMap(GetMapIndex());

                                    if (pMap != NULL)
                                    {
                                        item->SetSocket(0, item->GetSocket(0) + 1);

                                        FFindStone f;

                                        // <Factor> SECTREE::for_each -> SECTREE::for_each_entity
                                        pMap->for_each(f);

                                        if (f.m_mapStone.size() > 0)
                                        {
                                            std::map<DWORD, LPCHARACTER>::iterator stone = f.m_mapStone.begin();

                                            DWORD max = UINT_MAX;
                                            LPCHARACTER pTarget = stone->second;

                                            while (stone != f.m_mapStone.end())
                                            {
                                                DWORD dist = (DWORD)DISTANCE_SQRT(GetX()-stone->second->GetX(), GetY()-stone->second->GetY());

                                                if (dist != 0 && max > dist)
                                                {
                                                    max = dist;
                                                    pTarget = stone->second;
                                                }
                                                stone++;
                                            }

                                            if (pTarget != NULL)
                                            {
                                                int val = 3;

                                                if (max < 10000) val = 2;
                                                else if (max < 70000) val = 1;

                                                ChatPacket(CHAT_TYPE_COMMAND, "StoneDetect %u %d %d", (DWORD)GetVID(), val,
                                                        (int)GetDegreeFromPositionXY(GetX(), pTarget->GetY(), pTarget->GetX(), GetY()));
                                            }
                                            else
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("감지기를 작용하였으나 감지되는 영석이 없습니다."));
                                            }
                                        }
                                        else
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("감지기를 작용하였으나 감지되는 영석이 없습니다."));
                                        }

                                        if (item->GetSocket(0) >= 6)
                                        {
                                            ChatPacket(CHAT_TYPE_COMMAND, "StoneDetect %u 0 0", (DWORD)GetVID());
                                            ITEM_MANAGER::instance().RemoveItem(item);
                                        }
                                    }
                                    break;
                                }
                                break;
 
Son düzenleme:
Çözüm
Ticaret - 0%
0   0   0
root > uitooltip.py dosyanızda böyle bir kodvar mı bir kontrol eder misiniz ?

[CODE title="root > uitooltip.py içinde arat"] if 27989 == itemVnum or 76006 == itemVnum:
if 0 != metinSlot:
useCount = int(metinSlot[0])

self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_REST_USABLE_COUNT % (6 - useCount), self.NORMAL_COLOR)[/CODE]
Sizdeki bulduğunuz altı adet kullanımda kayboluyor mu? Cevap evet ise; roottan düzenleme gerekiyor
 
root > uitooltip.py dosyanızda böyle bir kodvar mı bir kontrol eder misiniz ?

[CODE title="root > uitooltip.py içinde arat"] if 27989 == itemVnum or 76006 == itemVnum:
if 0 != metinSlot:
useCount = int(metinSlot[0])

self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_REST_USABLE_COUNT % (6 - useCount), self.NORMAL_COLOR)[/CODE]
 
Çözüm
root > uitooltip.py dosyanızda böyle bir kodvar mı bir kontrol eder misiniz ?

[CODE title="root > uitooltip.py içinde arat"] if 27989 == itemVnum or 76006 == itemVnum:
if 0 != metinSlot:
useCount = int(metinSlot[0])

self.AppendSpace(5)
self.AppendTextLine(localeInfo.TOOLTIP_REST_USABLE_COUNT % (6 - useCount), self.NORMAL_COLOR)[/CODE]

Evet


Kod:
            if 27989 == itemVnum or 76006 == itemVnum:
                if 0 != metinSlot:
                    useCount = int(metinSlot[0])
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst