Вопросы

bogdan@gmail
Освоившийся

Здраствуйте, я начинающий скриптер! Не работает покупка и не показывает количество каинов.

 

Сама команда.

CMD:acoins(playerid) {
    if(PlayerInfo[playerid][pAlcoInvenxua] < 1) return true;
    format(stringer1, sizeof(stringer1), "{ffffff}Админ-магазин | {FFD700}%d а-монет", PlayerInfo[playerid][pAcoins]);
    ShowPlayerDialog(playerid, 7445, DIALOG_STYLE_LIST, stringer1, "\
    {FF0000}1. Снять выговор\t\t{9994EB}350 А-монет\
     \n2. Админский infernus (/acar)\t{9994EB} 560 А-монет\
     \n{FFD700}Информация", "Выбрать", "Назад");
    return true;
}

Кейсы

case 7445: {
            if(!response) return true;
            switch(listitem) {
                case 0: {//unavig
                    if(PlayerInfo[playerid][pVigs] < 1) return SendClientMessage(playerid, COLOR_WHITE, "У вас нету выговоров!");
                    if(PlayerInfo[playerid][pAcoins] < 350) return SendClientMessage(playerid, COLOR_GREY, "У Вас недостаточно админ монет!");
                    new query[100];
                    PlayerInfo[playerid][pVigs]--;
                    PlayerInfo[playerid][pAcoins] -= 350;
                    UpdatePlayerData(playerid, "pAcoins", PlayerInfo[playerid][pAcoins]);
                    format(query, sizeof(query), "UPDATE `"TABLE_ACCOUNT"` SET `vigs` = '%d' WHERE `pID` = '%d'",PlayerInfo[playerid][pVigs],PlayerInfo[playerid][pID]);
                    mysql_function_query(connects, query, false, "", "");
                    SendClientMessage(playerid, COLOR_WHITE, "Вы успешно сняли выговор!");
                }
                case 1: {//acar
                    if(PlayerInfo[playerid][pAcoins] < 560) return SendClientMessage(playerid, COLOR_GREY, "У Вас недостаточно админ монет!");
                    new string[144];
                    format(string, sizeof(string), "Вы действительно хотите купить команду /acar?\n- Вы получите возможность:\n%s", CMD_desc[4]);
                    ShowPlayerDialog(playerid, 7491, DIALOG_STYLE_MSGBOX, "Покупка команды /acar", string, "Купить", "Отмена");
                               }
                        }
            return true;
        }
        case 7498: {
            if(!response) return true;
            new query[200];
            PlayerInfo[playerid][pAcoins] -= 350;
            UpdatePlayerData(playerid, "pAcoins", PlayerInfo[playerid][pRub]);
            mysql_format(connects, query, sizeof query, "SELECT * FROM `accounts` WHERE `Name` = '%e'", PlayerInfo[playerid][pNames]);
            mysql_function_query(connects, query, true, "BuyCmdCallback", "dd", playerid, 4);
            return true;
        }

фото mysql

 

Снимок экрана 2025-01-14 211954.png

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

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


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

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

  • 0
gais_st
Свой человек

@bogdan@gmail Пример из Arizona Мода в publics OnPlayerLoginMysql(playerid)

  Цитата
