Ana içeriğe atla

Kayıtlar

Mart, 2017 tarihine ait yayınlar gösteriliyor

OnPlayerConnect Kullanımı ve Örnekleri

Selam arkadaşlar, bu yazıda OnPlayerConnect'i anlatacağız, bunun yanında kullanımını öğretip, örneklerle de pekiştireceğiz. Tıpkı konu anlatımları gibi. Ömrünüzün neredeyse tamamının çalışmakla geçtiğinden bilirsiniz. OnPlayerConnect Nedir? OnPlayerConnect, oyuncu girdiğinde olacakları konu alır. Yani giriş işlemleri diyebiliriz. Her oyuncu için ayrı ayrı çalışır, hiç durmaz anlayacağınız. Sadece girişte belirttiğiniz işlemleri yerine getirir ve "Of, yoruldum hacı ben ya. Biraz dur, dinleneyim..." falan filan demez. Bu eleman bizim aksimize, çok çalışkandır. OnPlayerConnect Kullanımı: Yeni bir sayfa açtığınızda public normal olarak aşağıdaki gibi olacaktır. public OnPlayerConnect(playerid) { return 1; } Bu başlangıç parantezi ile return değerine kadar olan kısım bizim işlemleri yazacağımız kısım oluyor. Yani, ne yapabiliriz? Mesela ekranın ortasına "Hoş geldin!" yazdırabiliriz. public  OnPlayerConnect(playerid) { GameTextForPlayer(playerid...

Pawn'da Işınlanma Yapımı

Selamlar, bugün SetPlayerPos fonksiyonunun nasıl kullanıldığını anlatacağım. Bu yazıda üç başlık altında anlatmaya çalışacağım. 1-) SetPlayerPos Fonksiyonu: SetPlayerPos(playerid, Koordinat X, Koordinat Y, Koordinat Z); Playerid , hangi oyuncunun ışınlanacağını belirtmede kullanacağımız id oluyor. Koordinat mantığını bilirsiniz. Kodlamada zaten sıkça matematik mantığı yürütmemiz gereken noktalar olur. Tabi bu daha en basiti. X, Y, Z koordinatları oyuncunun konumu belirlemeye yarar. Onları ise oyun içerisinde ikinci başlıktaki iki farklı şekilde alabiliriz. 2-) Koordinat Almak: Koordinat almak için iki alternatif yöntemimiz bulunmaktadır. Bunların birisi uzun yoldan diğeri ise kısa yoldan almaktır. Önce uzundan başlayıp sonra kısaya geçelim. Uzun Yöntem: Oyun içerisinde koordinatını alacağımız noktaya giderek "/save" komutunu kullanıyoruz. Daha sonra bu /save komutu ile kaydettiğimiz koordinatları almak için belgelerime girerek Gta San Andreas User File...

Oyuncuya Obje Takmak

Selamlar, bu yazıda oyuncuya nasıl obje takıldığını anlatacağım. İsterseniz giriş kısmını bu seferlik kısa tutalım ve direkt anlatıma geçelim. Obje ile alakalı fonksiyonlar şunlardır: SetPlayerAttachedObject - Oyuncuya obje takmak için kullanacağımız fonksiyon. RemovePlayerAttachedObject - Belirtilen slottaki objeleri kaldırmak için kullanacağımız fonksiyon. IsPlayerAttachedObjectSlotUsed  - Seçilen slotta objenin olup olmadığını kontrol etmek için kullanacağımız fonksiyon. EditAttachedObject - Oyuncudaki objeyi düzenlemek için kullanacağımız fonksiyon. Peki, bunlar nasıl kullanılır ki? 1-) Obje Takmak - SetPlayerAttachedObject: SetPlayerAttachedObject(playerid, index, modelid, bone, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ, materialcolor1, materialcolor2); Aynen, aynen. Biliyorum, bayağı bir karmaşık geldi sana. Ama dert etme, aslında çok basittir. Hadi, gel de tek te...

Oyuncuya Ateş Ettiğinde Çan Sesi

