Код:
#define SERVER_SLOT (50) // slot sayısı
#define TEXT_SAYI (5) // 5 tane mesaj textdrawı
#define TEXT_KARAKTER (300) // 128 karakter
new PlayerText: tdMesaj[SERVER_SLOT][TEXT_SAYI];
new tdMesajStr[SERVER_SLOT][TEXT_SAYI][TEXT_KARAKTER];
stock tdMesajYolla(playerid, const mesaj[]) {
new id = TEXT_SAYI-1;
for(new i; i < id; ++i) {
tdMesajStr[playerid][i] = tdMesajStr[playerid][i+1];
PlayerTextDrawSetString(playerid, tdMesaj[playerid][i], tdMesajStr[playerid][i]);
}
format(tdMesajStr[playerid][id], TEXT_KARAKTER, "%s", mesaj);
PlayerTextDrawSetString(playerid, tdMesaj[playerid][id], tdMesajStr[playerid][id]);
return 1;
}
stock tdMesajTemizle(playerid) {
for(new i; i < TEXT_SAYI; ++i) {
strdel(tdMesajStr[playerid][i], 0, TEXT_KARAKTER);
PlayerTextDrawSetString(playerid, tdMesaj[playerid][i], tdMesajStr[playerid][i]);
}
return 1;
}
stock tdMesajOlustur(playerid)
{
tdMesajTemizle(playerid);
for(new i; i < TEXT_SAYI; ++i) {
tdMesaj[playerid][i] = CreatePlayerTextDraw(playerid, 220.000000, 340.000000 + (i * 12), "_");
PlayerTextDrawBackgroundColor(playerid, tdMesaj[playerid][i], 255);
PlayerTextDrawUseBox(playerid, tdMesaj[playerid][i], 1);
PlayerTextDrawBoxColor(playerid, tdMesaj[playerid][i], 0x63AFF00A);
PlayerTextDrawFont(playerid, tdMesaj[playerid][i], 1);
PlayerTextDrawLetterSize(playerid, tdMesaj[playerid][i], 0.210000, 1.100000);
PlayerTextDrawTextSize(playerid, tdMesaj[playerid][i], 640, 480);
PlayerTextDrawColor(playerid, tdMesaj[playerid][i], -1);
PlayerTextDrawSetOutline(playerid, tdMesaj[playerid][i], 1);
PlayerTextDrawSetProportional(playerid, tdMesaj[playerid][i], 1);
PlayerTextDrawSetSelectable(playerid, tdMesaj[playerid][i], 0);
PlayerTextDrawShow(playerid, tdMesaj[playerid][i]);
format(tdMesajStr[playerid][i], TEXT_KARAKTER, "_"); // boş yaparsak textdraw oyuncuya crash attırabilir
}
return 1;
}
stock tdMesajYoket(playerid)
{
for(new i; i < TEXT_SAYI; ++i) {
PlayerTextDrawDestroy(playerid, tdMesaj[playerid][i]);
format(tdMesajStr[playerid][i], TEXT_KARAKTER, "_");
}
return 1;
}