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

    Статус
    Оффлайн
    Регистрация
    03.07.2017
    Сообщений
    44
    Репутация:
    5 ±

    Как сделать правильный спавн через SetSpawnInfo,а не через OnPlayerSpawn+SetPlayerPos

    Здравствуйте. Не давно наткнулся на одну темку с спавном и там DeimoS пиcал о том, что OnPlayerSpawn + SetPlayerPos, это неверное решение для спавна игрока в определеных координатах, а нужно их задавать с помощью SetSpawnInfo.

    Так вот, как это нужно делать правильно?

    Вот так?
    PHP код:
    SetSpawnInfo(playerid0pInfo[playerid][pSkin], 1958.331343.1215.36269.15000000);
    SpawnPlayer(playerid); 

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, если тебе нужно зареспавнить игрока - да. Если ты собрался прописывать такой код в OnPlayerSpawn - нет.

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

    Вообще стоит понимать, что SetSpawnInfo заносит в память сервера информацию о том, куда нужно поместить игрока при следующем спавне. Классический спавн с SetPlayerPos в OnPlayerSpawn заставляет, по сути, перемещать игрока в два места: сначала на нулевые координаты (так как мы не указали координаты для спавна через SetSpawnInfo), а уже потом на координаты из SetPlayerPos. Соответственно, чтоб вариант с использованием SetSpawnInfo работал правильно, нужно просто заносить координаты для следующего спавна всякий раз, когда они становятся известны (ну, например, игрок решил изменить место спавна с базы фракции на личный дом - вот тут и нужно занести новые координаты в память. После этого просто нужно обновлять координаты после каждого спавна внутри самого OnPlayerSpawn).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    geneff (03.06.2018)
 

 

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

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

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

Ваши права

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