Jump to content
  • 0

pomoc Změna textury u vytvořeného objektu


ToM

Dotaz

Ahoj, chci se zeptat, jestli lze něják změnit textura půdy staveniště před wangem v SF na travnatou půdu. Na internetu jsem nenašel nic jiného, než kód na vytvoření objektu a následné změny textury

 

 

//new test[MAX_PLAYERS];

 
test[playerid] = CreatePlayerObject(playerid, 11340, -2079.9531, 159.2031, 30.8672,   356.8584, 0.0000, 3.1416);
SetPlayerObjectMaterial(playerid, test[playerid], 0, 11340, "hub_sfse", "Grass_128HV", 0); 
 

 

Díky

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0

Musíš najprv odstrániť pôvodný objekt, nahradiť ho a až potom zmeniť textúru. Mimochodom, čo je zlé na tom kóde? Nefunguje, alebo to nie je presne to, čo si chcel?

Link to comment
Share on other sites

  • 0

Pokud ji chceš změnit každému, nemusíš tam dávát [max_player_name] a playerid, hoď to do Gamemodeinit a pujde ti to, na tom kodu, co jsi poslal nic špatného není ..?

A musíš ještě použít "RemoveBuilding"

Link to comment
Share on other sites

  • 0

V OnPlayerConnect mám toto:

 

 

RemoveBuildingForPlayer(playerid, 10983, -2076.6484, 222.8516, 31.2188, 0.25);

RemoveBuildingForPlayer(playerid, 11143, -2076.6484, 222.8516, 31.2188, 0.25);
RemoveBuildingForPlayer(playerid, 11339, -2079.9531, 159.2031, 30.8672, 0.25);
staveniste[playerid] = CreatePlayerObject(playerid, 11340, -2079.9531, 159.2031, 30.8672,   356.8584, 0.0000, 3.1416); //nová půda
SetPlayerObjectMaterial(playerid, staveniste[playerid], 0, 11340, "hub_sfse", "Grass_128HV", 0); //přeměna textur
staveniste2[playerid] = CreatePlayerObject(playerid, 10983 ,-2076.6484, 222.8516, 31.2188,   0.0000, 0.0000, 0.0000); //nová půda
SetPlayerObjectMaterial(playerid, staveniste2[playerid], 1, 10983, "hub_sfse", "Grass_128HV", 0); //přeměna textur 2
staveniste3[playerid] = CreatePlayerObject(playerid, 11339 ,-2079.9531, 159.2031, 30.8672,   0.0000, 0.0000, 0.0000); //nová půda
SetPlayerObjectMaterial(playerid, staveniste3[playerid], 0, 10983, "lod_sfse", "Grass_128HV", 0); //přeměna textur 3

A stejně to nejde. Půda se neptřetexturuje a ke všemu mi to začne "pololevitovat"

 

Screen -> http://Portál člověka s několika multiúčty.cz/upload/image.php?di=HO3T

Link to comment
Share on other sites

  • 0

Skús dať to, čo máš v OnPlayerConnect (okrem RemoveBuildingForPlayer(...)) do OnPlayerSpawn. Ak to nepôjde, skús použiť normálne CreateObject namiesto CreatePlayerObject (ale daj to do OnGameModeInit).

 

TIP: Namiesto deklarovania staveniste tri krát, použi staveniste[3];

Link to comment
Share on other sites

  • 0

Zkuz to takle:

 

On Player Connect:

RemoveBuildingForPlayer(playerid, 10983, -2076.6484, 222.8516, 31.2188, 0.25);

RemoveBuildingForPlayer(playerid, 11143, -2076.6484, 222.8516, 31.2188, 0.25);
RemoveBuildingForPlayer(playerid, 11339, -2079.9531, 159.2031, 30.8672, 0.25);
 
GamemodeInit, popřípadě FilerscriptInit:
 
staveniste = CreateObject(playerid, 11340, -2079.9531, 159.2031, 30.8672,   356.8584, 0.0000, 3.1416); //nová půda
SetPlayerObjectMaterial(playerid, staveniste, 0, 11340, "hub_sfse", "Grass_128HV", 0); //přeměna textur
staveniste2 = CreateObject(playerid, 10983 ,-2076.6484, 222.8516, 31.2188,   0.0000, 0.0000, 0.0000); //nová půda
SetPlayerObjectMaterial(playerid, staveniste2, 1, 10983, "hub_sfse", "Grass_128HV", 0); //přeměna textur 2
staveniste3 = CreateObject(playerid, 11339 ,-2079.9531, 159.2031, 30.8672,   0.0000, 0.0000, 0.0000); //nová půda
SetPlayerObjectMaterial(playerid, staveniste3, 0, 10983, "lod_sfse", "Grass_128HV", 0); //přeměna textur 3
Link to comment
Share on other sites

  • 0

Nič ma nenapadá. Kód vyzerá dobre. Jedna vec, ktorá môže byť vadná je parameter funkcie "materialindex". Neviem ako to vysvetliť, ale niektoré objekty sú zložene z viacerých "vrstiev". Napríklad nejaká budova je zložená z dverí, okien a stien. Skús zmeniť tento parameter.

Link to comment
Share on other sites

  • 0

error 035: argument type mismatch (argument 2) 

 

Jinak vím, že místo té 0 můžu dát třeba 5 (když je tam 5 textur), však taky je to správné číslo. Používám ten mapeditor pro samp, který rovnou vytvoří kód do pawna a zároveň ukazuje Material 0 - název textury, nebo tak něják. Dělal jsem to i podle videa, které mělo kladné hodnocení :)

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...