Arkadaşlar https://i.hizliresim.com/6z2wrys.png şunun gibi bi' sistem arıyorum üstünde idsi altında yazısı olacak şekilde nereden bulabilirim forum sa-mp kapandığı için oraya giremiyorum orada vardı
test etmedim, geçici olarak bu şekilde label oluşturabilirsin.
CMD:labelolustur(playerid, params[])
{
new yazi[24], Flaot:x, Float:y, Float:z;
if (sscanf(params, "s[24]", yazi)) return SendClientMessage(playerid, -1, "/labelolustur [yazı]");
GetPlayerPos(playerid, x, y, z);
format(yazi, sizeof(yazi), "%s", yazi);
CreateDynamic3DTextLabel(yazi, -1, x, y, z, 5.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0);
return 1;
}
@cha rica etsem /labelsil'ide yapabilir misin? Bir de oyuncu kaldırmadan kalkmasa olur mu?
Bunun yerine dinamik bir label sistemi kullanmayı dene, aşağıdaki sistem MySQL R33+ ve R40+ sürümlerini desteklemekte. Ayrıca kullanımı daha kolay, tablo sistem tarafından oluşturulur ancak veritabanı ismini doğru girdiğinden emin olmalısın. İyi forumlar :
https://github.com/oMa37/3DTextLabel-Creator
Alıntı yapılan: ThePosition - 24 Ağustos 2021, 15:08:22Bunun yerine dinamik bir label sistemi kullanmayı dene, aşağıdaki sistem MySQL R33+ ve R40+ sürümlerini desteklemekte. Ayrıca kullanımı daha kolay, tablo sistem tarafından oluşturulur ancak veritabanı ismini doğru girdiğinden emin olmalısın. İyi forumlar :
https://github.com/oMa37/3DTextLabel-Creator
Bunu bende buldum ama rengarenk ve çok uzun bi kod sıradan sade üstünde ID'si altında ismi yazan bir şey olsa işime daha fazla yarar bir de bu filterscript filterscript aramıyorum
Umarım işinize yarar ama sunucuya restart atıldımı gider.
#define MAX_LABEL 20
new Text3D: Label[MAX_LABEL];
new Iterator:Label<MAX_LABEL>;
enum Labeller
{
ID,
Yazi[64]
}
new DataLabel[MAX_LABEL][Labeller];
CMD:labelolustur(playerid, params[])
{
new yeniyazi[64], id = Iter_Free(Label);
if (id == -1) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}Max label sayısına ulaşıldı.");
if (sscanf(params, "s[64]", yeniyazi)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}/labelolustur [yazi]");
labelolustur(playerid, yeniyazi);
return 1;
}
stock labelolustur(playerid, yeniyazi[64])
{
new labelbilgi[100], id = Iter_Free(Label), label[64], Flaot:x, Float:y, Float:z;
DataLabel[id][ID] = id;
DataLabel[id][Yazi] = yeniyazi;
format(labelbilgi, sizeof(labelbilgi), "{01c800}[!]: {FFFFFF}%d nolu geçici label eklendi.", DataLabel[id][ID]);
SendClientMessage(playerid, -1, labelbilgi);
GetPlayerPos(playerid, Float:x, Float:y, Float:z);
format(label, sizeof(label), "(%d)\n%s", DataLabel[id][ID], DataLabel[id][Yazi]);
Label[id] = CreateDynamic3DTextLabel(label, -1, Float:x, Float:y, Float:z, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0);
Iter_Add(Label, id);
return 1;
}
CMD:labelsil(playerid, params[])
{
new id, labelbilgi[100];
if (sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}/labelsil [id]");
if (!Iter_Contains(Label, id)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}Geçersiz ID girdiniz.");
DataLabel[id][ID] = -1;
format(DataLabel[id][Yazi], 64, "");
DestroyDynamic3DTextLabel(Label[id]);
Iter_Remove(Label, id);
format(labelbilgi, sizeof(labelbilgi), "{01c800}[!]: {FFFFFF}%d nolu geçici label silindi.", id);
SendClientMessage(playerid, -1, labelbilgi);
return 1;
}
CMD:labelduzenle(playerid, params[])
{
new id, yeniyazi[64];
if (sscanf(params, "ds[64]", id, yeniyazi)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}/labelduzenle [id] [yazi]");
if (!Iter_Contains(Label, id)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}Geçersiz ID girdiniz.");
labelduzenle(playerid, id, yeniyazi);
return 1;
}
stock labelduzenle(playerid, id, yeniyazi[64])
{
new labelbilgi[100], label[64];
DataLabel[id][Yazi] = yeniyazi;
format(label, sizeof(label), "(%d)\n%s", DataLabel[id][ID], DataLabel[id][Yazi]);
UpdateDynamic3DTextLabelText(Label[id], -1, label);
SendClientMessage(playerid, -1, "{01c800}[!]: {FFFFFF}Geçici label düzenlendi.");
format(labelbilgi, sizeof(labelbilgi), "{01c800}[!]: {FFFFFF}yeni yazı {ff8e00}[%s].", DataLabel[id][Yazi]);
SendClientMessage(playerid, -1, labelbilgi);
return 1;
}
Alıntı yapılan: Murat Budak - 24 Ağustos 2021, 16:18:35Umarım işinize yarar ama sunucuya restart atıldımı gider.
#define MAX_LABEL 20
new Text3D: Label[MAX_LABEL];
new Iterator:Label<MAX_LABEL>;
enum Labeller
{
ID,
Yazi[64]
}
new DataLabel[MAX_LABEL][Labeller];
CMD:labelolustur(playerid, params[])
{
new yeniyazi[64], id = Iter_Free(Label);
if (id == -1) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}Max label sayısına ulaşıldı.");
if (sscanf(params, "s[64]", yeniyazi)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}/labelolustur [yazi]");
labelolustur(playerid, yeniyazi);
return 1;
}
stock labelolustur(playerid, yeniyazi[64])
{
new labelbilgi[100], id = Iter_Free(Label), label[64], Flaot:x, Float:y, Float:z;
DataLabel[id][ID] = id;
DataLabel[id][Yazi] = yeniyazi;
format(labelbilgi, sizeof(labelbilgi), "{01c800}[!]: {FFFFFF}%d nolu geçici label eklendi.", DataLabel[id][ID]);
SendClientMessage(playerid, -1, labelbilgi);
GetPlayerPos(playerid, Float:x, Float:y, Float:z);
format(label, sizeof(label), "(%d)\n%s", DataLabel[id][ID], DataLabel[id][Yazi]);
Label[id] = CreateDynamic3DTextLabel(label, -1, Float:x, Float:y, Float:z, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0);
Iter_Add(Label, id);
return 1;
}
CMD:labelsil(playerid, params[])
{
new id, labelbilgi[100];
if (sscanf(params, "d", id)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}/labelsil [id]");
if (!Iter_Contains(Label, id)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}Geçersiz ID girdiniz.");
DataLabel[id][ID] = -1;
format(DataLabel[id][Yazi], 64, "");
DestroyDynamic3DTextLabel(Label[id]);
Iter_Remove(Label, id);
format(labelbilgi, sizeof(labelbilgi), "{01c800}[!]: {FFFFFF}%d nolu geçici label silindi.", id);
SendClientMessage(playerid, -1, labelbilgi);
return 1;
}
CMD:labelduzenle(playerid, params[])
{
new id, yeniyazi[64];
if (sscanf(params, "ds[64]", id, yeniyazi)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}/labelduzenle [id] [yazi]");
if (!Iter_Contains(Label, id)) return SendClientMessage(playerid, -1, "{C20000}[!]: {FFFFFF}Geçersiz ID girdiniz.");
labelduzenle(playerid, id, yeniyazi);
return 1;
}
stock labelduzenle(playerid, id, yeniyazi[64])
{
new labelbilgi[100], label[64];
DataLabel[id][Yazi] = yeniyazi;
format(label, sizeof(label), "(%d)\n%s", DataLabel[id][ID], DataLabel[id][Yazi]);
UpdateDynamic3DTextLabelText(Label[id], -1, label);
SendClientMessage(playerid, -1, "{01c800}[!]: {FFFFFF}Geçici label düzenlendi.");
format(labelbilgi, sizeof(labelbilgi), "{01c800}[!]: {FFFFFF}yeni yazı {ff8e00}[%s].", DataLabel[id][Yazi]);
SendClientMessage(playerid, -1, labelbilgi);
return 1;
}
Çok Teşekkür ederimm
K&A
Arşive Taşınabilir.
@Murat Budak'a teşekkürler.