Admin 2012’den bu yana başta SA:Mp olmak üzere birçok oyun üzerine bloglar yöneten; kodlama, oyun modları / scriptleri, rehberler ve teknik içerikler üzerine çalışmalar yürüten bir içerik üreticisi. 2 yorum

SA-MP Public ve Callback Tanımları - Pawn Callback Rehberi (2026)

SA-MP Public ve Callback tanımları, Pawn ile geliştirilen San Andreas Multiplayer (SA-MP) oyun modlarında belirli olaylar gerçekleştiğinde otomatik olarak çalışan fonksiyonlardır. Oyuncunun sunucuya bağlanması, oyunda ölmesi, araç kullanması, sohbet mesajı göndermesi veya bir kontrol noktasına girmesi gibi olaylar ilgili callback fonksiyonları üzerinden yönetilir.

Pawn ile oyun modu veya filterscript geliştirmeye yeni başlıyorsanız bu rehberde en sık kullanılan SA-MP callback isimlerini, ne zaman çalıştıklarını ve hangi amaçlarla kullanıldıklarını bulabilirsiniz.

SA-MP Pawn Public ve Callback tanımları rehberi

Public ve Callback Nedir?

Callback, belirli bir olay meydana geldiğinde SA-MP sunucusu veya ilgili sistem tarafından çağrılan fonksiyondur. Örneğin OnPlayerConnect, bir oyuncu sunucuya bağlandığında çalışır. OnPlayerDeath ise oyuncu öldüğünde çağrılır.

public anahtar sözcüğü, Pawn dilinde fonksiyonun dışarıdan çağrılabilen bir fonksiyon olarak tanımlanmasını sağlar. SA-MP tarafından çağrılan birçok callback bu şekilde tanımlanır. Ancak her public fonksiyon bir callback değildir; özel amaçlarla tanımlanan public fonksiyonlar da bulunabilir.

SA-MP İçin Public ve Callback Listesi

Aşağıdaki listede yaygın SA-MP callback fonksiyonları ve temel görevleri yer almaktadır. Bazı callback'ler kullanılan SA-MP sürümüne veya open.mp gibi uyumlu sunucu platformlarına göre değişebilir.

Oyun Modu ve Filterscript Callback'leri

  • OnGameModeInit: Oyun modu başlatıldığında çalışır. Değişkenleri, araçları, oyuncu sınıflarını ve sunucuya ait başlangıç ayarlarını hazırlamak için kullanılır.
  • OnGameModeExit: Oyun modu kapatılırken çağrılır. Kaynakları temizlemek veya gerekli kapanış işlemlerini yapmak için kullanılabilir. Ani sunucu çökmesi durumunda çalışması garanti değildir.
  • OnFilterScriptInit: Bir filterscript yüklendiğinde çalışır.
  • OnFilterScriptExit: Bir filterscript kaldırıldığında veya kapatıldığında çalışır.

Oyuncu Bağlantısı ve Oyun Durumu

  • OnPlayerConnect: Oyuncu sunucuya bağlandığında çalışır. Oyuncu verilerini hazırlamak ve bağlantı mesajı göndermek için kullanılabilir.
  • OnPlayerDisconnect: Oyuncu sunucudan ayrıldığında çalışır. Oyuncu verilerini kaydetmek ve oturumla ilişkili kaynakları temizlemek için kullanılır.
  • OnPlayerSpawn: Oyuncu oyunda doğduğunda çalışır.
  • OnPlayerDeath: Oyuncu öldüğünde çalışır. Ölüm bilgilerini kaydetme ve ölüm sonrası işlemleri yürütme amacıyla kullanılabilir.
  • OnPlayerRequestClass: Oyuncu karakter veya sınıf seçim ekranında bir sınıfı görüntülemek istediğinde çalışır.
  • OnPlayerRequestSpawn: Oyuncu doğma isteğinde bulunduğunda çalışır. Desteklenen SA-MP sürümlerinde doğma isteğini kontrol etmek için kullanılabilir.
  • OnPlayerUpdate: Oyuncunun senkronizasyon verileri güncellendiğinde sık aralıklarla çalışır. Gereksiz işlemler sunucu performansını olumsuz etkileyebilir.
  • OnPlayerStateChange: Oyuncunun oyun durumu değiştiğinde çalışır.
  • OnPlayerInteriorChange: Oyuncunun interior değeri değiştiğinde çalışır.

Sohbet ve Komut Callback'leri

  • OnPlayerText: Oyuncu sohbet mesajı gönderdiğinde çalışır. Mesajı filtrelemek veya özel sohbet sistemleri geliştirmek için kullanılabilir.
  • OnPlayerCommandText: Oyuncu komut girdiğinde çalışır. Bazı komut işlemcileri, örneğin ZCMD, komutları farklı şekilde yönettiğinden kullanım şekli değişebilir.
  • OnDialogResponse: Oyuncu bir dialog penceresindeki seçeneğe tıkladığında veya yanıt gönderdiğinde çalışır.

