GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Mod Galerisi => Konuyu başlatan: ByHgGlryz - 09 Mart 2017, 18:45:26

Başlık: Basit bir WASTED yapalım mı ?
Gönderen: ByHgGlryz - 09 Mart 2017, 18:45:26
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:



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.

PAWN Kodu: Seç
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.

PAWN Kodu: Seç
Wasted0 = TextDrawCreate(600.000000, 140.000000, "server ismi");
TextDrawLetterSize(Wasted0, 0.400000, 1.600000);
TextDrawAlignment(Wasted0, 3);
TextDrawColor(Wasted0, -1);
TextDrawSetShadow(Wasted0, 0);
TextDrawSetOutline(Wasted0, 0);
TextDrawBackgroundColor(Wasted0, 255);
TextDrawFont(Wasted0, 2);
TextDrawSetProportional(Wasted0, 1);
TextDrawSetShadow(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);
TextDrawSetShadow(Wasted1, 0);
TextDrawSetOutline(Wasted1, 0);
TextDrawBackgroundColor(Wasted1, 255);
TextDrawFont(Wasted1, 1);
TextDrawSetProportional(Wasted1, 1);
TextDrawSetShadow(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);
TextDrawSetShadow(Wasted2, 0);
TextDrawSetOutline(Wasted2, 0);
TextDrawBackgroundColor(Wasted2, 255);
TextDrawFont(Wasted2, 1);
TextDrawSetProportional(Wasted2, 1);
TextDrawSetShadow(Wasted2, 0);

Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~wasted");
TextDrawLetterSize(Wasted3, 0.789999, 3.999998);
TextDrawAlignment(Wasted3, 1);
TextDrawColor(Wasted3, -16776961);
TextDrawSetShadow(Wasted3, 0);
TextDrawSetOutline(Wasted3, 0);
TextDrawBackgroundColor(Wasted3, 255);
TextDrawFont(Wasted3, 3);
TextDrawSetProportional(Wasted3, 1);
TextDrawSetShadow(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);
TextDrawSetShadow(Wasted4, 0);
TextDrawSetOutline(Wasted4, 0);
TextDrawBackgroundColor(Wasted4, 255);
TextDrawFont(Wasted4, 3);
TextDrawSetProportional(Wasted4, 1);
TextDrawSetShadow(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);
TextDrawSetShadow(Wasted5, 0);
TextDrawSetOutline(Wasted5, 0);
TextDrawBackgroundColor(Wasted5, 255);
TextDrawFont(Wasted5, 2);
TextDrawSetProportional(Wasted5, 1);
TextDrawSetShadow(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);
TextDrawSetShadow(Wasted6, 0);
TextDrawSetOutline(Wasted6, 0);
TextDrawBackgroundColor(Wasted6, 255);
TextDrawFont(Wasted6, 1);
TextDrawSetProportional(Wasted6, 1);
TextDrawSetShadow(Wasted6, 0);

Wasted7 = TextDrawCreate(266.800140, 218.233489, "-");
TextDrawLetterSize(Wasted7, 7.643217, 1.030000);
TextDrawAlignment(Wasted7, 1);
TextDrawColor(Wasted7, -1);
TextDrawSetShadow(Wasted7, 0);
TextDrawSetOutline(Wasted7, 0);
TextDrawBackgroundColor(Wasted7, 255);
TextDrawFont(Wasted7, 1);
TextDrawSetProportional(Wasted7, 1);
TextDrawSetShadow(Wasted7, 0);

Not:

PAWN Kodu: Seç
"server ismi"

yazan kısmı kendi sunucu adınızla değiştirebilirsiniz.

Örnek:

PAWN Kodu: Seç
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.

PAWN Kodu: Seç
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.

PAWN Kodu: Seç
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.

PAWN Kodu: Seç
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:

PAWN Kodu: Seç
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.

PAWN Kodu: Seç
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:

PAWN Kodu: Seç
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:

PAWN Kodu: Seç
Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~wasted");

Buradaki wasted yazısını farklı bir yazı ile değiştirebilirsiniz.

Örnek:

