- Регистрация
- 1 Фев 2019
- Сообщения
- 127
- Лучшие ответы
- 0
- Репутация
- 3
Здравствуйте, пользователи портала Pawno-Info!
Сейчас я покажу как сделать систему логирования действий как на Аризоне)
Все логи будут сохранятся в БД, где вы можете их смотреть или выводить на сайт)
Начинаем.
1. Для начала создадим в вашей базе таблицу с логами, она будет иметь всего 2 столбца (Дата и Текст)
PHP:
CREATE TABLE IF NOT EXISTS `logi` (
`Дата` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`Текст` varchar(150) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
2. Создадим stock
PHP:
stock aml(type,playerid,playerid2[],string[],money)
{
new query[200];
if(type == 1) format(query, sizeof(query), "INSERT INTO `logi` (Текст) VALUE ('Игрок %s получил деньги $%d по причине %s (Money:%d).')",переменная_имени_игрока(playerid),money,string,PlayerInfo[playerid][переменная_денег_игрока]);
mysql_tquery(переменная_мускула, query);
}
3. Как вы уже могли понять для примера я сделаю лог получение денег, возьмем к примеру получение денег за реферала.
Исчим свою функцию выдачи денег за реферала, после выдачи денег используйте эту функцию:
PHP:
aml(1,refid,"","за приведенного игрока",cost);
PHP:
publics MysqlReferalCheck(playerid)
{
if(!cache_get_row_count(mysql)) return 1;
new Referal[24], string[256];
cache_get_row(0, 0, Referal, mysql);
if(strcmp(Referal,"No Referal",false)!=0)
{
new refid = GetNameID(Referal);
new cost = 300000;
if(refid != INVALID_PLAYER_ID && IsPlayerLogged[refid])
{
GiveMoney(refid,cost);
format(string, sizeof(string), "Вы получаете $%d за приведенного вами игрока %s",Name(playerid),cost);
SendClientMessage(refid,COLOR_VALIK,string);
}
else
{
format(string, sizeof(string), "UPDATE `accounts` SET `Money`=`Money`+$d WHERE `NickName`='%s'", Referal,cost);
mysql_tquery(mysql, string);
}
aml(1,refid,"","за приведенного игрока",cost);
}
return 1;
}
2 Параметр - Это айди игрока который получил деньги.
3 Параметр - Это айди второго игрока,в данном случае не нужен. (Если будете юзать то нужно будет вставлять ник игрока (К примеру Name(id) ), не просто айди т.к у нас этот параметр считается как текстовый).
4 Параметр - Это причина получение денег.
5 Параметр - Это количество денег которое игрок получил.
Если будут вопросы - Пишите, на все постараюсь ответить)
Последнее редактирование: