Sol Banner
Sağ Banner

PlaceholderAPI'de bir javascript isteği & Paylaşıldı

iTaKka_

Seçkin madenci.
Katılım
7 Aralık 2018
Mesajlar
3
Tepki puanı
2
Puanları
1,155
Merhaba arkadaşlar, bir sorunum var ve uzun zamandır bunu nasıl yapabileceğimi düşünüyorum. Bu konudan sonra bir çok kişinin de bu fikri beğeneceğini düşünüyorum.
Şimdi uzun zamandır arayıp da nasıl yapılacağını çözemediğim bir sorun var ben de PlaceholderAPI'nin javascripti ile yapılabileceğini düşünerek umut ile bu konuyu açıyorum :)

Şimdi neredeyse bütün skyblock sunucularında oyuncuların sohbette adının solunda ada seviyeleri yazıyor, ben bunu daha ilgi çekici hale getirmek istiyorum, bu yüzden şöyle bir şey javascript ile mümkün mü acaba?


ASkyblock ada seviyesi 0-4.999 arasında bir kişi sohbete yazdığında beyaz görünecek, Örn: [3.500] iTaKka: Selam
5.000-9.999 arasında, [
7.000] iTaKka: Selam
10.000-29.999 arasında, [25.000] iTaKka: Selam
3.0000-49.000 arasında, [45.000] iTaKka: Selam
50.000-99.999 arasında, [85.000] iTaKka: Selam
100.000-299.999 arasında, [250.000] iTaKka: Selam
300.000-499.999 arasında, [450.000] iTaKka: Selam
500.000-999.999 arasında, [850.000] iTaKka: Selam
1.000.000-2.999.999 arasında, [2.500.000] iTaKka: Selam
3.000.000-4.999.999 arasında, [4.500.000] iTaKka: Selam
5.000.000-10.000.000 arasında, [9.500.000] iTaKka: Selam


Yani kısacası 0'dan 10M ada seviyesine kadar seviye aralığına göre sohbete yazdığında yazdığım renklerde görünmesini istiyorum. Bunu yapabilecek birisi vardır umarım, gerekirse çok abartılı olmazsa ücretli bile olabilir :)

KONU ANLATIM KISMI:

@AhmetOzkan dostumuzun yardımı sayesinde isteğim gerçekleşti. Kullanmak isteyenler için aşağıda javascript kodunu bırakıyorum

Javascript'in Çalışma Amacı:
Oyuncuların ada seviyelerine göre placeholder(yer tutucu)'nun renk değiştirmesi ve oyuna yeni bir hava katması.

Gereken Plugin(Eklenti)'ler:




Javascript'i Nasıl Kuracağım?
Gereken eklentileri sunucunuza yükledikten sonra, sunucusunuzu başlatın ve konsoldan;


/papi ecloud download javascript
/papi ecloud download ASkyBlock


komutlarını uygulayın ve bu adımları takip edin;

  • plugins klasörü içinde oluşan PlaceholderAPI klasörüne giriyoruz.
  • Klasör içerisinde olan javascripts klasörüne girin, yoksa o isimde bir klasör oluşturun.
  • İçine girdikten sonra .js uzantılı bir text dosyası oluşturmalısınız. ( Örn: AdaSeviye.js )
  • AdaSeviye.js dosyasını oluşturduktan sonra aşağıdaki kodu dosyanın içine yapıştırın ve kaydedin.
JavaScript:
function getLevelColor(){
    var level = parseInt("%askyblock_level%");
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }else if(level >= 50000 && level <= 99999){
        return "&2";
    }else if(level >= 100000 && level <= 299999){
        return "&b";
    }else if(level >= 300000 && level <= 499999){
        return "&3";
    }else if(level >= 500000 && level <= 999999){
        return "&d";
    }else if(level >= 1000000 && level <= 2999999){
        return "&5";
    }else if(level >= 3000000 && level <= 4999999){
        return "&c";
    }else if(level >= 5000000 && level <= 9999999){
        return "&4";
    }
    else if(level >= 5000000){
        return "&4";
    }
}

getLevelColor();

  • Daha sonra javascripts klasöründen çıkın ve javascript_placeholders.yml dosyasını bulun.
  • Dosyayı açtıktan sonra içerisine aşağıdaki kodu yapıştırın ve kaydedin.
