Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Amxmodx Kod Anlamları

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Amxmodx Kod Anlamları

Mesaj gönderen bestcore »

Arkadaşlar merhaba,

Bu konunun altına Kod yazmayı iyi bilen arkadaşlar belirttiğim soruların cevaplarını detaylı bir şekilde yazarsanız sevinirim.

Not 1: Bu konuyu açma amacım hem kendim için hemde ihtiyacı olan başka arkadaşlara bilgi amaçlı olması.
Not 2: Günlük 1,2 tane böyle konular ile gelişmeye çalışmak.

Soru 1 : Örneğin new xxxx[33] , new xxxx[128] , new xxx[33][128] (aynı anda), bunlarda parantez içlerinin anlamları.

Soru 2 : Örneğin new bool:xxx[33] , new bool:xx[128] , boolun ne zaman kullanacagımız ve yanındaki rakamların anlamları.

Soru 3 : Örneğin new Float: xxxx[MAX Clients +1] , floatın ne zaman kullanacagımız ve yanındaki parantez içinin anlamı.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10424
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Amxmodx Kod Anlamları

Mesaj gönderen Taha Demirbaş »

1. Soru Cevabı : xxxx[33]: Değişkenin array yani dize olduğunu belirtir. Ve bu dizenin 0 ile 33 ayrı verinin taşınabileceğini belirtir. Eğer xxx[33][33] ise çift boyut oluyor. 33 değer aralığındadır. Yani her bir boyut 0 ile 33 değer aralığında en fazla 32 ayrı dizeye sahip olabilir.

2. Soru Cevabı : new bool:xxx[33] mantıksal değer döndürecektir. Ve mantıksal bir değer girilebilir. Bu değerler ise 1 ile 0 arasında olacaktır. Bu değerler true ve false de olabilir. Yani pozitif ve pozitif olmayan-natural de negatif sayılıyor, doğru- yanlış olarak değer döndürür.

3. Soru Cevabı : Float : virgüllü , kesirli(virgüllü) sayı anlamına gelir. Mesela integer direkt 3 değerini integer olarak döndürebiliriz .Fakat 3,5 değerini float olarak virgüllü olarak döndürüz. C dillerinde bunu double olarak da döndürebiliriz. Fakat pawn dili daha salt bir dil olduğundan float ile işlem yapılır.
Maxclients = Max serverdeki olabilecek oyuncu sayisi (artı) kalan dize değeri(32 max oyuncu sayısı için artı 1 slot bırakılır fakat bu boş slot değildir. Değer aralığı olduğu için sınırdır.).

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Amxmodx Kod Anlamları

Mesaj gönderen bestcore »

Cevaplar için teşekkürler, güzel bir anlatım yaptınız, birdahaki konumda da böyle amxmodx ile ilgili bilgi konusu açıcağım. Tekrardan teşekkürler.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

ByBuLuT ☪
Mesajlar: 2368
Kayıt: Sal Oca 26, 2016 3:54 pm
Konum: Samsun
Clan İsmi: -
İletişim:

Amxmodx Kod Anlamları

Mesaj gönderen ByBuLuT ☪ »

bu konu altından devam edilebilir bence.

Soruda sorayım,
1) new - static farkı
2) %s %n %i %d %L anlam ve kullanım yerleri
3) connect , connectex , putinserver farkları
4) public'de neden id değil const id

mesela...

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Amxmodx Kod Anlamları

Mesaj gönderen bestcore »

Sorular güzel, bende 4. soruyu soracaktım neden const id kullanılıyor ?
teşekkürler.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10424
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Amxmodx Kod Anlamları

Mesaj gönderen Taha Demirbaş »

ByBuLuT ☪ yazdı: Prş Eki 01, 2020 10:19 pm bu konu altından devam edilebilir bence.

Soruda sorayım,
1) new - static farkı
2) %s %n %i %d %L anlam ve kullanım yerleri
3) connect , connectex , putinserver farkları
4) public'de neden id değil const id

mesela...
Cevap 1 : new : "Sadece pawn dili için açıklama yapıyorum" , Yeni obje tanımlamada kullanılıyor. string,constant, integer vs. tanımlamayı bir kere yapar. Tek sefer döner ve her aynı kod okunuşunda ramdaki veriyi silip üstüne yazacaktır.(en basit anlatımı).
static : ise bir objenin(string,integer gibi) bir kere tanımlanıp aynı kod 2. defa döndüğünde ramdaki(bellek) veri üzerinden işlem yapılacaktır. Yani sıfırlanmadan işlem görecektir. İsterseniz static ile tanımlandırdığınız bir değişken üzerinden toplama çıkartma işlemi yaptırın dediğimi anlayacaksınız.

