Вопросы

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

 

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

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

@bogdan@gmail Ты их загружаешь вместе с аккаунтом при подключении игрока?

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


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

@gais_st Всм,я их через MYSQL выдаю потом захожу

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


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

@bogdan@gmail По мимо того что бы выдавать, нужно загружать данные об этом при подключении

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


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

@gais_st Подсказать как?

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


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

@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

 

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

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

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


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

 

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

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

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

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


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

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

 

 

 

 

 

 

 

 

 

 

 

 

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


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

@bogdan@gmail Скажи какой мод, что бы я смог тебе помочь :)

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


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

@gais_st  Russia RP я с ним работаю

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


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

@bogdan@gmail 

 

Ищи

enum pInfo
public: OnPlayerLoadData(playerid)
 

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

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


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

@gais_st нету их. почему то

 

 

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


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

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

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


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

@gais_st тоже нету...

 

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


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

@bogdan@gmail Не может быть что нету cache_get_row_int :aggressive:

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


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

 

 

 

  В 1/16/2025 в 11:11, gais_st сказал:

@bogdan@gmail Не может быть что нету cache_get_row_int :aggressive:

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

Это?

 

 

 

 

Снимок экрана (76).png

Снимок экрана (77).png

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

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


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

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

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


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

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

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

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


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

Спс, за помощь

 

 

 

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти
  • Последние посетители   0 пользователей онлайн

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

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

    • whccompany
      От whccompany
      Срочно ищу опытного маппера и/или студию маппинга для реализации крупномасштабного маппинга CRMP на платной основе. Более подробную информацию обсуждаю в ТГ: Телеграмм канал для подробного обсуждения
    • hatriyikko
      От hatriyikko
      Рад приветствовать!

      Нужна помощь с копией радмира. Есть комплект клиент + мод радмир 5.9 (Всё это могу прислать).

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

      Если есть уже готовый мод версии близкой к 5.9 с экономикой как в оригинальном радмире и рабочими пикапами то тоже рассмотрю его покупку.

      Напишите сколько это будет стоить?

      В дальнейшем также могут понадобиться какие то доработки мода, если всё ок рассматриваю долгосрочное сотрудничество

      Связь тут или в тг @kovart7
    • Michov Andr
      От Michov Andr
      Re:samp RP — проект в разработке
      Re:samp RP — это SA-MP в стиле RP-проект, который в данный момент находится в активной разработке. Мы создаём сервер с бонусной системой, где механики будут, и игроки смогут развивать свои персонажи, зарабатывать деньги и взаимодействовать с окружающим миром. Однако, главное — это ролевой процесс. Вы сами выбираете, хотите ли вы заниматься бизнесом и фармом или погружаться в глубокую ролевую игру. Всё зависит от того, какой путь вы хотите пройти.
      Мы стремимся к тому, чтобы на сервере не было скучного фарма и бесконечных рутинных задач. Всё будет сбалансировано так, чтобы каждый игрок мог выбрать свой стиль игры и наслаждаться процессом, будь то отыгрыш роли, развитие персонажа или участие в экономике.
      Что касается доната — на сервере будет доступна возможность покупки привилегий, включая покупку админки. Мы не планируем делать донат обязательным для прогресса, и он не будет влиять на геймплей, но те, кто хотят ускорить процесс или получить дополнительные возможности, смогут воспользоваться такими предложениями. Всё сделано так, чтобы не нарушать баланс и не превращать сервер в платный путь к успеху.
      Re:samp RP — это сервер, где каждый игрок может найти для себя интересное занятие и, главное, где всегда будет место для качественной ролевой игры. Мы не навязываем никаких обязательных механик, и все решения остаются за вами. Стартовый бонус, донат, админки — это всё дополнительные возможности, но не основа игры. 
      Discrod:https://discord.gg/ernRMjyEJy
       
             
      на логотип не смотрим да признаюсь взял с самп рп() но уж больно он норм)
    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }