GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: #McAllen - 20 Ağustos 2021, 22:12:36

Başlık: Label Oluşturma Sistemi
Gönderen: #McAllen - 20 Ağustos 2021, 22:12:36
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ı
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: cha - 23 Ağustos 2021, 16:30:38
test etmedim, geçici olarak bu şekilde label oluşturabilirsin.

PAWN Kodu: Seç
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;
}
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: #McAllen - 23 Ağustos 2021, 22:02:25
@cha rica etsem /labelsil'ide yapabilir misin? Bir de oyuncu kaldırmadan kalkmasa olur mu?
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: squarepants - 24 Ağustos 2021, 15:08:22
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
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: #McAllen - 24 Ağustos 2021, 15:28:31
Alıntı yapılan: ThePosition - 24 Ağustos 2021, 15:08:22
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

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
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: #McAllen - 24 Ağustos 2021, 15:29:29
@ThePosition
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: Murat Budak - 24 Ağustos 2021, 16:18:35
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;
}
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: #McAllen - 24 Ağustos 2021, 16:42:00
Alıntı yapılan: Murat Budak - 24 Ağustos 2021, 16:18:35
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;
}

Çok Teşekkür ederimm
Başlık: Ynt: Label Oluşturma Sistemi
Gönderen: #McAllen - 24 Ağustos 2021, 16:58:23
K&A

Arşive Taşınabilir.

@Murat Budak'a teşekkürler.