Files
rathena/src/map/log.h
lemongrass3110 386f0ae36e Cashshop support
Since our neighbors were a little earlier with releasing the cash shop system, here is our version of it.
It supports TXT and SQL databases and even features kafra point support.
Don't forget to run your SQL updates, since this feature needs another log table for your own security. ;)

Follow up to r17240 finalizing pincode feature. Should be stable now - no beta anymore. Fixes bugreport:7505

Fixed guild creation bug bugreport:7502

Implemented the new NPC range tid:81303

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17242 54d463be-8e91-2dee-dedb-b68131a5f0ec
2013-04-10 02:09:34 +00:00

96 lines
2.8 KiB
C

// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
// For more information, see LICENCE in the main folder
#ifndef _LOG_H_
#define _LOG_H_
//#include "map.h"
struct block_list;
struct map_session_data;
struct mob_data;
struct item;
typedef enum e_log_chat_type
{
LOG_CHAT_GLOBAL = 0x01,
LOG_CHAT_WHISPER = 0x02,
LOG_CHAT_PARTY = 0x04,
LOG_CHAT_GUILD = 0x08,
LOG_CHAT_MAINCHAT = 0x10,
// all
LOG_CHAT_ALL = 0xFF,
}
e_log_chat_type;
typedef enum e_log_pick_type
{
LOG_TYPE_NONE = 0,
LOG_TYPE_TRADE = 0x00001,
LOG_TYPE_VENDING = 0x00002,
LOG_TYPE_PICKDROP_PLAYER = 0x00004,
LOG_TYPE_PICKDROP_MONSTER = 0x00008,
LOG_TYPE_NPC = 0x00010,
LOG_TYPE_SCRIPT = 0x00020,
LOG_TYPE_STEAL = 0x00040,
LOG_TYPE_CONSUME = 0x00080,
LOG_TYPE_PRODUCE = 0x00100,
LOG_TYPE_MVP = 0x00200,
LOG_TYPE_COMMAND = 0x00400,
LOG_TYPE_STORAGE = 0x00800,
LOG_TYPE_GSTORAGE = 0x01000,
LOG_TYPE_MAIL = 0x02000,
LOG_TYPE_AUCTION = 0x04000,
LOG_TYPE_BUYING_STORE = 0x08000,
LOG_TYPE_OTHER = 0x10000,
LOG_TYPE_CASH = 0x20000,
// combinations
LOG_TYPE_LOOT = LOG_TYPE_PICKDROP_MONSTER|LOG_TYPE_CONSUME,
// all
LOG_TYPE_ALL = 0xFFFFF,
}
e_log_pick_type;
typedef enum e_log_cash_type{
LOG_CASH_TYPE_CASH = 0x1,
LOG_CASH_TYPE_KAFRA = 0x2
}e_log_cash_type;
/// new logs
void log_pick_pc(struct map_session_data* sd, e_log_pick_type type, int amount, struct item* itm);
void log_pick_mob(struct mob_data* md, e_log_pick_type type, int amount, struct item* itm);
void log_zeny(struct map_session_data* sd, e_log_pick_type type, struct map_session_data* src_sd, int amount);
void log_cash( struct map_session_data* sd, e_log_pick_type type, e_log_cash_type cash_type, int amount );
void log_npc(struct map_session_data* sd, const char *message);
void log_chat(e_log_chat_type type, int type_id, int src_charid, int src_accid, const char* map, int x, int y, const char* dst_charname, const char* message);
void log_atcommand(struct map_session_data* sd, const char* message);
/// old, but useful logs
void log_branch(struct map_session_data* sd);
void log_mvpdrop(struct map_session_data* sd, int monster_id, int* log_mvp);
int log_config_read(const char* cfgName);
extern struct Log_Config
{
e_log_pick_type enable_logs;
int filter;
bool sql_logs;
bool log_chat_woe_disable;
bool cash;
int rare_items_log,refine_items_log,price_items_log,amount_items_log; //for filter
int branch, mvpdrop, zeny, commands, npc, chat;
char log_branch[64], log_pick[64], log_zeny[64], log_mvpdrop[64], log_gm[64], log_npc[64], log_chat[64], log_cash[64];
}
log_config;
#ifdef BETA_THREAD_TEST
struct {
char** entry;
int count;
} logThreadData;
#endif
#endif /* _LOG_H_ */