Рекомендованные сообщения



2 posts in this topic

Приветствую!

С проблемой разбираюсь уже около месяца, суть такая:
У нас своя сборка SAMP на карте CRMP, у меня и ещё у одного человека (у нас обоих разрешение FHD), всё работает нормально, у других, разрешение у которых отлично от нашего, при спавне после реги или авторизации кидает в загрузку(белый экран, по центру чёрный прямоугольник), при этом, стоит заметить, что при спавне на выбор скина при регистрации у них всё нормально, а вот потом, либо после окончания регистрация, либо после авторизации такая штука. AddPlayerClass в ONGMI есть

Что было предпринято мной: полностью переписан спавн игроков во всём модем, убрал так называемый "двойной" спавн, всё сделал по грамотному, так же проверяли на локалке - проблема не исчезла.

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

Демонстрация проблемы

 

Спойлер

stock SpawnPlayerEx(playerid)
{
    new Float: x,
        Float: y,
        Float: z,
        Float: a,
        skin = PI[playerid][pModel],
        world = 0,
        interior = 0,
        weapon1 = 0, ammo1 = 0,
        weapon2 = 0, ammo2 = 0,
        weapon3 = 0, ammo3 = 0;

    if(GetPVarInt(playerid, "player_in_enter") == 1) // вот это координаты и спавн выбора скина
    {       
        x = -2716.9604,
        y = 1953.1338,
        z = 35.5185,
        a = 45.0,
        world = (playerid + 1),
        skin = JoinRegM[SelectCharPlace[playerid]];
    }

    else
    {
        PlayerSpawned[playerid] = false;

        if(PI[playerid][pMember]) skin = PI[playerid][pMemberSkin];
        else skin = PI[playerid][pModel];

        if(PI[playerid][Spectating][0] != INVALID_PLAYER_ID) // Был в спектре
        {
            x = GetPVarFloat(playerid, "SpecX"),
            y = GetPVarFloat(playerid, "SpecY"),
            z = GetPVarFloat(playerid, "SpecZ"),
            a = GetPVarFloat(playerid, "SpecA"),
            world = GetPVarInt(playerid, "SpecVw"),
            interior = GetPVarInt(playerid, "SpecInt");

            if(PI[playerid][pMember]) skin = PI[playerid][pMemberSkin];
            else if(Oldskin2[playerid] > 0) skin = Oldskin2[playerid];
            else skin = PI[playerid][pModel];
        }

        else if(ClothesRound[playerid] == 2) // В магазине одежды
        {
            new WM = 2 +random(100);
            interior = playerid,
            world = WM;
            x = -1774.4742,
            y = 1768.3673,
            z = 2377.4409,
            a = 180;
          
            switch(PI[playerid][pSex])
            {
                case 1:
                {
                    SelectCharPlace[playerid] = 0;
                    skin = JoinShopM[SelectCharPlace[playerid]][0];
                }
                case 2:
                {
                    SelectCharPlace[playerid] = 0;
                    skin = JoinShopF[SelectCharPlace[playerid]][0];
                }
            }
        }

 

Спойлер

SetSpawnInfo(playerid, 0, skin, x, y, z, a, weapon1, ammo1, weapon2, ammo2, weapon3, ammo3);
SpawnPlayer(playerid);
SetPlayerInterior(playerid, interior);
SetPlayerVirtualWorld(playerid, world);

 

Спойлер

public OnPlayerSpawn(playerid)
{
    if(GetPVarInt(playerid, "player_in_enter") == 1) // вызывается тоже при выборе скина
    {       
        TogglePlayerControllable(playerid, false);
        SetPlayerCameraPos(playerid, -2721.5674, 1957.3044, 36.5426);
        SetPlayerCameraLookAt(playerid, -2720.9348, 1956.5221, 36.4679);
        return false; // остальной код не вызывается
    }
// вызыается при авторизации или окончании реги
    if(GetPVarInt(playerid,"Killed_Go_Reset_Spawn") == 1) ResetPlayerWeaponAC(playerid);

    #if defined ALBION_GUARD

    PG_DATA[playerid][Kill_Time] = 0;
    
    if(PlayerLogged[playerid] != true)
    {
        SendMess(playerid, MSG_PLAYER_NEED_TO_LOGGED);
        return AC_KICK(playerid,  "NO SPAWN (1)", 7);
    }
    
    #endif

    // Global
    StopAudioStreamForPlayer(playerid);
    TogglePlayerControllable(playerid, true);
    SetHunger(playerid, PI[playerid][pHunger]);
     DisablePlayerCheckpoint(playerid);
    SetPlayerScore(playerid, PI[playerid][pLevel]);
    SetPlayerColorEx(playerid, TeamColors[GetTeamID(playerid)]);   
    if(PI[playerid][pFightStyle]) SetPlayerFightingStyle(playerid, PI[playerid][pFightStyle]);
    else SetPlayerFightingStyle(playerid, 0);
    if(PI[playerid][pWanted]) SetPlayerWantedLevel(playerid, PI[playerid][pWanted]);   

    if(PI[playerid][pCash])
    {
        ResetPlayerMoney(playerid);
        GivePlayerMoney(playerid, PI[playerid][pCash]);
    }

    SetPVarInt(playerid, "K_Times", 0);
    SetPVarInt(playerid, "AC_Protection", 1);
    SetPlayerSkills(playerid);
    if(GetPVarInt(playerid, "Connected"))

 

 

Edited by SCRIPTMAN

Share this post


Link to post
Share on other sites

К сожалению, ответа не дождался. Но, я поделюсь решением данной проблемы. Отчаянный, переписав уже всю систему спавна, я решил проверить скрипты. Проблема оказалась в camera_point_fix.asi, именно он и вызывал эту штуку. И теперь понятно, почему такого не было, когда мы спавнили скин для выбора - не требовался фикс камеры игрока, т. к. она была фиксированной. 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Novaro.Vaiper
      By Novaro.Vaiper
      Приветствую.

      Условия:

      - Если вы надежный человек
      - Можете выходить на связь [Говорить, скайп дискорд.]
      - Если вы продуктивный и пунктуальный

      Обязанности:
      - Просто написать мод с нуля. [Естественно для начала просто под основу. На Основе самый новых и полезных плагинов которые могут быть]
      - Мы должны с вами сообщиться, понравится друг другу в делом подходе к нашему делу. То есть мы должны вызывать самое главное, доверие друг у друга.

      К слову.


      Безусловно большим плюсом в нашей с вами кампании будет ваше портфолио проделанной работы.
      Мы можем найди вам помощника. Одна голова хорошо, а две еще лучше!
      Естественно оплата будет оплачена после работы. Примечание, выплата может быть осуществлена два раза в месяц. Горы не обещаю конечно, для начала поработаем. На первое время помогу материально в случае прогресса развития мода.
      На момент работы будут оплачен хостинг самого сервера, для того, что бы мы могли еще с вами тестировать наш с вами сервер.
      Что входит под сленгам "Под основу" Я хочу видеть:
      Регистрацию: Тз есть
      Фракции: Тз будет ! 

      Работа есть!
      Пишите по делу! https://vk.com/sailencer
    • KAIF
      By KAIF


      Просмотр файла [0.3.7]GTA RolePlay-
      Здравствуйте, хотел бы продать переделанный игровой мод всем знакомого проекта GTA RolePlay
      Фракции:
      1)Правительство
      2)ГИБДД
      3)Полиция Южного
      4)ФСБ
      5)ЦГБ-А
      6)Автошкола
      7)ВВС
      8)СМИ
      9)ОМОН
      10)опг.Тукаевские
      11)опг.Тяп-Ляп
      12)Чеченская Мафия
      13)Американская Мафия
      14)Якудза
      15)Русская Мафия
      16)Итальянская Мафия
      Добавлено/исправлено:
      1)Добавлен ВЕСЬ ОПТИМИЗИРОВАННЫЙ маппинг GTA ROLEPLAY.(2018-2019г)
      2)Добавлены организации мафий.
      3)Перенесены все чекпоинты как на GTA ROLEPLAY.
      4)Добавил в донат покупку военного билета.
      5)Изменил название рангов во фракциях как на GTA ROLEPLAY/
      6)Изменен логотип GTA ROLEPLAY
      7)Переделан весь GPS, изменены все координаты.
      В моде - 6 уровней администрации.(если хотите можете увелить кол-во админок)
      Имеется фуллдоступ, выдаётся в pawno.
      Так же в комплекте будет идти мод-пак к серверу.
      После покупки вы получите архив с модом, а в самом архиве будет текстовый файл с ссылкой на скачивание модпака.
      Добавил KAIF Добавлено 27.12.2020 Категория Моды Автор Kytip  
    • danya1102
      By danya1102
      я хочу запустить локальный сервер, но с ним что-то
      вот лог
       
      server_log.txt