Herkese merhabalar, bugün herhangi bir oyuncuya ateş edildiğinde çan sesinin çıkmasını sağlayacak bir kod ile karşınızdayım. Kod bir oyuncuya sıkmadıkça çalışmaz. Örneğin boş bir alana sıktığında (duvar, hava veya zemin...) çan sesi çalmaz. Modunuzda OnPlayerGiveDamage publici yok ise aşağıdaki kodu modunuzun sonuna ekleyiniz. public OnPlayerGiveDamage(playerid, damgedid, Float: amount, weaponid, bodypart) { if (damagedid != INVALID_PLAYER_ID) { PlayerPlaySound(playerid, 17802, 0.0, 0.0, 0.0); } return 1; } Eğer modunuzda OnPlayerGiveDamage varsa sadece parantez içerisini alınız. Yani if ve dahili parantezi alınız: if (damagedid != INVALID_PLAYER_ID) { PlayerPlaySound(playerid, 17802, 0.0, 0.0, 0.0); }

Headshot Script

GTA: San Andreas Multiplayer (GTA SA-MP) için headshot scripti veya başka bir deyişle headshot sistemi arıyorsanız aşağıda yer alan kodları sizden eklemeniz istenen bölümlere ekleyerek arayışınıza son verebilirsiniz. İlk olarak oyun modunuzun başına aşağıdaki kodu yerleştirin. #define HS_SILAH 1 // Bu tanımı 1 yaparsanız elinde yalnızca Sniper olan oyuncular headshot atabilir fakat 0 yaparsanız headshot silah fark etmeksizin atılabilir. İkinci adımı atmak için OnPlayerGiveDamage'a gitmemiz gerekiyor. CTRL + F ile arattığınızda OnPlayerGiveDamage sonucuna gitmiyorsanız aşağıdaki kodların tamamını modunuzun sonuna ekleyin. public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) { new Float:zirhh; GetPlayerArmour(damagedid, zirhh); if(zirhh == 0) { #if HS_SILAH == 1 if(weaponid == 34) SetPlayerHealth(damagedid, 0.0); // GivePlayerMoney(playerid, 500); // HS attığında para vermesini istiyorsanız satırın başındaki işareti kaldırabilirsiniz. #e...

Yaralıyken İşlem Uygulayamama

Selamlar, bugün yaralıyken oyuncunun bir şey yapamaması için bir include ile karşınızdayım. Direkt kod şeklinde vermememin sebebi filterscriptlere ve modlara direkt olarak eklemeniz içindir. Yapmanız gerekenleri dosyanın içerisinde vermiş olsam da buradan da kısaca bir özet geçeceğim. Kurulum Bilgileri: - Pawno > Includes klasöründeki yarali.inc'i server dosyalarının içerisindeki Pawno > Includes kısmına atınız. - Modu veya filterscripti aç ve başına #include <yarali> yazınız. - Hatanın çıkmasını istediğin komutun başına YaraliHatasi(playerid); fonksiyonunu yazınız. Eğer komut kullanmasını engellemek istiyorsak herhangi bir komutun başına YaraliHatasi(playerid); yazmamız yeterli olacaktır. Eğer zcmd veya dcmd kullanıyorsanız aynı şekilde, hiç fark etmeksizin kullanabilirsiniz. CMD:yaraliyimdostlar(playerid, params[]) { YaraliHatasi(playerid); return 1; } Oyuncu hasar aldıktan sonra 3 saniye içerisinde bu komutu kullanamaz. Bunu sadece komutta uygu...

Detaylıca SendClientMessage Kullanımı

