new Text:sebessegmero;
Helyett:
new Text:sebessegmero[MAX_PLAYERS];
( Gondolom nem mindenkinek ugyanazt a a sebességet szeretnéd kiíratni . )
Aztán:
A TextDrawokat nem hozzuk létre minden egyes alkalommal amikor egy játékos beszáll a járműbe.
Helyette az OnPlayerConnect alatt hozzuk létre:
public OnPlayerConnect(playerid)
{
sebessegmero[playerid] = TextDrawCreate(410,396 , \"Sebesseg: \");
TextDrawFont(sebessegmero[playerid] , 1);
TextDrawLetterSize(sebessegmero[playerid] , 1, 20);
TextDrawColor(sebessegmero[playerid] , 0xC0C0C0FF );
TextDrawSetOutline(sebessegmero[playerid] , 1);
TextDrawSetProportional(sebessegmero[playerid] , 1);
TextDrawSetShadow(sebessegmero[playerid] , 0);
TextDrawUseBox(sebessegmero[playerid],1);
TextDrawBoxColor(sebessegmero[playerid], 0xC0C0C0FF);
return 1;
}
A TextDrawot töröljük amikor a játékos kilép:
public OnPlayerDisconnect(playerid, reason)
{
TextDrawDestroy(textdraw[playerid]);
return 1;
}
A be és kiszállás része:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
TextDrawShowForPlayer(playerid,Text:sebessegmero[playerid]);
}
if(oldstate == PLAYER_STATE_DRIVER)
{
TextDrawHideForPlayer(playerid,Text:sebessegmero[playerid]);
}
return 1;
}
Nem ajánlom az OnPlayerEnterVehicle használatát,hiszen ez a funkció akkor hívódik meg amikor a játékos elkezd beszállni a járműbe,nem pedig akkor amikor beül.+ Akkor is meghívódik ha a játékos beszállás közben \" visszavonja \" a cselekvés és mégsem ül be a járműbe.
Amúgy ilyen esetben ajánlott a PlayerTextdrawok alkalmazása:
http://wiki.sa-mp.com/wiki/CreatePlayerTextDraw