publics OnPlayerLoginMysql(playerid)
{
    new string[2100], style, name[200], pass[65];
    PlayerInfo[playerid][pID] = cache_get_row_int(0, 0, mysql); //ID 1
    cache_get_row(0, 1, name, mysql, 24); //NickName2
    cache_get_row(0, 2, pass, mysql, 64); //Password3
    cache_get_row(0, 3, PlayerRegIP[playerid], mysql,16); //RegIP4
    cache_get_row(0, 4, PlayerIp[playerid], mysql,16); //OldIP5
    cache_get_row(0, 5, PlayerCheckIP1[playerid], mysql,16); //CheckIP6
    cache_get_row(0, 7, PlayerReferal[playerid],  mysql,24);//Referal8
    cache_get_row(0, 8, PlayerMail[playerid], mysql,50); //Mail9
    cache_get_row(0, 9, PlayerTelephone[playerid], mysql,20); //Telephone0
    cache_get_row(0, 10, PlayerFName[playerid], mysql,30); //Name1
 
    PlayerInfo[playerid][pLevel] = cache_get_row_int(0, 11, mysql); //Level2
    PlayerInfo[playerid][pExp] = cache_get_row_int(0, 12, mysql); //Exp3
    PlayerInfo[playerid][pPlayHours] = cache_get_row_int(0, 13, mysql); //PlayHours4
    PlayerInfo[playerid][pSex] = cache_get_row_int(0, 14, mysql); //Sex5
    PlayerInfo[playerid][pAge] = cache_get_row_int(0, 15, mysql); //Age6
    PlayerInfo[playerid][pRace] = cache_get_row_int(0, 16, mysql); //Rce7
    PlayerInfo[playerid][pAdmin] = cache_get_row_int(0, 17, mysql); //Admin8
    PlayerInfo[playerid][pHelper] = cache_get_row_int(0, 18, mysql); //Helper <= hec  19
    PlayerInfo[playerid][pMoney] = cache_get_row_int(0, 19, mysql); //Money
    PlayerInfo[playerid][pBank] = cache_get_row_int(0, 20, mysql); //Bank
    PlayerInfo[playerid][pWanted] = cache_get_row_int(0, 21, mysql); //Wanted
    PlayerInfo[playerid][pVIP] = cache_get_row_int(0, 22, mysql); //VIP
     ...
Читать далее...  



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

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


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

 

@gais_st У меня его нету в моде может быть она по-другому может выглядеть 

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

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


Ссылка на сообщение
  • 0
gais_st
Свой человек
  В 1/14/2025 в 11:44, bogdan@gmail сказал:

 

@gais_st У меня его нету в моде может быть она по-другому может выглядеть 

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

Может быть, просто легче тогда тебе сказать какой мод ты используешь

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


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

@gais_st Я ну и использую мод, я его под основу взял но там нету 

 

 

 

 

 

 

 

 

 

 

 

 

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


Ссылка на сообщение
  • 0
gais_st
Свой человек

@bogdan@gmail 

 

Ищи

enum pInfo
public: OnPlayerLoadData(playerid)
 

И от этого кода уе отталкивайся что бы загрузить данные при загрузке аккаунта игрока, именно после авторизации а не до.

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


Ссылка на сообщение
  • 0
gais_st
Свой человек

[playerid][pLevel] = cache_get_row_int так ты точно найдёшь строки загрузки информации из таблицы :aggressive:

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


Ссылка на сообщение
  • 0
Доналдо Фарекелка
Активный

@bogdan@gmail Да. К примеру можешь использовать LoginCallback. Либо можешь сделать как я - написать свою загрузку и загружать данные игрока при его заходе.

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


Ссылка на сообщение
  • 0
watson
Завсегдатый

@Доналдо Фарекелка Зачем ему усложнять?

В моде Russia RP не так важна своя загрузка если есть готовая - LoginCallback , ему будет проще туда внедрить её и всё .

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


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

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

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

    • KAIF HOST
      От KAIF HOST
      Если вы ищете надежный, стабильный и бюджетный хостинг для ваших серверов SAMP или CRMP, то KAIF-HOST.RU - лучший выбор для вас. Мы молодая компания среди игровых хостингов, но мы гарантируем стабильность и безопасность вашего сервера.
       
      Мы предлагаем защиту от TCP SYN и UDP флуда, а также от Spoofing атак. Мы также обеспечиваем защиту на уровнях L3, L4 и L7.
       
      Наши преимущества включают автоподнятие серверов после падения, удобную панель управления сервером и автоматическую установку сервера. Мы также гарантируем быструю техническую поддержку для всех наших клиентов.
       
       
       
      Наши серверы доступны всего от 20 рублей в месяц, что делает нас одним из самых доступных хостингов на рынке.
       
       
       
       
       
       Ссылки:
       
      Сайт kaif-host.ru
      Панель управления lk.kaif-host.ru
      Группа ВКонтакте https://vk.com/kaif_host_official
       
      P.s Промокод #pawnorus даст тебе скидку в размере 20%

    • watson
      От watson


      Скачать файл Florida Role Play | (Бонусный)
      Список доработок/изменений:

      1. Исправлены дыры с рублями, падением мода
      2. Новый античит(/ac)
      3. Аренда вертолетов (/gps - аренда транспорта - аренда вертолетов)
      4. Добавлена система /goadminka (раздача админки при определённом онлайне)
      5. Обновленны интерьеры банд, СМИ, ПД, выбор скина, домов, магазинов
      6. Изменён экстерьер парка у мэрии, на против больницы
      7. Изменен текстдрав Логотипа, выбор скина, спидометра, дм арены, капта
      8. Вместо мопедов сделаны пикапы аренды
      9. Добавлена система VIP (Бронза, Серебро, Золото и Верона)
      10. Изменена система семей
      11. Добавлен чат для випов (/vc)
      12. При попытки проследить за ботом, перекидывает за игрока
      13. Добавлено казино, в котром можно играть на донат и рубли
      14. Добавлена система дуэлей
      15. Добавлены команды: /security, /checkfull и /fonline
      16. Изменён бот для авто-инвайта
      17. Изменена система дм зон (отличается от дуэлей)
      18. Доработана система статистики администратора, добавлено время администрирования в /admins
      19. Добавлен премиум меню для Verona PREMIUM
      20. Добавлены карты для /tp - Мероприятия
      21. Добавлена статистика лидера, изменена /lmenu
      22. Добавлена покупка аксессуаров в /donate
      23. Добавлена команда /obj
      24. Перераспределил команды для админов
      25. При наличии 1000 рублей или большой суммы виртов у игрока появляется кейс
      26. Исправлены баги со спавном банд
      27. Исправлены баги с падением под текстуры
      28. Исправлен баг с виртуальными мирами
      29. Добавлен NPC авто-инвайт на спавн
      30. Добавлен NPC проведения дуэлей
      31. Исправлена команда /banip
      32. Изменена и доделана система от сливов
      33. Возможность добавить своих ботов (+ уже встроены в мод)
      34. Доработана система мероприятий
      35. Переработана система доната (/donaterub and /donate)
      36. Обновлены плагины, почищена БД
      37. Новые артефакты
      38. Новый спавн
      39. Новая аренда
      40. Автоинвайт в мэрии
       
      UPD: Понизил ценник на мод
      Добавил watson Добавлено 14.02.2022 Категория Моды Автор Angel Sinvays  
    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Christmas Live » RPG | XS
      Приветствую, сливаю мод, который делал самолично. Мод недоработан, возможно где-то имеются баги, без лаунчера.
      Взят под основу от Phantom RolePlay. Отдельная благодарность за мод WW.INC
      Основная информация про мод:
       
      Информация про сервер:
      Записка:
      ПРИМЕР -  скриншот, сделанный для показа чего-либо и скриншот может является устаревшей информацией(Пояснение: Что-то изменилось, а что-то нет).
      Добавил Доналдо Фарекелка Добавлено 14.03.2025 Категория Моды Автор Donaldo_Farekelka  
    • watson
      От watson
      Привет всем!

      Выкладываю рабочий инструмент, который лично писал под задачи для крупных бонусных проектов. От меня недавно произошла доработка - теперь при записи маршрута сохраняются все сообщения, которые вы пишете в чат.
       
      Как это работает Запуск записи:
      Вводите /route с названием скрипта (или биндите на клавишу) — скрипт начинает фиксировать всё ваше передвижение (onfoot/incar/aim пакеты) и любые ваши сообщения в чат. Завершение:
      Ещё раз /route с названием скрипта или /stop — сохраняется маршрут вместе с чатом в файл формата .rt в папке MoonLoader/rakbotRoutes. Воспроизведение:
      Через команду !play <название> в консоли RakSamp LITE — бот воспроизводит маршрут один в один с вашими действиями, повторяет весь ввод, а так-же отправляет в чат все сохранённые сообщения (имитация через Enter). Поддержка цикла:
      Можно включить повтор маршрута (!loop), пока не надоест. Что важно в коде
      Запись всех синк-пакетов (движения, анимации, aim и т.д.):
      Пакеты по движению (onfoot/incar/aim) записываются подробно — никакой халтуры, каждое значение (позиция, кватернион, скорость, анимации, флаги и т.д.) фиксируется для полной копии.  

       
      Запись сообщений чата по индексам
      Каждое сообщение, которое отправляется в чат во время записи маршрута, сохраняется в отдельную таблицу с текущим индексом (counter). То есть при воспроизведении бот знает, на каком этапе какой текст нужно “цитировать” в чат.  

       
      Воспроизведение маршрута и чата
      На каждом этапе воспроизведения проверяется, было ли сообщение в этот момент — если да, оно “отправляется” как будто в оригинале, без задержек и рассинхрона. Пакеты проигрываются по индексу — как только доходит до конца, скрипт сам решает, останавливать ли выполнение или запускать по кругу (если включен loop).  

       
      Формат сохранения
      Файл маршрута содержит не только действия, но и отдельную секцию [chat], что позволяет воспроизвести всё как было, а не только беготню.  

       
       
      Если кому-то реально нужна автоматизация для бонусных серверов и не только как например фейковые игроки и вам важна последовательность действий и чата — этот инструмент сэкономит часы времени. Всё написано максимально просто для внедрения.

      P.S. Если есть определённые проблемы, вопросы или даже идеи для доработки — пишите.
      Desktop.zip