PAWN Kodu: Seç
Wasted3 = TextDrawCreate(269.198883, 179.352722, "~r~oldun");

Alt açıklama yazısını değiştirmek için:

PAWN Kodu: Seç
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.


Örnek:

PAWN Kodu: Seç
~r~wasted

Bu 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:

PAWN Kodu: Seç
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.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Quintel - 09 Mart 2017, 19:16:25
Paylaşım için teşekkürler, sistem resimdekinin aynısımı ?
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: 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.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Quintel - 09 Mart 2017, 20:28:09
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.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Excision - 09 Mart 2017, 21:04:32
Paylasim icin tesekkurler.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: ByHgGlryz - 10 Mart 2017, 19:12:40
Alıntı yapılan: Excision - 09 Mart 2017, 21:04:32

Paylasim icin tesekkurler.

Rica ederim :)
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Drunken - 21 Mart 2017, 16:48:24
Güzel Paylaşım.Eline sağlık.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: TheHunter - 22 Mart 2017, 09:17:33
Güzel Paylaşım.Eline sağlık.

Ama Wasted yerine direk Gebersin yazmak daha mantıklı olurdu
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: ByHgGlryz - 24 Mart 2017, 16:24:42
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)
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Quadranill - 14 Kasım 2017, 23:37:07
Spawn olunca ekrandan gitmiyor yazı ?
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Aytuğ - 26 Kasım 2017, 16:03:28
Güzel olmuş.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Pablo - 06 Ocak 2018, 11:40:30
Eline Saglık Güzel Olmuşda O Parantezleri Kaldıramazmıyız :helal:
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Jizzy - 07 Ocak 2018, 15:01:19
Paylaşım için teşekkürler
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: staple - 08 Ocak 2018, 00:06:14
Alıntı yapılan: OmerReis - 07 Ocak 2018, 15:01:19

Paylaşım için teşekkürler
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Gogh - 08 Ocak 2018, 00:25:43
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
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Creutzfeld - 05 Mayıs 2020, 04:42:55
Sesli olmasını isteyenler için;

OnPlayerDeath'a

PAWN Kodu: Seç
PlayAudioStreamForPlayer(playerid, "https://trf.ffjjti.frl/e4f6ccbe6ca677f02fd7d10b6061dc35/XEm-anELm10");
OnPlayerSpawn'a
PAWN Kodu: Seç
StopAudioStreamForPlayer(playerid);
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Warning - 05 Mayıs 2020, 08:27:53
Seslide olabilirdi, paylaşim icin teşekkürler
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: maXpoWer - 11 Mayıs 2020, 14:59:32
Zamanında kullanmıştım harika  :helal:
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Under Armour - 13 Mayıs 2020, 06:49:40
Başarılı basit olmasına rağmen

Çok fazla yazılar var ama güzel görünüyor
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: ByHgGlryz - 20 Mayıs 2020, 06:30:07
Yorumlarınız için teşekkürler.

Ufak bir değişiklik yaptım.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Gavirilia - 23 Mayıs 2020, 13:07:41
Kankam şu wasted'ın altındaki şeyleri kaldırsan güzel olabilir.
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: ByHgGlryz - 24 Mayıs 2020, 12:33:13
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 ;

PAWN Kodu: Seç
/*
ile devre dışı bırakabilirsiniz
*/

Burada senin istediğin sekilde ayarladim. :)
↓ ↓ ↓

Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Radless - 02 Nisan 2021, 00:20:10
Paylaşım için teşekkürler  :helal:
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Destan - 05 Nisan 2021, 00:58:24
Paylaşım için teşekkürler
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Release - 04 Nisan 2022, 21:16:08
Bu sistemi 0.3c sürümünde yapmıştın o zaman çok hoşumuza gidiyordu emeğine sağlık kardeşim
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: Bilinmeyen Bey - 05 Nisan 2022, 22:40:00
Ayyyy, çok güzel :helal:

Baya iyi. Bravo @ByHgGlryz :)
Başlık: Ynt: Basit bir WASTED yapalım mı ?
Gönderen: ByHgGlryz - 17 Nisan 2022, 02:58:33
Güzel yorumlarınız için teşekkür ederim <3