18.11.2011, 02:56
Ive created Safezones where players get healed and armoured etc when they enter and a textdraw shows up telling them that they are in it. But the only situation is, the textdraw itself flashes
Ignore the Sendclientmessage as i set it to that to test it on my local. The problem is with the "TextDrawHideForPlayer(playerid, TextSZ);" as when the textdraw shows, the TextDrawHideForPlayer gets called pretty much instantaneously straight after it shows, and keeps repeating.
I have a theory thou, I am using 3 instances where the "TextDrawHideForPlayer(playerid, TextSZ);" gets called all on a 1 second timer, If im right, would creating 2 more TextDraws and renaming them to example "TextSZSF", "TextSZLS" and "TextSZLV" solve the flashing problem?
Thanks to anyone that can offer any help..
Код:
public SafeZoneCheckLS(playerid) { new Float: PHealth; new Float: PArmour; if(IsPlayerInRangeOfPoint(playerid, 65,1111.5333,-1790.6764,16.5938))//los Santos SafeZone { GivePlayerMoney(playerid,1); GetPlayerHealth(playerid,PHealth); GetPlayerArmour(playerid,PArmour); if(PHealth < 999) { SetPlayerHealth(playerid,1000); } if(PArmour < 999) { SetPlayerArmour(playerid,1000); } TextDrawShowForPlayer(playerid, TextSZ); ResetPlayerWeapons(playerid); //Anti Minigun if(!IsPlayerLAdmin(playerid)) { if(GetPlayerWeapon(playerid) == 38) //Ban if they have a minigun { new stringsys [128]; new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(stringsys, sizeof(stringsys), "[STRYKER]{44FF00} %s {FFFF00} has been banned for having a Minigun in a safezone.{33FF00} ", pName); SendClientMessageToAll(COLOR_GREY, stringsys); Kick(playerid); } if(GetPlayerWeapon(playerid) == 35) //Ban if they have a minigun { new stringsys [128]; new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(stringsys, sizeof(stringsys), "[STRYKER]{44FF00} %s {FFFF00} has been banned for having a Rocket Launcher in a safezone.{33FF00} ", pName); SendClientMessageToAll(COLOR_GREY, stringsys); Kick(playerid); } if(GetPlayerWeapon(playerid) == 36) //Ban if they have a minigun { new stringsys [128]; new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(stringsys, sizeof(stringsys), "[STRYKER]{44FF00} %s {FFFF00} has been banned for having a HS Rocket Launcher in a safezone.{33FF00} ", pName); SendClientMessageToAll(COLOR_GREY, stringsys); Kick(playerid); } if(GetPlayerWeapon(playerid) == 37) //Ban if they have a minigun { new stringsys [128]; new pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, sizeof(pName)); format(stringsys, sizeof(stringsys), "[STRYKER]{44FF00} %s {FFFF00} has been banned for having a Flame Thrower in a safezone.{33FF00} ", pName); SendClientMessageToAll(COLOR_GREY, stringsys); Kick(playerid); } } } else if(!IsPlayerInRangeOfPoint(playerid, 75,1111.5333,-1790.6764,16.5938))//los Santos SafeZone { TextDrawHideForPlayer(playerid, TextSZ); } return 1; }
I have a theory thou, I am using 3 instances where the "TextDrawHideForPlayer(playerid, TextSZ);" gets called all on a 1 second timer, If im right, would creating 2 more TextDraws and renaming them to example "TextSZSF", "TextSZLS" and "TextSZLV" solve the flashing problem?
Thanks to anyone that can offer any help..