GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
17 Kasım 2025, 23:13:57

Apolet Sistemi Include

Başlatan Sayrox, 15 Ekim 2019, 23:25:29

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Sayrox

Selamlar, kolay gelsin cümleten hayırlı kullanımlar.
PAWN Kodu: Seç
#include <Apolet> // Ekleyin modun üst kısmına
Örnek kullanım 1:
PAWN Kodu: Seç
Apolettak(playerid,0x8D8DFFFF,"Memur I")
Örnek Kullanım2:
PAWN Kodu: Seç
new a = GetPlayerMoney(playerid);
new b = playerid;
new string[60];
format(string,sizeof(string),"Üzerinde %d$ para var /soy (%d)",a,b);
Apolettak(playerid,0x8D8DFFFF,string)

//Apolettak(playerid,color, const text[]) // Oyuncuid,renk kodu,apoletyazisi

Download Apolet Include

Hastebin Link

Virus Total Apolet Include
Son düzenlenme: 16 Ekim 2019, 21:04:00 Sayrox

cyclops

Güzel, paylaşım teşekkürler.

İletişim Adreslerim
Discord: cyclops#3983

DoğruIuk sonsuzIuğun güneşidir. NasıI oIsa doğar.


ayazcik

Bak ilk defa buraya başka bir yorum yazıyorum, işime yarar cidden.


Amper

Hatalı kullanım.

#define MAX_APOLET (200)

new Text3D:apolet[MAX_APOLET];
public OnGameModeInit()
{

    for(new i=0;i<MAX_APOLET;i++)
{
          apolet = Create3DTextLabel("Apolet", -1, 30.0, 40.0, 50.0, 40.0, -1, 1);
}   
    #if defined SAYROXFUNC_OnGameModeInit
        return SAYROXFUNC_OnGameModeInit();
    #else
        return 1;
    #endif
}

İlk olarak burada bir loop döndürmene gerek yok. İkinci olarak apolet değişkeninin arrayları ilk önce üzerinden 200'e kadar açılıyor fakat sonrasında MAX_PLAYERS üzerinden veri almaya başlıyor ?_? Boşuna veri sorunları yaratır ve hatalı bir kullanım. 200 idsinden kişiden sonra sorunlar çıkmaya başlar(not: performans sorunları en öncelikli uyarım.)

stock ApoletClear(playerid)
{
  Attach3DTextLabelToPlayer(apolet[playerid], playerid, 0,0,0.3);
  Update3DTextLabelText(apolet[playerid],-1,"");
}

stock Apolettak(playerid,color, const text[])
{
    new string[64];
format(string,sizeof(string),"%s",text);
Attach3DTextLabelToPlayer(apolet[playerid], playerid, 0,0,0.3);
Update3DTextLabelText(apolet[playerid],color,string);
}

bu iki fonksiyon içerisinde sadece playerid üzerinden bir textlabel oluşturup işleme sokabilirsin.

ayrıca neden streamer kullanılmıyor? streamer kullanarak yarattığınız textlabellerin buga girmesine neden olacaktır. (anlık kaybolmalar vs)
Son düzenlenme: 16 Ekim 2019, 11:12:34 Amper

Sayrox


Radless

"Life's too short to hold grudges."

Amper

Alıntı yapılan: Sayrox - 16 Ekim 2019, 13:32:18
@Amper boş yapma icraat yap.
İki kuruşluk bilgin ile yazdığın kodun içerisindeki hataları yazıyorum. Bu includeyi kullanacak elemanların modunda sonsuz döngüden kaynaklı çökmeler olmasın diye yazıyorum köşene çekil ve işi bilenlere bırak. Ne kadar ağzımı bozmak istemesem de bunun gibilere bu bölümde konu açma izni verilmesi çok sakıncalı @Zoxy


Goddeww

Amper adam doğru söylüyor, hatalarını düzeltmek yerine daha iyisini yapıp konu açabilirsin. :)

NOT: Artık SA:MP ile ilgilenmiyorum laf dalaşına girmeyeceğim.


Zoxy