Selamlar, bugün SendClientMessage kullanımını detaylı bir şekilde anlatacağım. Düşünüyorum yani öyle bir şey. Yapıyorum da ara sıra böyle şeyler. Yapılıyor yani hacı. Geçmesek mi anlatıma? Ha, geçelim diyorsun. Sen diyorsan ben koşa koşa geçerim reis. SendClientMessage, oyun içerisinde sohbet ekranına yazı yazdırmaya yaramaktadır. Çok ahım şahım özelliği yok ama hemen hemen scriptte kullanılıyor. Şimdi hocam, fonksiyon örneği şöyle oluyor: SendClientMessage(playerid, renk, "mesaj" ); Burada kısaca özet geçmek gerekirse: Playerid: Id değerini buraya yazıyoruz. Mesela OnPlayerConnect ise direkt oyuncuya uygulanacaktır. O yüzden playerid yazıyoruz. Renk: Burası ise renk kodunu koyduğumuz kısım. Eğer ki, renk kodlarıyla uğraşamam ki usta ben diyorsan o zaman sıkı dur. Sana bir sürprizim var. Heyecanlanma, kasma kendini. Çok mükemmel bir şey değil ama ihtiyacını giderecek bir şey. Renk kodlarını buradan görebilirsin. Oradaki kodları modun başına eklemen yeterli....

Detaylı Print Kullanımı

Merhabalar, bu anlatım ile detaylıca Print fonksiyonunun kullanışını öğrenmiş olacağız. Print, ekrana mesaj yazdırmaya yaramaktadır. Fakat bu oyun içerisinde görünmeyip sadece loglarda görünmektedir. Yani windows bir işletim sisteminde siyah ekran önünde o yazıyı okuyabiliriz. Çok gerekli değildir ama çok gereksiz de değildir. 😎 Örnek Kullanım: Print( "Selam dünya, ben geldim ağlamaya..." ); Burada tırnak içerisindeki yer ekrana yazılacak yazı oluyor. Anladığınız üzere, ekranda da "Selam dünya, ben geldim ağlamaya..." yazacaktır.

Bakım Modu

Selamlar, bugün sunucuya girişi engelleme şeysi ile karşınızda bulunmaktayım. Bakım modu devrede olduğu sürece oyuncular spawn olamaz, spawn olduğunda bir mesaj eşliğinde tabiri caizse tekme yer. Mesajı script başından değiştirebilirsiniz. (Sadece tırnak içerisini değiştirmelisiniz.) Eğer spawn olmadan önce rcon girişi yaparsanız tekme yemezsiniz. Kullanım Bilgileri: /bakim - Eğer bakım modu devrede değilse sunucuyu bakıma alır ve girişleri kapatır, eğer devrede ise sunucuya girişleri açar ve herkes girebilir. İndirme Bağlantıları: Solidfiles

GameTextForPlayer Nasıl Kullanılır?

Selamlar, bu yazıda sizi GameTextForPlayer fonksiyonu ile tanıştıracağım. Kendisi çok işe yaramasa da iyidir, sevilir. İyi çocuktur yani, bir tanırsanız sevmemeniz için sebep yok ama sevmeniz için de bir sebep yok. Neyse, anlattıkça siz karar verirsiniz diyelim. Hadi o zaman, tanıtımımıza geçelim artık. İlk olarak, fonksiyonumuzun kullanımı aşağıdaki gibidir: GameTextForPlayer(playerid, "Mesaj" , Süre, Stil Numarası); Şimdi, bunların ne olduğunu az çok anlamışsındır. Hani okuyorsun ya, o yüzden dedim yani. Bunların genel tanımını yapmak gerekirse: Mesaj: Ekranın herhangi bir yerinde, belirlediğiniz stil numarasına göre çıkacak olan yazı. Süre: Burası ise ne kadar süre kalacağının belirlendiği kısım. Burayı saniye olarak alacaksanız "Saniye * 1000" şeklinde yapabilirsiniz. Mantığını kavramışsınızdır diye düşünüyorum. Stil Numarası: Burası ise belirtilen stil numaralarından hangisinin olacağını belirlediğiniz kısım. Bu stillere ise buradan ulaşabilir...

Pawn Hazır Renk Kodları

