Question

Не сильно шарю в этом деле, перепробовал все мануалы и готовые решения, ниичего не работает, нужно сделать так чтобы команды которые использует админ на игроках (кик, бан, деморган), записывались куда угодно, помогите пожалуйста

Share this post


Link to post

35 answers to this question

  • 0
//имхо, этот метод балдёжный, написан 20.08.2020 в 2:00
/*
	этот сток можно модифицировать, добавив туда дату и ... миллионы других действий.
	юзать вроде просто, возможно муторно, но:
	SaveAdminLogs(p_info[playerid][pName],"использовал /givegun");
*/
stock SaveAdminLogs(nickname, adminlog[512])
{
	new query_string[512];
	format(query_string,sizeof(query_string),"INSERT INTO `logs` (`name`,`log`) VALUES ('%s', '%s')", nickname, adminlog);
	mysql_query(SQL_VARIABLE,query_string);
}

 

Share this post


Link to post
  • 0

Все это же сохраняется в бд? если так, то какую таблицу создать чтобы это работало, и если можешь объясни пожалуйста, как сделать тоже самое с баном и киком

Share this post


Link to post
  • 0
4 часа назад, lehayoung сказал:

Все это же сохраняется в бд? если так, то какую таблицу создать чтобы это работало, и если можешь объясни пожалуйста, как сделать тоже самое с баном и киком

Просто при использовании бана, вызываешь этот сток.
например, команда /ban

cmd:ban(playerid,params[])
{
//.......код твоего бана и в конце просто добавляешь название стока и действие, т.е.
  
  SaveAdminLogs(p_info[playerid][pName],"использовал команду ban");
  return 0;
}

Создаёшь таблицу с названием logs

в ней int - id (AI галочку ставишь)

name- varchar 32(или 24, не помню какая длина ника максимальна)

log - varchar 512

Share this post


Link to post
  • 0
C:\Users\User\Desktop\Èãðû\ArenaDeatMatch\gamemodes\fade.pwn(9927) : error 017: undefined symbol "p_info"
C:\Users\User\Desktop\Èãðû\ArenaDeatMatch\gamemodes\fade.pwn(9927) : warning 215: expression has no effect
C:\Users\User\Desktop\Èãðû\ArenaDeatMatch\gamemodes\fade.pwn(9927) : error 001: expected token: ";", but found "]"
C:\Users\User\Desktop\Èãðû\ArenaDeatMatch\gamemodes\fade.pwn(9927) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\Èãðû\ArenaDeatMatch\gamemodes\fade.pwn(9927) : fatal error 107: too many error messages on one line

 

Такие ошибочки выдает 

9927:

    SaveAdminLogs(p_info[playerid][pName],"использовал команду ban");

 

Share this post


Link to post
  • 0

@lehayoung вы зря надеетесь, что код можно просто скопировать и он сам собой заработает :D

p_info[playerid][pName] нужно заменить на свою переменную массива, которая хранит информацию о имени игрока

Share this post


Link to post
  • 0

@DEST Не совсем понимаю, в основном просто мод на мануалах пишу, не подскажите как это?

Share this post


Link to post
  • 0
10 часов назад, lehayoung сказал:

@DEST Не совсем понимаю, в основном просто мод на мануалах пишу, не подскажите как это?

Вы создали enum pInfo (?) playerInfo (?) PI(?) - какой-то из этих трёх (самое распространённое).

в нём у вас есть, например, такое:

enum pInfo
{
	pID,
  	pName[MAX_PLAYER_NAME],
  	pPassword
      ...etc
  
  
  
  
}

 

Share this post


Link to post
  • 0
2 часа назад, keyl1337 сказал:

Вы создали enum pInfo (?) playerInfo (?) PI(?) - какой-то из этих трёх (самое распространённое).

в нём у вас есть, например, такое:


enum pInfo
{
	pID,
  	pName[MAX_PLAYER_NAME],
  	pPassword
      ...etc
  
  
  
  
}

 

SaveAdminLogs(PlayerInfo[playerid][pName],"èñïîëüçîâàë êîìàíäó ban");

В данной строчке p_info я заменил на PlayerInfo, 2 ошибки пропали, остались ещё 2, я понимаю что нужно создать новый enum связанный с этим, но как именно и что туда добавлять :S

 

C:\Users\User\Desktop\Игры\ArenaDeatMatch\gamemodes\fade.pwn(9927) : error 017: undefined symbol "pName"
C:\Users\User\Desktop\Игры\ArenaDeatMatch\gamemodes\fade.pwn(11601) : error 017: undefined symbol "SQL_VARIABLE"

Вот такие ошибочки

 

9927: 

SaveAdminLogs(PlayerInfo[playerid][pName],"использовал команду ban");

 

 

11601: 

	mysql_query(SQL_VARIABLE,query_string);
}

 

 

enum PlayerInfo не имеется, есть только pInfo, в начале мода

 

Ошибки не пропадают если в коде заменить на pInfo

 

Share this post


Link to post
  • 0

Скиньте ваш мод, я посмотрю.@lehayoung 

Share this post


Link to post
  • 0
9 часов назад, keyl1337 сказал:

Скиньте ваш мод, я посмотрю.@lehayoung 

Что именно отправить?

Share this post


Link to post
  • 0

@lehayoung pwn файл :/

Share this post


Link to post
  • 0
5 часов назад, keyl1337 сказал:

@lehayoung pwn файл :/

скиньте свой вк

Share this post


Link to post
  • 0

Даже знаете, я сделал кое что, ошибка пропала, осталась только

C:\Users\User\Desktop\Игры\ArenaDeatMatch\gamemodes\fade.pwn(469) : error 017: undefined symbol "SQL_VARIABLE"

 

@keyl1337 как пофиксить эту ошибку?

Share this post


Link to post
  • 0
3 минуты назад, lehayoung сказал:

SQL_VARIABLE


Вместо этого, своё подключение вставь.

Share this post


Link to post
  • 0

@keyl1337 https://yapx.ru/u/IqwgT что тут ещё добавить или изменить? 

Извиняюсь за туповатые вопросы, но в mysql я полный 0 :)))

Share this post


Link to post
  • 0
Только что, lehayoung сказал:

@keyl1337 https://yapx.ru/u/IqwgT что тут ещё добавить или изменить? 

тип varchar длина 24

тип varchar длина 512

ещё поле id добавь, тип int, длина 7

 

SQL_VARIABLE - это переменная подключения к mysql, выглядит как-то так:

new dbHandle = mysql_connect();

 

Share this post


Link to post
  • 0
1 минуту назад, keyl1337 сказал:

тип varchar длина 24

тип varchar длина 512

ещё поле id добавь, тип int, длина 7

 

SQL_VARIABLE - это переменная подключения к mysql, выглядит как-то так:


new dbHandle = mysql_connect();

 

https://yapx.ru/u/Iqw1v 

Share this post


Link to post
  • 0

@lehayoung AI оставь только у ID, у остальных убери

Edited by keyl1337

Share this post


Link to post
  • 0

Share this post


Link to post
  • 0

@lehayoung у вас должно быть так. Пересоздайте таблицу.

G9LldmGe4rY.jpg

Share this post


Link to post
  • 0

@keyl1337 С таблицей все нормально,

а куда добавлять это ?

new dbHandle = mysql_connect();

 

Share this post


Link to post
  • 0

@lehayoung покажите ваше подключение к mysql

Share this post


Link to post
  • 0
stock ConnectMySQL()
{
	mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password);
	mysql_query("set character_set_client='cp1251'");
	mysql_query("set character_set_results='cp1251'");
	mysql_query("set collation_connection='cp1251_general_ci'");
	switch(mysql_ping())
	{
	case 1: print(" MySQL Success connection!");
	case -1: print(" <Warning> MySQL Failed connection.");
	}
	return true;
}

stock DisconnectMySQL()
{
	mysql_close();
	print(" MySQL connection closed.");
}

 

Share this post


Link to post
  • 0

@lehayoung 

//над стоком 
new dbHandle;

//в стоке(stock ConnectMySQL())
//замените это mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password);
// на это dbHandle = mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password);

 

UPD:::::::::!!!!!!!!!!!!
и SQL_VARIABLE на dbHandle замените

Edited by keyl1337

Share this post


Link to post
  • 0
C:\Users\User\Desktop\Игры\ArenaDeatMatch\gamemodes\fade.pwn(470) : error 017: undefined symbol "SQL_VARIABLE"
C:\Users\User\Desktop\Игры\ArenaDeatMatch\gamemodes\fade.pwn(448) : warning 204: symbol is assigned a value that is never used: "dbHandle"

Такие ошибки, но это

new dbHandle = mysql_connect();

я не добавил, потому-что не знаю куда o.O

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • dfhfyyjftyfthtj
      By dfhfyyjftyfthtj
      Приветствую, на днях решил опробовать новый хостинг (ru hoster), долго мучился с запуском мода, который прекрасно запускался на другом хостинге. 
      Появилась новая проблема: сервер крашит в рандомный момент по непонятной причине. Подскажите, пожалуйста, в чем может быть проблема? пробовал и отключать crashdetect, но он все равно крашится и автоматически перезапускается хостингом после краша.
      Логи: