PDA

Просмотр полной версии : [Вопрос] Как правильно спавнить игрока чтоб для него прогружались и объекты, и боты?



Edward Morra
20.01.2017, 00:50
Не знаю почему, но перебрав каждый уголок кода я не смог найти суть проблемы.
Почему устанавливая данные

SetSpawnInfo(playerid, 0, 23,2176.3752,127.6635,1006.7903, 1.0, -1, -1, -1, -1, -1, -1);
Раз на раз, спавнит именно в этих координатах, а не в установленных пабликом OnPlayerSpawn?

Ваша свежая голова мб поможет мне вашими же идеями. Мои уже иссякли.

qwezert
20.01.2017, 01:50
Не знаю почему, но перебрав каждый уголок кода я не смог найти суть проблемы.
Почему устанавливая данные

SetSpawnInfo(playerid, 0, 23,2176.3752,127.6635,1006.7903, 1.0, -1, -1, -1, -1, -1, -1);
Раз на раз, спавнит именно в этих координатах, а не в установленных пабликом OnPlayerSpawn?

Ваша свежая голова мб поможет мне вашими же идеями. Мои уже иссякли.

А почему должно быть наоборот? SetSpawnInfo - устанавлиет информацию о том где и с чем игрок появится, далее вызывается спавн игрока на указанных координатах и только потом вызывается OnPlayerSpawn.

Edward Morra
20.01.2017, 01:51
Я его использую, дабы прогружать ботов и обьекты, ибо чисто с камерой грузятся тольк ообьекты, но не боты.

ziggi
20.01.2017, 01:52
Такой вот SA-MP, задавай правильные координаты в SetSpawnInfo и перестань устанавливать позицию в OnPlayerSpawn.

Edward Morra
20.01.2017, 13:14
Такой вот SA-MP, задавай правильные координаты в SetSpawnInfo и перестань устанавливать позицию в OnPlayerSpawn.

Да, огорчает он... Как же ТРУ РП моды пишут и с SetSpawnInfo и с OnPlayerSpawn?
Например без него не прогрузятся боты, но прогрузятся обьекты. Интро же делают....

DeimoS
20.01.2017, 13:23
Да, огорчает он... Как же ТРУ РП моды пишут и с SetSpawnInfo и с OnPlayerSpawn?
Например без него не прогрузятся боты, но прогрузятся обьекты. Интро же делают....

Где ты видел, чтоб спавнили с помощью OnPlayerSpawn и делали с помощью этого интро?
Задавать координаты спавна через SetPlayerPos вообще дурной тон, по сути.

Jesse
20.01.2017, 13:33
В чём проблема, ставь координаты заранее в SetSpawnInfo

Edward Morra
22.01.2017, 10:46
Где ты видел, чтоб спавнили с помощью OnPlayerSpawn и делали с помощью этого интро?
Задавать координаты спавна через SetPlayerPos вообще дурной тон, по сути.

Много модов сейчас пересмотрел - все делают так...

vovandolg
22.01.2017, 10:50
Много модов сейчас пересмотрел - все делают так...

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

Edward Morra
22.01.2017, 12:46
Потому что они не знают что такое инклуды, для чего они, что в них написано,
что можно заюзать весь функционал оттуда и проверить что лучше и быстрее работает.

К примеру...

vovandolg
22.01.2017, 13:49
К примеру...

ну...


Где ты видел, чтоб спавнили с помощью OnPlayerSpawn и делали с помощью этого интро?
Задавать координаты спавна через SetPlayerPos вообще дурной тон, по сути.

...как ты понял тебе намекают что вместо вызова SetPlayerPos в OnPlayerSpawn надо вызывать SetSpawnInfo до OnPlayerSpawn
и будет правильно как бы.

DeimoS
22.01.2017, 21:44
Много модов сейчас пересмотрел - все делают так...

Все делают интро?

Установка координат в OnPlayerSpawn, по сути, костыль (OnPlayerSpawn вызывается когда игрок спавнится. То бишь, его спавнит в одних координатах и потом ты ему задаёшь новые через SetPlayerPos), у которого есть свои последствия, как и у, например, обхода стандартного выбора скинов (скрытие кнопок "<<", ">>" и "Spawn"), который приводит к проблемам при смерти в автомобиле или появлению рандомных предметов у игрока при спавне (бутылка/сигара). Хочешь, чтоб всё прогружалось как надо - избавляйся от костыля и используй SetSpawnInfo. Другого варианта нет.

А большинство "многих модов" писали люди, которые не особо смыслят в том, как SA-MP работает на самом деле. И большая часть этих людей просто копирует системы с паблика/других модов, а не пишет самостоятельно, не понимая для чего делается так, а не иначе. В общем, другие моды - плохой ориентир.

Edward Morra
23.01.2017, 10:39
Все делают интро?

Установка координат в OnPlayerSpawn, по сути, костыль (OnPlayerSpawn вызывается когда игрок спавнится. То бишь, его спавнит в одних координатах и потом ты ему задаёшь новые через SetPlayerPos), у которого есть свои последствия, как и у, например, обхода стандартного выбора скинов (скрытие кнопок "<<", ">>" и "Spawn"), который приводит к проблемам при смерти в автомобиле или появлению рандомных предметов у игрока при спавне (бутылка/сигара). Хочешь, чтоб всё прогружалось как надо - избавляйся от костыля и используй SetSpawnInfo. Другого варианта нет.

А большинство "многих модов" писали люди, которые не особо смыслят в том, как SA-MP работает на самом деле. И большая часть этих людей просто копирует системы с паблика/других модов, а не пишет самостоятельно, не понимая для чего делается так, а не иначе. В общем, другие моды - плохой ориентир.

Душевно, можно закрыть тему.