Вопросы

amazonite
Свой человек

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

 

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



 

 

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

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


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

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

  • 0
Sleash
Завсегдатый

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

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


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

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

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


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

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

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

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

 

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

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

CreateDynamicCircle
CreateDynamicRectangle
CreateDynamicSphere
CreateDynamicCube

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

 

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

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


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

@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 пользователей онлайн

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

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

    • Elvis
      От Elvis
      Идёт набор в команду по разработке CRMP-проекта! 
       
      Требуются специалисты на следующие роли:  
      - Технический администратор (1 человек)  
      - Технические разработчики (2 человека)  
      - Внутриигровые разработчики (5 человек)  
       
      Все подробности и условия обсудим лично — пишите руководителю в Telegram - @AntonLegost
    • Jasper231
      От Jasper231
      Идет набор в команду для создания CRMP MOBILE проекта. Нам нужны
      1) Кодеры
      2) Мапперы
      3) Люди которые вообще разбираются в создании серверов
       
      об зарпалте договоримся и об остальном поговорим в вк: @haslyyyim
    • otec
      От otec
      Копия радмира
      ║☑️Название CORVUS CRMP
      ║☑️Сервер у которого есть будущее и будет
      ║☑️Адекватная администрация
      ║☑️Идут наборы в Лидеры, Админы.
      ║☑️Вступайте в Telegram: t.me/corvusgta « Вступай!
      ║☑️Вступайте в ВКонтакте: vk.com/corvus_crmp « Вступай!
      ║☑️Постоянные ПРИЗЫ - МП | Интересный Мод
      ║☑️Все новости - обновления в Telegram и ВКонтакте
      ║☑️Сайт - corvus-crmp.ru
      ║☑️Форум - forum.corvus-crmp.ru
      ║☑️Скачать лаунчер - corvus-crmp.ru
      ║☑️Заходи мы ждем тебя
      ║☑️В случае возможных ошибок пишите сюда:@corvus_help_bot
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК