duminică, 6 iulie 2014

SetObjectMaterial

Să vă explic această funcție. Cu această funcție putem schimba înfățișarea obiectului. De exemplu: Ai un geam și cu ajutorul acestei funcții poți să îl faci să aratea ca un geam de piatră, dar el tot se va sparge.

objectid ID-ul obiectului
materialindex Materialul pe care vrei să-l schimbi.
modelid ID-ul obiectului de la care iei materialul.
txdname Numele texturii de la care iei materialul.
texturename Numele texturii de la care iei materialul.
materialcolor Culoarea materialului pe care vrei să-l schimbi 0 pastrează culoarea obiectului.

Deci avem nevoie de programul lui JernejL pentru a reusi această acțiune:MAP EDITOR

a.Pentru un obiect deja existent.

1.Deschidem program și căutam un obiect, când îl găsim îl duplicăm, îi copiem coord. originale și îl ștergem.






2.Acum mergem la obiectul duplicat și-l aranjăm la locul lui prin lipirea coordonatelor originale. Dar atenșie coordonatele r trebuiesc puse pe zero la unele obiecte.


3.Alegem materialul pe care vrem să-l schimbăm. De aici luăm: materialindex.


4.Căutăm un obiect de la care să împrumatăm un material. De aici luăm: modelid, texturename, txdname.

5.Acum copiem obiectul și cel șters. Și îl punem în pawno.



6.Deci CreateObject și SetObjectMaterial la ongamemodeinit, iar RemoveBuildingForPlayer la onplayerconect.

Completăm SetObjectMaterial astfel:

SetObjectMaterial(objectid, materialindex, modelid, txdname[], texturename[], materialcolor)

SetObjectMaterial(idobiect, de la pasul 3, de la pasul 4, de la pasul 4, de la pasul 4, 0)

//Și va ieși așa

    new Chiliad = CreateObject(18310, -2249.36, -1572.87, 418.77,   0.00, 0.00, 0.00);
    SetObjectMaterial(Chiliad, 1, 2898, "law_coffintu", "faketurf_law");


Dacă vrem să schimbăm mai multe materiale din același obiect facem astfel:

    new Chiliad = CreateObject(18310, -2249.36, -1572.87, 418.77,   0.00, 0.00, 0.00);
    SetObjectMaterial(Chiliad, 1, 2898, "law_coffintu", "faketurf_law");
    SetObjectMaterial(Chiliad, 0, 2898, "law_coffintu", "faketurf_law");
    SetObjectMaterial(Chiliad, 2, 2898, "law_coffintu", "faketurf_law");
    SetObjectMaterial(Chiliad, 3, 2898, "law_coffintu", "faketurf_law");


Dacă nu vă iese sau nu ați înteles ceva vă rog să comentați. Dacă nu întelegeti de prima dată mai citiți odată



b.Pentru un obiect creat de noi sariți peste pasul 1 și 2.

Succes.

3 comentarii:

  1. Un scripter care mi-a urmat tutorialul. Rezultatele sunt:
    http://imgur.com/zn6saSq
    http://imgur.com/Feq5oD9
    http://imgur.com/4yiVZ80
    http://imgur.com/1zlArSP

    RăspundețiȘtergere
  2. Salut, ms de tutorial, dar am o mica problema cand intru pe server primesc crash din prima, ma poti ajuta te rog ? (am pus material la tot muntele chilliad)

    RăspundețiȘtergere