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

    Статус
    Оффлайн
    Регистрация
    25.01.2015
    Сообщений
    3
    Репутация:
    0 ±

    Возврат запроса

    Здравствуйте, битый час думаю как сделать..


    Для удобства мне нужно сделать так:

    При вводе команды проверялось есть ли бизнес у игрока или нет, через запрос в базу данных.
    PHP код:
    else if(strcmp(cmd"/edit"true) == 0)
    {
        if(!
    IsAPersona(playeridbiz)) return send(playeridCOLOR_GREY"Вы не владеете бизнесом.");

    Запрос
    PHP код:
    stock IsAPersona(playeridbiz)
    {
        
    mysql_format(connects,str_send[playerid], MAX_STRING,"SELECT `BizID`,`MysqlID` FROM `StaffBiznes` WHERE BizID = '%i' AND `MysqlID` = '%i'",bizPlayer[playerid][pMysqlID]);
        return 
    mysql_function_query(connectsstr_send[playerid], true"IsAPersona_Mysql","d"playerid);

    паблик запроса
    PHP код:
    publics IsAPersona_Mysql(playerid)
    {
        
    str_send[playerid][0]=0;
        static 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows) return true;
        return 
    false;

    Код не работает, потому что mysql_function_query возвращает всегда 1.

    Каким образом я могу сделать, чтобы у меня возвращало определенное значение, если есть бизнес или нет.
    Да я знаю, что нужно делать действие в запросе в (rows), но это запутает только.

  2. #2
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    На сколько я знаю, то таким способом вы не добьётесь возвращения в место вызова, придётся использовать вот так:
    PHP код:
    else if(strcmp(cmd"/edit"true) == 0)
    {
        
    IsAPersona(playeridbiz);
        return 
    true;
    }

    stock IsAPersona(playeridbiz)
    {
        
    mysql_format(connects,str_send[playerid], MAX_STRING,"SELECT `BizID`,`MysqlID` FROM `StaffBiznes` WHERE BizID = '%i' AND `MysqlID` = '%i'",bizPlayer[playerid][pMysqlID]);
        return 
    mysql_function_query(connectsstr_send[playerid], true"IsAPersona_Mysql","d"playerid);
    }

    publics IsAPersona_Mysql(playerid)
    {
        
    str_send[playerid][0]=0;
        static 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows) return true;
        return 
    send(playeridCOLOR_GREY"Вы не владеете бизнесом.");


  3. #3
    Аватар для maikl2111
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.01.2015
    Сообщений
    3
    Репутация:
    0 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    На сколько я знаю, то таким способом вы не добьётесь возвращения в место вызова, придётся использовать вот так:
    PHP код:
    else if(strcmp(cmd"/edit"true) == 0)
    {
        
    IsAPersona(playeridbiz);
        return 
    true;
    }

    stock IsAPersona(playeridbiz)
    {
        
    mysql_format(connects,str_send[playerid], MAX_STRING,"SELECT `BizID`,`MysqlID` FROM `StaffBiznes` WHERE BizID = '%i' AND `MysqlID` = '%i'",bizPlayer[playerid][pMysqlID]);
        return 
    mysql_function_query(connectsstr_send[playerid], true"IsAPersona_Mysql","d"playerid);
    }

    publics IsAPersona_Mysql(playerid)
    {
        
    str_send[playerid][0]=0;
        static 
    rowsfields;
        
    cache_get_data(rowsfields);
        if(
    rows) return true;
        return 
    send(playeridCOLOR_GREY"Вы не владеете бизнесом.");

    А если после проверки мне нужно выполнить действие, допустим вывести диалог, где будут настройки.

  4. #4
    Аватар для Mazzilla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Вместо
    PHP код:
    return send(playeridCOLOR_GREY"Вы не владеете бизнесом."); 
    и будут действия.

  5. #5
    Аватар для maikl2111
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.01.2015
    Сообщений
    3
    Репутация:
    0 ±
    Цитата Сообщение от Mazzilla Посмотреть сообщение
    Вместо
    PHP код:
    return send(playeridCOLOR_GREY"Вы не владеете бизнесом."); 
    и будут действия.
    Спасибо, но вы 1 пост читали, мне нужно чтобы все действия были в команде /edit.

  6. #6
    Аватар для MacMailler
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Сообщений
    38
    Репутация:
    15 ±
    Если версия mysql-плагина R33+
    PHP код:
    stock IsAPersona(playeridbiz) {
        
    mysql_format(connects,str_send[playerid], MAX_STRING,"SELECT `BizID`,`MysqlID` FROM `StaffBiznes` WHERE BizID = '%i' AND `MysqlID` = '%i'",bizPlayer[playerid][pMysqlID]); 
        new 
    Cache:result mysql_query(connectsstr_send[playerid], true);
        
    str_send[playerid] = 0;
        new 
    rtrn cache_get_row_count() > ? (1) : (0);
        
    cache_delete(result);
        return 
    rtrn


 

 

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

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

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

Ваши права

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