Jump to content

Antibird

Members
  • Posts

    177
  • Joined

  • Last visited

About Antibird

  • Birthday 17/05/1988

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Antibird's Achievements

Mark

Mark (16/54)

0

Reputation

  1. Да в общем-то выбор небольшой - triggerServerEvent. Дописать строку в конец файла скрипта: сработал триггер - значит скрипт загружен. Прочие навороты - по желанию =) У меня все-таки иная ситуация была, мне не нужна проверка на сервере как таковая.
  2. Не совсем точно выразился. Спрашиваю скорее из спортивного интереса, имею нездоровую склонность к минимизации кода. Что triggerServerEvent, что setElementData, все это - телодвижения, которые нужно совершить со стороны клиента. Я думал, клиент сам рапортует серверу "я загрузил скрипты и полностью готов", без дополнительных строчек кода, написанных с моей стороны. Какое-нибудь серверное событие вроде "onPlayerScriptStarted" по аналогии с "onPlayerJoin", "onPlayerConnect". А, неважно, пока писал, придумал, как сделать по другому, вопрос исчерпан. @Vladimir5: Мне он это написал.
  3. Давненько не брал в руки шашек, все вылетело из головы. Подскажите пожалуйста, когда клиент запустил клиентские скрипты, можно ли это отследить напрямую с сервера, не используя клиентский triggerServerEvent? Навскидку ничего подходящего в списке serverEvents не нашел.
  4. В "другом мультиплеере" та же картина со скиммером. (just in case)
  5. А что возвращает запрос к БД? Если таблицу - то помучай ее через pairs( ), увидишь, что за поля и какие в них значения, а там сориентируешься сам, скорее всего. P.S. Кем написан представленный тобой код?
  6. Немного не понял вопроса. Если , то любая переменная и так доступна "из любого файла со скриптом" в пределах одного ресурса. Если нужно иметь "общую" переменную для нескольких ресурсов сразу, то рекомендуют использовать call( ), например. Или в качестве такой переменной использовать elementData: setElementData( ), getElementData( ) для чтения/изменения значения переменной.
  7. Вот еще какой момент. Можно ли сделать так, чтобы debug window открывалось автоматически, без необходимости вводить команду?
  8. Вполне, благодарю! По логике - да, на деле же - local player. Да и cancelEvent( ) не работает к сожалению.
  9. Речь идет об объектах, добавляемых скриптом, не родных декорациях gta. Например, 1676 - заправочная колонка. Вполне себе взрывабельна, и не железная отнюдь, увы, MX_Master. Столбы я до кучи добавил к вопросу, в основном меня интересует эта самая колонка. setObjectStatic пробовал, не помог. Убрать col'ы - тоже не вариант, можно подорвать по другому. Единственное решение - custom модель?
  10. Подскажите пожалуйста, каким образом сделать объекты вроде бензоколонок и фонарных столбов неуничтожаемыми. А то знаете как, врежешь с ноги по заправочной станции и кирдык.
  11. Спасибо, добавление chunkname помогло. Раньше я по другому решал "проблему" со string.dump, вручную модифицируя скомпиленный скрипт, причем до 65Кб это работало. Потом один байт стал меняться, сегодня с утра на свежую голову заметил.
  12. [РЕШЕНО] Возникла интересная ситуация, вкратце опишу в чем дело. При рестарте сервера у меня автоматически компилируются скрипты, что удобно - внес изменения и перезапустил сервер, никаких лишних телодвижений. Система проста: сначала на сервере читаются клиентские скрипты и пишутся в одну строку, потом это отдается на съедение string.dump, потом уже скомпилированный скрипт попадает на клиент и там запускается (да, такой я параноик). Внезапно стали происходить чудные вещи. Если длина исходного скрипта, передаваемый на обработку функции string.dump, больше 65534 байта, то клиент перестает его загружать (через loadstirng, естественно). Уточняю, что дело не в каких-либо аспектах пересылки скрипта с сервера на клиент, и вот почему. Провел эксперимент: 1. Запустил со скриптом меньше 65 Кб и записал два файла - скомпилированный сервером (на сервере) и он же, переданный на клиент (на клиенте, очевидно). 2. Используя обычную строку-комментарий довел размер скрипта до 65535 и снова записал такие же файлы. 3. Сравнил, используя notepad++ ( есть там такой инструмент: "Compare" ) все 4 файла. Notepad клянется, что "Files match". Все, то есть. Совсем. Нет, это фантастика, ей богу. То есть скомпиленные скрипты с и без строки-комментария абсолютно идентичны, что есть логично и правильно, а вот длина исходного кода имеет значение. Где собака-то зарыта, чем они все-таки могут отличаться и как это увидеть?
  13. In case 1.1 is in use, processLineOfSight( ) has 3 nice variables to return, which are normalX, normalY, normalZ ( nothing else, but a surface normal ). To have 6 points is just enough to get angles you need, using getPointFromDistanceRotation( ) as been supposed. This basically makes it possible to cast 1 ray instead of 2.
  14. Он не светится. По моему, на него просто не влияет освещение сцены.
×
×
  • Create New...