Stawiam sobie ze trzy te modele "NPC", wszystko pięknie, do pliku zapisuje ich pozycję, zmieniam mapę, no i nie spawnuje. Nawet ustawiłem ich spawn na komendę i także nic. CHMODY nadałem na folder w którym się znajdują zapisy pozycji na mapach (777) ale to też nic nie dało. Podaję trzy funkcję, w których mniemam, że mam błąd:
public plugin_cfg()
{
get_configsdir(g_ConfigsDir, 63);
formatex(g_ItemOriginDir, 63, "%s/%s", g_ConfigsDir, inventory_dir_name);
//new File[192];
if( !dir_exists(g_ItemOriginDir) )
{
mkdir(g_ItemOriginDir);
}
else
{
new CurMap[32];
get_mapname(CurMap, 31);
Load_Origins_Charsi(CurMap);
}
}
public Save_Origin_Charsi(CurMap[], Origin[3])
{
new MapFile[64], Text[64]
format(MapFile, 63, "%s/%s_charsi.cfg", g_ItemOriginDir, CurMap)
if(!file_exists(MapFile))
{
new Comments[64]
format(Comments, 63, "; Mapa pochodzenia dla pozycji %s", CurMap)
write_file(MapFile, Comments, -1)
}
format(Text, 63, "%i %i %i", Origin[0], Origin[1], Origin[2])
write_file(MapFile, Text, -1)
}
public Load_Origins_Charsi(CurMap[])
{
new MapFile[64]
format(MapFile, 63, "%s/%s_charsi.cfg", g_ItemOriginDir, CurMap)
if(!file_exists(MapFile))
return PLUGIN_CONTINUE;
g_MapItemNum1 = 0
for(new i = 1; i <= MAX_MAPITEMS; ++i)
{
g_MapItemOrgins1[i][0] = 0
g_MapItemOrgins1[i][1] = 0
g_MapItemOrgins1[i][2] = 0
}
new Text[64], Line = 0, Len = 0;
while(read_file(MapFile, Line++, Text, 63, Len))
{
if((Text[0]==';') || !Len) {
continue
}
if(g_MapItemNum1 >= MAX_MAPITEMS)
{
log_amx("Maksymalna ilosc elementow mapy zostala osiagnieta, proszę zmienic ja komenda MAX_MAPITEMS")
break
}
new iOrigin[3][16];
parse(Text, iOrigin[0], 15, iOrigin[1], 15, iOrigin[2], 15)
g_MapItemNum1++
g_MapItemOrgins1[g_MapItemNum][0] = str_to_num(iOrigin[0])
g_MapItemOrgins1[g_MapItemNum][1] = str_to_num(iOrigin[1])
g_MapItemOrgins1[g_MapItemNum][2] = str_to_num(iOrigin[2])
}
return PLUGIN_CONTINUE
}
Użytkownik GoldeN edytował ten post 18.04.2011 23:40