Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

Enhanced Money Log 1

indirmek için izniniz yok
1fb77ac8e86ce42b2.png

2200e690be72795c2.png

Sunucudaki yangların miktarını ve bunların kökenini kolayca kontrol edebileceğiniz gelişmiş log sistemi.

Günlükler oyunun tüm temel sistemlerini içerir, yani:

  • » Yerden yang toplamak:
    • GIVE_GOLD_PARTY: alınan yang sayısı / düşen toplam yang sayısı
    • GIVE_GOLD_SOLO: Party olmadığında
  • » Öğeleri yükseltme (yükseltilen öğelerin sayısı dahil):
    • REFINE_LOG_SUCCESS: yükseltme başarılı
    • REFINE_LOG_FAIL: yükseltme başarısız
  • » Sandıkları / kutuları açma:
    • CHEST_GOLD: yang içeriyorsa
  • » ELK tipi bir öğe kullanma:
    • ITEM_USE_GOLD: yang miktarını depolayan öğe socket0
  • » Cube penceresinde oluştur:
    • CUBE_CREATE: sadece yang'ların gerekli olduğu yerlerde işçilik için hazırlanmış öğelerin sayısıyla birlikte
  • » Oyuncular arasında değiş tokuş (en az 1k yang, kurulacak service.h):
    • EXCHANGE_GOLD_TAKE: başka bir oyuncu ile ticaret yaparak alınan yanglar
    • EXCHANGE_GOLD_GIVE: ticaret yoluyla başka bir oyuncuya verilen yanglar
  • » NPC tüccarlarından eşya alımı / satımı (miktar ve eşya kimliği ile):
    • NPC_SHOP_BUY: bir NPC'den bir eşya satın alın
    • NPC_SHOP_SELL: bir eşyayı bir NPC'ye satmak
  • » Oyuncuların mağazalarındaki eşyaların satın alınması / satılması (miktar ve eşya kimliği ile):
    • PLAYER_SHOP_BUY: oyuncunun mağazasından bir eşya satın alın
    • PLAYER_SHOP_SELL: oyuncunun mağazasında bir eşya satmak
  • » Görevler yoluyla yang alma ve kaybetme (en az 50k yang, kurulacak service.h):
    • QUEST_GIVE_GOLD: fonksiyon sayesinde elde edilen yanglar pc_give_gold
    • QUEST_CHANGE_GOLD: fonksiyon sayesinde yanglar değişti pc_change_money

service.h:
  • » TAKE_EML_MIN_EXCHANGE_GOLD 1000: min. oyuncular arasındaki alışverişi kaydetmek için Yang miktarı
  • » TAKE_EML_MIN_QUEST_GOLD 50000: min. görevler yoluyla alınan/kaybedilen altını kaydetmek için Yang miktarı

Herhangi bir sisteme günlük eklemek mümkündür, en basiti bu örneği kullanmak olacaktır:
Kod:
/*
     GetPlayerID() » Başlatıcının Karakter Kimliği
    GetName() » Başlatıcının Oyuncu Adı
    "NEW_MONEY_LOG" » İşlem Türü
    NOW() » İşlem Zamanı
    NewLog_AdditionalInfo » Ek Bilgi
    öğesi->GetVnum() » Öğe VNUM (Muhtemelen)
    kurban->GetPlayerID () » Karakter Kimliği
    ile
    kurban-
>GetName() » Oyuncu Adı ile item_cost » Yang Sayısı     ch->GetGold()» Başlatıcı Yangs (işlemden önce)
    ch->GetGold()-item_cost » Başlatıcı Yeni Yangs (işlemden sonra)
* /

// madde hakkında örn ek bilgileri depolamak istediğiniz
Char NewLog_AdditionalInfo [ 512 ];
snprintf(NewLog_AdditionalInfo, sizeof (NewLog_AdditionalInfo), "item_count: %u", item->GetCount());
LogManager::instance ().NEWMoneyLog(GetPlayerID(), GetName(), "NEW_MONEY_LOG", NewLog_AdditionalInfo, item->GetVnum(), kurban->GetPlayerID(), kurban->GetName(), item_cost, ch->GetGold (), ch->GetGold()-item_cost); // ek bilgi depolamak istemediğinizde LogManager::instance ().NEWMoneyLog(GetPlayerID(), GetName(), "NEW_MONEY_LOG", "", item->GetVnum(), kurban->GetPlayerID(), kurban->GetName(), item_cost, GetGold(), GetGold()+item_cost);

Sütunların kullanıcı dostu düzeni sayesinde,
kontrol ettiğimiz oyuncunun işlemlerini ve eylemlerini, örneğin takma adını ve tarihini kullanarak kolayca filtreleyebilirsiniz:

Kod:
SELECT * FROM log.new_money_log WHERE 'char_name' = "take2137" and 'time' > "2021-06-21 21:37:00";

Yazar
Replicant
Kaynak İndirilme
22
Görüntüleme
457
İlk yayınlama
Son Güncelleme
Değerlendirme
0.00 yıldız(lar) 0 rating

Replicant - Kaynakları

Geri
Üst