Kullanıcı Tag Listesi

16 sonuçtan 11 ile 16 arası

Threaded View

  1. #1
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Basit Bir Respawn Plugini - Tüm Ayrıntılarıyla [Başlangıç Seviyesi] [Temel Konular]

    Bu derste basit bir respawn plugininin nasıl yapıldığını tüm ayrıntılarıyla öğreniceksiniz. Önce bize gerekenleri bulalım.

    1. Kullanıcının parasını öğrenme ve düzenleme için cs_get_user_money ve cs_set_user_money kodları gerek. Bu kodları
    "cstrike" kütüphanesinde bulabiliriz.

    2. Kullanıcının canlı mı ölü mü olduğunu öğrenmek için is_user_alive kodu gerekli. Bu kod zaten amxmodx kütüphanesinde mevcut.

    3. Plugini tetiklemek için bir konsol komutu kaydetmemiz gerek. Bunun için register_clcmd kodunu kullanıcaz.

    4. Respawnın fiyatını ayarlamak için bir cvar ayarı kaydetme kodu ve cvar öğrenme kodu gerekli. Bunlar da register_cvar ve
    get_pcvar_num olucak.

    5. Son olarak kullanıcıyı yeniden canlandırmak için ExecuteHamB kodu gereki bunu da "hamsandwich" kütüphanesinde bulabiliriz.
    İlk başlayanlara hamsandwich zor gelebilir. Bu yüzden spawn(id) kodunu kullanabilirsiniz bu da "fun" kütüphanesinde yer alıyor.

    Bize gereken kütüphaneler:
    cstrike
    hamsandwich

    Bu kütüphaneleri kullanabilmemiz için çağırmamız gerek. Çağırmak için de #include kodunu kullanıyoruz. include, içermek demektir
    yani plugine içermesini istediğimiz kütüphaneler için kullanıyoruz.

    PHP- Kodu:
    #include <amxmodx>
    #include <amxmisc>
    #include <hamsandwich>
    #include <cstrike> 
    Şimdi birde ücreti belirleyebileceğimiz bir cvar kaydetmemiz gerek.
    bunun için bir değişken yaratalım. Değişkenimiz global olmalı yani tüm publiclerde kullanılabilir olmalı.
    Eğer bir publicin içinde yaratırsak diğer publiclerde kullanmaya çalıştığımızda değişkeni tanıyamadığı için hata verir.
    Ama global olarak yaratırsam yani tüm publiclerin dışında yaratırsam bir sorun olmaz.
    PHP- Kodu:
    new gUcret
    Değişkeni yarattık. "Ucret"in başındaki "g"nin bir önemi yok. Scripterlar kolaylık olsun diye stringleri, integerları vs değişkenleri karıştırmamak için bu tür kısaltmalar kullanırlar. "g" ön eki global değişkenler için kullanılır.

    Plugin_init, pluginin tetikleyicilerini kaydettiğimiz bölümdür.
    Şimdi plugin_init e geçelim.

    Öncelikle bize bir public tetikleyici gerek. Yani konsoldan bir komut girildiğinde çalışmasını istediğimiz kodları tetikleyecek.
    Bunun için register_clcmd kodunu kullanıcaz

    PHP- Kodu:
    public plugin_init() {

        
    register_plugin(PLUGINVERSIONAUTHOR)    

        
    register_clcmd("say /respawn","Respawn_Satin_Al")
        

    Konsolda say /respawn komutu çalıştığında yani bir oyuncu /respawn yazdığında, Respawn_Satin_Al publici tetiklenicek ve o
    publicteki kodlar okunacak.

    Şimdi bir cvar yaratıp gUcret global değişkenini o cvarla tanımlayalım
    PHP- Kodu:
    public plugin_init() {

        
    register_plugin(PLUGINVERSIONAUTHOR)    

        
    gUcret register_cvar("respawn_ucreti","10000")

        
    register_clcmd("say /respawn","Respawn_Satin_Al")
        

    Cvarlarda ilk kısım cvar kodu, 2. kısım default değerdir.

    Şimdi Respawn_Satin_Al publicine geçelim.

    PHP- Kodu:
    public Respawn_Satin_Al(id) {


    Parantez içerisine yazdigimiz yazi kullanicinin pawndaki id sidir. Yani oyundaki id ile bir alakasi yok.
    Parantez içine yazdiğimiz herhangi bir yazi bu publici tetikleyen kişi olur.id yazmak zorunlu degildir
    isterseniz x, abc, vs yazabilirsiniz. burda bilmemiz gereken id = publici tetikleyen kullanici

    /respawn yazıldı ve motor burayı okumaya başlıyor.Kullanıcıyı canlandırmadan önce birkaç kontrol yapmamız gerekir.
    Bunlardan biri kullanıcının canlı olup olmadığıdır. Doğal olarak zaten canlı bir kullanıcının tekrar canlanamaması gerekir. Bu sayede bazı buglar önlenmiş olur. Bunu kontrol etmek için ise is_user_alive kodunu kulanıyoruz.
    Bu bir bool dur yani ancak iki farklı değer alabilir. 1 yani true, 0 yani false. True doğru, false yanlış demektir.
    Eğer id kişisi canlıysa motor burayi true olarak okur, eğer canlı değilse false olarak okur.Ve motorun if kısmını okuması
    için parantez içinin true olması gerekir. Eğer false olursa motor if kısmını yanlış diye es geçer.

    PHP- Kodu:
    public Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {
     
        }

    Motor id kişisinin canlı olduğunu görünce is_user_alive kodunu true olarak okudu ve if bölümüne girdi.
    Şimdi canlı olan kullanıcının yeniden canlandırılmaması için bir uyarı mesajı ve plugini durdur kodlarını girmeliyiz.

    PHP- Kodu:
    public Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {
            
    client_print(id,print_chat,"Zaten Canlisiniz")
            return 
    PLUGIN_HANDLED
        
    }

    client_print, id kişisinin ekranında yazı çıkması için kullanılır.
    client printin 4 farklı çeşiti vardır.
    print_chat -> Chat kısmında mesaj gösterir
    print_console -> Konsolda mesaj gosterir
    print_center -> Ekranın ortasında mesaj gosterir
    print_notify -> Konsolda mesaj gösterir.

    client_print(id,print_tipi,"Yazi") şeklinde kullanılır.

    Respawn_Satin_Al publicinin çağrısını durdurmak için return PLUGIN_HANDLED kullandık. PLUGIN_HANDLED kullanıcının /respawn komutunu durduracaktır.

    return PLUGIN_HANDLED -> Çağrıyı Durdur
    return PLUGIN_CONTINUE -> Çağrıyı bu pluginde durdur, Diğer pluginlerde devam ettir.
    şimdilik bu ikisini bilmeniz yeterli.

    Kullanici canli değilse motor is_user_alive kodunu false olarak okur ve if kısmını atlar. Şimdi eğer kullanıcı
    canlı değilse neler olucak onları ayarlayalım. Canlı - Ölü kontrolünden geçtik şimdi sırada para kontrolü var.

    id kişisinin parasını öğrenmek için cs_get_user_money(id) kullanıyoruz. Örneğin kullanıcının parası 2000.
    Motor cs_get_user_money(id) kodunu 2000 olarak okuyacaktır.
    Parayı öğrendikten sonra id kişisinin mevcut parasını cvara girilen değer ile karşılaştırmamız gerek. Bu karşılaştırmayı
    yapabilmek için motorun cvarı okumasını sağlamamız gerek. get_pcvar_num(pcvar) yani pcvar olarak tanımlanmış cvar ayarındaki
    mevcut numarayı öğren kodu bunu sağlıyor. Daha önce ücreti ayarladığımız cvarı tanımladığımız değişkeni buluyoruz.
    Bizim kullandığımız değişken gUcret idi.

    PHP- Kodu:
    public Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {
            
    client_print(id,print_chat,"Zaten Canlisiniz")
            return 
    PLUGIN_HANDLED
        
    }
        if(
    cs_get_user_money(id) < get_pcvar_num(gUcret)) {
        }

    Eğer kullanıcının parası gUcret ile tanımlanmış cvardan küçük ise if kısmını oku. anlamına geliyor.
    id kişisinin parası 2000 dedik. gUcret ile tanımladığımız cvara da 10000 yazdık. Yani motor parantez içini
    if(2000<10000) olarak okuyacaktır. 2000 < 10000 karşılaştırması da doğru bir karşılaştırma olduğu için
    motor parantez içini true olarak görecek ve if kısmını okuyacaktır.
    Fakat eğer id kişisinin parası 15000 olsaydı,
    15000 < 1000 karşılaştırması yanlış bir karşılaştırma olacağından if kısmını okumayacaktı.

    Şimdi id kişisinin yeterli parası olmadığını öğrendik. Bu durumda bir uyarı mesajı ve plugini durdur kodu girmeliyiz.

    PHP- Kodu:
    public Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {
            
    client_print(id,print_chat,"Zaten Canlisiniz")
            return 
    PLUGIN_HANDLED
        
    }
        if(
    cs_get_user_money(id) < get_pcvar_num(gUcret)) {
            
    client_print(id,print_chat,"Yeterli Paraniz Yok. Gereken %d",get_pcvar_num(gUcret))
            return 
    PLUGIN_HANDLED
        
    }

    Eğer id kişisine gösterilecek mesajda bir değişkenin olmasını istiyorsak
    %s, %i, %d, %f gibi belirteçler kullanırız...
    %d -> Doğal sayı değişkenlerini belirtmemizi sağlar. Doğal Sayı kümesi:{0,1,2,3... }
    %f -> Ondalık sayı değişkenlerini belirtmemizi sağlar. Ondalık sayı kümesi:{...-1...-0,5...0...0.5...1...}
    %i -> Tamsayi değişkenlerini belirtmemizi sağlar. Tamsayilar kümesi:{...-3,-2,-1,0,1,2,3...}
    %s -> Düz yazı değişkenlerin belirtilmesini sağlar. Düz yazılar: "1234...abcdefgh..."

    Örnek bir print:
    PHP- Kodu:
    client_print(id,print_chat,"Degisken 1: %d Degisken 2: %s Degisken 3: %d",degisken1,degisken2,degisken3
    Virgülden sonra yazdığımız değişkenler yazıda doğru sırada ve doğru belirteçlerle gösterilmelidir.

    Para kontrolünü de yaptık. Şimdi sıra para eksiltme ve yeniden canlandırmada.

    PHP- Kodu:
    public Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {
            
    client_print(id,print_chat,"Zaten Canlisiniz")
            return 
    PLUGIN_HANDLED
        
    }
        if(
    cs_get_user_money(id) < get_pcvar_num(gUcret)) {
            
    client_print(id,print_chat,"Yeterli Paraniz Yok. Gereken %d",get_pcvar_num(gUcret))
            return 
    PLUGIN_HANDLED
        
    }
        
    cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gUcret))

    cs_set_user_money(id,yeni para)

    Yeni para yerine şunu yazdık "cs_get_user_money(id) - get_pcvar_num(gUcret)" . Kullanıcının parasının 15000 olduğunu varsaymıştık.
    ve gUcret tanımlı cvar ayarını da 10000 olarak ayarlamıştık. Bu durumda motor yeni para kısmını şöyle görüyor:
    15000 - 10000
    Bu da 5000 olduğu için id kişisinin yeni parası 5000 olmuş oluyor yani sadece 10000 eksiliyor.

    Şimdi sıra yeniden canlandırmada.
    Ham Sandwich modülü sanal fonksiyonları ve varlıkları çağırma veya yakalamada kullanılabilir.
    Biz bir round başladığında insanların canlanma fonksiyonunu çağırıcaz yani kullanıcaz.
    bu fonksiyonun adı Ham_CS_RoundRespawn
    ve fonksiyonu çağırmaya yarayan kod ExecuteHamB

    PHP- Kodu:
    public Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {
            
    client_print(id,print_chat,"Zaten Canlisiniz")
            return 
    PLUGIN_HANDLED
        
    }
        if(
    cs_get_user_money(id) < get_pcvar_num(gUcret)) {
            
    client_print(id,print_chat,"Yeterli Paraniz Yok. Gereken %d",get_pcvar_num(gUcret))
            return 
    PLUGIN_HANDLED
        
    }
        
    cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gUcret))
        
    ExecuteHamB(Ham_CS_RoundRespawn,id)
        
    client_print(id,print_chat,"Basariyla Yeniden Canlandiniz !")
        return 
    PLUGIN_HANDLED

    id kişisinde Ham_CS_RoundRespawn fonksiyonunu çalıştırdık ve canlandırdık.
    Eğer bu kodu aklınızda tutmakta zorlanırsanız "fun" kütüphanesindeki spawn(id) kodunu da kullanabilirsiniz.

    return PLUGIN_HANDLED kodunun buradaki görevi bu çağrının diğer pluginlere sıçramasını önlemektir.

    Ve Son Hali:
    PHP- Kodu:
    #include <amxmodx>
    #include <amxmisc>
    #include <hamsandwich>
    #include <cstrike>

    #define PLUGIN "Plugin ismi"
    #define VERSION "versiyonu"
    #define AUTHOR "yapimcisi"

    new gUcret;
    public 
    plugin_init() {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
        
    gUcret register_cvar("respawn_ucreti","10000"
        
        
    register_clcmd("say /respawn","Respawn_Satin_Al")
    }
    public 
    Respawn_Satin_Al(id) {
        if(
    is_user_alive(id)) {

            
    client_print(id,print_chat,"Zaten Canlisiniz")
            return 
    PLUGIN_HANDLED

        
    }
        if(
    cs_get_user_money(id) < get_pcvar_num(gUcret)) {

            
    client_print(id,print_chat,"Yeterli Paraniz Yok. Gereken %d",get_pcvar_num(gUcret))
            return 
    PLUGIN_HANDLED
            
        
    }
        
    cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(gUcret))
        
    ExecuteHamB(Ham_CS_RoundRespawn,id
        
    client_print(id,print_chat,"Basariyla Yeniden Canlandiniz !")
        return 
    PLUGIN_HANDLED 

    Not: Aklınıza takılan herhangi bir şey olursa sorabilirsiniz. Ek olarak öğrenmek istediklerinizi belirtebilirsiniz. Ona göre ders paylaşabilirim.
    Konu akcaliberkk tarafından (18-09-12 Saat 00:14 ) değiştirilmiştir.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


Benzer Konular

  1. Biohazard Respawn Plugini
    By Schwertle in forum Zombi Biohazard Pluginleri
    Cevaplar: 65
    Son Mesaj: 27-09-16, 03:10
  2. [DR] Respawn Plugini
    By HeRqeLee in forum Jail & Deathrun Pluginler
    Cevaplar: 32
    Son Mesaj: 14-08-14, 03:04
  3. Otomatik Aim Rengi Değiştirme Plugini ( Basit ama Hoş )
    By NiCoMeDiA in forum [PLUGİN] Cs 1.6 Eklentiler
    Cevaplar: 33
    Son Mesaj: 24-03-13, 23:42
  4. Zombie Plague Respawn Plugini Önemli
    By sakarya42 in forum Çözülmüş İstekler
    Cevaplar: 0
    Son Mesaj: 04-09-12, 15:56

Kullanıcıların arama motorlarındaki kullandığı taglar:

respawn dersi csplague

respawn kodu

cs 1.6 hamsandwich kodlari

Counter Strike

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  

SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94