Pawn hazır renk kodları içerisinde toplamda 66 tane renk vardır. SendClientMessage veya benzeri fonksiyonlarda 0xFF0000FF yazmak yerine RENK_KIRMIZI yazabilirsiniz. Size zamandan tasarruf ettirebilir. Kodları kullanabilmek için aşağıdaki kodları modun başına eklemeniz yeterli olacaktır. #define RENK_KOYUMAVI 0x0026FFFF #define RENK_ACIKMAVI 0x1487D9FF #define RENK_KIRMIZI 0xFF0000FF #define RENK_ACIKYESIL 0x00FF00FF #define RENK_KOYUMAVI 0x036E03FF #define RENK_ACIKTURKUAZ 0x08E8DEFF #define RENK_AKUAMARIN 0x7FFFD4FF #define RENK_ALIZARIN 0xE32636FF #define RENK_BAKIR 0xB87333FF #define RENK_DENIZMAVISI 0x00FFFFFF #define RENK_ALTIN 0xFAB216FF #define RENK_TURUNCU 0xFA7116FF #define RENK_ALEV 0xFA3C16FF #define RENK_PEMBE 0xFA16FAFF #define RENK_MOR 0x750675FF #define RENK_MAT 0x066875FF #define RENK_DENIZYESILI 0x2E8B57FF #define RENK_DEVEDIKENI 0xD8BFD8FF #define RENK_GECEMAVISI 0x003366FF #define RENK_HARDAL 0xFFDB58FF #define RENK_HAVUC 0xED9121FF #defi...

Kick Oylaması Scripti

Selamlar, bu script ile birisi kick oylaması başlatabilir ve oylama bitişinde de oyuncu belirtilen değerden fazla oy almış ise kicklenir. Her şey dinamik olarak modun başında ayarlanabilir haldedir. Ayarlar kısmında oradan değiştirmeniz gereken yerlerden bahsedeceğim. Komutlar: /votekick [oyuncu ıd] - Oylamayı başlatır. /oyver - Eğer bir oylama başlatılmış ise oy verir. Herkesin bir tane oy verme hakkı vardır. Ayarlar: #define RCON_YETKILI - Bu kısımda sabit değer 1 olarak ayarlanmıştır. Eğer 1 olarak bırakırsanız /votekick komutunu sadece rcon yetkililer kullanabilir. #define OYLAMA_SURESI  - Oylama başladıktan sonra oylamanın ne zaman sonuçlanacağını buradan ayarlamalısınız. Sabit saniye 30 olarak ayarlandı, siz kendinize göre düzenleyebilirsiniz. #define MIN_OY  - Oyuncunun kick yemesi için minimum gereken oyu buradan ayarlamalısınız. Sabit değer olarak 5 ayarlandı, siz kendinize göre düzenleyebilirsiniz. #define BEKLEME_DURUMU - Tekrar oy kullanma süre...

Takvim Scripti

Selamlar, bu script ile oyuncu /takvim komutunu kullandığı zaman sağ tarafta takvim açılır; eğer açıksa da kapanır. Tıpkı windows takvimi gibi klasik görünüme sahiptir. Gerçekçi bir tarafı yoktur. Gerçek zamanla birlikte ilerlemez. Tamamen gösteriş amaçlı yapılmıştır. İndirdiğiniz dosyadaki .amx dosyasını filterscripts klasörüne atıp server.cfg açarak filterscripts karşısına takvim yazınız. İndirme Bağlantıları Solidfiles | Alternatif Solidfiles | Dosya.co | Alternatif Dosya.co

Unknown Command Hatasını Değiştirmek

