Küçük Adımlarla Admine Özel Araba Oluşturmak

Küçük Adımlarla Admine Özel Araba Oluşturmak

GTA: San Andreas Multiplayer’da bir sunucunuz var ve admine özel araba oluşturmak istiyorsanız ama bunu nasıl yapacağınıza ilişkin küçücük bir fikriniz bile yok mu? Pekâlâ, küçük adımlarla sadece yöneticilerin binebildiği araçları nasıl oluşturabileceğinizi öğrenmenize yardımcı olmak için hazırladığımız adımları takip etmek sizin için mükemmel bir fikir ve kaçırılmaması gereken bir fırsat olabilir.

Yazının başlığı size rehberin sunucunuza yöneticilerin binebileceği araçlar oluşturmanıza yardımcı olmakla sınırlı kalacağını düşündürebilir fakat rehberin sonunda sadece yöneticilere özel araba oluşturmanın nasıl yapıldığını değil aynı zamanda herhangi bir oyuncuya özel aracı nasıl oluşturabileceğinizi öğreneceksiniz. Kısaca açıklamak gerekirse bu rehber size işin mantığını gösterecektir.

Admine Özel Araba Oluşturmak İçin Neler Yapılmalıdır?

Sunucunuzdaki yöneticilere veya oyunculara özel araba oluşturmak için ilk önce aşağıdaki tanımlamaları yapmanız gerekiyor. Buradaki tanımlamaların arabaya binecek olan kişileri ayarlamakla herhangi bir noktada herhangi bir biçimde bağlantısı bulunmuyor. Bu kısımda yapılması gereken sadece araçları tanıtmaktır.

Admine Özel Araba Oluşturmak: Araç Tanımlamaları

1. Araç Tanımlamaları

İlk olarak maksimum kaç tane araç olacağını belirlememiz gerekiyor. Bunu yapmak için “define” kullanmalısınız. Aşağıdaki kodu alın ve oyun modunuzda yer alan “include” tanımlarının altına ekleyin.

#define YONETICI_ARABA 3

Sunucuda yöneticilere özel kaç tane araba oluşturacağımızı belirledik. Bu tanımlamadan sonra araç oluşturma fonksiyonlarını kullanarak oluşturduğumuz araçların yöneticilerine ait olduğunuzu gösterirken kullanacağımız değişkeni oluşturalım.

new YoneticiArabasi[YONETICI_ARABA];

Yukarıda yer alan kodda köşeli parantezlerin içerisine eklediğimiz sizin de görebileceğiniz üzere sunucudaki maksimum oyuncu sayısıdır. Bu, sunucuda kaç tane özel aracımızın olacağını ve bizim bu tanımlamayı kaç farklı araç üzerinde kullanabileceğimizi gösteriyor. Araçların üzerinde “Yönetici” yazmasını sağlamak için son bir tanım daha yapmamız gerekiyor.

new Text3D:admintext[MAX_VEHICLES];

Yukarıda gerekli tanımlamaları yapmış bulunuyoruz. Özel araçlara ilişkin gerekli tüm tanımlamaları yaptıktan sonra ikinci adıma geçebiliriz.

Admine Özel Araba Oluşturmak: Araç Oluşturma

2. Araç Oluşturma

Tanımlamalardan sonraki adımımız, yöneticilere veya sunucuda herhangi bir oyuncu ismine özel bir araç oluşturmak ve oluşturduğumuz bu araçların üzerine “Yönetici” gibi istenen yazılar eklemektir. San Andreas Multiplayer için geliştirdiğiniz oyun modunda özel bir araç oluşturmak için aşağıdaki kodları OnGameModeInit’e eklemeniz yeterli olacaktır.

YoneticiArabasi[0] = AddStaticVehicleEx(…);

YoneticiArabasi[2] = AddStaticVehicleEx(…);

YoneticiArabasi[1] = AddStaticVehicleEx(…);

AddStaticVehicleEx fonksiyonu, oyuna bir araç eklemek için kullanılan fonksiyondur. Bu fonksiyonun içerisinde yer alan üç nokta yerini sırası ile araç ID, X koordinatı, Y koordinatı, Z koordinatı, yön koordinatı, birinci renk ve ikinci renk biçiminde düzenlemeniz gerekiyor. Araçların koordinatlarını nasıl alacağınızı bilmiyorsanız veya birer birer ayarlamakla uğraşmak istemiyorsanız oyun içerisinde bindiğiniz bir aracın nerede doğmasını istiyorsanız oraya götürebilir ve “/save” komutunu kullanarak GTA San Andreas Multiplayer’ın oyuncu dosyaları klasörüne kaydedilecek “savedpositions.txt” belgesine aracın koordinatları kaydedebilir ve kaydettiğiniz koordinatlara aynı metin belgesinden ulaşabilirsiniz.

