Takie pytanie. Czy można w jakiś w miarę prosty sposób ustawić pozycję gracza na danej mapce lokacji? Konkretnie chodzi mi o szkic świątyni z G1. Patrząc po skrypcie innych map zauważyłem, że chyba funkcja "Doc_SetLevelCoords" odpowiada za pokazanie się znacznika postaci po otwarciu mapy. No i zrobiłem mały dopisek, przez co mój skrypt wygląda tak:
INSTANCE ItWrTemplemap(C_Item)
{
name = "Mapa";
mainflag = ITEM_KAT_DOCS;
flags = ITEM_MISSION;
value = 30;
visual = "ItWr_Map_01.3DS";
material = MAT_LEATHER;
scemeName = "MAP";
on_state[0] = UseTemplemap;
description = "Szkic świątyni";
TEXT[4] = NAME_Value; COUNT[4] = value;
};
FUNC VOID UseTemplemap()
{
if (Npc_IsPlayer(self))
{
B_SetPlayerMap(ItWrTemplemap);
};
var int nDocID;
nDocID = Doc_CreateMap () ; // DocManager
Doc_SetPages ( nDocID, 1 );
Doc_SetPage ( nDocID, 0, "Map_Temple.tga", 1 ); // 1 -> DO NOT SCALE
Doc_SetLevel ( nDocID, "OldWorld\ORCTEMPEL1.ZEN" ); // Positionsanzeige funzt nicht!
Doc_SetLevelCoords (nDocID, -43000, 50000, 170000, -29000);
Doc_Show ( nDocID );
};
I o ile znacznik faktycznie się pojawił, to różnica w położeniu gracza jest dość znacząca. Poniżej zdjęcie pokazujące, gdzie jest wskaźnik, a gdzie faktycznie znajdowała się postać.
https://imgur.com/Q5iU1mkŻółta kreska pokazuje miejsce, gdzie naprawdę stałem(przed pierwszą bramą), a wskaźnik pozycji był na schodach do 1 sali. Więc czy jest możliwość, żeby wskaźnik był tak dokładny jak w zwykłych mapach?