Сохранение позиции при выходе [rls]
#1

Всем привет, кто может подсказать как написать сохранение позиции при выходе игрока из игры для мода рлс
Reply
#2

С такими просьбами иди на форум профессиональных скриптеров)
Reply
#3

делаешь переменную float для игрока,обновляешь каждых 5 секунд,ставишь сохранение переменных в файл/базу я хз что у тебя там,и при спауне делай SetPlayerPos(playerid,var1,var2,var3);
Reply
#4

Quote:
Originally Posted by Dragunovje
View Post
делаешь переменную float для игрока,обновляешь каждых 5 секунд,ставишь сохранение переменных в файл/базу я хз что у тебя там,и при спауне делай SetPlayerPos(playerid,var1,var2,var3);
А вот и первый "профессиональный скриптер"

При выходе игрока с сервера первым делом находишь его координаты, записываешь и после перезахода спавнишь его по сохраненным координатам.
Reply
#5

Они добрались и до этого форума :С
Reply
#6

Нафлудили и ничего по делу. Если не знаете как то не пишите
Reply
#7

Quote:
Originally Posted by allex
View Post
Нафлудили и ничего по делу. Если не знаете как то не пишите
Вы немного не поняли всего что вам написали. НА этом форуме не пишут готовый код или за вас, тут вы должны написать код, а если в чем-то затруднение мы поможем.
А если затруднение в том что вы вообще не понимаете что вам нужно написать, то вы просто ошиблись форумом.
Reply
#8

Quote:
Originally Posted by allex
View Post
Нафлудили и ничего по делу. Если не знаете как то не пишите
Вам в двух словах описали алгоритм, обычно этого хватает чтобы хотя бы псевдокод накидать и вот после этого мы обсудим Ваши наработки и подскажем что делать дальше.
Reply
#9

Ясно, можно закрыть или удалить тему.
Quote:

обновляешь каждых 5 секунд

Зачем обновлять если нужно сохранить позицию когда игрок выйдет из игры и при спавне поставить его там где вышел
Reply
#10

Quote:
Originally Posted by allex
View Post
Ясно, можно закрыть или удалить тему.
Зачем обновлять если нужно сохранить позицию когда игрок выйдет из игры и при спавне поставить его там где вышел
Потому-что когда игрок выйдет ты уже не узнаешь его координаты.
Reply
#11

sampsvr, как раз таки сохранять акк каждые 5 секунд смысла нету, это только загрузить дисковый IO, его нужно сохранять при выходе или при определённом собитии, а вот обновлять данные в массиве, это да.
Т.е. каждые, допустим 5 секунд обновляем массив данных, где содержится всё об игроке, и только когда нужно сохраняем на диск.
Reply
#12

Я про сохранение в 5-ти секундном таймере ничего не говорил я имел ввиду что нужно определять координаты до выхода, а не при выходе.
(вопрос из серии "как получить ип игрока при выходе", довольно распространённый)
Reply
#13

Quote:
Originally Posted by -Stranger-
View Post
sampsvr, как раз таки сохранять акк каждые 5 секунд смысла нету, это только загрузить дисковый IO, его нужно сохранять при выходе или при определённом собитии, а вот обновлять данные в массиве, это да.
Т.е. каждые, допустим 5 секунд обновляем массив данных, где содержится всё об игроке, и только когда нужно сохраняем на диск.
анти читы на аирбрейк каждую сегудну пишут коорды никто не жаловался -_-
Reply
#14

Quote:
Originally Posted by Dragunovje
View Post
анти читы на аирбрейк каждую сегудну пишут коорды никто не жаловался -_-
Пишут координаты в массив а не в файл.
Reply
#15

Quote:
Originally Posted by sampsvr
View Post
Потому-что когда игрок выйдет ты уже не узнаешь его координаты.
O, rly?
Code:
public OnPlayerDisconnect(playerid, reason)
{
	new Float:coord[3];
	GetPlayerPos(playerid,coord[0],coord[1],coord[2]);
	printf("X: %0.2f Y: %0.2f Z: %0.2f",coord[0],coord[1],coord[2]);
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)