Cevap 2: Burada bahsetmiş olduğunuz karakterleri değişken verilerin joker karakterleri gibi düşünün. Bu belirteçler constant(sabit) değişkenlerde işe yaramazlar. Sadece değişken objelerde işe yarayacaktır.
%s : Bulunduğu yere string geleceğini belirtir.
%n : bu belirteç kullanıcının ismini çekmek için kullanılmakta genelde.
%i : bu belirteç bulunduğu alanda sayı olacağını belirtir. Genelde bu sayı sabit olur. (cvar gibi fonksiyonlar kabul edilmiyor genelde)
%d: Bu belirteç bulunduğu alana %i gibi sayı getirir. Cvarlarda ve bazı string lerde bu belirteç kullanılır. Burada önemli olan sayılar bazen string olarak işleme alınır. Bunun sebebi veri kaynağının tipi ve değişkenin biçimi + aktarılış biçimidir. Fakat bir metni sayı olarak algılatamazsınız.
%L Kütüphane verisi nin bu alana geleceğini belirtir. Bu belirteçi kullanmak için dictionary(sözlük) tanıtmış olmanız gerekir.

Cevap 3 : connect : oyuncu sunucuya bağlandığı anda etkileşime geçen kodların bulunduğu public tir. connectex le arasında öyle bi fark yoktur. Connectex te oyuncu bağlanırken nicki ip port gibi bilgileri alınabiliyor diye biliyorum.
putinserver : bu public ise oyuncu oyuna bağlanır ve motd ekranını gördüğünde ilk sunucu ile fiziksel etkileşime girdiği anda(motd nin OK) butonuna tıkladığı zaman devreye girmektedir.
authorized: bu public ise sunucuya girdiğinizde konsolu açtığınızda karşınıza ":Haklar onaylandı. " gibi bir yazı çıkacaktır. O oyuncunun sunucuda gerekli oturumu açtığını belirtir. O esnada yapılan işlemler bu publicte işleme alınmaktadır.

Cevap 4 :
public başlarken id de kullanabilirsin const id de. O kodlamaya kalmış bir şey. Fakat const kullandığınızda id değişkeni sabit olacaktır. Yani publicin içerisinde id değişkeni ile const ifadesini kaldırmadan işlem yapamayacaksınız.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Amxmodx Kod Anlamları

Mesaj gönderen bestcore »

Soru 1 : Bir menüde bilgi olarak kaybolma süresi eklemek istiyorum ve burada şöyle yazıcak, kaybolma süresi : xx saniye ve bu belirlediğimiz süre ile kaybolacak geri sayım yaparak. Bunu nasıl yapabilirim menüye hangi kodları eklemem gerek.

Soru 2 : Menüde seçeneğe tıklayınca oyuncunun kendisini revlemesini nasıl sağlayabilirim. Server_cmd ile mi ? tam kod olarak atarmısınız.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

ByBuLuT ☪
Mesajlar: 2368
Kayıt: Sal Oca 26, 2016 3:54 pm
Konum: Samsun
Clan İsmi: -
İletişim:

Amxmodx Kod Anlamları

Mesaj gönderen ByBuLuT ☪ »

soru 1i tam anlamadım ne kaybolacak

soru 2 de ise server_cmd yapılmaması gereken tek şey olabilir. Farklı kütüphanelerde(include) farklı revleme komutları mevcut. Eklenti düzenlemeye başlamadan önce yazılı eklentileri okuyup anlamaya çalışmanı öneririm.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Amxmodx Kod Anlamları

Mesaj gönderen bestcore »

ByBuLuT ☪ yazdı: Pzr Eki 04, 2020 8:37 pm soru 1i tam anlamadım ne kaybolacak

soru 2 de ise server_cmd yapılmaması gereken tek şey olabilir. Farklı kütüphanelerde(include) farklı revleme komutları mevcut. Eklenti düzenlemeye başlamadan önce yazılı eklentileri okuyup anlamaya çalışmanı öneririm.
Teşekkürler, 1. soru da mesela rokette geri sayım yapılıyor 10 , 9 , 8 gibi bende açılan bir menünün 3 saniye geri doğru sayacak ve menü kapatılacak, bunu sormak istemiştim örnek eklentide atabilirsin.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

amad
Mesajlar: 1809
Kayıt: Cmt Nis 30, 2016 2:46 pm
Konum: Batman
Clan İsmi: Ke$`h | Gaming
İletişim:

Amxmodx Kod Anlamları

Mesaj gönderen amad »

bestcore yazdı: Cum Eki 02, 2020 8:38 pm Soru 1 : Bir menüde bilgi olarak kaybolma süresi eklemek istiyorum ve burada şöyle yazıcak, kaybolma süresi : xx saniye ve bu belirlediğimiz süre ile kaybolacak geri sayım yaparak. Bunu nasıl yapabilirim menüye hangi kodları eklemem gerek.

Soru 2 : Menüde seçeneğe tıklayınca oyuncunun kendisini revlemesini nasıl sağlayabilirim. Server_cmd ile mi ? tam kod olarak atarmısınız.
1- Kalan süreyi kullanıcıya dinamik olarak göstermek istiyorsanız menüyü kullanıcı için tekrar tekrar çağırmalısınız. Yani bu yapıya göre menüyü bir defa bastırıp süreyi birer defa azaltmayacaksınız. Menüyü her saniyede bir (süre değişkenini 1 azaltarak) ekrana basacaksınız. Bunun örneği de n.dgn'ın paylaştığı ctmenu eklentilerinde mevcut.

2- Basit bir revmenu eklentisinde gerekli cevabı bulabilirsiniz.

Link:
Linklerini gizle
Linki Kopyala
Cevapla