_Dark_ Posted November 20, 2011 Share Posted November 20, 2011 Не работает код: -- событие стоит в запуске ресурса. for _, vehicle in ipairs(getElementsByType("vehicle")) do setVehicleRespawnDelay(vehicle, 5000) setVehicleIdleRespawnDelay(vehicle, 5000) end После взрыва авто не появляется. ------------------------ Забыл про toggleVehicleRespawn(vehicle, true) А зачем циклом так делать??? function respawnExplodedVehicle() setTimer(respawnVehicle, 5000, 1, source) end addEventHandler("onVehicleExplode", getRootElement(), respawnExplodedVehicle) после взрыва или уничтожения, через 5000 мс. зареспавнится. Link to comment
StUNt71 Posted November 20, 2011 Share Posted November 20, 2011 А не проще ли использовать встроенные функции? А цикл для того, чтобы всем авто, при запуске ресурса, ставилось время спавна. Ещё ты не заметиль фукнцию 1, там не только при взрыве спавнит. Link to comment
_Dark_ Posted November 21, 2011 Share Posted November 21, 2011 Я все таки решил присмотреться к стандартным функциям работы с ДБ.Вот такой вопрос: как получить ассоциативный массив из запроса? В MySQL это mysql_fetch_assoc. А как стандартными функциями? Я думаю этот вопрос будет интерес многим скриптерам, поэтому я напишу небольшой мануалЬчик отдельной темой.. Вопрос все еще не исчерпан. Link to comment
MX_Master Posted November 21, 2011 Share Posted November 21, 2011 завал дел, завтра буду дома - накатаю Link to comment
Mr_Bob Posted November 26, 2011 Share Posted November 26, 2011 У меня возникла такая проблема. При выходе игрока с сервера я хочу получить его статистику со стороны клиента, передать ее обратно на сервер еще одним тригером и сохранить. Но сервер не ждет когда выполнится второй тригер. Есть какие-то решения этой проблемы? Передавать статистику с клиента на сервер несколько раз в минуту не вариант Link to comment
StUNt71 Posted November 27, 2011 Share Posted November 27, 2011 setElementData / getElementData ? Link to comment
Mr_Bob Posted November 27, 2011 Share Posted November 27, 2011 Статистика на стороне клиента у меня меняется раз в секунду, setElementData будет передавать ее серверу каждую секунду, по быдляцки как-то Link to comment
MX_Master Posted November 27, 2011 Share Posted November 27, 2011 У меня возникла такая проблема. При выходе игрока с сервера я хочу получить его статистику со стороны клиента, передать ее обратно на сервер еще одним тригером и сохранить. Но сервер не ждет когда выполнится второй тригер. Есть какие-то решения этой проблемы? Передавать статистику с клиента на сервер несколько раз в минуту не вариант триггер не будет работать, т.к. он требует времени на отсылку и получение данных от клиента, который уже вышел. Уточним.. ты в клиентском onClientPlayerQuit сделал триггер обратно на сервер? Или в серверном onPlayerQuit сделал триггер в клиент, который уже в клиенте отправляет триггер на сервер? Чтобы в спешке не получать все данные при выходе, нужно иногда их передавать во время игры от клиента на сервер. Так хотя бы мы не потеряем все данные, если сервер не смог получить данные от игрока при выходе. Тоже советую юзать setElementData, а при выходе игрока в серверном onPlayerQuit прочесть все данные с помощью getAllElementData. Если у тебя будут передаваться тонны данных, то нужен другой способ, а если числа всякие, то это не сильно загрузит канал. Link to comment
Mr_Bob Posted November 27, 2011 Share Posted November 27, 2011 У меня возникла такая проблема. При выходе игрока с сервера я хочу получить его статистику со стороны клиента, передать ее обратно на сервер еще одним тригером и сохранить. Но сервер не ждет когда выполнится второй тригер. Есть какие-то решения этой проблемы? Передавать статистику с клиента на сервер несколько раз в минуту не вариант триггер не будет работать, т.к. он требует времени на отсылку и получение данных от клиента, который уже вышел. Уточним.. ты в клиентском onClientPlayerQuit сделал триггер обратно на сервер? Или в серверном onPlayerQuit сделал триггер в клиент, который уже в клиенте отправляет триггер на сервер? Чтобы в спешке не получать все данные при выходе, нужно иногда их передавать во время игры от клиента на сервер. Так хотя бы мы не потеряем все данные, если сервер не смог получить данные от игрока при выходе. Тоже советую юзать setElementData, а при выходе игрока в серверном onPlayerQuit прочесть все данные с помощью getAllElementData. Если у тебя будут передаваться тонны данных, то нужен другой способ, а если числа всякие, то это не сильно загрузит канал. В серверном onPlayerQuit я сделал триггер в клиент, который уже в клиенте отправляет триггер на сервер. Передаю их одной таблицей "stats", в ней ключей 20, числа и несколько float все. Подскажите тогда как часто лучше передавать их серверу чтобы не засорять канал? Или лучше переводить все данный в setElementData на той же стороне клиента?(и как часто?) Link to comment
MX_Master Posted November 27, 2011 Share Posted November 27, 2011 Для начала попробуй в клиентском событии сделать триггер на сервер. Т.е. игрок выходит и сам сразу делает триггер, а сервер уже обрабатывает. Стессна, когда эти данные придут на сервер (если ваще придут), клиент уже будет вне сервера и такого ИД игрока уже не будет на сервере. Это значит, что вместе с данными нужно передать какой-то уникальный идентификатор (можно просто ник игрока или логин аккаунта), по которому сервер узнает от кого были эти данные. А потом уже сервер сохранит эти данные в нужном аккаунте, согласно вышеуказанному идентификатору и нику игрока. Если номер не прокатит, тогда уже ElementData Link to comment
Mr_Bob Posted November 27, 2011 Share Posted November 27, 2011 onClientPlayerQuit же срабатывает на всех игроков, кроме localPlayer, так что одним тригером обойтись не получится, придется использовать ElementData, раз в минуту думаю будет достаточно, там не очень то и важные данные. Ничего смертельного не случится если я буду использовать SetElementData на стороне клиента? Link to comment
Mr_Bob Posted November 27, 2011 Share Posted November 27, 2011 Это сарказм или это действительно так? Читал где-то здесь холивар по этому поводу.. Link to comment
MX_Master Posted November 27, 2011 Share Posted November 27, 2011 Для чего смертельного-то? Если данные не секретные, то можно забыть про все и юзать ElementData, ни клиент, ни сервер не почувствуют особого нагруза. Только все-таки, проверяй данные и их формат. А то получится, что клиент может передать что-то неожиданное и сервер это сохранит в аккаунте. Тут все как в обычном браузере. Скрипт всегда должен проверять данные, полученные от клиента, не надеясь на их правильный формат. Link to comment
_Dark_ Posted November 27, 2011 Share Posted November 27, 2011 Так кто нибудь подскажет, как работать с стандартными ф-иями MySQL? Link to comment
MX_Master Posted November 27, 2011 Share Posted November 27, 2011 я начал писать туториал, но никак не могу найти час-другой, чтобы его продолжить (: пока что разберитесь методом тыка и тройного прочтения вики вот начало туториала по встроенным ффункциям - viewtopic.php?f=141&t=37482 Link to comment
safeman Posted November 28, 2011 Share Posted November 28, 2011 Можно ли в mta map editor удалять стандартные объекты (допустим мусорные баки на улице)? И если да - то как?) Link to comment
MX_Master Posted November 28, 2011 Share Posted November 28, 2011 объекты, которые были созданы самой игрой удалить нельзя Link to comment
safeman Posted November 28, 2011 Share Posted November 28, 2011 Если у меня есть свой глобальный мод (допустим LC2SA), заменяющий всю карту СА. Как мне можно поиграть на этой карте в МТА? Link to comment
MX_Master Posted November 29, 2011 Share Posted November 29, 2011 Если у меня есть свой глобальный мод (допустим LC2SA), заменяющий всю карту СА. Как мне можно поиграть на этой карте в МТА? По большому счету, на сервере нужно отключить проверку настроек игры клиента, и тогда (теоретически) зайти на сервер можно. Но я бы не надеялся, все зависит от того, что там с игрой сделал МОД. Ну или сделать как все делают, 1 копия игры для оффлайн модов, другая копия - чистая, для МТА. Link to comment
DEVEK Posted November 30, 2011 Share Posted November 30, 2011 У меня на сервере MTA, в версии 1.1, над персонажем отображается только полоска здоровья, нет ни ID, ни ника игрока... Может кто сталкивался с этим? С уважением, Дмитрий. Link to comment
kino Posted November 30, 2011 Share Posted November 30, 2011 вот есть строка bindKey(source,"u","down","chatbox","Local") я так понял что при ножатии кнопки он открывает окно чата и отправляет текст на функцию local так? где об этом прочесть ? Link to comment
D_SaN Posted November 30, 2011 Share Posted November 30, 2011 давно у меня такой возник вопрос, может быть его кто-то уже задавал на форуме можно ли заменить текстуру покрасочный работы для машины, допустим для elegy Link to comment
MX_Master Posted November 30, 2011 Share Posted November 30, 2011 давно у меня такой возник вопрос, может быть его кто-то уже задавал на форумеможно ли заменить текстуру покрасочный работы для машины, допустим для elegy да, подобный вопрос был - viewtopic.php?f=142&t=37315 изменить текстуру, которая не связана ни с каким объектом, можно только, если применить к ней шейдер У меня на сервере MTA, в версии 1.1, над персонажем отображается только полоска здоровья, нет ни ID, ни ника игрока... Может кто сталкивался с этим?С уважением, Дмитрий. тэги могут быть выключены в каком-либо скрипте вот есть строка bindKey(source,"u","down","chatbox","Local") я так понял что при ножатии кнопки он открывает окно чата и отправляет текст на функцию local так? где об этом прочесть ? в твоем коде при нажатии кнопки "u" будет выполнено действие как будто-то ты в консоли ввел команду "Local", Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now