Вопросы

Всем привет у меня вопрос как сделать спавн

        if(PlayerInfo[playerid][pMember] == 0)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636);
                SetPlayerFacingAngle(playerid, 89.5488);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }

по уровням? у меня есть участок кода где персонаж спавниться но как сделать чтобы перс спавнился по уровням?

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


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

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

  • 0

@Mason 

 

Спойлер

        if(PlayerInfo[playerid][pLevel] >= 2) && PlayerInfo[playerid][pLevel] <=3)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid, координаты);
                SetPlayerFacingAngle(playerid, координаты);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }

 

 

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

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


Ссылка на сообщение
  • 0
16 минут назад, _bogdan_ сказал:

@Mason 

 

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


        if(PlayerInfo[playerid][pLevel] >= 2) && PlayerInfo[playerid][pLevel] <=3)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid, координаты);
                SetPlayerFacingAngle(playerid, координаты);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }

 

 

А как другие координаты поставить допустим на 1 лвле персонаж спавниться на вокзале а на 2 тоже на вокзале но чуть дальше на 3 в сф а на 10 в лв

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


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

@Mason Ищите в моде код, который отвечает за спавн игрока. И меняйте на свои координаты. 

Менять координаты просто, заходите в игру выбирайте место где хотите что бы игрок спавнился, пишите /save, выходите из игры. Дальше "Мой компьютер - Документы - GTA user Files  - SAMP - save

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


Ссылка на сообщение
  • 0
7 минут назад, _bogdan_ сказал:

@Mason Ищите в моде код, который отвечает за спавн игрока. И меняйте на свои координаты. 

Менять координаты просто, заходите в игру выбирайте место где хотите что бы игрок спавнился, пишите /save, выходите из игры. Дальше "Мой компьютер - Документы - GTA user Files  - SAMP - save

Так это и есть участок кода который отвечает за спавн игрока.

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


Ссылка на сообщение
  • 0
switch(PlayerInfo[playerid][pLevel]) {
    case 1: { //Спавн для 1-го уровня
        SetPlayerPos(playerid, ...);
    }
    case 3: { //Спавн для 3-го уровня
        SetPlayerPos(playerid, ...);
    }
    case 5: { //Спавн для 5-го уровня
        SetPlayerPos(playerid, ...);
    }
    default: {//Спавн для остальных уровней
        SetPlayerPos(playerid, ...);
    }
}

 

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


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

@Mason Я же скинул код, как сделать спавн по уровням. if(PlayerInfo[playerid][pLevel] >= 2) && PlayerInfo[playerid][pLevel] <= 3) То есть игрок с 2 по 3 уровень будет спавнить, на спавне который вы укажите в координатах. Уровень можете ставить любой который заходите с 1 по 2, с 10 по 20 и т.д

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


Ссылка на сообщение
  • 0
14 минут назад, _bogdan_ сказал:

@Mason Я же скинул код, как сделать спавн по уровням. if(PlayerInfo[playerid][pLevel] >= 2) && PlayerInfo[playerid][pLevel] <= 3) То есть игрок с 2 по 3 уровень будет спавнить, на спавне который вы укажите в координатах. Уровень можете ставить любой который заходите с 1 по 2, с 10 по 20 и т.д

я все вроде правильно вставил

 

C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(2337) : warning 209: function "KillPlayerSecTimer" should return a value
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(34690) : error 029: invalid expression, assumed zero
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(34690) : warning 215: expression has no effect
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(34690) : error 001: expected token: ";", but found ")"
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(34690) : error 029: invalid expression, assumed zero
C:\Users\Roma\Desktop\REVENT\gamemodes\justice.pwn(34690) : fatal error 107: too many error messages on one line
        if(PlayerInfo[playerid][pLevel] >= 1) && PlayerInfo[playerid][pLevel] <=2)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636);
                SetPlayerFacingAngle(playerid, 89.5488);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }
        else if(PlayerInfo[playerid][pLevel] >= 2) && PlayerInfo[playerid][pLevel] <=3)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid,1767.9374,-1904.3854,13.5674);
                SetPlayerFacingAngle(playerid, 89.5488);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }
        else if(PlayerInfo[playerid][pLevel] >= 3) && PlayerInfo[playerid][pLevel] <=10)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid,-1974.7921,154.5538,27.6939);
                SetPlayerFacingAngle(playerid, 89.5488);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }
        else if(PlayerInfo[playerid][pLevel] >= 10)
        {
                TogglePlayerControllable(playerid,false);
                SetPlayerPos(playerid,2842.3301,1289.5051,11.3906);
                SetPlayerFacingAngle(playerid, 89.5488);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle"1000false"d", playerid);
                return 1;
        }

 

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


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

@Mason 

34690 строку покажите

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


Ссылка на сообщение
  • 0
8 минут назад, _bogdan_ сказал:

@Mason 


34690 строку покажите

if(PlayerInfo[playerid][pLevel] >= 1) && PlayerInfo[playerid][pLevel] <=2)

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


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

