Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Как перевести банкоматы на MySQL

Karters

Умник
Привет всем. Банкоматы на mysql - это оптимально, быстро и удобно
Сразу приступим.


Ко всем forward добавляем:
PHP:
 forward     LoadATM();
Там где все new, добавляем:
PHP:
enum atm
{
    aid, // ид банкомата
    Float:aX, // Кордината X
    Float:aY, // Кордината Y
    Float:aZ, // Кордината Z
    Float:arZ // градус поворота
};
new ATMInfo[100][atm], TOTALATM = 0;
new ATM[100];
new Text3D:LABELATM[100];
В public OnGameModeInit() добавляем:
PHP:
mysql_function_query(DATABASE,"SELECT * FROM `atm`", true, "LoadATM", "");
В конце мода добавляем:
PHP:
public LoadATM()
{
    new time = GetTickCount();
    new r, f;
    cache_get_data(r, f);
    new idx;
    for(idx = 1; idx <= r; idx++)
    {
        new string[2048];
        ATMInfo[idx][aid] = cache_get_row_int(idx-1,0, DATABASE);
        ATMInfo[idx][aX] = cache_get_row_float(idx-1,1, DATABASE);
        ATMInfo[idx][aY] = cache_get_row_float(idx-1,2, DATABASE);
        ATMInfo[idx][aZ] = cache_get_row_float(idx-1,3, DATABASE);
        ATMInfo[idx][arZ] = cache_get_row_float(idx-1,4, DATABASE);
        ATM[idx] = CreateDynamicObject(2754, ATMInfo[idx][aX], ATMInfo[idx][aY], ATMInfo[idx][aZ], 0.0, 0.0, ATMInfo[idx][arZ]);
        format(string,55,"Банкомат: %i\nНажмите: 'ENTER'",idx);
        LABELATM[idx] = Create3DTextLabel(string,COLOR_YELLOW, ATMInfo[idx][aX],ATMInfo[idx][aY],ATMInfo[idx][aZ]+1.3,10.0,0,0);
        TOTALATM++;
    }
    printf("[Загружено банкоматов]: <%i>. Потрачено: <%i мс>.",TOTALATM,GetTickCount()-time);
}
Там где у вас горячие клавиши, добавляем:
PHP:
    if(newkeys == 16)
    {
        for(new i = 1; i <= TOTALATM; i++)
        {
            if(!IsPlayerInRangeOfPoint(playerid, 2.0,ATMInfo[i][aX],ATMInfo[i][aY],ATMInfo[i][aZ])) continue;
            ClearAnimations(playerid);
            SetPVarInt(playerid,"ATMID",i);
            ShowPlayerDialog(playerid, 190, DIALOG_STYLE_LIST, "{FF8300}Банкомат","1. Положить на основной баланс\n2. Снять с основного баланса\n3. Просмотр счета основного баланса", "Выбор", "Закрыть");
        }
    }
Теперь добавляем команду:

PHP:
CMD:atm(playerid, params[])
{
    if(!User[playerid][Login]) return true;
    for(new i = 1; i <= TOTALATM; i++)
    {
        if(!IsPlayerInRangeOfPoint(playerid, 2.0,ATMInfo[i][aX],ATMInfo[i][aY],ATMInfo[i][aZ])) continue;
        SetPVarInt(playerid,"ATMID",i);
        ClearAnimations(i);
        return ShowPlayerDialog(playerid, 190, DIALOG_STYLE_LIST, "{FF8300}Банкомат","1. Положить на основной баланс\n2. Снять с основного баланса\n3. Просмотр счета основного баланса", "Выбор", "Закрыть");
    }
    return true;
}
Далее создаём у себя в базе таблицу с банкоматами и называем её "atm"И вот вам таблица с банкоматами по штату, импортируем её в созданную вами таблицу "atm"

Ссылка: http://rghost.ru/58936037
Пароль: pawno-info

Рад был помочь. Если есть вопросы - пишите!
 
Последнее редактирование:
Сверху Снизу