Вопросы

Никакие пикапы не работают для обычных игроков а когда выдаешь админку - работает. в магазаины, организации и тд могут войти только администраторы, хз почему так.

 

  открыть спойлер



 

 

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

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


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

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

  • 0

не тот паблик скинул

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


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

@20th century  а какой надо? загрузка бизнесов?

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


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

@amazonite найдите пикап в OnPlayerPickupPickUp или OnPlayerPickupDynamicPickUp

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


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

@Sleash`en У меня  в OnPlayerPickupPickUp или OnPlayerPickupDynamicPickUp нету  пикапы магазинов

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


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

@amazonite при загрузке данных бизнесов из БД найдите переменную, отвечающую за пикапы этих бизов, дальше найдите где эта переменная исползуется

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


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

@Sleash`enScreenshot_4.png.42902f0b53b8b87ee1eeb9b6fe5a4281.png вы про это?

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


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

@amazonite Да, теперь найдите, где используется переменная biz_pickup (в тех public, которые я назвал вам выше)

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


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

@Sleash`en Screenshot_5.png.0723f94ce535de2ae6391cac0e96772b.png Только вот здесь. Проблема в том что обычному игроку не доступны никакие пикапы, даже пикапы организации

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


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

@amazonite, функция OnPlayerEnterDynamicArea точно вызывается, когда вы "наступаете" на пикапы? Для проверки этого достаточно вначале OnPlayerEnterDynamicArea добавить что-нибудь такое:

 

SendClientMessage(playerid, -1"[debug] OnPlayerEnterDynamicArea is called");

Также убедитесь, что в вашем моде вообще создаются динамические зоны (есть вызов хотя бы одной из следующих функций):

CreateDynamicCircle
CreateDynamicRectangle
CreateDynamicSphere
CreateDynamicCube

Ну, и уточните, замечали ли вы такую проблему ранее? Чтобы понимать, либо мод изначально был "испорчен", либо вы где-то допустили ошибку.

 

@20th century, еще лет 5 назад народ вместо стандартных пикапов использовал динамические зоны :bk:

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


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

@Cawfee  смотрите вот OnPlayerEnterDynamicAreia

 

public OnPlayerEnterDynamicArea(playerid, areaid)
{
    if(areaid == perfomance_area[2])
    {
        if(GetPVarInt(playerid, "perfomance_open") == 1return 1;
        
        new vehicleid = GetPlayerVehicleID(playerid);
        if ( veh_info[ vehicleid ] [ v_owner ] != p_info [ playerid ] [ pMysqlID ] )return SendErr(playerid, "Âû äîëæíû íàõîäèòüñÿ â âàøåì ëè÷íîì òðàíñïîðòå!");
    
        for(new i; i < 35; i ++) TextDrawShowForPlayer(playerid, perfomance_tuning[i]);
        SelectTextDraw(playerid,0xCD5C5CFF);
    
        SetPVarInt(playerid, "perfomance_open"1);
    }
    if(areaid == perfomance_area[3])
    {
        if(GetPVarInt(playerid, "perfomance_open") == 1return 1;
        
        new vehicleid = GetPlayerVehicleID(playerid);
        if ( veh_info[ vehicleid ] [ v_owner ] != p_info [ playerid ] [ pMysqlID ] )return SendErr(playerid, "Âû äîëæíû íàõîäèòüñÿ â âàøåì ëè÷íîì òðàíñïîðòå!");
    
        for(new i; i < 27; i ++) TextDrawShowForPlayer(playerid, perfomance_tuning_two[i]);
        SelectTextDraw(playerid,0xCD5C5CFF);
    
        SetPVarInt(playerid, "perfomance_open"1);
    }
    
    if(areaid == perfomance_area[0])
    {
        if(perfomance_door_status[0] == false)
        {
            if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            {
                MoveObject(perfomance_door[0], -1847.8750+0.011400.6790+0.013.8940+0.010.750.00000.0000, -90.0990);

                perfomance_door_status[0] = true;
            }
        }
    }
    if(areaid == perfomance_area[1])
    {
        if(perfomance_door_status[1] == false)
        {
            if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            {
                MoveObject(perfomance_door[1], -1858.3790+0.011411.4750+0.014.3950+0.010.750.00000.000090.0990);
            
                perfomance_door_status[1] = true;
            }
        }
    }
    
    if(areaid == door_area[0] || areaid == door_area[1])
    {
        if(door_lift_status[0] == false && door_lift_status[1] == false)
        {
            MoveDynamicObject(door_lift[0], 285.5817, -1613.043533.89680.750.00000.0000259.9969);
            MoveDynamicObject(door_lift[1], 288.8987, -1613.660833.89610.750.00000.0000259.7003);

            door_lift_status[0] =
            door_lift_status[1] = true;
        }
    }
    if(areaid == door_area[2] || areaid == door_area[3])
    {
        if(door_lift_status[2] == false && door_lift_status[3] == false)
        {
            MoveDynamicObject(door_lift[2], 285.6073, -1613.038147.92400.750.00000.0000259.9969);
            MoveDynamicObject(door_lift[3], 288.9435, -1613.615747.92400.750.00000.0000259.7498);

            door_lift_status[2] =
            door_lift_status[3] = true;
        }
    }
    if(areaid == door_area[4] || areaid == door_area[5])
    {
        if(door_lift_status[4] == false && door_lift_status[5] == false)
        {
            MoveDynamicObject(door_lift[4], 285.6221, -1612.992418.78900.750.00000.0000259.8981);
            MoveDynamicObject(door_lift[5], 289.0020, -1613.527818.78900.750.00000.0000259.8981);

            door_lift_status[4] =
            door_lift_status[5] = true;
        }
    }
    
    new pstate = GetPlayerState(playerid);
    if(!p_t_info[playerid][pAbletoTP] && !p_t_info[playerid][pIsAFK] && pstate != PLAYER_STATE_SPECTATING && pstate != PLAYER_STATE_SPAWNED && !p_info[playerid][pAdmin])
    {
        new Float:xa, Float:ya, Float:za;
        new Float:b_x, Float:b_y, Float:b_z;
        GetPlayerPos(playerid, b_x, b_y, b_z);
        xa = b_x - p_t_info[playerid][pX];
        ya = b_y - p_t_info[playerid][pY];
        za = b_z - p_t_info[playerid][pZ];
        new Float:distance;
        distance = floatsqroot(floatadd(floatadd(floatpower(xa,2),floatpower(ya,2)),floatpower(za,2)));
        new tick = GetTickCount();
        if(!distance && tick - p_t_info[playerid][pLastTick] <= 1500) {p_t_info[playerid][pKick3] = 0;}
        else if(p_info[playerid][pAdmin] < 3)
        {
            if(!p_t_info[playerid][pControllable] && !IsPlayerInAnyVehicle(playerid) && tick - p_t_info[playerid][pLastTick] <= 1500) p_t_info[playerid][pKick3]++;
            if(p_t_info[playerid][pKick3] == 3)
            {
                new mes[128],nname[24];
                GetPlayerName(playerid,nname,24);
                format(mes,sizeof(mes),"%s [%d] ïîäîçðåâàåòñÿ â àíòèôðèçå",nname,playerid);
                AdminChat(col_red,mes);
                p_t_info[playerid][pKick3] = 0;
                if(!IsPlayerLogged[playerid])
                {
                    Kick(playerid);
                }
            }
            p_t_info[playerid][pDarkAFK] = 0;
            if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && distance > MAX_ONFOOT_SPEED && za > -10.0 && tick - p_t_info[playerid][pLastTick] <= 1500 && p_t_info[playerid][pREGISKL] == false && p_info[playerid][pAdmin] < 3)
            {
                p_t_info[playerid][pKick]++;
            }
            else if(distance > MAX_INCAR_SPEED && tick - p_t_info[playerid][pLastTick] <= 1500 && p_info[playerid][pAdmin] < 3)
            {
                p_t_info[playerid][pKick]++;
            }
            else p_t_info[playerid][pKick] = 0;
            p_t_info[playerid][pX] = b_x;
            p_t_info[playerid][pY] = b_y;
            p_t_info[playerid][pZ] = b_z;
            p_t_info[playerid][pLastTick] = GetTickCount();
        }
    }
    else if(areaid >= bpick_info[0][biz_area] && areaid <= bpick_info[total_biz-1][biz_area])
    {
        if(p_t_info[playerid][pShowphoto] == truereturn 1;
        if(p_t_info[playerid][pJustTP])
        {
            p_t_info[playerid][pJustTP] = false;
            return 1;
        }
        new businessid = areaid - bpick_info[0][biz_area];

        if(businessid < 1return SendClientMessage(playerid,col_gray,"Îøèáêà (#100)");
        if(!b_info[businessid][busiStatus] && p_info[playerid][pMysqlID] != b_info[businessid][busiOwnerID]) return 1;
        p_t_info[playerid][pSelectedBusinessID] = businessid;
        if(b_info[businessid][busiStatus] == 0return 1;
        if(!b_info[businessid][busiOwnerID])
        {
            if(b_info[businessid][busiType] != 17 && b_info[businessid][busiType] != 18)
            {
                new mes[256];
                format(mes,sizeof(mes),""c_white"Ýòîò áèçíåñ ïðîäàåòñÿ çà "c_red"$%d.",b_info[businessid][busiSellPrice]);
                show_dialog(playerid,dBuyBusiness1,0,"Áèçíåñ",mes,"Âîéòè","Êóïèòü");
            }
            else
            {
                new bint = b_info[businessid][busiBint]-1;
                if(bint < 0 || bint >= BINT_COUNT) return SendClientMessage(playerid,col_gray,"Îøèáêà (#99)");
                p_t_info[playerid][pJustTP] = true;

                SetPlayerInterior(playerid,gBints[bint][bintInterior]);
                SetPlayerVirtualWorld(playerid,businessid+1);

                SetPlayerPos(playerid,gBints[bint][bintX],gBints[bint][bintY],gBints[bint][bintZ]);
                SetPlayerFacingAngle(playerid,gBints[bint][bintR]);
            }
        }
        else
        {
            if(b_info[businessid][busiType] == 14)
            {
                if(p_t_info[playerid][pJustTP])
                {
                    p_t_info[playerid][pJustTP] = false;
                    return 1;
                }
                new carclass = -1;
                if(IsPlayerInRangeOfPoint(playerid, 10.0,555.1915,-1293.4724,17.2482)) { carclass = 0; }
                if(IsPlayerInRangeOfPoint(playerid, 10.0,-1953.3829,300.9664,35.4688)) { carclass = 1; }
                if(IsPlayerInRangeOfPoint(playerid, 10.0,1658.5024,2199.9299,10.8203)) { carclass = 2; }
                if(IsPlayerInRangeOfPoint(playerid, 10.0,2131.8301,-1151.0280,24.0927)) { carclass = 3; }
                if(carclass == -1return 1;
                BuyCar_Class[playerid] = carclass;
                new mes[128],carclassn[12];
                GetCarClassName(carclass,carclassn);
                format(mes,sizeof(mes),"Âû õîòèòå âîéòè â àâòîñàëîí êëàññà: %s",carclassn);
                show_dialog(playerid,dBuyCarSalon,0,"{ffffad}Àâòîñàëîí",mes,"Äà","Íåò");
                return 1;
            }
            if(b_info[businessid][busiEnterPrice])
            {
                new mess[256];
                format(mess,sizeof(mess),""c_white"Ñòîèìîñòü âõîäà "c_red"$%d.",b_info[businessid][busiEnterPrice]);
                show_dialog(playerid,dBuyBusinessentpr,0,"Áèçíåñ",mess,"Âîéòè","Îòìåíà");
                SetPVarInt(playerid,"atbiz",businessid);
            }
            else
            {
                if(b_info[businessid][busiType] != 11)
                {
                    new bint = b_info[businessid][busiBint]-1;
                    if(b_info[businessid][busiType] == 16return show_dialog(playerid, d_mes, DIALOG_STYLE_MSGBOX, "{ffffad}Áèçíåñ"""c_white"Âõîä â áèçíåñ íå äîñòóïåí""Çàêðûòü""");
                    if(bint < 0 || bint >= BINT_COUNT) return SendClientMessage(playerid,col_gray,"Îøèáêà (#99)");
                    p_t_info[playerid][pJustTP] = true;
                    
                    SetPlayerInterior(playerid,gBints[bint][bintInterior]);
                    SetPlayerVirtualWorld(playerid,businessid+1);
                    
                    SetPlayerPos(playerid,gBints[bint][bintX],gBints[bint][bintY],gBints[bint][bintZ]);
                    SetPlayerFacingAngle(playerid,gBints[bint][bintR]);
                    
                    if(b_info[businessid][busiUpdate] != 0)
                    {
                        SendClientMessage(playerid,col_info," ýòîì áèçíåñå èìååòñÿ àïòå÷êà. ×òîáû âîññòàíîâèòü çäîðîâüå èñïîëüçóéòå "c_white"/healup ({00CC00}$150"c_white")");
                    }
                }
                else
                {
                    new bint = b_info[businessid][busiBint]-1;
                    if(bint < 0 || bint >= BINT_COUNT) return SendClientMessage(playerid,col_gray,"Îøèáêà (#99)");
                    p_t_info[playerid][pJustTP] = true;
                    
                    SetPlayerInterior(playerid,gBints[bint][bintInterior]);
                    SetPlayerVirtualWorld(playerid,businessid+1);
                    
                    SetPlayerPos(playerid,1410.5051,-21.6455,1000.9224);
                    SetPlayerFacingAngle(playerid,90.8049);
                    
                    f_TogglePlayerControllable(playerid,false);
                    SetTimerEx("Unfreez",2000,false,"i",playerid);

                    if(b_info[businessid][busiUpdate] != 0)
                    {
                        SendClientMessage(playerid,col_info," ýòîì áèçíåñå èìååòñÿ àïòå÷êà. ×òîáû âîññòàíîâèòü çäîðîâüå èñïîëüçóéòå "c_white"/healup ({00CC00}$150"c_white")");
                    }
                }
            }
        }
    }

 

@Cawfee  Я взял готовый мод дрп, и когда установил мод начиная с этого момента не работало вообще пикапы для обычных игроков, а для админов работает

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


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

up

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


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

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

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

    • RASTAMAN
      От RASTAMAN
      Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
       
      Система казино Система домов Система авто И многие другие системы!

      Особых багов не найдено.

      В моде присутствует 25 фракции.
      Есть Textdraw на спавне!
    • RASTAMAN
      От RASTAMAN
      Plantinum RolePlay
      Скачать файл Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
       
      Система казино Система домов Система авто И многие другие системы!

      Особых багов не найдено.

      В моде присутствует 25 фракции.
      Есть Textdraw на спавне!
      Добавил RASTAMAN Добавлено 10.10.2017 Категория Моды Автор неизвестен  
    • 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; }