17.07.2010, 12:32
Hi everyone! I have little problem with my textdraws.
First, I make new variables:
Then I make the textdraws:
Then I make one function which includes textdraws:
And then I have two little functions for showing messages and it includes textdraws too:
The problem is, that when the player recieve message via ShowMessage(....), the text he recieve appears on WorldCount textdraw.
I dont know how to fix this, so I ask you if you can help me. Thanks.
First, I make new variables:
Код:
new Text:MessageTitle[MAX_PLAYERS]; new Text:MessageText[MAX_PLAYERS]; new Text:WorldCountTextDraw;
Код:
for(new PlayerNumber;PlayerNumber > MAX_PLAYERS;PlayerNumber++) { MessageTitle[PlayerNumber] = TextDrawCreate(93.0,100.0," "); TextDrawAlignment(MessageTitle[PlayerNumber],2); TextDrawBackgroundColor(MessageTitle[PlayerNumber],255); TextDrawFont(MessageTitle[PlayerNumber],3); TextDrawLetterSize(MessageTitle[PlayerNumber],0.309998,1.199998); TextDrawSetProportional(MessageTitle[PlayerNumber],1); TextDrawSetShadow(MessageTitle[PlayerNumber],1); TextDrawUseBox(MessageTitle[PlayerNumber],1); TextDrawBoxColor(MessageTitle[PlayerNumber],150); TextDrawTextSize(MessageTitle[PlayerNumber],0.0,149.0); MessageText[PlayerNumber] = TextDrawCreate(93.0,120.0," "); TextDrawAlignment(MessageText[PlayerNumber],2); TextDrawBackgroundColor(MessageText[PlayerNumber],150); TextDrawFont(MessageText[PlayerNumber],1); TextDrawLetterSize(MessageText[PlayerNumber],0.209999,0.899999); TextDrawColor(MessageText[PlayerNumber],-1); TextDrawSetProportional(MessageText[PlayerNumber],1); TextDrawSetShadow(MessageText[PlayerNumber],1); TextDrawUseBox(MessageText[PlayerNumber],1); TextDrawBoxColor(MessageText[PlayerNumber],0); TextDrawTextSize(MessageText[PlayerNumber],0.0,149.0); } WorldCountTextDraw = TextDrawCreate(99.0,437.0,"~g~Deathmatch~w~: 0 ~y~Freeroam~w~: 0 ~r~Stunt~w~: 0"); TextDrawAlignment(WorldCountTextDraw,2); TextDrawBackgroundColor(WorldCountTextDraw,255); TextDrawFont(WorldCountTextDraw,1); TextDrawLetterSize(WorldCountTextDraw,0.3,1.1); TextDrawColor(WorldCountTextDraw,-1); TextDrawSetProportional(WorldCountTextDraw,1); TextDrawSetShadow(WorldCountTextDraw,1); TextDrawUseBox(WorldCountTextDraw,1); TextDrawBoxColor(WorldCountTextDraw,175); TextDrawTextSize(WorldCountTextDraw,0.0,196.0);
Код:
public PlayerChangeWorld(playerid,WorldID) { PlayerPlaySound(playerid,1188,0,0,0); WorldCount[WorldID]++; WorldCount[Player[playerid][World]]--; Player[playerid][World] = WorldID; Player[playerid][SpeedBoost] = false; Player[playerid][Hopping] = false; Player[playerid][AutoFix] = false; Player[playerid][Mission] = false; SetPlayerVirtualWorld(playerid,WorldID); if(WorldID == WORLD_SPAWN) { SetPlayerPos(playerid,6689.2803,3211.4292,17.9470); SetPlayerFacingAngle(playerid,5.9533); StreamOn(playerid); PlayerPlaySound(playerid,1187,0,0,0); } if(WorldID == WORLD_FREEROAM) { new PlayerName[24]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(String,sizeof(String),"[World] Player %s has gone to Freeroam World.",PlayerName); SendClientMessageToAllEx(playerid,COLOR_YELLOW,String); } if(WorldID == WORLD_STUNT) { new Random = random(MAX_MAPS); if(Map[Random][World] == WORLD_STUNT) { new PlayerName[24]; GetPlayerName(playerid,PlayerName,sizeof(PlayerName)); format(String,sizeof(String),"[World] Player %s has gone to Stunt World.",PlayerName); SendClientMessageToAllEx(playerid,COLOR_YELLOW,String); Player[playerid][SpeedBoost] = true; Player[playerid][Hopping] = true; Player[playerid][AutoFix] = true; TeleportPlayer(playerid,Map[Random][Name]); } else { return PlayerChangeWorld(playerid,WORLD_STUNT); } } format(String,sizeof(String),"~g~Deathmatch~w~: %d ~y~Freeroam~w~: %d ~r~Stunt~w~: %d",WorldCount[1],WorldCount[2],WorldCount[3]); TextDrawSetString(WorldCountTextDraw,String); return 1; }
Код:
public ShowMessage(playerid,Title[],Text1[],Time) { KillTimer(PlayerMessageTimer[playerid]); Player[playerid][Message] = true; PlayerPlaySound(playerid,1085,0,0,0); TextDrawSetString(MessageTitle[playerid],Title); TextDrawSetString(MessageText[playerid],Text1); TextDrawShowForPlayer(playerid,MessageTitle[playerid]); TextDrawShowForPlayer(playerid,MessageText[playerid]); if(Time) return PlayerMessageTimer[playerid] = SetTimerEx("HideMessage",Time * 1000,0,"%d",playerid); return 1; } public HideMessage(playerid) { Player[playerid][Message] = false; TextDrawHideForPlayer(playerid,MessageTitle[playerid]); TextDrawHideForPlayer(playerid,MessageText[playerid]); KillTimer(PlayerMessageTimer[playerid]); return 1; }