Kod:
adaseviye:
  file: adaseviye.js

Artık bütün işlemler tamamlandığına göre konsoldan veya oyundan /papi reload yazın.

Sohbet Kısmında Nasıl Kullanacağım?

Sonuç elde etmek için sohbet formatı için kullandığınız eklentide %javascript_adaseviye%%askyblock_level% yer tutucusunu kullanabilirsiniz.

örnek.png

örnek1.png
örnek2.png
örnek3.png

Tekrardan @AhmetOzkan 'a teşekkürler...

 
Son düzenleme:

sinantan

Seçkin madenci.
Katılım
6 Haziran 2018
Mesajlar
29
Tepki puanı
6
Puanları
1,130
Açıkçası kesin bir bilgim yok sadece fikir yürütüyorum yanlışsam kusura bakma.

Messagefilter gibi bir plugin sayesinde bence bunu yapabilirsin. Ancak ada seviyeleri sürekli değişkenlik gösterdiği için o kısmı bir tık ayarlamak zor olabilir.
 

AhmetOzkan

Seçkin madenci.
Katılım
3 Temmuz 2018
Mesajlar
51
Tepki puanı
37
Puanları
1,025
Konum
Ankara
JavaScript:
function getLevelColor(){
    var level = parseInt("%askyblock_level%");
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }
    .
    .
    .
    .
    .
    else if(level >= 5000000){
        return "&4";
    }
}

getLevelColor();

hepsini eklemedim geriye kalanları
else if(level >= minimum level && level <= maksimum level){
return "renk kodu";
}
buna uydurarak ekleyebilirsin.
not: ilk rengi 5 binden küçükse şekilde yaptım. ölüpte - levele düşenler için.
not2: en son renktekini 5 milyondan büyükse şeklinde yaptım. olurda 10 milyonu aşarlarsa renksiz kalmasınlar diye :D
 

iTaKka_

Seçkin madenci.
Katılım
7 Aralık 2018
Mesajlar
3
Tepki puanı
2
Puanları
1,155
JavaScript:
function getLevelColor(){
    var level = parseInt("%askyblock_level%");
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }
    .
    .
    .
    .
    .
    else if(level >= 5000000){
        return "&4";
    }
}

getLevelColor();

hepsini eklemedim geriye kalanları
else if(level >= minimum level && level <= maksimum level){
return "renk kodu";
}
buna uydurarak ekleyebilirsin.
not: ilk rengi 5 binden küçükse şekilde yaptım. ölüpte - levele düşenler için.
not2: en son renktekini 5 milyondan büyükse şeklinde yaptım. olurda 10 milyonu aşarlarsa renksiz kalmasınlar diye :D
Kod:
function getLevelColor(){
    var level = parseInt("%askyblock_level%");
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }else if(level >= 50000 && level <= 99999){
        return "&2";
    }else if(level >= 100000 && level <= 299999){
        return "&b";
    }else if(level >= 300000 && level <= 499999){
        return "&3";
    }else if(level >= 500000 && level <= 999999){
        return "&d";
    }else if(level >= 1000000 && level <= 2999999){
        return "&5";
    }else if(level >= 3000000 && level <= 4999999){
        return "&c";
    }else if(level >= 5000000 && level <= 9999999){
        return "&4";
    }
    else if(level >= 5000000){
        return "&4";
    }
}

getLevelColor();

Böyle yaptım umarım doğru yapmışımdır, hata vermedi ama /papi parse me %javascript_adaseviye% yaptığımda hiç bir şey yazmıyor :(
 

AhmetOzkan

Seçkin madenci.
Katılım
3 Temmuz 2018
Mesajlar
51
Tepki puanı
37
Puanları
1,025
Konum
Ankara
Kod:
function getLevelColor(){
    var level = parseInt("%askyblock_level%");
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }else if(level >= 50000 && level <= 99999){
        return "&2";
    }else if(level >= 100000 && level <= 299999){
        return "&b";
    }else if(level >= 300000 && level <= 499999){
        return "&3";
    }else if(level >= 500000 && level <= 999999){
        return "&d";
    }else if(level >= 1000000 && level <= 2999999){
        return "&5";
    }else if(level >= 3000000 && level <= 4999999){
        return "&c";
    }else if(level >= 5000000 && level <= 9999999){
        return "&4";
    }
    else if(level >= 5000000){
        return "&4";
    }
}

getLevelColor();

Böyle yaptım umarım doğru yapmışımdır, hata vermedi ama /papi parse me %javascript_adaseviye% yaptığımda hiç bir şey yazmıyor :(
/papi parse me %javascript_adaseviye%%askyblock_level% şeklinde dener misin?
 

362Sefa

Test 1 2 3
Katılım
27 Aralık 2019
Mesajlar
362
En iyi cevaplar
11
Tepki puanı
130
Puanları
1,390
Konum
Samsun
Web Sitesi
sefadursun.net.tr
JavaScript:
function getLevelColor(){
    var level = parseInt("%askyblock_level%");
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }
    .
    .
    .
    .
    .
    else if(level >= 5000000){
        return "&4";
    }
}

getLevelColor();

hepsini eklemedim geriye kalanları
else if(level >= minimum level && level <= maksimum level){
return "renk kodu";
}
buna uydurarak ekleyebilirsin.
not: ilk rengi 5 binden küçükse şekilde yaptım. ölüpte - levele düşenler için.
not2: en son renktekini 5 milyondan büyükse şeklinde yaptım. olurda 10 milyonu aşarlarsa renksiz kalmasınlar diye :D

Yararlı Bir Konu @AhmetOzkan Başarılarının Devamını Diliyorum. @Mucosoft Haftanın Cevabı Olabilirmi ?
 

AhmetOzkan

Seçkin madenci.
Katılım
3 Temmuz 2018
Mesajlar
51
Tepki puanı
37
Puanları
1,025
Konum
Ankara
Oldu, çok teşekkür ederim :) Bu arada ada seviyeleri mesela 10000 gibi olduğu zaman ben 10.000 şeklinde görünmesini de sağlayabilir miyim acaba?

rica ederim :). dediğin için alttakini bi dener misin?

JavaScript:
function getLevelColor(level){
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }
    .
    .
    .
    .
    .
    else if(level >= 5000000){
        return "&4";
    }
}

function getFormattedLevel(){
    var level = "%askyblock_level%";
    return getLevelColor(level*1) + level.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}

getFormattedLevel();




Yararlı Bir Konu @AhmetOzkan Başarılarının Devamını Diliyorum. @Mucosoft Haftanın Cevabı Olabilirmi ?
teşekkürler.
 

iTaKka_

Seçkin madenci.
Katılım
7 Aralık 2018
Mesajlar
3
Tepki puanı
2
Puanları
1,155
rica ederim :). dediğin için alttakini bi dener misin?

JavaScript:
function getLevelColor(level){
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }
    .
    .
    .
    .
    .
    else if(level >= 5000000){
        return "&4";
    }
}

function getFormattedLevel(){
    var level = "%askyblock_level%";
    return getLevelColor(level*1) + level.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}

getFormattedLevel();





teşekkürler.
1593354461599.png
93.000 bu şekilde görünüyor,kendi koduma sizinkini uyarlamaya çalıştım belki de yanlış yaptım.

JavaScript:
function getLevelColor(level){
    if(level <= 4999){
        return "&f";
    }else if(level >= 5000 && level <= 9999){
        return "&e";
    }else if(level >= 10000 && level <= 29999){
        return "&6";
    }else if(level >= 30000 && level <= 49999){
        return "&a";
    }else if(level >= 50000 && level <= 99999){
        return "&2";
    }else if(level >= 100000 && level <= 299999){
        return "&b";
    }else if(level >= 300000 && level <= 499999){
        return "&3";
    }else if(level >= 500000 && level <= 999999){
        return "&d";
    }else if(level >= 1000000 && level <= 2999999){
        return "&5";
    }else if(level >= 3000000 && level <= 4999999){
        return "&c";
    }else if(level >= 5000000 && level <= 9999999){
        return "&4";
    }
    else if(level >= 5000000){
        return "&4";
    }
}

function getFormattedLevel(){
    var level = "%askyblock_level%";
    return getLevelColor(level*1) + level.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}

getFormattedLevel();
 

Üst