Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 1 из 1
  1. #1
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±

    Database Editor [MySQL R7]

    Возможности:
    • Подключаться и отключаться к любой базе данных из игры
    • Посылать SQL-запросы из игры
    • Создавать/удалять таблицы из игры
    • Добавлять столбцы с выбором типа (INT, VARCHAR, FLOAT)
    • Удалять эти столбцы.

    Сам скрипт:
    PHP код:
    //==============================================================================
    //
    //                           Garold's database editor
    //                             All rights reserved
    //
    //------------------------------------------------------------------------------
     
    #include <a_samp>
    #include <a_mysql>
     
    //------------------------------------------------------------------------------
     
    new db_connectedquery[256];
    new 
    dbname[40], table[30], uname[30], pass[30];
    new 
    field[30], type;
     
    //------------------------------------------------------------------------------
     
    public OnFilterScriptInit()
    {
            print(
    "\n--------------------------------------");
            print(
    "Garold's Database Editor v0.1");
            print(
    "--------------------------------------\n");
            
    mysql_debug(1);
            return 
    true;
    }
     
    public 
    OnFilterScriptExit()
    {
            
    mysql_close();
            return 
    true;
    }
     
    public 
    OnPlayerRequestClass(playeridclassid)
    {
            
    SetPlayerPos(playerid1958.37831343.157215.3746);
            
    SetPlayerCameraPos(playerid1958.37831343.157215.3746);
            
    SetPlayerCameraLookAt(playerid1958.37831343.157215.3746);
            return 
    1;
    }
     
    public 
    OnPlayerSpawn(playerid)
    {
            if(
    IsPlayerAdmin(playerid)) {
                    
    SendClientMessage(playerid0xFFFFFFFF"D-EDITOR: Для редактирования базы данных введите /mysql");
            }
            return 
    true;
    }
     
    public 
    OnPlayerCommandText(playeridcmdtext[])
    {
            if (
    strcmp("/mysql"cmdtexttrue10) == 0)
            {
                    if(!
    db_connectedShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Подключиться к базе данных""Выбрать""Выход");
                    else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы""Выбрать""Выход");
                    return 
    1;
            }
            return 
    0;
    }
     
    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
            switch(
    dialogid) {
                    case 
    0: {
                            if(
    response) {
                                if(!
    listitem) {
                                        if(!
    db_connectedShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Database Editor""Введите название базы данных""Ввод""Назад");
                                        else {
                                                    
    mysql_close();
                                                    
    db_connected 0;
                                                    
    SendClientMessage(playerid0xFFFFFFFF"Вы отключились от базы данных");
                                            }
                                    }
                                    else if(
    listitem == 1ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"Database Editor""Введите запрос""Ввод""Назад");
                                    else if(
    listitem == 2ShowPlayerDialog(playerid3DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                                    else if(
    listitem == 3ShowPlayerDialog(playerid4DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                                    else if(
    listitem == 4ShowPlayerDialog(playerid5DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                                    else if(
    listitem == 5ShowPlayerDialog(playerid6DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                                    else if(
    listitem == 6ShowPlayerDialog(playerid7DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                            }
                    }
                    case 
    1: {
                            if(
    response) {
                                    if(
    strlen(inputtext)) {
                                            
    strmid(dbnameinputtext0strlen(inputtext), 255);
                                            
    ShowPlayerDialog(playerid10DIALOG_STYLE_INPUT"Database Editor""Введите имя пользователя""Ввод""Назад");
                                    }
                                    else 
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Database Editor""Введите название базы данных""Ввод""Назад");
                            }
                            else {
                    if(!
    db_connectedShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Подключиться к базе данных""Выбрать""Выход");
                            else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы\nДобавить строку в таблицу\nУдалить строку из таблицы\nОбновить таблицу""Выбрать""Выход");
                            }
                    }
                    case 
    2: {
                            if(
    response) {
                                    if(
    strlen(inputtext)) {
                                            
    mysql_function_query(db_connectedinputtextfalse"""");
                                            
    SendClientMessage(playerid0xFFFFFFFF"Запрос был отправлен");
                                    }
                                    else 
    ShowPlayerDialog(playerid2DIALOG_STYLE_INPUT"Database Editor""Введите запрос""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы\nДобавить строку в таблицу\nУдалить строку из таблицы\nОбновить таблицу""Выбрать""Выход");
                    }
                    case 
    3: {
                            if(
    response) {
                    if(
    strlen(inputtext)) {
                                    
    format(query256"CREATE TABLE IF NOT EXISTS `%s` (`testcolumn` int(24) NOT NULL)"inputtext);
                                    
    mysql_function_query(db_connectedqueryfalse"""");
                                    
    SendClientMessage(playerid0xFFFFFFFF"Запрос был отправлен");
                                    }
                                    else 
    ShowPlayerDialog(playerid3DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы\nДобавить строку в таблицу\nУдалить строку из таблицы\nОбновить таблицу""Выбрать""Выход");
                    }
                    case 
    4: {
                            if(
    response) {
                    if(
    strlen(inputtext)) {
                                    
    format(query256"DROP TABLE `%s`"inputtext);
                                    
    mysql_function_query(db_connectedqueryfalse"""");
                                    
    SendClientMessage(playerid0xFFFFFFFF"Запрос был отправлен");
                                    }
                                    else 
    ShowPlayerDialog(playerid4DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы\nДобавить строку в таблицу\nУдалить строку из таблицы\nОбновить таблицу""Выбрать""Выход");
                    }
                    case 
    5: {
                            if(
    response) {
                    if(
    strlen(inputtext)) {
                                            
    format(table30"%s"inputtext);
                                            
    ShowPlayerDialog(playerid11DIALOG_STYLE_INPUT"Database Editor""Введите название столбца""Ввод""Назад");
                                    }
                                    else 
    ShowPlayerDialog(playerid5DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы\nДобавить строку в таблицу\nУдалить строку из таблицы\nОбновить таблицу""Выбрать""Выход");
                    }
                    case 
    6: {
                        if(
    response) {
                    if(
    strlen(inputtext)) {
                                            
    format(table30"%s"inputtext);
                                            
    ShowPlayerDialog(playerid12DIALOG_STYLE_INPUT"Database Editor""Введите название столбца""Ввод""Назад");
                                    }
                                    else 
    ShowPlayerDialog(playerid6DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid0DIALOG_STYLE_LIST"Database Editor""Отключиться от БД\nПослать SQL запрос\nСоздать таблицу\nУдалить таблицу\nДобавить столбец в таблицу\nУдалить столбец из таблицы\nДобавить строку в таблицу\nУдалить строку из таблицы\nОбновить таблицу""Выбрать""Выход");
                    }
                    case 
    10: {
                        if(
    response) {
                    if(
    strlen(inputtext)) {
                                            
    format(uname30"%s"inputtext);
                                            
    ShowPlayerDialog(playerid16DIALOG_STYLE_INPUT"Database Editor""Введите пароль (0 если его нет)""Ввод""Назад");
                                    }
                                    else 
    ShowPlayerDialog(playerid10DIALOG_STYLE_INPUT"Database Editor""Введите имя пользователя""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid1DIALOG_STYLE_INPUT"Database Editor""Введите название базы данных""Ввод""Назад");
                    }
                    case 
    11: {
                        if(
    response) {
                    if(
    strlen(inputtext)) {
                                            
    format(field30"%s"inputtext);
                                            
    ShowPlayerDialog(playerid17DIALOG_STYLE_LIST"Database Editor""INT\nVARCHAR\nFLOAT""Выбрать""Назад");
                                    }
                                    else 
    ShowPlayerDialog(playerid11DIALOG_STYLE_INPUT"Database Editor""Введите название столбца""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid5DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                    }
                    case 
    12: {
                        if(
    response) {
                    if(
    strlen(inputtext)) {
                                            
    format(query256"ALTER TABLE `%s` DROP `%s`"tableinputtext);
                                            
    mysql_function_query(db_connectedqueryfalse"""");
                                            
    SendClientMessage(playerid0xFFFFFFFF"Запрос был отправлен");
                                    }
                                    else 
    ShowPlayerDialog(playerid11DIALOG_STYLE_INPUT"Database Editor""Введите название столбца""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid6DIALOG_STYLE_INPUT"Database Editor""Введите название таблицы""Ввод""Назад");
                    }
                    case 
    16: {
                        if(
    response) {
                    if(
    strlen(inputtext)) {
                                            
    format(pass30"%s"inputtext);
                                            
    mysql_function_query(db_connectedqueryfalse"""");
                                            if(
    strval(inputtext) == 0db_connected mysql_connect("localhost"unamedbname"");
                                            else 
    db_connected mysql_connect("localhost"unamedbnamepass);
                                            if(
    mysql_ping() == -1)  {
                                                
    SendClientMessage(playerid0xFFFFFFFF"Не удалось подключиться");
                                                
    db_connected 0;
                                            }
                                            else 
    SendClientMessage(playerid0xFFFFFFFF"Успешно");
                                    }
                                    else 
    ShowPlayerDialog(playerid16DIALOG_STYLE_INPUT"Database Editor""Введите пароль (0 если его нет)""Ввод""Назад");
                            }
                            else 
    ShowPlayerDialog(playerid10DIALOG_STYLE_INPUT"Database Editor""Введите имя пользователя""Ввод""Назад");
                    }
            case 
    17: {
                        if(
    response) {
                                    
    type listitem;
                                    new 
    ttype[10];
                                    if(!
    typettype "INT";
                                    else if(
    type == 1ttype "VARCHAR";
                                    else 
    ttype "FLOAT";
                                    
    format(query256"ALTER TABLE `%s` ADD `%s` %s(30) NOT NULL"tablefieldttype);
                                    
    mysql_function_query(db_connectedqueryfalse"""");
                                    
    SendClientMessage(playerid0xFFFFFFFF"Запрос был отправлен");
                            }
                            else 
    ShowPlayerDialog(playerid11DIALOG_STYLE_INPUT"Database Editor""Введите название столбца""Ввод""Назад");
                    }
            }
            return 
    true;

    ВАЖНО: Для работы нужен plugin"Mysql R7"
    Автор: Гарольд
    Последний раз редактировалось Salvacore; 15.10.2013 в 23:15.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •