• 0
bogdan@gmail

Проблема с CMD

Вопросы

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

 

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

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
6 часов назад, 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

 

 

 

3 часа назад, 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 пользователей онлайн

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

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

    • maYn
      От maYn
      Слив мода Santrope RolePlay (Mobile)
      Скачать файл Сливаю вам мод Santrope RolePlay.
      Автор мода: Неизвестен
       
      Описание систем:
      Система AirDrop, фракций, контейнеров, админ-панели, аксессуаров, бизнесов, домов, афк, работы, новый остров и многого другого. Различный маппинг.
      Подробнее ознакомиться с модом можно, скачав его.
       
      Если будут краши при авторизации, скачайте архив ниже и киньте файлы в корень игры с заменой.
       
      В моде есть баги для PC игры, мод адаптирован для Mobile проекта.
       
      Если понравился мод, поставьте лайк)
      santrope_game.zip
      Добавил maYn Добавлено 20.04.2023 Категория Моды Автор Неизвестно  
    • maYn
      От maYn
      Сливаю вам мод Santrope RolePlay.
      Автор мода: Неизвестен
       
      Описание систем:
      Система AirDrop, фракций, контейнеров, админ-панели, аксессуаров, бизнесов, домов, афк, работы, новый остров и многого другого. Различный маппинг.
      Подробнее ознакомиться с модом можно, скачав его.
       
      Если будут краши при авторизации, скачайте архив ниже и киньте файлы в корень игры с заменой.
       
      В моде есть баги для PC игры, мод адаптирован для Mobile проекта.
       
      Если понравился мод, поставьте лайк)
      santrope_game.zip
    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать через /amakeadmin(Смотреть уроки) или БД ( UPDATE: 1.2.2 ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Kaiser
      От Kaiser
      CMD:pay(playerid, params[]) {     if(sscanf(params, "ud", params[0], params[1])) return SendClientMessage(playerid, COLOR_GREY, "Используйте: /pay [ID игрока] [кол-во денег]");     if(GetPVarInt(params[0], "logged") == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не авторизован");     if(params[1] > 5000) return SendClientMessage(playerid, COLOR_GREY, "Нельзя передать больше 5000");     if(params[0] == playerid) return SendClientMessage(playerid,COLOR_GREY, "Вы указали свой ID");     if(GetPlayerMoney(playerid) < params[1]) return SendClientMessage(playerid,COLOR_GREY, "На вашем счету недостаточно Денег");     if(GetPVarInt(playerid,"Counting_pay") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Команду можно использовать раз в 15 секунд");     SetPVarInt(playerid,"Counting_pay",gettime() + 15);     new Float:x,Float:y,Float:z;     GetPlayerPos(params[0],x,y,z);     if(!PlayerToPoint(3.0, playerid, x,y,z)) return SendClientMessage(playerid,COLOR_GREY, "Данный игрок далеко от Вас");     GivePlayerMoney(playerid, -params[1]);     GivePlayerMoney(params[0], params[1]);     new string[144];     format(string, sizeof(string), "%s[%d] передал %s[%d] %d виртов", gpname(playerid), playerid, gpname(params[0]), params[0], params[1]);     return ProxDetector(25.0, playerid, string, -1, -1, -1, -1, -1); }