Вопросы

lehayoung
Освоившийся

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

Поделиться сообщением


Ссылка на сообщение

35 ответов на этот вопрос

  • 0
keyl
Великий Гуру
//имхо, этот метод балдёжный, написан 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);
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся

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

Поделиться сообщением


Ссылка на сообщение
  • 0
keyl
Великий Гуру
  В 8/20/2020 в 07:44, 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

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся
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");

 

Поделиться сообщением


Ссылка на сообщение
  • 0

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

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

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся

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

Поделиться сообщением


Ссылка на сообщение
  • 0
keyl
Великий Гуру
  В 8/21/2020 в 06:37, lehayoung сказал:

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

Читать далее...  

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся
  В 8/21/2020 в 17:34, 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

 

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
  • 0
keyl
Великий Гуру
  В 8/22/2020 в 18:27, lehayoung сказал:

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

Читать далее...  

тип varchar длина 24

тип varchar длина 512

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

 

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

new dbHandle = mysql_connect();

 

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся
  В 8/22/2020 в 18:30, keyl1337 сказал:

тип varchar длина 24

тип varchar длина 512

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

 

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

new dbHandle = mysql_connect();

 

Читать далее...  

https://yapx.ru/u/Iqw1v 

Поделиться сообщением


Ссылка на сообщение
  • 0
keyl
Великий Гуру

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

Отредактировано пользователем keyl1337

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся
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.");
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
keyl
Великий Гуру

@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 замените

Отредактировано пользователем keyl1337

Поделиться сообщением


Ссылка на сообщение
  • 0
lehayoung
Освоившийся
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

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • vexlinee
      От vexlinee
      Всем здравствуйте, сидел я на майнкрафт читиках и поднадоело, теперь хочу сделать студию либо свой крмп проектик
      Так вот вопросы:
      1. Какие программы лучше всего использовать для лаунчеров? В большенстве видел Android studio
      2. Как запустить сам мод, можно ли это сделать локально и быстро, или стоит переносить на хост 
      3. Про какой кеш говорят типы под лаунчерами 
      4. Как сделать установку сборки через лаунчер по кнопке играть