Selamlar, bu anlatım ile yanlış komut girildiğinde karşımıza çıkan "Unknown Command" hatasını nasıl başka bir yazı ile değiştirebileceğimizi anlatacağım. Gayet kısa ve öz olarak kodlara dalacağız, mümkünse ağzını yüzünü kırmamaya çalışacağız ama kırılırsa da ne yapalım artık. Amman, boş ver be birader. Gel biz girişelim şu kodlara artık. İlk önce, modunuzda zcmd kullanıyor iseniz OnPlayerCommandText publici geçersiz olur. Onun yerini ise OnPlayerCommandPerformed alır. Evet, gelin de nasıl yapılacağını göstereyim. public OnPlayerCommandPerformed(playerid, cmdtext[], success) { if (!success) return SendClientMessage(playerid, -1, "Bu komutu kullanamazsın." ); return 1; } Burada success komut başarılıysa anlamında kullanılıyor. Tamam, belki aranızda ingilizcesi pek iyi olmayanlar vardır diye söyledim, kızmaya gerek yoktu hacı. Eğer zcmd kullanmıyorsanız, dcmd ya da normal OnPlayerCommandText üzerinden gidiyorsanız o da şöyle yapılıyor. public OnPla...

Dinamik Para Çantası Scripti

Bu script ile dinamik para çantası oluşturabilir, oluşturduğunuz para çantasına ışınlanabilir ve onu silebilirsiniz. Para çantasını oluştururken içindeki para miktarını girmeniz gerekmektedir. Oyuncu üzerine geldiği zaman para ödülünü alır ve para çantası silinir. (Oyundaki görünümü yukarıdaki gibidir.) İndirme Bağlantıları: Solidfiles | Alternatif Solidfiles

San Andreas Multiplayer Rcon Komutları

Selamlar, bu yazının devamında rcon komutlarının tümünü açıklaması ile birlikte öğrenmiş olacaksınız. Arkanıza yaslanın ve tutunun, uçuşa geçiyoruz! /rcon login "Sunucunun rcon şifresi" - Bu komut ile rcon girişi yaparız. Giriş yapmadan önce diğer komutları kullanamayız. /rcon kick "Oyuncunun id değeri" - Bu komut ile belirtilen idyi sunucudan atarız. Eğer bir id girmezseniz kendiniz kick yiyebilirsiniz, yapıyor öyle şeyler kerata. 😃 /rcon ban "Oyuncunun id değeri" - Bu komut ile belirtilen idyi sunucudan yasaklarız. Tıpkı oyundan atmada olduğu gibi burada da id girmezseniz kendinizin yasaklanma ihtimali var. Aman diyeyim, iki saat uğraşmayın sonra. /rcon unbanip "Ip numarası" - Bu komut ile attığımız ipnin yasağını kaldırabiliriz. Ip numarası yerine yasaklanan elemanın ip numarasını gireceğiz. /rcon banip "Ip numarası" - Bu komut unbanip komutunun aksine çalışır. Belirttiğiniz ipyi yasaklamaya yarar. /rcon password ...

Pawn'da If ve Else Kullanımları

Selam arkadaşlar, bu anlatım ile if ve else döngüsünün nasıl kullanıldığını hafiften hafiften anlatacağım. Önce bir rüzgar esecek, sonra biraz soğuk olacak; ama sakın üşümeyin, bu gelecek anlatım hemen içinizi ısıtacak. Hadi, geçelim şu anlatıma! İlk önce, if nedir ondan bahsedelim. Bak birader, bu if denilen eleman şartlar bağlıyor. Mesela oyuncunun elinde silah olmadığını bununla öğreniyoruz. Nasıl mı? Örnek bir kod ile hemen gösterelim kardeşim. if (GetPlayerWeapon(playerid) == 0) Yukarıda GetPlayerWeapon fonksiyonunu "playerid" değerinde kullandık. Oyuncunun elinde "0" idli silah varsa, yani bu bir silah olmayıp yumruğun idsidir. (San Andreas Multiplayer silahlarına ulaşmak için buraya tıklayınız.) İşlemleri uygulamak için ise parantez içerisine gerçekleşecek işlemleri yazarız. Kafan karışmış olabilir, stres yapma. İn biraz alta, orada kodlarla anlatalım sana. if (GetPlayerMoney(playerid) == 0) // Oyuncunun elinde yumruk varsa { // Parantez Açtık...

Oyuna Girdiğinde Kuralların Gösterilmesi