@Mason if(PlayerInfo[playerid][pLevel] >= 1 && PlayerInfo[playerid][pLevel] <=2)

Моя ошибочка)

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


Ссылка на сообщение
  • 0
29 минут назад, _bogdan_ сказал:

@Mason if(PlayerInfo[playerid][pLevel] >= 1 && PlayerInfo[playerid][pLevel] <=2)

Моя ошибочка)

Проблема спавнит не по порядку на 2 лвле спавнит как на 1 на 3 лвле спавнит как на 2 на 4 спавнит как на 3 а на 11 спавнит как на 10.

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


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

@Mason, пробуй использовать мой вариант.

Спойлер

switch(PlayerInfo[playerid][pLevel]) {
    case 1: { //Спавн для 1-го уровня
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
    case 3: { //Спавн для 3-го уровня
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
    case 5: { //Спавн для 5-го уровня
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
    default: {//Спавн для остальных уровней
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
}

 

 

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

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


Ссылка на сообщение
  • 0
16 минут назад, glvde. сказал:

@Mason, пробуй использовать мой вариант.

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


switch(PlayerInfo[playerid][pLevel]) {
    case 1: { //Спавн для 1-го уровня
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
    case 3: { //Спавн для 3-го уровня
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
    case 5: { //Спавн для 5-го уровня
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
    default: {//Спавн для остальных уровней
        TogglePlayerControllable(playerid,false);
        SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636); //координаты
        SetPlayerFacingAngle(playerid, 89.5488); //угол поворота
        SetPlayerInterior(playerid,0);
        SetPlayerVirtualWorld(playerid, 0);
        SetTimerEx("PlayerToggle"1000false"d", playerid);
        return 1;
    }
}

 

 

Не работает спавн по фракциям.

Я меня тот код был привязан к спавну по фракциям

 

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

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


Ссылка на сообщение
  • 0
26 минут назад, Mason сказал:

Не работает спавн по фракциям.

Я меня тот код был привязан к спавну по фракциям

 

Проблему со спавном именно по лвлам я решил но проблема со спавнами по фракциям осталась что делать вот код: 

Спойлер

          if(PlayerInfo[playerid][pLevel] >= 0 && PlayerInfo[playerid][pLevel] <=1)
        {
                TogglePlayerControllable(playerid,false);
                 SetPlayerPos(playerid,1727.1448,-1912.1259,13.5636);
                SetPlayerFacingAngle(playerid, 89.5488);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle", 1000, false, "d", playerid);
                return 1;
        }
          else if(PlayerInfo[playerid][pLevel] >= 1 && PlayerInfo[playerid][pLevel] <=2)
        {
                TogglePlayerControllable(playerid,false);
                 SetPlayerPos(playerid,1767.9374,-1904.3854,13.5674);
                SetPlayerFacingAngle(playerid, 342.8036);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle", 1000, false, "d", playerid);
                return 1;
        }
          else if(PlayerInfo[playerid][pLevel] >= 2 && PlayerInfo[playerid][pLevel] <=3)
        {
                TogglePlayerControllable(playerid,false);
                 SetPlayerPos(playerid,-1974.7921,154.5538,27.6939);
                SetPlayerFacingAngle(playerid, 179.6687);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle", 1000, false, "d", playerid);
                return 1;
        }
          else if(PlayerInfo[playerid][pLevel] >= 10)
        {
                TogglePlayerControllable(playerid,false);
                 SetPlayerPos(playerid,2842.3301,1289.5051,11.3906);
                SetPlayerFacingAngle(playerid, 91.6339);
                SetPlayerInterior(playerid,0);
                SetPlayerVirtualWorld(playerid, 0);
                SetTimerEx("PlayerToggle", 1000, false, "d", playerid);
                return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_MAYOR)
        {
            SetPlayerPos(playerid,337.1920,193.5128,1014.1797);
            SetPlayerFacingAngle(playerid, 265.8);
            SetPlayerInterior(playerid,3);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_POLICE_LS)
        {
            SetPlayerPos(playerid,234.1521,71.5594,1005.0391);
            SetPlayerFacingAngle(playerid, 358.0);
            SetPlayerInterior(playerid, 6);
            SetPlayerVirtualWorld(playerid, 0);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_POLICE_SF)
        {
            SetPlayerPos(playerid,225.1647,121.0442,999.0786);
            SetPlayerFacingAngle(playerid, 89.0);
            SetPlayerInterior(playerid, 10);
            SetPlayerVirtualWorld(playerid, 0);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_FBI)
        {
            SetPlayerPos(playerid,268.2210,185.7100,1008.1719);
            SetPlayerFacingAngle(playerid, 359.3);
            SetPlayerInterior(playerid, 3);
            SetPlayerVirtualWorld(playerid, 0);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_HOSPITAL)
        {
            TogglePlayerControllable(playerid,false);
            SetPlayerPos(playerid,1184.77,-1323.9792,1585.0019);
            SetPlayerFacingAngle(playerid, 90.0);
            SetPlayerInterior(playerid, 5);
            SetPlayerVirtualWorld(playerid, 1);
            SetTimerEx("PlayerToggle", 1000, false, "d", playerid);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_LIC)
        {
            SetPlayerPos(playerid,-2032.8049,-117.4445,1035.1719);
            SetPlayerFacingAngle(playerid, 269.9);
            SetPlayerInterior(playerid, 3);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_GROVE)
        {
            SetPlayerPos(playerid,2494.1763,-1710.4183,1014.7422);
            SetPlayerFacingAngle(playerid, 270.0);
            SetPlayerInterior(playerid, 3);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_BALLAS)
        {
            SetPlayerPos(playerid,-60.9277,1361.6265,1080.2185);
            SetPlayerFacingAngle(playerid, 1.8);
            SetPlayerInterior(playerid, 6);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_RIFA)
        {
            SetPlayerPos(playerid,-220.6473,1406.0764,27.7656);
            SetPlayerFacingAngle(playerid, 180.7);
            SetPlayerInterior(playerid, 18);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_AZTECAS)
        {
            SetPlayerPos(playerid,-49.9396,1398.9984,1084.4297);
            SetPlayerFacingAngle(playerid, 0.0);
            SetPlayerInterior(playerid, 8);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_VAGOS)
        {
            SetPlayerPos(playerid,301.8073,310.0219,1003.3047);
            SetPlayerFacingAngle(playerid, 266.1);
            SetPlayerInterior(playerid, 4);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_ARMY)
        {
            if(JobFactory[playerid] == true)
            {
                   SetPlayerPos(playerid,2526.6289,-1285.9629,1048.2891);
                SetPlayerFacingAngle(playerid, 179.8);
                SetPlayerInterior(playerid, 2);
                SetPlayerVirtualWorld(playerid, 4);
                return 1;
            }
            SetPlayerPos(playerid,247.8784,1859.4562,14.0840);
            SetPlayerFacingAngle(playerid, 90.2);
            SetPlayerInterior(playerid, 0);
            SetPlayerVirtualWorld(playerid, 0);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_LCN)
        {
            SetPlayerPos(playerid,2541.0574,-1295.1235,1054.6406);
            SetPlayerFacingAngle(playerid, 92.2);
            SetPlayerInterior(playerid, 2);
            SetPlayerVirtualWorld(playerid, 2);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_YAKUZA)
        {
            SetPlayerPos(playerid,1265.7104,-793.7453,1084.0078);
            SetPlayerFacingAngle(playerid,268.5670);
            SetPlayerInterior(playerid, 5);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_RM)
        {
            SetPlayerPos(playerid,2558.9172,-1296.3939,1060.9844);
            SetPlayerFacingAngle(playerid, 272.3);
            SetPlayerInterior(playerid, 2);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_UNITEDNEWS)
        {
            SetPlayerPos(playerid,2171.5288,1602.0793,999.9686);
            SetPlayerFacingAngle(playerid, 87.7);
            SetPlayerInterior(playerid, 1);
            SetPlayerVirtualWorld(playerid, 1);
            return 1;
        }
        else if(PlayerInfo[playerid][pMember] == F_NEWSTODAY)
        {
            SetPlayerPos(playerid,2171.5288,1602.0793,999.9686);
            SetPlayerFacingAngle(playerid, 87.7);
            SetPlayerInterior(playerid, 1);
            SetPlayerVirtualWorld(playerid, 2);
            return 1;
        }
    }

 

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

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


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

@Mason Что со спавнами по фракциям? 

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


Ссылка на сообщение
  • 0
2 минуты назад, _bogdan_ сказал:

@Mason Что со спавнами по фракциям? 

Когда я выдаю лидерку или просто принимаю через админку на 1 ранг спавнит на обычный спавн.

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


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

@Mason Скорее всего у вас стоит система, что после принятия в организацию вас будет спавнить на обычном спавне или в доме. Нужно через /setspawn /changespawn (команда через которую менять место спавна) Просто сменить место спавна и все.

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


Ссылка на сообщение
  • 0
if(pInfo[playerid][pLevel] < 3 && pInfo[playerid][pMember] == 0) {
        SetPlayerPos(playerid, 1157.0867,-1768.9376,16.5938,2.0257);
    }
    else if(pInfo[playerid][pLevel] >= 3 && pInfo[playerid][pLevel] <= 6 && pInfo[playerid][pMember] == 0) {
        SetPlayerPos(playerid, -1967.2679115.192927.68751.3365);//sf
    }
    else if(pInfo[playerid][pLevel] >= 7 && pInfo[playerid][pMember] == 0) {
        SetPlayerPos(playerid, 2851.58861293.561511.390693.9123);//lv
    }

Попробуй это

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

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


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

@hokageud Не работают спавны, но работают по фракцияи теперь.

 

 

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


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

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.