Amper sadece bulduğu hataları eleştiriyor, ona teşekkür etmen lazım. Hatalar sana doğru yolu gösterir, hatanın farkına varmazsan yaptığın işi sorgulamazsın ve hep doğru olduğunu düşünürsün. Eleştiriler sana kendini geliştirmende yardımcı olacaktır, agresif tavırlar sergilemeye gerek yok. Sistem paylaşıyorsan eleştirilere açık olacaksın, konuyu açan kişi eleştirilere karşı saygılı bir şekilde yaklaşmalıdır yanlış olsa bile.


Amper


Sayrox

Benim yorumlarım silindiyse bu konuya daha fazla cevap yazmama gerek yok. Bizi bilen biliyor.
Son bir sözüm var. Amper 15 yaşında olmasına rağmen her konuda uzmandır ona güvenin ve ısrarla takip edin. 2 Tane forum paneli editledi ve her işi öğrendi.

Harika Amper:
full stack developer,

programming skills: c#, objective c, python, mysql, C++(but --)
web skills: php, javascript(ek: jQuery), html, css
UI

Tüm yazılım dillerini bilir her konuda ustadır.


Amper

beni insanlara tanıttığın için teşekkür ederim, modülüne göre bu olmalıyım:


NexoR

Tanımladığın değer #define MAX_APOLET (200) MAX_PLAYERS (500-1000) olarak değiştirmelisiniz. Sunucu kapasitesi 200 den fazla ve oyuncu kapasitesi de 200 den fazlaysa array hatası alırsın. Çünkü değeri playerid olarak giriyorsun. Ayrıca temizlemek için Destroy işlemi kullanmalısın ki boş yere TextLabel slotlarını kullanmasın. Girişte oluşturup çıkışta yok etmek en doğru işlemdir.


Sayrox

Alıntı yapılan: NexoR - 16 Ekim 2019, 15:25:24
Tanımladığın değer #define MAX_APOLET (200) MAX_PLAYERS (500-1000) olarak değiştirmelisiniz. Sunucu kapasitesi 200 den fazla ve oyuncu kapasitesi de 200 den fazlaysa array hatası alırsın. Çünkü değeri playerid olarak giriyorsun. Ayrıca temizlemek için Destroy işlemi kullanmalısın ki boş yere TextLabel slotlarını kullanmasın. Girişte oluşturup çıkışta yok etmek en doğru işlemdir.

Hastebin Link
Includede güncelleme yapıldı tavsiyeler için teşekkürler. Velakin kullanıcısının includeleyi kullanmadan. Önce içini açıp incelemesi gerekir. MAX_APOLET değeri 200 bilinçli bir şekilde yazdım. Şu zamanda 200 playerı geçecek bir sunucu barındırmak pek mümkün değil. Diyelimki geçti zaten kullanıcı 200 id sonrası Apoletin takılmadığının farkına varacaktı ve MAX_APOLET değerini değiştirecekti.

Artık bunlara gerek kalmadı oyuncu giriş yaptığında yeni bir create3dtextlabel oluşuyor çıkış yaptığında label siliniyor.

Olası çıkabilecek yan etkiler her ilacın barındırdığı gibi kullanıcılara duyrulur Apolet includede barınmaktadır.

Güncelleme öncesi ilk 0 - 200 arası oyuncular apolet sisteminden faydalana biliyorlardı.

Artık sunucuya giriş yapan ve bağlı durumda olan tüm oyuncular apolet sisteminden faydalanabiliyor.

Sampın maximum desteklediği global 3d text label sayısı 1024'dür.

Yan etki olasılığı şu zamanda %0.1 bir diyeniliriz. Oluşabilecek tek yan etki. sunucunuzda 1000 kişi aynı anda online durumda olursa. Size kalan Create3dTextLabel sayısı 24 adettir.

Yan etki etkisini sıfıra indirmenin bir yoluda. Create3dTextLabel stoklarını tamamen oyunculara bırakmak. ve Include kullanımına başladıktan sonra her sunucuda bulunan.

Streamer plugin aracılığı ile bundan sonra. CreateDynamic3DTextLabel stoklarını kullanmaya devam edebilirsiniz.

Gerekli kontroller ve testler tarafımca yapıldıktan sonra sizlerin kullanımına sunuldu. Şuanda görünürde her hangi bir konum veya pozisyon bugu barındırmıyor.


Pablo

Alıntı




Pawnotürk Üyesi 2017-2020