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";
