AMX MOD X
Пятница, 08.08.2025, 12:12:32



Приветствую Вас Гость | RSS
[ Главная ] [ admin.sma(SQL) помогите переделать - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
admin.sma(SQL) помогите переделать
ahaДата: Воскресенье, 03.08.2008, 13:02:06 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Помогите переделать admin.sma(SQL) чтобы в sql.cfg бралось инфо не из :

Code
amx_sql_host    "127.0.0.1"
amx_sql_user    "root"
amx_sql_pass    ""
amx_sql_db  "amx"
amx_sql_table    "admins"
amx_sql_type    "mysql"

а с вот таких кваров :

Code
amx_sql_shost    "127.0.0.1"
amx_sql_suser    "root"
amx_sql_spass    ""
amx_sql_sdb  "amx"
amx_sql_stable    "admins"
amx_sql_stype    "mysql"

Сам пытался , половина работало а другая половина нет ...

Прикрепления: admin.sma (19.3 Kb)
 
max_ripДата: Понедельник, 04.08.2008, 14:33:06 | Сообщение # 2
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
aha, ищешь в коде new Handle:info = SQL_MakeStdTuple()
заменяешь на обычный вызов SQL_MakeDbTuple( const host[], const user[], const pass[], const db[], timeout=0 )
или же идешь в [ sqlx.inc ] и изменяешь там SQL_MakeStdTuple(), не уверен что сработает )).
не знаю сработает тут или нет. Делаешь дефайн на SQL_MakeStdTuple через SQL_MakeDbTuple.
 
ahaДата: Вторник, 05.08.2008, 18:25:07 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Во чтото смастерил , взял sqlx.inc и там переделал

Code
stock Handle:SQL_MakeStdTuple(timeout = 0)
{
  static host[64], user[32], pass[32], db[128];
  static get_type[12], set_type[12];
   
  get_cvar_string("amx_sql_host", host, 63);
  get_cvar_string("amx_sql_user", user, 31);
  get_cvar_string("amx_sql_pass", pass, 31);
  get_cvar_string("amx_sql_type", set_type, 11);
  get_cvar_string("amx_sql_db", db, 127);
   
  SQL_GetAffinity(get_type, 12);
   
  if (!equali(get_type, set_type))
  {
   if (!SQL_SetAffinity(set_type))
   {
    log_amx("Failed to set affinity from %s to %s.", get_type, set_type);
   }
  }
   
  return SQL_MakeDbTuple(host, user, pass, db, timeout);
}

на

Code
  
         get_cvar_string("amx_sql_shost", host, 63);
  get_cvar_string("amx_sql_suser", user, 31);
  get_cvar_string("amx_sql_spass", pass, 31);
  get_cvar_string("amx_sql_stype", set_type, 11);
  get_cvar_string("amx_sql_sdb", db, 127);

как вроде работает , все же спасибо за ответ :)

Добавлено (2008-08-05, 6:25 Pm)
---------------------------------------------
Вернусь к теме , где именно в плугине надо прописать инфо об конекте к mysql ,чтобы плугин не читал amx_sql_host и так далие ?

 
max_ripДата: Среда, 06.08.2008, 12:39:48 | Сообщение # 4
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
new Handle:info = SQL_MakeStdTuple() замени на SQL_MakeTuple(), в котором в параметрах ты самостоятельно указываешь куда конектится.
 
ahaДата: Среда, 06.08.2008, 14:00:13 | Сообщение # 5
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Quote (max_rip)
в котором в параметрах ты самостоятельно указываешь куда конектится.

Ммм , а это где именно ?

 
max_ripДата: Среда, 06.08.2008, 14:15:31 | Сообщение # 6
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
сори чуть не так написал
SQL_MakeDbTuple( const host[], const user[], const pass[], const db[], timeout=0 )
 
ahaДата: Среда, 06.08.2008, 15:00:03 | Сообщение # 7
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Тоесть

new Handle:info = SQL_MakeStdTuple()

заменяю на

SQL_MakeDbTuple( const host[], const user[], const pass[], const db[], timeout=0 ) и где мне именно прописывать user password host db table ?

 
max_ripДата: Среда, 06.08.2008, 18:10:57 | Сообщение # 8
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
угу
 
ahaДата: Среда, 13.08.2008, 02:28:46 | Сообщение # 9
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Как то не выходит ...

в начале plugin'а прописал

Code
new const host[] = "127.0.0.1"
new const user[] = "root"
new const pass[] = ""
new const db[] = ""

потом

Code
new Handle:info = SQL_MakeStdTuple()

заменил на

SQL_MakeDbTuple( const host[], const user[], const pass[], const db[], timeout=0 )

при компиляции :

Code
error 029: invalid expession , assumed zero
error 029: invalid expession , assumed zero
error 029: invalid expession , assumed zero
fatal error 107: too many error messages on one line

и это все на одной линии ,на этой SQL_MakeDbTuple( const host[], const user[], const pass[], const db[], timeout=0 )

Добавлено (2008-08-13, 2:28 Am)
---------------------------------------------
max_rip если можеш помоги, бо вещь нужная а не работает ...

Сообщение отредактировал aha - Воскресенье, 10.08.2008, 15:29:57
 
max_ripДата: Четверг, 14.08.2008, 11:31:35 | Сообщение # 10
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
aha, SQL_MakeDbTuple( const host[], const user[], const pass[], const db[], timeout=0 ) - описание функции.
а юзать надо new Handle:info = SQL_MakeDbTuple(host,user,pass,db)
или тупо
new Handle:info = SQL_MakeDbTuple("127.0.0.1","root","","Но тут надо указать имя БД, иначе воркать не будет +)")
 
ahaДата: Четверг, 14.08.2008, 16:33:41 | Сообщение # 11
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Во теперь работает , только не находит table ,где находятся все админы .
Где имено мне нужно прописть table в скрипте чтобы от туда брались админы ?
 
max_ripДата: Пятница, 15.08.2008, 15:12:41 | Сообщение # 12
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
поиск
get_cvar_string("amx_sql_table", table, 31)
меняем на что надо.
ЗЫ Тут же все блин как на ладони уже написано +). Нужно немного смекалку проявлять. А не тупо спрашивать.
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2025