Fix : Normal Private Shop : Zırh ve Binek Engeli

  • Konuyu açan Konuyu açan s1nwar
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 21
  • Gösterim Gösterim 375

s1nwar

Üye
Editör
Üye
Mesaj
52
Çözümler
2
Beğeni
367
Puan
374
Ticaret Puanı
0
Merhaba, böyle bir sorun ile karşılaştım sizde varsa çözümü bu şekildedir.
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


root\uiprivateshopbuilder.py:
Genişlet Daralt Kopyala
    def OnOk(self):
            if not self.title:
                return
            if 0 == len(self.itemStock):
                return
   
            if player.IsMountingHorse():
                chat.AppendChat(chat.CHAT_TYPE_INFO, "|cFFFF0000|hBinek üzerindeyken pazar açamazsınız.")
                return
   
            for slot in xrange(player.EQUIPMENT_SLOT_START, player.EQUIPMENT_SLOT_START + player.EQUIPMENT_PAGE_COUNT):
                vnum = player.GetItemIndex(slot)
                if vnum > 0:
                    item.SelectItem(vnum)
                    if item.GetItemType() == item.ITEM_TYPE_ARMOR and item.GetItemSubType() == item.ARMOR_BODY:
                        chat.AppendChat(chat.CHAT_TYPE_INFO, "|cFFFF0000|hZırh takılıyken pazar kuramazsın!")
                        return
   
            shop.BuildPrivateShop(self.title)
            self.Close()
 
Bence sizin yönteminiz verimsiz ve güvensiz. Bunu serverden engellemek çok daha kolay ve güvenli, bu kadar kod eklemek zorunda da kalmazsınız.
 
O halde daha iyisini, paylaşmanızı rica ediyorum. Bu arada verimsiz olduğunu görmek için daha iyisini göstermelisiniz, güvensiz olduğu konusuna ise katılmıyorum, açıkayabilir misiniz, neden güvensiz?
1759566135203.webp


void CHARACTER::__OpenPrivateShop():
Genişlet Daralt Kopyala
    if (IsRiding())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Cannot open shop while riding."));
        return;
    }

void CHARACTER::OpenMyShop (const char* c_pszSign, TShopItemTable * pTable, BYTE bItemCount):
Genişlet Daralt Kopyala
    if (IsRiding())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Cannot open shop while riding."));
        return;
    }
 
25945 eklentisini görüntüle

void CHARACTER::__OpenPrivateShop():
Genişlet Daralt Kopyala
    if (IsRiding())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Cannot open shop while riding."));
        return;
    }

void CHARACTER::OpenMyShop (const char* c_pszSign, TShopItemTable * pTable, BYTE bItemCount):
Genişlet Daralt Kopyala
    if (IsRiding())
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Cannot open shop while riding."));
        return;
    }
Zırh kontrolünü de paylaşır mısınız, ve ayrıca binekten inip zırh çıkarıp pakete sağ tık yapıp daha sonra binek ve zırh takınca çalışıyor mu?
 
Zırh kontrolünü de paylaşır mısınız, ve ayrıca binekten inip zırh çıkarıp pakete sağ tık yapıp daha sonra binek ve zırh takınca çalışıyor mu?
Evet verdiğim binek kontrolü dediğiniz şekilde de çalışıyor. Zırh kontrolü kodlarda zaten var.
 
Evet verdiğim binek kontrolü dediğiniz şekilde de çalışıyor. Zırh kontrolü kodlarda zaten var.
Teşekkürler.
Sonuç aynı güven noktasında bir problem yok, fakat sizin yaptığınız yöntem daha efektif.
Ben server tarafına hiç bakmadım yeni yeni review ediyorum, dileyen sizinkini kullanabilir (Test etmedim)
 
Ne zamandan beri zırhlı bir şekilde pazar kuruluyor ki?

2016 yılında bir server filesten video görüntüsü

Eleman boşuna üstündekileri çıkarmıyordur herhalde. O şekilde pazar kurulmadığını biliyordur.

 
Ne zamandan beri zırhlı bir şekilde pazar kuruluyor ki?

2016 yılında bir server filesten video görüntüsü

Eleman boşuna üstündekileri çıkarmıyordur herhalde. O şekilde pazar kurulmadığını biliyordur.


Forumlarda, Martysama 5.8 adlı fileste bu sorunu yaşadım mevcut (gözlerin görüyorsa resim koydum bakabilirsin), sizde veya başkasında olmayabilir.
 
Forumlarda, Martysama 5.8 adlı fileste bu sorunu yaşadım mevcut (gözlerin görüyorsa resim koydum bakabilirsin), sizde veya başkasında olmayabilir.
O da senin hatan maalesef. Hani anlatımı beğeniyle sağlarsın da görseli niye buna dahil edersin bilemem. Beğenmediğim için görmedim. Kör değilim yani.
 
Teşekkürler.
Sonuç aynı güven noktasında bir problem yok, fakat sizin yaptığınız yöntem daha efektif.
Ben server tarafına hiç bakmadım yeni yeni review ediyorum, dileyen sizinkini kullanabilir (Test etmedim)
Serverden kontrol edilmeyen her engel aşılabilir, yani bu spesifik örnek olmasa bile, buna benzer şekilde hem kendi hem başka clientleri çökertebilecek buglar mutlaka serverden engellenmelidir. Doğru kod pratiği budur
 
Optimizasyon konusunda ölü kod siliyor kodlama bilmiyor kod bilmiyor diye böbürlenen arkadaş server taraflı engelleme koymayı düşünmüyor bile.
1 .sınıf öğrencisinin bile elle yazabileceği engellemeyi chatgpt ye sorsa nasıl engelleme yaprım yardımcı olurdu
 
Serverden kontrol edilmeyen her engel aşılabilir, yani bu spesifik örnek olmasa bile, buna benzer şekilde hem kendi hem başka clientleri çökertebilecek buglar mutlaka serverden engellenmelidir. Doğru kod pratiği budur
Evet bu konuda haklısınız.
Optimizasyon konusunda ölü kod siliyor kodlama bilmiyor kod bilmiyor diye böbürlenen arkadaş server taraflı engelleme koymayı düşünmüyor bile.
1 .sınıf öğrencisinin bile elle yazabileceği engellemeyi chatgpt ye sorsa nasıl engelleme yaprım yardımcı olurdu
ChatGPT ile fazla vakit harcıyorsun sanırım. Fakat daha iyisi ile geleceksen seni ciddiye alırım. Konudaki arkadaş bunu gayet iyi yaptı, sizin kadar yıllardır bu m2 üzerine vakit harcamıyorum. Bu benim 1 aylık sürecim. İddialı isen ortaya proje koy gel yorum satırlarını silerek saçmalama.
 
Geri
Üst