el_motoblock Posted January 29, 2012 Share Posted January 29, 2012 Решил заменить все дома в сф. Один дом создал для проверки. состряпал скрипт, по образцу. И вот что получилось: если повернутся к модели то она исчезает, но коллизия появляется. А если отвернутся то модель появляется, коллизия исчезает, ну и текстуры не наложены. Вот скрипт: local wheels = { {"building01",10983}, {"building01",11143}, } function replace( ) for i,v in pairs( wheels ) do engineImportTXD( engineLoadTXD ( "models/"..v[1]..".txd" ),tonumber( v[2] ) ) engineReplaceModel( engineLoadDFF( "models/"..v[1]..".dff", 0 ),tonumber( v[2] ) ) engineReplaceCOL( engineLoadCOL( "models/"..v[1]..".col" ),tonumber( v[2] ) ) end end setTimer( replace,1000,1 ) Добавлю что: и модельку и лод хочу заменить на оду и ту же модель, текстуру и коллизию(всеравно лоу поли) Вот сам ресурс на всякий случай: http://zalil.ru/32599559 Если не понятно, то вот схема: Link to comment
MX_Master Posted January 29, 2012 Share Posted January 29, 2012 коллизия всегда невидима, чета путаешь при пояснениях. видео сделай, потому то на словах ты не можешь пояснить. о некорректной текстуре итак кричит дебаг на скрине Link to comment
el_motoblock Posted January 29, 2012 Author Share Posted January 29, 2012 WARNING: san_fierro_2222\client.lua:8: Bad 'txd' pointer @ 'engineImportTXD'(1) сообщение по 2раза за запуск local wheels = { {"building01", 10983}, {"building01", 11143}, } function replace( ) for i,v in pairs( wheels ) do engineImportTXD ( engineLoadTXD ( v[1]..".txd" ),tonumber( v[2] ) ) engineReplaceModel ( engineLoadDFF( v[1]..".dff", tonumber( v[2] ) ),tonumber( v[2] ) ) engineReplaceCOL ( engineLoadCOL( v[1]..".col" ),tonumber( v[2] ) ) end end setTimer( replace,1000,1 ) Link to comment
MX_Master Posted January 29, 2012 Share Posted January 29, 2012 вся проблема только в текстуре и ее замене Link to comment
el_motoblock Posted January 29, 2012 Author Share Posted January 29, 2012 вся проблема только в текстуре и ее замене Ну я понял а что вообще тот варнинг означает? Есть ли такой топик с варнингами и как их решить? engineImportTXD ( engineLoadTXD ( v[1]..".txd" ),tonumber( v[2] ) ) -тут что какая-то синтаксическая или грамматическая(или как там она называется) ошибка? Когда это был скрипт колёс, всё работало в 1.2 версии (Kenix подсказал мне это). Link to comment
MX_Master Posted January 29, 2012 Share Posted January 29, 2012 лучше переменную создать и поместить в нее то, что вернула первая функция. Затем проверить содержимое этой переменной и только потом подставлять во вторую функцию Link to comment
el_motoblock Posted January 29, 2012 Author Share Posted January 29, 2012 Новую тему лень создавать Изготовил модельку, текстура не загружается, всё остальное нормально. Клиентский код разделил на стадии чтобы понять чё да как. function LoadTex ( ) removeWorldModel(10983,1000,-2076.65,222.852,31.2188) -- model removeWorldModel(11143,1000,-2076.65,222.852,31.2188) -- lod txd = engineLoadTXD( "object/hubNewSFSE.txd" ) outputChatBox ( "Загрузка текстуры", 255, 0, 0, true ) setTimer ( LoadObject, 1000, 1) end addEvent ( "replaceObj", true ) addEventHandler ( "replaceObj", getRootElement(), LoadTex ) function LoadObject ( ) col = engineLoadCOL( "object/hubNewSFSE.col" ) dff = engineLoadDFF( "object/hubNewSFSE.dff", 0 ) --modelid is everytime 0, when you replace no vehicle outputChatBox ( "Загрузка модели и коллизии", 0, 255, 0, true ) setTimer ( ReplaceTex, 5000, 1) end function ReplaceTex ( ) engineImportTXD( txd, 1575 ) engineReplaceCOL( col, 1575 ) engineReplaceModel( dff, 1575 )-- replace the model at least engineSetModelLODDistance(1575, 600) outputChatBox ( "Замена текстур", 0, 0, 255, true ) setTimer ( ReplaceObject, 2000, 1) end function ReplaceObject ( ) engineReplaceCOL( col, 1575 ) engineReplaceModel( dff, 1575 )-- replace the model at least engineSetModelLODDistance(1575, 600) outputChatBox ( "Замена модели и коллизии", 0, 255, 255, true ) setTimer ( Cre8Object, 2000, 1) end function Cre8Object ( ) createObject ( 1575, -2076.65, 222.852, 31.2188, 0, 0, 0 ) outputChatBox ( "Постановка объекта", 255, 19, 156, true ) end Вот серверный. function ReplaceCommand ( ) triggerClientEvent( "replaceObj", getRootElement(), replaceObj ) end addCommandHandler( "replace", ReplaceCommand ) Весь рес тут. А еще один раз у меня текстурка на модельке появилась, когда я в мап эдиторе ставил. А сейчас что-то нет. http://narod.ru/disk/41087263001/3d_test.zip.html Моделька норм. И текстуры поменьше сделал чтоб резче грузилось. Link to comment
el_motoblock Posted February 18, 2012 Author Share Posted February 18, 2012 Тема не двигалась вверх, вопрос чуть выше Link to comment
MX_Master Posted February 18, 2012 Share Posted February 18, 2012 А шо не так? "Изготовил модельку" означает, что проблема может быть именно в модели и в том как текстуры наложены. Потому что, правильное отображение в каком-либо 3Д редакторе не говорит о том, что в ГТА это все будет работать также. Link to comment
el_motoblock Posted February 18, 2012 Author Share Posted February 18, 2012 А шо не так? "Изготовил модельку" означает, что проблема может быть именно в модели и в том как текстуры наложены. Потому что, правильное отображение в каком-либо 3Д редакторе не говорит о том, что в ГТА это все будет работать также. Работает это уж точно, в мта работало тоже, только через раз также как и с заменой колёс раньше. Я ее в лос сантосе ставил через мапед -было всё с текстурой, в сан фиерро поставил на то место под какое я подгонял(вместо одной половины стройки) и скриптом - текстуры перестали отображаться. И в макс импортируется и в занозу и текстуры с моделью сопоставляются через TXD Workshop. Link to comment
Kenix Posted February 18, 2012 Share Posted February 18, 2012 Вся проблема в модельке. Тутор от Devix'a Учитесь , это довольно просто. Возможно: Вы используете текстуру , которой не существует в txd. Т.е в dff есть путь к текстуре , но этой текстуры нет в txd. Желательно при создании модели все текстуры и т.д назвать по одинаковому. Link to comment
el_motoblock Posted February 18, 2012 Author Share Posted February 18, 2012 Посмотрю надеюсь поможет Link to comment
Kernell Posted February 18, 2012 Share Posted February 18, 2012 А текстура в TXD как сжата? Link to comment
el_motoblock Posted February 18, 2012 Author Share Posted February 18, 2012 А текстура в TXD как сжата? С помощью TXD Worksop'a (не с помощью GTXD ато текстуры пиксельные будут) все DXT1 GTA SA, две версии были с норм текстурами и где 512х512 переделаны под 256. Я всё переделал завтра попробую. Link to comment
Kernell Posted February 18, 2012 Share Posted February 18, 2012 И причём тут это всё? Я спросил как сжата текстура в TXD. Даже TXD Workshop имеет разные методы сжатия. Можно сохранить текстуру без сжатия, тогда могут быть проблемы даже в сингле, не то что в MTA. Link to comment
el_motoblock Posted February 19, 2012 Author Share Posted February 19, 2012 DXT 1 вставлял PNG, все наконец-то нормально. 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