Selamlar, bu yazıda oyuncunun oyuna girdiğinde karşısına çıkacak olan kurallar diyaloğu ile karşınızdayım. Script, her giren oyuncuya kuralları gösterir ve ona iki seçenek sunar. Eğer kabul ederse oyuncu devam eder, reddet butonuna basar ise kick yer. (Sunucudaki görünümü yukarıdaki gibidir.) Bu scripti aşağıdaki linklerden indirebilirsiniz. Solidfiles

GTA 5 Stili Ölüm Ekranı

GTA 5 stili ölüm ekranı ile serinin son oyunu olan Grand Theft Auto 5'te (GTA 5) ölünce çıkan "Wasted" ekranını San Andreas Multiplayer sunucunuza ekleyebilirsiniz. Artık öldüğünüzde ekranda wasted yazısı ile karşılaşacaksınız. Filterscripti  Solidfiles  ile indirebilirsiniz.

Pawn'da Matematiksel İşlemler Yapmak

Pawn dilinde matematik işlemler yapmak oldukça kısa ve kolaydır. Bu yazıda basit olarak, bölme, çarpma, toplama ve çıkarmayı anlatacağım. İsterseniz, işlemlerimizi OnGameModeInit üzerinde ekrana yazdıralım. new string[50]; format(string, sizeof (string), "Toplam: %d" , 5+5); // Toplama işlemi yaptık. print(string); Mantık basit, anlayacağınız şekilde iki sayıyı yazıp ortaya işareti yapıştırıyoruz. Matematik mantığı, kodlamada da değişen bir şey olmuyor. Bölme, çarpma ve çıkarmayı da gösterelim. new  string[50]; format(string,  sizeof (string),  "Sonuc: %d" , 5/5);  // Toplama işlemi yaptık. print(string); format(string,  sizeof (string),  "Sonuc: %d" , 5*5);  // Toplama işlemi yaptık. print(string); format(string,  sizeof (string),  "Sonuc: %d" , 5-5);  // Toplama işlemi yaptık. print(string); Çıktılar ise aşağıdaki gibi olacaktır.

Pawno ve Pawn Nedir?

Selamlar, bu yazımda Pawno ve Pawn'ın ne olduğundan bahsedeceğim. Bu iki terim sa-mp sunucularınızı açarken sunucunuzu geliştirmeniz için gereken şeyler oluyor. Yazının devamında zaten öğrenmiş olacaksınız. 😋 Pawno Nedir? SA-MP'ın yapmış olduğu basit bir editördür. Kodlarken ipucu gösterimi, kodları vurgulama, sağ bölgede fonksiyonları listeleme gibi özellikleri vardır. Çok çok basite indirilmiş bir editördür. Tıpkı Pawn dili gibi. Pawn editörlerine ise bu sayfadan ulaşabilirsiniz. Aslına bakarsanız, notepad++ ile de kodlama yapabilirsiniz. Fakat UTF-8 dilinde yazmayı unutmayın. Aksi takdirde Türkçe karakter bozuklulukları ortaya çıkabilmektedir. (Notepad++ ile nasıl pawn kodlama yapabileceğinizi "PAWN for SA-MP in Notepad++" şeklinde arama yaparak öğrenebilirsiniz.) Pawn Nedir? CompuPhase tarafından, C dili düşünülüp, ondan daha basite indirilmiş bir dildir. Sadece SA-MP oyununda kullanılmayıp Half-Life gibi oyunlarda da kullanılmaktadır. Siz hangi...

Sunucu Açacaklara 5 Demir Tavsiye!