Tuşlar, Hasar ve Silahlar

  • OnPlayerKeyStateChange: Oyuncunun tuş durumunda değişiklik olduğunda çalışır.
  • OnPlayerTakeDamage: Oyuncu hasar aldığında çalışır. Hasar kaynağı ve miktarı gibi bilgiler üzerinden işlem yapılabilir.
  • OnPlayerGiveDamage: Oyuncu başka bir oyuncuya hasar verdiğinde çalışır.
  • OnPlayerGiveDamageActor: Oyuncu bir aktöre hasar verdiğinde çalışır; desteklenen sürümlerde kullanılabilir.
  • OnPlayerWeaponShot: Oyuncu silah ateşlediğinde çalışır. Ateş etme bilgilerini incelemek için kullanılabilir.

Araç Callback'leri

  • OnVehicleDeath: Araç yok edildiğinde çalışır.
  • OnVehicleSpawn: Araç yeniden oluşturulduğunda çalışır.
  • OnPlayerEnterVehicle: Oyuncu bir araca binme işlemini başlattığında çalışır.
  • OnPlayerExitVehicle: Oyuncu araçtan indiğinde çalışır.
  • OnVehicleRespray: Araç boyandığında çalışır.
  • OnVehicleSirenStateChange: Aracın siren durumu değiştiğinde çalışır; desteklenen sürümlerde kullanılabilir.

Checkpoint ve Pickup Callback'leri

  • OnPlayerEnterCheckpoint: Oyuncu kendisi için etkin olan kontrol noktasına girdiğinde çalışır.
  • OnPlayerLeaveCheckpoint: Oyuncu kontrol noktasından çıktığında çalışır.
  • OnPlayerEnterRaceCheckpoint: Oyuncu yarış kontrol noktasına girdiğinde çalışır.
  • OnPlayerLeaveRaceCheckpoint: Oyuncu yarış kontrol noktasından ayrıldığında çalışır.
  • OnPlayerPickUpPickup: Oyuncu bir pickup ile etkileşime geçtiğinde çalışır.

TextDraw ve Harita Callback'leri

  • OnPlayerClickPlayerTextDraw: Oyuncu kendisine ait bir player-textdraw öğesine tıkladığında çalışır.
  • OnPlayerClickTextDraw: Oyuncu standart textdraw öğesine tıkladığında çalışır.
  • OnPlayerClickMap: Oyuncu oyun haritasında bir konum işaretlediğinde çalışır.

Diğer Callback'ler

  • OnPlayerFinishedDownloading: İlgili istemcinin model indirme işlemi tamamlandığında çalışır; SA-MP 0.3.DL gibi destekleyen sürümlere özgüdür.

Callback Nasıl Tanımlanır?

Bir callback genellikle public anahtar sözcüğüyle ve ilgili parametrelerle tanımlanır. Örneğin, oyuncu sunucuya bağlandığında mesaj göndermek için OnPlayerConnect kullanılabilir.

PCallback.pwn — Pawno
1 2 3 4 5
public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid, 0xFFFFFFFF, "Sunucuya hos geldiniz!");
    return 1;
}

Bu örnekte playerid, sunucuya bağlanan oyuncunun kimliğini temsil eder. SendClientMessage fonksiyonu oyuncuya mesaj gönderir. return 1; ise callback'in başarıyla işlendiğini belirtmek için yaygın olarak kullanılır.

Sık Sorulan Sorular

Public ile callback arasındaki fark nedir?

public, Pawn dilinde fonksiyon tanımlamak için kullanılan bir anahtar sözcüktür. Callback ise belirli bir olay gerçekleştiğinde çağrılan fonksiyonun görevidir. SA-MP callback'lerinin çoğu public olarak tanımlanır, ancak iki terim aynı anlama gelmez.

Callback'ler nerede kullanılır?

Callback'ler oyun modu veya filterscript kaynak kodunda tanımlanır. Olay gerçekleştiğinde SA-MP tarafından çağrılırlar.

Her callback'i oyun moduna eklemek gerekir mi?

Hayır. Yalnızca ihtiyacınız olan olayları işleyen callback'leri tanımlamanız yeterlidir. Kullanılmayan callback'leri eklemek zorunlu değildir.

OnPlayerUpdate neden dikkatli kullanılmalıdır?

Bu callback çok sık çalışır. İçine ağır döngüler, gereksiz veritabanı sorguları veya yoğun işlemler eklemek sunucu performansını düşürebilir.

Yorumlar (2)

  1. icon
    Adsız
    # 23 Nisan 2017 16:00
    Bazılarına tıklayınca kullanımına ulaşamadım yardımcı olur musunuz ?
    • Adsız
      Admin Author
      # 23 Nisan 2017 16:06
      Selamlar, şu an hepsi yazılmış ancak her gün tekil tekil yayımlanmaktadır. En geç 3 Mayıs'a kadar hepsi eklenmiş, tıklanabilir vaziyette olacaktır. Anlayışınız için teşekkürler. İyi günler. :)

Yorum Gönder

Yorum yapmak için Google hesabına veya bir web sitesine ihtiyacınız yoktur. Kimlik seçme bölümündeki varsayılan değeri "Adı/URL" olarak seçebilir, isminizi yazdıktan sonra "Devam" butonuna tıklamanız yeterlidir. Sizlere gösterdiğimiz minik adımların arkasından yorumunuzu yazmaya başlayabilirsiniz. İçeriğimizle ilgili yorumunuzu yaptıktan sonra "Yayınla" butonuna basmayı unutmayın!

Cancel