Hey,
ich habe ein Problem, und zwar, wenn ein Spieler in das Pickup vor einem Haus geht, das TextDraw nicht erscheint, obwohl es erscheinen sollte. Woran könnte das liegen?
Hier mein Code:
TextDraw:
for(new haus=1;haus<MAX_HAUS;haus++)
{
HausInfoText[haus] = TextDrawCreate(443.000000,315.000000,"Lade...");
TextDrawLetterSize(HausInfoText[haus],0.280000,1.700000);
TextDrawFont(HausInfoText[haus],2);
TextDrawSetShadow(HausInfoText[haus],2);
TextDrawSetOutline(HausInfoText[haus],1);
TextDrawUseBox(HausInfoText[haus],1);
TextDrawBackgroundColor(HausInfoText[haus],255);
TextDrawBoxColor(HausInfoText[haus],0x000000AA);
TextDrawTextSize(HausInfoText[haus],630.000000,0.000000);
LoadHaus(haus);
} SetTimer("HausInfoTimer",1000,true);// Das war alles bei OnGameModeInit
Timer:
forward HausInfoTimer();
public HausInfoTimer()
{
new string[128];
for(new i=1;i<MAX_HAUS;i++)
{
format(string,sizeof(string),"Besitzer: %s~n~Preis: %d$",HausInfo[i][haus_besitzer],HausInfo[i][haus_preis]);
TextDrawSetString(HausInfoText[i],string);
}
return 1;
}
forward UpdateHausInfoText(playerid,pickupid);
public UpdateHausInfoText(playerid,pickupid)
{
for(new haus=1;haus<MAX_HAUS;haus++)
{
new pfad[50];
format(pfad,sizeof(pfad),"/Haeuser/%d.txt",haus);
if(HausInfo[haus][haus_pickup] == pickupid)
{
if(IsPlayerInRangeOfPoint(playerid,2,dini_Float(pfad,"x"),dini_Float(pfad,"y"),dini_Float(pfad,"z")))
{
SendClientMessage(playerid,Color_Green,"Hey-Ho!");
TextDrawShowForPlayer(playerid,HausInfoText[haus]);
}
}
}
return 1;
}
Der Timer im OnPlayerPickuppickup:
public OnPlayerPickUpPickup(playerid, pickupid)
{
SetTimer("UpdateHausInfoText",800,1);
return 1;
}
Ich hoffe, ihr könnt mir weiterhelfen^^
Mfg Maksimo