Selam arkadaşlar, bu yazımda sunucu açacaklara 5 demir değerinde sağlam, kolay kolay yıkılmayacak tarzında tavsiyeler vereceğim, düşünüyorum yani öyle bir şeyler. Bakalım, neler çıkacak ortaya. 😏 1-) Gözlem Yapalım! Efendim, gözlem denilen şey her şeyde kullanılmaktadır. En küçük örneği yapılan deneyler. Deney ve gözleme dayalı olur, öyle değil mi? Hah, işte burada ana fikrimiz de o. Piyasadaki sunucuları, oyuncuları gözlemleyiniz. Sonra ortaya insanların ilgisini çekecek bir proje fikri atma aşamasına geçiniz. 2-) Ortaya Sağlam Bir Mod Çıkaralım! Mod sunucunun gövdesidir. Oyuncunun ilgisini çekecek şeylerin modunuzda olması çok önemlidir. Sunucunuzu geliştirirken oyuncuların da fikri önemli rol oynamaktadır. Sonuçta siz sunucuyu onların isteğine göre şekillendiriyorsunuz. Ayrıca her zaman, sık sık güncellemeler getirmelisiniz. Oyuncunun tam sıkıldığı anda yeni bir güncelleme gelmesi ile birlikte oyuncunun "Oha!" demesini sağlamalısınız. 3-) Makinenizin Özellikl...

Maksimum Ping Sınırı

Selamlar, maksimum ping sınırı oyuncuların belirtilen ping değerinin üstüne çıkmasını engellemeye yaramaktadır. Yüksek pingler sunucuda lag oluşturmaya neden olabilmektedir. Bu kod ile bunu engelleyebiliriz. Modun başına aşağıdaki kodu ekleyip, kendimize göre düzenleyelim. #define MAX_PING 500 Ben sabit değer olarak 500 aldım. Siz bu değeri kendinize göre değiştirebilirsiniz. Şimdi ise modun sonuna aşağıdaki kodu ekleyelim. forward PingKontrolleri(); public PingKontrolleri() { for ( new i; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { if (GetPlayerPing(i) >= MAX_PING) { Kick(i); // Oyuncuyu burada kickledik. } } } return 1; } Şimdi de timerı çalıştırmak için OnGameModeInit publicine aşağıdaki kodu ekleyelim. SetTimer( "PingKontrolleri" , 5000, true ); // 5 saniyede bir kontrol ettirdik. Son olarak, iyi kullanımlar dilerim! 😊

RemoveBuildingForPlayer Nereye Eklenir?

Selam arkadaşlar, bu yazımda RemoveBuildingForPlayer kodlarının nereye ekleneceğinden bahsedeceğim. RemoveBuildingForPlayer oyun içerisinde bulunan herhangi bir objeyi silmeye yaramaktadır. Yazının devamında ise nereye koyulacağını söyleyeceğim. Biraz mantık yürüteceğiz. Şimdi, RemoveBuildingForPlayer oyuncuya hitap ediyor. Oyuncunun objesini silmeye yarıyor. Bunu OnGameModeInit'e koyarsak mantıksız olmaz mı? Ne işe yarıyordu OnGameModeInit? Modun açıldığında olacakları ayarlamamıza yarıyordu. Fakat burada oyuncu ile alakalı bir kavram yok. Birde OnPlayerConnect publicine bakalım. Kendisi oyuncunun girdiğinde olacakları ayarlamamıza yarıyordu, öyle değil mi? Biz bütün oyuncuların objesini silmek istemiyor muyuz? Her giren oyuncunun haritasında o objenin olmamasını istemiyor muyuz? Böylece, OnPlayerConnect'e ekleyerek her giren oyuncudan o objeyi silmiş olduk.

Maaş Sistemi

Bu maaş sistemi daha çok freeroam sunucuları için uygundur. Oyuncu /isdurumu ile işe girebilir ve işten ayrılabilir. Her ikisi de tek bir komuta bağlıdır. Sunucuda her 15 dakika içerisinde modun başında belirttiğiniz maaşı (Varsayılan olarak 10.000$ olarak ayarlanmıştır.) vermektedir. Eğer oyuncunun iş durumu aktif değilse yani oyuncu işsizse maaş vermemektedir. Aynı zamanda sistemde sabit olarak aktif ayarlanmış maaş sorularını otomatik yanıtlayan botu da kapatıp açabilirsiniz. Modun başında aşağıdaki kodları değiştirebilirsiniz. #define MAAS_SORULARI 1 // Maaş sorularını otomatik yanıtlar. (1 = Yanıtlama açık, 0 = Yanıtlama kapalı.) #define MAAS_MIKTARI 10000 // 15 dakikada bir işte olan oyunculara verilecek maaş miktarı. İndirme Bağlantıları: Solidfiles  veya  alternatif Solidfiles  bağlantılarından scripti indirebilirsiniz.

