WilliJ Posted July 24, 2011 Share Posted July 24, 2011 Здравствуйте. Как известно, в 1.1 версии появилась возможность загрузки своих настроек для любого транспортного средства(кроме настроек подвески для Монстров, поездов и лодок. Их доделают потом). Так вот, здесь нужно представить примеры, как к какому-то одному транспортному средству(желательно, каждого вида: мото, авто, само, вело, лодко и поездо... и креведко), чтобы новички(как я), да и опытные люди легко перешли на 1.1 версию МТА, пусть она даже пока и не на 100 процентов доработана. На Англ. Вики есть пример: function massChange ( me, command, mass ) mass = tonumber ( mass ) -- Convert mass to a number local veh = getPedOccupiedVehicle ( me ) -- Get the player's vehicle if mass and veh then -- If valid mass and in a vehicle local success = setVehicleHandling ( veh, "mass", mass ) -- Set the vehicle's mass, and check if successful if success then -- If successful outputChatBox ( "Your vehicle's mass has been changed to: "..mass.." kg", me, 0, 255, 0 ) -- Notify the player of success else -- Too bad failure is still an option outputChatBox ( "Setting mass failed. It's probably above or below allowed limits", me, 255, 0, 0 ) -- Notify the player of failure, and give a possible reason end elseif not veh then -- If not in a vehicle outputChatBox ( "You're not in a vehicle", me, 255, 0, 0 ) -- Tell the player; He / she obviously doesn't know elseif not mass then -- If not a valid mass outputChatBox ( "Syntax: /changemass [mass]", me, 255, 0, 0 ) -- Tell the player the proper syntax end end addCommandHandler ( "changemass", massChange ) Я так понимаю, что здесь представленно, как изменить только одну массу. И таким же образом можно изменить все другие функции из списка тут. А можете ли вы показать рабочий пример для сервера, чтобы при загрузке сервера заменялись все настройки в машинке, скажем, в bullet, на свои настройки? Так бы сразу все легковые машины можно было бы одним примером заменить. Всмысле, не делать столько же примеров, сколько машин. Link to comment
MX_Master Posted July 24, 2011 Share Posted July 24, 2011 мона создать файл-шаблон в виде луа кода и потом его превратиь в таблицу с помощью loadstring(). далее с этой таблицей делаем что хотим и юзаем ее поля по очередно в setVehicleHandling для какого-то транспорта Link to comment
_Vincent_ Posted July 24, 2011 Share Posted July 24, 2011 Конкретно ответа на поставленный вопрос не знаю, но автор, юзай , так будет лучше) Link to comment
MX_Master Posted July 24, 2011 Share Posted July 24, 2011 краткость сестра таланта, но один пробел в коде это высший пилотаж Link to comment
_Vincent_ Posted July 24, 2011 Share Posted July 24, 2011 Ахаха, черт, вот это провал) Окей, тогда сделаем классически, как делали в свое время на порталах с запрещенными ссылками [l ua][/l ua], только нужно из тегов убрать пробелы, ессно) Это лучше, чем тег [c ode][/c ode], почему - можно увидеть наглядно. Link to comment
WilliJ Posted July 24, 2011 Author Share Posted July 24, 2011 Завязывайте с флудом... Если вы решили, что я хочу, чтобы кто-то сделал это за меня, то вы сильно ошибаетесь. Я всего лишь спросил пример. Вы знаете - вы отвечаете. MX_Master - Ваш пример будет удобен только на сервере, где будут стоят только родные модельки. А вот для сереверов, где предстоит менять модели на разные машины, я предлагаю следующее. Берется handling файл от, к примеру, машинки, которую можно скачать из интернета для "обычной" GTA SA. Убирается лишнее, и остается вот этот код: [b]SULTAN(это убираем - просто оставил, чтобы понятнее было, что это машина)[/b]1710.0 4420.0 1.6 0.0 0.25 -0.16 75 0.74 0.86 0.52 5 250.0 26.2 5.0 R P 7.9 0.52 1 30.0 1.1 0.10 0.0 0.26 -0.07 0.46 0.50 0.2 0.56 15000 0 0 0 1 0 Этот код идет в файл, например, в *.txt. Таким образом, пишется скрипт, который читает данный txt файл как GTA SA - то есть, цифры читает, пробел пропускает. В скрипте так же будет [id] машинки, так что нужны будут только данные вверху. А можно сделать такой handling код(файл, например, *.txt документ) 1710.0 4420.0 1.6 0.0 0.25 -0.16 75 0.74 0.86 0.52 5 250.0 26.2 5.0 R P 7.9 0.52 1 30.0 1.1 0.10 0.0 0.26 -0.07 0.46 0.50 0.2 0.56 15000 0 0 0 1 0 ... и написать скрипт, чтобы он читал данные по-строчно из этого файла. То есть картина с моим вариантом рисуется следующая: 1. Мы можем скачать машинку с некоего MTA сайта, где машинки размещают в zip архивах, во нутри архива есть необходимые meta.xml и скрипт handling. Это очень удобно, согласитесь. 2. Мы берем и ставим эту машинку в ресурсы и просто прописываем архив в mtaserver.conf. 3. Загружаем сервер - и вуаля - машинка с нужными нам настройками. Таким образом, состав zip файла будет следующим: 1. Скрипт. 2. txt файл с handling 3. txd текстура 4. dff модель На данный момент я тестирую handling функции. Как протестирую, напишу сюда. --- В общем, вот рабочий код(вводим в чате /cs и массу) function massChange ( me, command, mass ) mass = tonumber ( mass ) local veh = getPedOccupiedVehicle ( me ) if mass and veh then local success = setVehicleHandling ( veh, "mass", mass ) end end addCommandHandler ( "cs", massChange ) P.S. Я не говорю, что это то, что мне нужно. Это всего лишь код с Wiki без "мусора" типа сообщений об ошибке - промежуточный код. Я буду его дорабатывать до нужного мне. И изменю его. --- Скажите, что написать сюда, чтобы выбиралось id машинки? function maxVelocityChange ( me, command, maxVelocity ) maxVelocity = tonumber ( maxVelocity ) local veh = getPedOccupiedVehicle ( me ) -- После local veh = id машинки? if maxVelocity and veh then local success = setVehicleHandling ( veh, "maxVelocity", maxVelocity ) end end addCommandHandler ( "cd", maxVelocityChange ) Link to comment
Easterdie Posted July 24, 2011 Share Posted July 24, 2011 лучше придумай как заменять оружие в 1.0.5 не стандартным решением, очень будет полезным. Link to comment
WilliJ Posted July 27, 2011 Author Share Posted July 27, 2011 Ну так, не сможете помочь? Можно ли сюда куда-нибудь вставить id машинки? function maxVelocityChange ( me, command, maxVelocity ) maxVelocity = tonumber ( maxVelocity ) local veh = getPedOccupiedVehicle ( me ) -- После local veh = id машинки? if maxVelocity and veh then local success = setVehicleHandling ( veh, "maxVelocity", maxVelocity ) end end addCommandHandler ( "cd", maxVelocityChange ) Link to comment
MX_Master Posted July 27, 2011 Share Posted July 27, 2011 как ты хочешь заюзать ИД машинки, он у тебя уже есть? Link to comment
Kernell Posted July 27, 2011 Share Posted July 27, 2011 Ну так, не сможете помочь?Можно ли сюда куда-нибудь вставить id машинки? Это не самп, это МТА! Тут не АЙдишники, а елементы. Т.е. идентифицировать машины нужно самому! Link to comment
WilliJ Posted July 27, 2011 Author Share Posted July 27, 2011 А это тогда что значит? ...txd = engineLoadTXD ( ".txd", 542 ) engineImportTXD ( txd, 542 ) dff = engineLoadDFF ( ".dff", 542 ) engineReplaceModel ( dff, 542 ) ... Да и в Мап Редакторе ведь справа от названия dff модели стоит её id, например 411, или 3525... Link to comment
MX_Master Posted July 27, 2011 Share Posted July 27, 2011 это ИД модели транспорта, он тебе для хэндлинга не пойдет, т.к. хэндлинг меняется не у модели, а у конкретной созданной тачки. Так вот, ИД этой тачки, правильно называемые элементом, ты и должен юзать вместо veh в твоем примере. Но откуда ты его возмешь этот элемент? Разве что при создании тачки сохранить его и потом юзать Link to comment
WilliJ Posted July 27, 2011 Author Share Posted July 27, 2011 Спасибо. Посмотрим, что я натворю... 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