native SetDynamicObjectMaterial(STREAMER_TAG_OBJECT objectid, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0);
Példa magyarázattal:
new obj = CreateDynamicObject(...);
SetDynamicObjectMaterial(kiválasztott object jelen esetben -> obj, kiválasztott material id (a kiválasztott objecten való módosítandó material id), az új textúrának az object id-je (amelyik objecten található), texture, model texture, szín (ha nem akarod színezni tipp: 0xFFFFFFFF);
Így néz ki egy kész material:
SetDynamicObjectMaterial(obj, 0, 10412, \"hotel1\", \"carpet_red_256\", 0xFFFFFFFF);
Ja és hogy találod meg az adatokat ?
Ha például ezt az objectet szeretnéd átmaterialozni:
Elsőnek lépj be a
map editorba;
Tegyél le egy objectet vizsgáld meg (kattolj rá 2x).
Nézd meg melyik materialok találhatók rajta.
A példázott objecten 1 található.
Megnézed a material ID-t.
Amint látható: 0
Már tudjuk is hogy melyiket szeretnénk átmaterialozni.
SetDynamicObjectMaterial(obj, 0, ....);
Következő lépésként keresel egy új objectet amin tetszik a material. A példa kedvéért én ezt \"kerestem meg\".
Ezt is megvizsgálod úgy ahogy az imént.
Megnézed az ID-t.
Ha ez megvan haladsz lépésről lépésre.
SetDynamicObjectMaterial(obj, 0, 19341, ....);
Következő a textúra.
SetDynamicObjectMaterial(obj, 0, 19341, \"egg_texts\", ....);
Aztán a modell textúra neve:
Itt található az összes textúra.
És ha esetleg sok van mint ahogy nekem is akkor megnézed melyik található az objecten majd kiválasztod (következtetsz). Minimális angol tudás szükséges hogy jól \"tippelj\".
SetDynamicObjectMaterial(obj, 0, 19341, \"egg_texts\", \"easter_egg01\", ....);
Aztán utolsó sorban a szín:
Ha nem szeretnéd színezni hagyd fehéren.
SetDynamicObjectMaterial(obj, 0, 19341, \"egg_texts\", \"easter_egg01\", 0xFFFFFFFF);
Ha meg szeretnéd ahhoz itt egy jó kis tutorial:
stock ShiftRGBAToABGR(&color)
{
new r, g, b, a;
r = (color >>> 24);
g = (color >>> 16 & 0xFF);
b = (color >>> 8 & 0xFF);
a = (color & 0xFF);
color = (a & 0xFF) | ((b & 0xFF) << | ((g & 0xFF) << 16) | (r << 24);
return color;
}
Eszerint így néz ki:
SetDynamicObjectMaterial(obj, 0, 19341, \"egg_texts\", \"easter_egg01\", ShiftRGBAToABGR(&szín));
ShiftRGBAToABGR(&szín) forrást innen néztem:
http://forum.sa-mp.com/showthread.php?t=331497Több fajta tutorial ha nem volt elég érthető:
http://forum.sa-mp.com/showthread.php?t=570112http://forum.sa-mp.com/showthread.php?t=331497http://forum.sa-mp.com/showthread.php?t=361737