Public / Callback Tanımları

Callback, San Andreas Multiplayer'ın sitesi üzerinden indirdiğiniz server dosyalarında yer alan Pawno'yu açıp "New" (Yeni) butonuna tıkladığınızda önünüze gelen geri aramalara verilen isimdir. Bu geri aramalar, SA:MP server dosyalarında dahili olarak gelen a_samp ile bağlantılıdı r. Public / callback tanımları ile bunların ne işe yaradığını öğrenebilirsiniz. SA:MP İçin Public / Callback Tanımları OnGameModeInit: Oyun modu açıldığında çağrılır. Örneğin sunucu açıldığında ekrana sunucunun açıldığını yazdırmak için print fonksiyonunu kullanabiliriz. OnGameModeExit: ModeInit'in aksine oyun modu kapatıldığında çağrılır. Bu callback oyuncuların verilerinin korunmasında kritik rol oynar. Sunucunun aniden kapanması durumunda tüm kullanıcıların güvenli bir biçimde çıkmasını ancak buradan sağlayabilirsiniz. OnFilterScriptInit: Filterscript açıldığı zaman çağrılır. Bu, oyun modunda değil filterscriptte kullanılır. OnGameModeInit ile aşağı yukarı aynı görevi üstlenir. OnFi...

Bekleme Odası Scripti

Bekleme odası scripti, hapishane haritası veya interior numarası ile uğraşmak istemiyorsanız oldukça faydalı bir scipt olabilir. Bu scriptte iki komut vardır. Bu komutlardan biri, belirtilen oyuncunun ekranını siyah yapar ve olduğu yere sabitler. Komut kimin üzerinde uygulanırsa o kişi bulunduğu yerden ayrılmadan bir kişinin ikinci komutu kullanarak kendisini bekleme odasından çıkarmasını bekler. Komutları aşağıdan öğrenebilirsiniz. Bekleme Odası Scripti Nasıl Kullanılır? /bogonder (Oyuncu ID): Belirtilen oyuncuyu bekleme odasına gönderir. /bogetir (Oyuncu ID): Belirtilen oyuncuyu bekleme odasından çıkartarak oyununa normal bir şekilde devam etmesini sağlar. Solidfiles  veya  alternatif Solidfiles  sayfalarından scripti indirebilirsiniz.

Anti DeAMX - Modunuz İçin Güvenlik!

Anti DeAMX ile modunuzun veya filterscriptinizin derlemesinin çalınması durumunda kaynak dosyasına ulaşılmasını engellemek için aşağıdaki kodları kullanabilirsiniz. Bu kodları kullanmak, modun veya filterscriptin ".amx" dosyasının ".pwn" dosyasına dönüştürülmesini engeller. İlk olarak "Pwn" formatına çevrilmesini istemediğiniz modu veya filterscriptin kaynak dosyasını (pwn) açın. Kodları oyun moduna eklemek istiyorsanız OnGameModeInit, filterscripte eklemek istiyorsanız OnFılterScriptInit'i Ctrl ve F tuşlarını kullanarak aratın ve callbackin içerisine aşağıda yer alan kodu ekleyin. antideamx(), WasteDeAMX(); Bu kodları filterscript veya oyun moduna ekledikten sonra modunuzun ya da filterscriptinizin en sonuna şu kodları yerleştirin: WasteDeAMX() { new b; #emit load.pri b #emit stor.pri b } AntiDeAMX() { new a[][] = { "Unarmed (Fist)", "Brass K" }; #pragma unused a } Anti DeAMX Ne İşe Yarar? Yukarıdaki kodların temel amacı, "...