28.01.2012, 20:57
well, i made a function that shows a textdraw when you are at the entrance of a house, but it only show the textdraw when you are at the entrance of the last house created, that happens with foreach, when i change it to a loop with for instead of foreach, it doesnt show any textdraw even with the last house created, here is the code:
This function is executed with a timer that is played every second, and im adding well the iterators, please help me
pawn Код:
funcion Pickups()
{
new string[130];
foreach(Player,j)
{
if (GetPVarInt(j,"Logueado") && GetPVarInt(j,"JugadorSpawneado"))
{
foreach(Casa,c)
{
if (EnPos(j,3,InfoCasa[c][caX],InfoCasa[c][caY],InfoCasa[c][caZ]))
{
if (GetPVarInt(j,"TextPropMostrado")) return 1;
if(InfoCasa[c][caComprada] == 0)
{
format(string,sizeof(string),"~n~~n~~y~Costo: ~w~$ %d~n~~n~~y~Nivel: ~w~%d~n~~n~~y~Habitaciones: ~w~%d~n~~n~Usa ~p~/comprarcasa~w~.",InfoCasa[c][caCosto],InfoCasa[c][caNivel],InfoCasa[c][caHab]);
TextDrawSetString(InfoProp[j],string);
TextDrawShowForPlayer(j,CajaProp[j]);
TextDrawShowForPlayer(j,InfoProp[j]);
TextDrawShowForPlayer(j,AvisoProp[j]);
SetPVarInt(j,"TextPropMostrado",1);
}
else if(InfoCasa[c][caComprada] == 1)
{
if (InfoCasa[c][caRenta] == 1)
{
format(string,sizeof(string),"~n~~n~~y~Propietario: ~w~%s~n~~n~~y~Habitaciones: ~w~%d~n~~n~~y~Renta: ~w~$%d~n~~n~Usa ~p~/rentarcasa~w~.",InfoCasa[c][caProp],InfoCasa[c][caHabRes],InfoCasa[c][caRentaCos]);
TextDrawSetString(InfoProp[j],string);
TextDrawSetString(AvisoProp[j],"~b~Casa En Renta");
TextDrawShowForPlayer(j,CajaProp[j]);
TextDrawShowForPlayer(j,InfoProp[j]);
TextDrawShowForPlayer(j,AvisoProp[j]);
SetPVarInt(j,"TextPropMostrado",1);
}
else if (InfoCasa[c][caRenta] == 0)
{
format(string,sizeof(string),"~n~~n~~y~Propietario: ~w~%s~n~~n~~y~Habitaciones: ~w~%d~n~~n~~y~Precio: ~w~$%d~n~~n~No esta en renta.~w~.",InfoCasa[c][caProp],InfoCasa[c][caHab],InfoCasa[c][caCosto]);
TextDrawSetString(InfoProp[j],string);
TextDrawSetString(AvisoProp[j],"~b~Casa Comprada");
TextDrawShowForPlayer(j,CajaProp[j]);
TextDrawShowForPlayer(j,InfoProp[j]);
TextDrawShowForPlayer(j,AvisoProp[j]);
SetPVarInt(j,"TextPropMostrado",1);
}
}
}
else
{
if (GetPVarInt(j,"TextPropMostrado"))
{
TextDrawHideForPlayer(j,CajaProp[j]);
TextDrawHideForPlayer(j,InfoProp[j]);
TextDrawHideForPlayer(j,AvisoProp[j]);
SetPVarInt(j,"TextPropMostrado",0);
}
}
}
}
}
return 1;
}