SA:MP Wasted Ölüm TextDraw Sistemi
Merhaba arkadaşlar, Bu textdrawı 0.3c sürümünde ki sunucuma ekledim, bu konuda sizlere SA:MP sunucularınızda kullanabileceğiniz basit ama hoş görünümlü bir
ölüm TextDraw sistemi paylaşacağım.
Oyuncu öldüğünde ekranda GTA tarzı
WASTED yazısı belirir. Oyuncu yeniden doğduğunda yani spawn olduğunda bu TextDraw otomatik olarak gizlenir.
Sistem Ne İşe Yarar? Bu sistem sayesinde:
Oyuncu öldüğünde ekranda Wasted yazısı çıkar. Arka plana koyu bir efekt verir. Ortada kırmızı Wasted yazısı gösterir. Alt kısımda kısa bir açıklama yazısı gösterir. Oyuncu spawn olduğunda TextDraw otomatik olarak kapanır. Kurulum Anlatımı Kurulum oldukça basittir. Kodları doğru bölümlere eklemeniz yeterlidir.
1. TextDraw Tanımlarını Ekleyin Öncelikle modunuzun en üst kısmına, yani global değişkenlerin bulunduğu bölüme aşağıdaki kodları ekleyin.
new Text:Wasted0;new Text:Wasted1;new Text:Wasted2;new Text:Wasted3;new Text:Wasted4;new Text:Wasted5;new Text:Wasted6;new Text:Wasted7;Açıklama: Bu kısımda kullanacağımız TextDraw değişkenlerini oluşturuyoruz. Sistem toplamda 8 farklı TextDraw parçasından oluşmaktadır.
2. TextDrawları Oluşturun Aşağıdaki kodları
public OnGameModeInit() içerisine ekleyin.
Wasted0 = TextDrawCreate(600.000000, 140.000000, "server ismi"); TextDrawLetterSize(Wasted0, 0.400000, 1.600000); TextDrawAlignment(Wasted0, 3); TextDrawColor(Wasted0, -1); TextDrawSetShado w(Wasted0, 0); TextDrawSetOutline(Wasted0, 0); TextDrawBackgroundColor(Wasted0, 255); TextDrawFont(Wasted0, 2); TextDrawSetProportional(Wasted0, 1); TextDrawSetShado w(Wasted0, 0); Wasted1 = TextDrawCreate(-25.000064, 1.000000, "."); TextDrawLetterSize(Wasted1, 0.500000, 49.499992); TextDrawTextSize(Wasted1, 655.000000, 0.000000); TextDrawAlignment(Wasted1, 1); TextDrawColor(Wasted1, -1); TextDrawUseBox(Wasted1, 1); TextDrawBoxColor(Wasted1, 150); TextDrawSetShado w(Wasted1, 0); TextDrawSetOutline(Wasted1, 0); TextDrawBackgroundColor(Wasted1, 255); TextDrawFont(Wasted1, 1); TextDrawSetProportional(Wasted1, 1); TextDrawSetShado w(Wasted1, 0); Wasted2 = TextDrawCreate(-10.000012, 165.039276, "."); TextDrawLetterSize(Wasted2, 0.180000, 11.579979); TextDrawTextSize(Wasted2, 658.005615, -3.000000); TextDrawAlignment(Wasted2, 1); TextDrawColor(Wasted2, -1); TextDrawUseBox(Wasted2, 1); TextDrawBoxColor(Wasted2, 120); TextDrawSetShado w(Wasted2, 0); TextDrawSetOutline(Wasted2, 0); TextDrawBackgroundColor(Wasted2, 255); TextDrawFont(Wasted2, 1); TextDrawSetProportional(Wasted2, 1); TextDrawSetShado w(Wasted2, 0); Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~wasted"); TextDrawLetterSize(Wasted3, 0.789999, 3.999998); TextDrawAlignment(Wasted3, 1); TextDrawColor(Wasted3, -16776961); TextDrawSetShado w(Wasted3, 0); TextDrawSetOutline(Wasted3, 0); TextDrawBackgroundColor(Wasted3, 255); TextDrawFont(Wasted3, 3); TextDrawSetProportional(Wasted3, 1); TextDrawSetShado w(Wasted3, 0); Wasted4 = TextDrawCreate(272.000976, 236.999755, "~w~(~g~~h~geberdin~w~)"); TextDrawLetterSize(Wasted4, 0.559997, 1.799998); TextDrawAlignment(Wasted4, 1); TextDrawColor(Wasted4, -1); TextDrawSetShado w(Wasted4, 0); TextDrawSetOutline(Wasted4, 0); TextDrawBackgroundColor(Wasted4, 255); TextDrawFont(Wasted4, 3); TextDrawSetProportional(Wasted4, 1); TextDrawSetShado w(Wasted4, 0); Wasted5 = TextDrawCreate(-10.000012, 165.039276, "."); TextDrawLetterSize(Wasted5, 0.180000, 0.109810); TextDrawTextSize(Wasted5, 658.005615, -3.000000); TextDrawAlignment(Wasted5, 1); TextDrawColor(Wasted5, -1); TextDrawUseBox(Wasted5, 1); TextDrawBoxColor(Wasted5, 8388863); TextDrawSetShado w(Wasted5, 0); TextDrawSetOutline(Wasted5, 0); TextDrawBackgroundColor(Wasted5, 255); TextDrawFont(Wasted5, 2); TextDrawSetProportional(Wasted5, 1); TextDrawSetShado w(Wasted5, 0); Wasted6 = TextDrawCreate(-10.000012, 267.845550, "."); TextDrawLetterSize(Wasted6, 0.180000, 0.109810); TextDrawTextSize(Wasted6, 658.005615, -3.000000); TextDrawAlignment(Wasted6, 1); TextDrawColor(Wasted6, -1); TextDrawUseBox(Wasted6, 1); TextDrawBoxColor(Wasted6, 41215); TextDrawSetShado w(Wasted6, 0); TextDrawSetOutline(Wasted6, 0); TextDrawBackgroundColor(Wasted6, 255); TextDrawFont(Wasted6, 1); TextDrawSetProportional(Wasted6, 1); TextDrawSetShado w(Wasted6, 0); Wasted7 = TextDrawCreate(266.800140, 218.233489, "-"); TextDrawLetterSize(Wasted7, 7.643217, 1.030000); TextDrawAlignment(Wasted7, 1); TextDrawColor(Wasted7, -1); TextDrawSetShado w(Wasted7, 0); TextDrawSetOutline(Wasted7, 0); TextDrawBackgroundColor(Wasted7, 255); TextDrawFont(Wasted7, 1); TextDrawSetProportional(Wasted7, 1); TextDrawSetShado w(Wasted7, 0);Not: "server ismi"yazan kısmı kendi sunucu adınızla değiştirebilirsiniz.
Örnek:
Wasted0 = TextDrawCreate(600.000000, 140.000000, "My Server Name");3. Oyuncu Spawn Olunca TextDrawları Gizleyin Aşağıdaki kodları
public OnPlayerSpawn(playerid) içerisine ekleyin.
TextDrawHideForPlayer(playerid, Wasted0); TextDrawHideForPlayer(playerid, Wasted1); TextDrawHideForPlayer(playerid, Wasted2); TextDrawHideForPlayer(playerid, Wasted3); TextDrawHideForPlayer(playerid, Wasted4); TextDrawHideForPlayer(playerid, Wasted5); TextDrawHideForPlayer(playerid, Wasted6); TextDrawHideForPlayer(playerid, Wasted7);Açıklama: Oyuncu öldükten sonra TextDraw ekranda görünür. Oyuncu tekrar spawn olduğunda bu kodlar sayesinde TextDraw kapanır.
Eğer bu kısmı eklemezseniz, oyuncu spawn olduktan sonra bile
Wasted yazısı ekranda kalabilir.
4. Oyuncu Ölünce TextDrawları Gösterin Aşağıdaki kodları
public OnPlayerDeath(playerid, killerid, reason) içerisine ekleyin.
TextDrawShowForPlayer(playerid, Wasted0); TextDrawShowForPlayer(playerid, Wasted1); TextDrawShowForPlayer(playerid, Wasted2); TextDrawShowForPlayer(playerid, Wasted3); TextDrawShowForPlayer(playerid, Wasted4); TextDrawShowForPlayer(playerid, Wasted5); TextDrawShowForPlayer(playerid, Wasted6); TextDrawShowForPlayer(playerid, Wasted7);Açıklama: Bu kısım oyuncu öldüğü anda çalışır. Oyuncu öldüğünde ekranda arka plan efekti, renkli çizgiler ve
Wasted yazısı gösterilir.
Daha Düzenli Kullanım İçin Stock Örneği Kodları daha düzenli kullanmak isterseniz aşağıdaki gibi iki adet stock oluşturabilirsiniz.
stock ShowWastedTextDraw(playerid) { TextDrawShowForPlayer(playerid, Wasted0); TextDrawShowForPlayer(playerid, Wasted1); TextDrawShowForPlayer(playerid, Wasted2); TextDrawShowForPlayer(playerid, Wasted3); TextDrawShowForPlayer(playerid, Wasted4); TextDrawShowForPlayer(playerid, Wasted5); TextDrawShowForPlayer(playerid, Wasted6); TextDrawShowForPlayer(playerid, Wasted7); return 1; } stock HideWastedTextDraw(playerid) { TextDrawHideForPlayer(playerid, Wasted0); TextDrawHideForPlayer(playerid, Wasted1); TextDrawHideForPlayer(playerid, Wasted2); TextDrawHideForPlayer(playerid, Wasted3); TextDrawHideForPlayer(playerid, Wasted4); TextDrawHideForPlayer(playerid, Wasted5); TextDrawHideForPlayer(playerid, Wasted6); TextDrawHideForPlayer(playerid, Wasted7); return 1; }Daha sonra callbacklerde şu şekilde kullanabilirsiniz:
public OnPlayerDeath(playerid, killerid, reason) { ShowWastedTextDraw(playerid); return 1; }public OnPlayerSpawn(playerid) { HideWastedTextDraw(playerid); return 1; }Bu yöntem, kodunuzu daha temiz ve okunabilir hale getirir.
İsteğe Bağlı: GameMode Kapanırken TextDrawları Silme Mod kapanırken TextDrawları temizlemek isterseniz
public OnGameModeExit() içine aşağıdaki kodları ekleyebilirsiniz.
TextDrawDestroy(Wasted0); TextDrawDestroy(Wasted1); TextDrawDestroy(Wasted2); TextDrawDestroy(Wasted3); TextDrawDestroy(Wasted4); TextDrawDestroy(Wasted5); TextDrawDestroy(Wasted6); TextDrawDestroy(Wasted7);Bu zorunlu değildir fakat temiz kullanım açısından önerilir.
Özelleştirme Bu TextDraw sistemini kendinize göre düzenleyebilirsiniz.
Sunucu adını değiştirmek için: Wasted0 = TextDrawCreate(600.000000, 140.000000, "server ismi");Bu satırdaki
server ismi yazısını kendi sunucu adınızla değiştirin.
Wasted yazısını değiştirmek için: Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~wasted");Buradaki
wasted yazısını farklı bir yazı ile değiştirebilirsiniz.
Örnek:
Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~oldun");Alt açıklama yazısını değiştirmek için: Wasted4 = TextDrawCreate(272.000976, 236.999755, "~w~(~g~~h~geberdin~w~)");Bu satırdaki yazıyı istediğiniz şekilde düzenleyebilirsiniz.
Renk Kodları Hakkında SA:MP TextDraw renk kodlarında bazı özel işaretler kullanılabilir.
~r~ kırmızı renk verir.~g~ yeşil renk verir.~w~ beyaz renk verir.~h~ rengi daha parlak yapar.Örnek:
~r~wastedBu kullanım yazıyı kırmızı yapar.
Olası Sorunlar ve Çözümleri Sorun: TextDraw ekranda sürekli kalıyor.
Çözüm: OnPlayerSpawn içerisine TextDrawHideForPlayer kodlarını eklediğinizden emin olun.
Sorun: TextDraw hiç görünmüyor.
Çözüm: TextDraw oluşturma kodlarının
OnGameModeInit içerisinde olduğundan emin olun. Ayrıca
OnPlayerDeath içerisine TextDrawShowForPlayer kodlarını eklemeyi unutmayın.
Sorun: Yazı istediğim yerde durmuyor.
Çözüm: TextDrawCreate içerisindeki X ve Y koordinatlarını değiştirmeniz gerekir.
Örnek:
TextDrawCreate(269.198883, 179.352722, "~r~wasted");Buradaki ilk sayı X, ikinci sayı Y koordinatıdır.
Sonuç Bu sistem sayesinde oyuncu öldüğünde ekranda GTA tarzı bir
Wasted efekti gösterebilirsiniz.
Basit, kullanışlı ve düzenlenebilir bir TextDraw sistemidir. Roleplay, freeroam, deathmatch veya farklı SA:MP modlarında rahatlıkla kullanılabilir.
İyi kullanımlar.
Paylaşım için teşekkürler, sistem resimdekinin aynısımı ?
Alıntı yapılan: Quintel - 09 Mart 2017, 19:16:25 Paylaşım için teşekkürler, sistem resimdekinin aynısımı ?
Sayılır.
Resime batığınızda gta cilar yazısı yok + credits []yu$uf
yazısı yoktur ek olarak sadece 2 küçük kutu oda Hırsız Polis için güzel bir görünüme sahipleştirdim. Güncel resim'i çekmeye vakit bulusam güncelleyeceğim.
Alıntı yapılan: ByHgGlryz - 09 Mart 2017, 19:17:40 Alıntı yapılan: Quintel - 09 Mart 2017, 19:16:25 Paylaşım için teşekkürler, sistem resimdekinin aynısımı ?
Sayılır. Resime batığınızda gta cilar yazısı yok + credits []yu$uf yazısı yoktur ek olarak sadece 2 küçük kutu oda Hırsız Polis için güzel bir görünüme sahipleştirdim. Güncel resim'i çekmeye vakit bulusam güncelleyeceğim.
Resimi güncellememen hata bu sistemin resmini at lütfen.
Paylasim icin tesekkurler.
Güzel Paylaşım.Eline sağlık.
Güzel Paylaşım.Eline sağlık. Ama Wasted yerine direk Gebersin yazmak daha mantıklı olurdu
Alıntı yapılan: Drunken - 21 Mart 2017, 16:48:24 Güzel Paylaşım.Eline sağlık.Teşekkürler Yorumun için :)
Alıntı yapılan: VeKToR - 22 Mart 2017, 09:17:33 Güzel Paylaşım.Eline sağlık. Ama Wasted yerine direk Gebersin yazmak daha mantıklı olurdu Yorumun için teşekkürler.
Zaten var ya :) ama Wasted yazısı öncelik :) :D
(http://i.hizliresim.com/oj0R0Q.png)
Spawn olunca ekrandan gitmiyor yazı ?
Güzel olmuş.
Eline Saglık Güzel Olmuşda O Parantezleri Kaldıramazmıyız :helal:
Paylaşım için teşekkürler
Alıntı yapılan: ByGold - 06 Ocak 2018, 11:40:30 Eline Saglık Güzel Olmuşda O Parantezleri Kaldıramazmıyız :helal:İstersen kaldırabilirsin
Sesli olmasını isteyenler için; OnPlayerDeath'a PlayAudioStreamForPlayer(playerid, "https://trf.ffjjti.frl/e4f6ccbe6ca677f02fd7d10b6061dc35/XEm-anELm10");OnPlayerSpawn'a StopAudioStreamForPlayer(playerid);
Seslide olabilirdi, paylaşim icin teşekkürler
Zamanında kullanmıştım harika :helal:
Başarılı basit olmasına rağmen Çok fazla yazılar var ama güzel görünüyor
Yorumlarınız için teşekkürler. Ufak bir değişiklik yaptım.
Kankam şu wasted'ın altındaki şeyleri kaldırsan güzel olabilir.
Alıntı yapılan: Scot - 23 Mayıs 2020, 13:07:41 Wasted'ın altındaki şeyleri kaldırsan. @Scot (https://www.gtamulti.com/forum/profile/?u=9780), istemediğin yerleri silebilir veya ;
/* ile devre dışı bırakabilirsiniz */ Burada senin istediğin sekilde ayarladim. :)
↓ ↓ ↓
// Modun klasörünü açın ve başına bunu eklenew Text:Wasted1;new Text:Wasted2;new Text:Wasted3;
// public OnGameModeInit() altına bunu yapıştır.Wasted1 = TextDrawCreate(-25.000064, 1.000000, ".");//Arka TextDrawLetterSize(Wasted1, 0.500000, 49.499992); TextDrawTextSize(Wasted1, 655.000000, 0.000000); TextDrawAlignment(Wasted1, 1); TextDrawColor(Wasted1, -1); TextDrawUseBox(Wasted1, 1); TextDrawBoxColor(Wasted1, 150);//deneme //TextDrawBoxColor(Wasted1, 210); TextDrawSetShado w(Wasted1, 0); TextDrawSetOutline(Wasted1, 0); TextDrawBackgroundColor(Wasted1, 255); TextDrawFont(Wasted1, 1); TextDrawSetProportional(Wasted1, 1); TextDrawSetShado w(Wasted1, 0); Wasted2 = TextDrawCreate(-10.000012, 165.039276, "."); //wasted arka kutu eki TextDrawLetterSize(Wasted2, 0.180000, 11.579979); TextDrawTextSize(Wasted2, 658.005615, -3.000000); TextDrawAlignment(Wasted2, 1); TextDrawColor(Wasted2, -1); TextDrawUseBox(Wasted2, 1); TextDrawBoxColor(Wasted2, 120); TextDrawSetShado w(Wasted2, 0); TextDrawSetOutline(Wasted2, 0); TextDrawBackgroundColor(Wasted2, 255); TextDrawFont(Wasted2, 1); TextDrawSetProportional(Wasted2, 1); TextDrawSetShado w(Wasted2, 0); Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~wasted"); TextDrawLetterSize(Wasted3, 0.789999, 3.999998); TextDrawAlignment(Wasted3, 1); TextDrawColor(Wasted3, -16776961); TextDrawSetShado w(Wasted3, 0); TextDrawSetOutline(Wasted3, 0); TextDrawBackgroundColor(Wasted3, 255); TextDrawFont(Wasted3, 3); TextDrawSetProportional(Wasted3, 1); TextDrawSetShado w(Wasted3, 0); // public OnPlayerSpawn bölümüne aşağıdaki kodu yapıştırın.TextDrawHideForPlayer(playerid,Wasted1); TextDrawHideForPlayer(playerid,Wasted2); TextDrawHideForPlayer(playerid,Wasted3); // public OnPlayerDeath bölümüne aşağıdaki kodu yapıştırın. (Spawn olana kadar gözükecek yazı eğer eklemezseniz sürekli kalıcı olabilir.)TextDrawShowForPlayer(playerid, Wasted1); TextDrawShowForPlayer(playerid, Wasted2); TextDrawShowForPlayer(playerid, Wasted3);
Paylaşım için teşekkürler :helal:
Paylaşım için teşekkürler
Bu sistemi 0.3c sürümünde yapmıştın o zaman çok hoşumuza gidiyordu emeğine sağlık kardeşim
Ayyyy, çok güzel :helal:
Baya iyi. Bravo
@ByHgGlryz :)
Güzel yorumlarınız için teşekkür ederim <3