Isso й por que os icones nгo carrega quando o player loga, eu ja tive o mesmo problema que vocк, e nгo й bem assim que funciona.
pawn Код:
SetTimer("MapIconStreamer", 1500, 1);
forward MapIconStreamer();
public MapIconStreamer()
{
for(new i; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new Float:SmallestDistance = 99999.9;
new CP, Float:OldDistance;
for(new c; c < 95; c++) // tem 94 casas entгo fiz um loop de 95 para nгo dar lag, mas continuou
{
OldDistance = GetDistanceToProperty(i, c);
if(OldDistance < SmallestDistance)
{
SmallestDistance = OldDistance;
CP = c;
}
}
RemovePlayerMapIcon(i, 95);
new casas[128];
format(casas, sizeof(casas), CASAS, CP);
if(dini_Int(casas, "Dono") == 1)
{
SetPlayerMapIcon(i, 95, dini_Float(casas, "X"), dini_Float(casas, "Y"), dini_Float(casas, "Z"), 32, 0);
}
else
{
SetPlayerMapIcon(i, 95, dini_Float(casas, "X"), dini_Float(casas, "Y"), dini_Float(casas, "Z"), 31, 0);
}
}
}
}
forward Float:GetDistanceToProperty(playerid, Property);
public Float:GetDistanceToProperty(playerid, Property)
{
new casas[128];
format(casas, sizeof(casas), CASAS, Property);
new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
GetPlayerPos(playerid,x1,y1,z1);
x2 = dini_Float(casas, "X");
y2 = dini_Float(casas, "Y");
z2 = dini_Float(casas, "Z");
return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
isso й um cуdigo que achei pelo forum samp, e estб funcional. Mas vocк deve fazer com que ele e o sistema de casas se juntem. Mechendo na parte do dini basicamente, ou se vocк usa DOF2, altere para DOF2.