- Dokumentacja
- Funkcje klienta
- engineReplaceModel
Funkcja
engineReplaceModel
Podmienia wygląd modelu o danym numerze: na zasób silnika (engineLoadAsset) albo model z pliku (engineLoadMesh). Obiekty, pojazdy i postacie (skiny 0-312; model z pliku bez szkieletu jest statyczny) o tym numerze pokazują nowy model. Obiekt bez własnej kolizji dostaje kolizję z .dff albo z trójkątów modelu; własną kolizję daje engineReplaceCOL. Działa u tego gracza, więc wywołuj w skrypcie klienta. Podmiana nowego modelu z engineRequestModel, który jeszcze nie powstał w grze (gracz właśnie wchodzi, restart zasobu), czeka na niego; numer modelu, którego nie ma, daje false.
Składnia
bool engineReplaceModel(mesh|asset asset, int modelID [, bool alphaTransparency])Argumenty
assetmesh|asset- Model z pliku albo zasób silnika.
modelIDint- Numer modelu.
alphaTransparencybool, opcjonalny- Przyjmowany dla zgodności ze starszymi skryptami.
Zwraca
true przy powodzeniu.
Przykład
local mesh = engineLoadMesh("modele/skrzynka.obj")
if mesh then engineReplaceModel(mesh, 1271) end
Zobacz też
engineRestoreModelPrzywraca oryginalny wygląd modelu o danym numerze.engineLoadMeshWczytuje model 3D z pliku zasobu:.obj,.stl,.ply,.gltf,.glb,.fbx,.3dsoraz.dffz GTA SA (tekstury z.txdobok). Model stawiasz przezcreateMeshObjectalbo podstawiasz pod numer przezengineReplaceModel.engineReplaceCOLPodmienia kolizję modelu obiektu na kolizję zengineLoadCOLalboengineGenerateCOL(także obiektów mapy o tym numerze i modelu pary dzień/noc). Tylko obiekty, nie postacie i pojazdy. Jeśli model jeszcze nie powstał w grze (nowy model zengineRequestModelprzy wejściu gracza albo restarcie zasobu), kolizja czeka i wchodzi, gdy tylko model się pojawi; numer modelu, którego nie ma, dajefalse.engineRequestModelTworzy nowy model pod nowym numerem, wspólny dla wszystkich graczy (także tych, którzy wejdą później). Obiekt ("object"/"timed-object", rodzic domyślnie 1337) dostaje numer z puli 18631-19999 i jest kopią rodzica; wygląd i kolizję dająengineReplaceModeliengineReplaceCOL. Pojazd ("vehicle", rodzic 400), postać ("ped", rodzic 7) i część tuningu ("upgrade", rodzic 1000-1193) dostają numer 20000-29999 i zachowują się jak rodzic (miejsca, dźwięk, handling, tuning), a wygląd dajeengineReplaceModelw skrypcie klienta. Trzeci argument to konkretny numer albo nazwa (także dla obiektów): ta sama nazwa daje zawsze ten sam numer (zapis wmodel-ids.jsonserwera), więc auta i obiekty z bazy po restarcie dalej są tym modelem, a model z nazwą zostaje przy zatrzymaniu zasobu. U klienta nazwa modelu z serwera zwraca jego wspólny numer. Model wywołany u klienta, zanim gra wczyta swoje modele, dostaje numer od razu, a powstaje po wczytaniu.