Aracın üzerinde “Yönetici” ibaresinin yer alması için aşağıdaki kodları OnGameModeExit’e ekleyin. Bu kodlar aslında oluşturmanın aksine yazıları silecektir ancak sunucu kapatıldığında silindiği için görünümden yana herhangi bir sorun oluşmayacaktır.

Delete3DTextLabel(admintext[YoneticiArabasi[0]]);

Delete3DTextLabel(admintext[YoneticiArabasi[1]]);

Delete3DTextLabel(admintext[YoneticiArabasi[2]]);

Yazıları oluşturmak ve yazıları aracın üzerine eklemek için aşağıda yer alan kodları OnGameModeInit’e yapıştırın.

admintext[YoneticiArabasi[0]] = Create3DTextLabel(“« Yönetici »”, 0x00FF00FF, 0.0, 0.0, 0.0, 50.0, 0, 1);

admintext[YoneticiArabasi[1]] = Create3DTextLabel(“« Yönetici »”, 0x00FF00FF, 0.0, 0.0, 0.0, 50.0, 0, 1);

admintext[YoneticiArabasi[2]] = Create3DTextLabel(“« Yönetici »”, 0x00FF00FF, 0.0, 0.0, 0.0, 50.0, 0, 1);

Attach3DTextLabelToVehicle(admintext[YoneticiArabasi[0]], YoneticiArabasi[0], 0.0, 0.0, 0.0);

Attach3DTextLabelToVehicle(admintext[YoneticiArabasi[1]], YoneticiArabasi[1], 0.0, 0.0, 0.0);

Attach3DTextLabelToVehicle(admintext[YoneticiArabasi[2]], YoneticiArabasi[2], 0.0, 0.0, 0.0);

3. Oyuncuların Araca Binmesini Engellemek

Tanımlamalar yapıldı, araçlar ve araçların üzerindeki yazılar oluşturuldu. Son adım, oyuncuların araca binmesini engellemektir. Bunu yapmak için OnPlayerStateChange’i kullanmamız gerekiyor. OnPlayerStateChange’e gidin ve aşağıdaki kodları yapıştırın.

if(newstate == PLAYER_STATE_DRIVER && IsPlayerAdmin(playerid))

{

for(new i=0; i<sizeof(YoneticiArabasi); ++i)

{

if(GetPlayerVehıcleID(playerid) == YoneticiArabasi[i])

{

new Float:xord, Float:yord, Float:zord;

GetPlayerPos(playerid, xord, yord, zord);

SetPlayerPos(playerid, xord, yord, zord+2);

SendClientMessage(playerid, 0xFF0000FF, “Bu araca yalnızca {00FF00}YÖNETİCİLER {FF0000}binebiliyor.”);

}

}

}

Yukarıda yer verdiğimiz “!IsPlayerAdmin(playerid) kodu, araca yalnızca yöneticilerin binmesini sağlıyor. “/rcon login” komutunu kullanarak yönetici kimliğini elde etmemiş kişilerin araca binmesini engelliyor. Bunu sunucunuzdaki yetkililerin binebileceği hâle getirmek için “!IsPlayerAdmin(playerid)” kısmını yönetici değişkeninize göre değiştirebilirsiniz. Örneğin yönetici değişkeninizin “pAdmin” olduğunu varsayalım. Kodu şu şekilde düzenlememiz gerekiyor:

if(newstate == PLAYER_STATE_DRIVER && pAdmin[playerid] != 0)

Yukarıdaki şartımız, pAdmin değeri sıfır olan yani yönetici olmayan kişilerin araca binmesini engelliyor. Amacınız admine özel araba oluşturmak değil de bunu herhangi bir oyuncunun ismine özel hâle getirmek ise ilgili bölümü şu şekilde düzenleyebilirsiniz:

new name[24];

GetPlayerName(playerid, name, 24);

if(newstate == PLAYER_STATE_DRIVER && !strcmp(name, "SAMP Destek", true))

Nicke özel araç oluşturmanın son adımına geldiniz. Yukarıda yer alan “SAMP Destek” kısmı, araca binebilecek oyuncunun ismidir. Bu kısmı araca binmesini istediğiniz kişinin ismi ile değiştirebilirsiniz.

Yorum Gönder

0 Yorumlar