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:
![\"kEF9tov.png\"](\"http://i.imgur.com/kEF9tov.png\")
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.
![\"MX3JeYk.png\"](\"http://i.imgur.com/MX3JeYk.png\")
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\".
![\"4fWMmBa.png\"](\"http://i.imgur.com/4fWMmBa.png\")
Ezt is megvizsgálod úgy ahogy az imént.
Megnézed az ID-t.
![\"GaFDsaz.png\"](\"http://i.imgur.com/GaFDsaz.png\")
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.
![\"Rx1RlEU.png\"](\"http://i.imgur.com/Rx1RlEU.png\")
É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