[İstek] İtem Yükseltme (+Basma) Plugini

kırmızıkapşonluçocuk

Ağaç Yumruklayıcı
En iyi cevaplar
0
Sevgili baylar bayanlar ve bayanım diyen baylar merhaba sizlerden ufak bir isteğim olacak
Ben uzun zamandır bir mmorpg server kurmak için çabalıyorum (9 Ay) (Tek Başıma) her şey bitti sayılır ama bir kaç eksik kaldı bunların birisi de item yükseltme halk arasında artı basma dedikleri olay ki bildiğiniz üzre mmorpglerin olmazsa olmazıdır.

Şimdi nasıl bir şey olacağını anlatayım


Elimizde şimdi "Abuzer'in intikamı +1" Yazan bir kılıç var diyelim. Bunu elimize alıp bir /yükselt komutu (permli) gircez ve karşımıza bir pencere açılacak. Açılacak olan pencere ile ilgili iki tasarımım var ikisinden birisi olacak ama hangisi kolaysa size kalmış

1. Yol
Komutu yazdığımızda bir villager penceresi gelecek ve yükseltmek için gereken itemle birlikte itemin +1 halini koycaz karşılığında +2 olanı alcaz.
Bkz; (Resim Bana Ait)



2. Yol.
Bu yol baya bir uğraşlı galiba sizden o kadar büyük bir şey isteyemem o yüzden 1. yöntem yapabilirseniz kafi.

Ama bunları oyun içinden benim eklemem lazım o pencereye(shopkeeper tarzı yada farklı metotlarla) benim istediğim itemleri alıp benim istediklerimi verecek yapabilecek biri var mı bir fikrim yok ancak bunun gibi büyük eksikler yüzünden serveri açamıyorum yapan arkadaşa cidden çok minnettar olcam. Para (ne kadar çok istesem de) veremem belki ama serverde Vip vs yada herhangi bir konuda yardım gibi şeylerle borcumu bi şekilde ödemeye çalışırım bir de son isteğim olur da yapabilirseniz ben harici kimseyle paylaşmamanız servere özgü olsun istiyorum :(
Uğraşan tüm arkadaşlara şimdiden teşekkür ederim.
 

kırmızıkapşonluçocuk

Ağaç Yumruklayıcı
En iyi cevaplar
0
Kod:
on command: "/yukselt"
     trigger:
         if player has 1 paper named "&4(&6GelistirmeEsyasi&4)":
             remove 1 paper named "&4(&6GelistirmeEsyasi&4)" from player's
             message "&cEsyaniz basariyla yukseltildi!"
         else:
             message "Gelistirme esyaniz olmadığından dolayı esyanızı bi üst kademeye cikaramadiniz !"
             stop trigger
Burdakini biraz geliştirerek elindeki itemi geliştirme sistemi yapabilirsin :(
Not: Esyalari rpgitem gibi pluginler ile yapıyorsan remove 1 paper named adlı kodun bi alt satırına
execute console command "/rpgitems yeni kilicin adı %player%" gibi kodlar yazarak yeni esyayı verebilirsin
Skript yazmayı bilmiyorum ve gördüğüm kadarıyla burda elinde tuttuğun iteme bağlı olarak değişmiyor komut elinde kazan da tutsan yükseltme eşyasını kontrol ediyor kova da tutsan yükseltme eşyasını ben elimde tuttuğum iteme göre açılan pencere değişsin istiyorum ve birde burda hangi itemi vereceğini ayarlama gibi bir olay yok geliştirmek biraz hafif tabir baştan yaratmak gerek :(
Ama yardımın için teşekkür ederim yine de :)
 

Centeglassered

Kızıltaş Madencisi
En iyi cevaplar
0
Ne istediğini tam anlamadım. Eşya yükseltmek için bir GUI'mı istiyorsun?[DOUBLEPOST=1431924584,1431924528][/DOUBLEPOST]Ayrıca script kullandıysan yardım edemem. Çünkü ben eklenti yazıyorum ve senin script ile oluşturduğun eşyalara erişemem.
 

kırmızıkapşonluçocuk

Ağaç Yumruklayıcı
En iyi cevaplar
0
Ne istediğini tam anlamadım. Eşya yükseltmek için bir GUI'mı istiyorsun?[DOUBLEPOST=1431924584,1431924528][/DOUBLEPOST]Ayrıca script kullandıysan yardım edemem. Çünkü ben eklenti yazıyorum ve senin script ile oluşturduğun eşyalara erişemem.
Direk eşya yükseltmek istiyorum eşyaları skript ile oluşturmuyorum pluginle oluşturuyorum ve bir veritabanında duruyor tüm kılıçlar komutla istediğim kılıcı çağırabiliyorum guinin pek önemi yok fırında villager penceresinde chestte yada chatte geçen bi yazıyla hiç farketmez ama elime +1 bir item alıp /yükselt yazınca benim belirlediğim eşyalar karşılığında +2 olan itemi verecek bana serverde 50den fazla +1 item olduğu için yükseltme olayını bir arayüzden benim ayarlamam lazım yardımcı olabilirsen daha detaylı anlatabilirim hala anlamadıysan :(

Örnek;
Elime naber+1 yazan bir kılıç aldım /yükselt yazdım chatte bir yazı geçti "Bu eşyayı üst seviyeye çıkarmak için "1tane kamuranın tabutu" ve "3Tane abuzerin derisi" gerekmektedir yükseltmeye devam etmek için komutu tekrar girin diycek tekrar girince de bu itemlerin envanterde olup olmadığını kontrol edecek bu itemleri envanterden alacak ve yerine +2 olan naber kılıcını verecek. Yardımcı olacaksa +2 olan kılıcı oyundan tekrar editlemeye gerek duymadan /ils give <nick> naber+2 komutuyla alabiliyorum oyuncuya da böyle verebiliriz koşul gerçekleşince eğer yardımcı olabilirsen çok büyük bir iyilik yapmış olursun o kadar zaman boşa uğraşmış olmam bir şeye benzer :D

Bu arada ikinci konuma da yardım edebilir misiniz ? :(
https://forum.gamer.com.tr/konu/istek-zor-seviye-atlama-plugini-skripti.263342/[DOUBLEPOST=1431929402][/DOUBLEPOST]
Komutla olmak zorundamı ? Mesela bir villagere tıklayıp itemleri koyup karşılığında itemini yükselte bilir ?
Onun için 50den fazla villager koymam lazım lag sebebi + kasıntı sebebi + zaman kaybı + kalitesiz + shopkeepers arada buga giriyor + 2*3(3-2) öyle işte yani :(
 
Son düzenleme:

Centeglassered

Kızıltaş Madencisi
En iyi cevaplar
0
Direk eşya yükseltmek istiyorum eşyaları skript ile oluşturmuyorum pluginle oluşturuyorum ve bir veritabanında duruyor tüm kılıçlar komutla istediğim kılıcı çağırabiliyorum guinin pek önemi yok fırında villager penceresinde chestte yada chatte geçen bi yazıyla hiç farketmez ama elime +1 bir item alıp /yükselt yazınca benim belirlediğim eşyalar karşılığında +2 olan itemi verecek bana serverde 50den fazla +1 item olduğu için yükseltme olayını bir arayüzden benim ayarlamam lazım yardımcı olabilirsen daha detaylı anlatabilirim hala anlamadıysan :(

Örnek;
Elime naber+1 yazan bir kılıç aldım /yükselt yazdım chatte bir yazı geçti "Bu eşyayı üst seviyeye çıkarmak için "1tane kamuranın tabutu" ve "3Tane abuzerin derisi" gerekmektedir yükseltmeye devam etmek için komutu tekrar girin diycek tekrar girince de bu itemlerin envanterde olup olmadığını kontrol edecek bu itemleri envanterden alacak ve yerine +2 olan naber kılıcını verecek. Yardımcı olacaksa +2 olan kılıcı oyundan tekrar editlemeye gerek duymadan /ils give <nick> naber+2 komutuyla alabiliyorum oyuncuya da böyle verebiliriz koşul gerçekleşince eğer yardımcı olabilirsen çok büyük bir iyilik yapmış olursun o kadar zaman boşa uğraşmış olmam bir şeye benzer :D

Bu arada ikinci konuma da yardım edebilir misiniz ? :(
https://forum.gamer.com.tr/konu/istek-zor-seviye-atlama-plugini-skripti.263342/[DOUBLEPOST=1431929402][/DOUBLEPOST]
Onun için 50den fazla villager koymam lazım lag sebebi + kasıntı sebebi + zaman kaybı + kalitesiz + shopkeepers arada buga giriyor + 2*3(3-2) öyle işte yani :(
Fikrim şu /yukselt komutu çağrıldığında oyuncunun envanteri taranacak,
yükeseltilebilinecek bir eşya varsa yükseltme eşyaları için envanter taranacak.
Eşyaların hespi tam değilse Şunları şunları alın yazacak,
Eğer hepsi tamsa Şunlar şunlar harcanacak devam etmek için /yetki onay yazın diyecek ve oyuncunun UUID'sı bir
ArrayList<UUID> onaybekleyenoyuncular;
nesnesinin içinde kaydedilecek. Yukseltmek istedigi esya da
ArrayList<Material (YA DA YUKSELTILECEK ESYAYI TUTAN HERHANGI BIR SINIF)> onaybekleyenyukseltmeler;
nesnesinin içine kaydedilecek;
Şimdi /yukselt onay'a gelelim:
Eğer oyuncunun UUID'si onaybekleyenoyuncularda yoksa Önce /yukselt komutunu kullanın yazacak
Eğer varsa oyuncunun onaybekleyenoyuncular dizisindeki konumuna göre onaybekleyenyukseltmelerden hangi esyayı yukseltmek istedigi öğrenilecek. Oyuncu iki komut arasında envanterini degistirmiş olabilir diye tekrar gerekli esyalar kontor edilecek eger yoklarsa hata vericek varlarsa malzemeleri silecek +lı esyayı atacak eski esyayı silecek listeden adını kaldıracak diger listeden de esyasını kaldıracak.

/yukselt'te şunu da kontrol edeceğiz eğer oyuncunun hali hazırda onay bekleyen bir yukseltmesi varsa sistem ilk once onu listelerden kaldıracak sonra yukseltme kodunu calıstırcak.

Nasıl buldun? Beğendiysen koda başlıyayım.[DOUBLEPOST=1431958988,1431958948][/DOUBLEPOST]GUI istersen farklı bir şeyler düşünürüm bunu ayak üstü hallettim.
 

kırmızıkapşonluçocuk

Ağaç Yumruklayıcı
En iyi cevaplar
0
Fikrim şu /yukselt komutu çağrıldığında oyuncunun envanteri taranacak,
yükeseltilebilinecek bir eşya varsa yükseltme eşyaları için envanter taranacak.
Eşyaların hespi tam değilse Şunları şunları alın yazacak,
Eğer hepsi tamsa Şunlar şunlar harcanacak devam etmek için /yetki onay yazın diyecek ve oyuncunun UUID'sı bir
ArrayList<UUID> onaybekleyenoyuncular;
nesnesinin içinde kaydedilecek. Yukseltmek istedigi esya da
ArrayList<Material (YA DA YUKSELTILECEK ESYAYI TUTAN HERHANGI BIR SINIF)> onaybekleyenyukseltmeler;
nesnesinin içine kaydedilecek;
Şimdi /yukselt onay'a gelelim:
Eğer oyuncunun UUID'si onaybekleyenoyuncularda yoksa Önce /yukselt komutunu kullanın yazacak
Eğer varsa oyuncunun onaybekleyenoyuncular dizisindeki konumuna göre onaybekleyenyukseltmelerden hangi esyayı yukseltmek istedigi öğrenilecek. Oyuncu iki komut arasında envanterini degistirmiş olabilir diye tekrar gerekli esyalar kontor edilecek eger yoklarsa hata vericek varlarsa malzemeleri silecek +lı esyayı atacak eski esyayı silecek listeden adını kaldıracak diger listeden de esyasını kaldıracak.

/yukselt'te şunu da kontrol edeceğiz eğer oyuncunun hali hazırda onay bekleyen bir yukseltmesi varsa sistem ilk once onu listelerden kaldıracak sonra yukseltme kodunu calıstırcak.

Nasıl buldun? Beğendiysen koda başlıyayım.[DOUBLEPOST=1431958988,1431958948][/DOUBLEPOST]GUI istersen farklı bir şeyler düşünürüm bunu ayak üstü hallettim.
Galiba istediğim şeyi anlatmışsın :D Ama pek anlamadım sayılır elinde tuttuğu iteme bağlı çalışmayacak mı şimdi yükselt komutu yani envanterindeki yükseltilecek eşyaları plugin tespit edip hangisinin yükseltileceğini mi soracak ?
 

Centeglassered

Kızıltaş Madencisi
En iyi cevaplar
0
Not: Bana bir şekilde pluginini ulaştırmak zorundasın. Ya bana pluginin kaynak kodunu at seninkinin üzerine yazayım ya da pluginin hazır bir sürümünü (kaynak koduna bakmam böyle karar senin) gönder ben onu bir kütüphane olarak kullanayım ve çalışmak için senin pluginine ihtiyacı olan bir yeni plugin hazırlayayım.
 

kırmızıkapşonluçocuk

Ağaç Yumruklayıcı
En iyi cevaplar
0
Not: Ban bir şekilde pluginini ulaştırmak zorundasın. Ya bana pluginin kaynak kodunu at seninkinin üzerine yazayım ya da pluginin hazır bir sürümünü (kaynak koduna bakmam böyle karar senin) gönder ben onu bir kütüphane olarak kullanayım ve çalışmak için senin pluginine ihtiyacı olan bir yeni plugin hazırlayayım.
Hangi pluginin itemleri editlediğim ve kaydedip istediğimde çağırdığım pluginin mi ?
 

Centeglassered

Kızıltaş Madencisi
En iyi cevaplar
0
Galiba istediğim şeyi anlatmışsın :D Ama pek anlamadım sayılır elinde tuttuğu iteme bağlı çalışmayacak mı şimdi yükselt komutu yani envanterindeki yükseltilecek eşyaları plugin tespit edip hangisinin yükseltileceğini mi soracak ?
Elinde tuttuğu eşyaya göre işlem yapmak çok daha kolay olur. Hallederim ben sadece elinde o eşya olmadan bile kolayca yukseltme yapsın diye düşündüm de şimdi sen haklısın belki adamın yükseltmek istemediği başka bir eşyayı yükseltiriz. Senin fikir daha iyi. Başlıyorum o zaman?[DOUBLEPOST=1431959847,1431959806][/DOUBLEPOST]
Hangi pluginin itemleri editlediğim ve kaydedip istediğimde çağırdığım pluginin mi ?
Evet. Yani bu eşyalarla ilgilenen plugin lazım.
 

kırmızıkapşonluçocuk

Ağaç Yumruklayıcı
En iyi cevaplar
0
Elinde tuttuğu eşyaya göre işlem yapmak çok daha kolay olur. Hallederim ben sadece elinde o eşya olmadan bile kolayca yukseltme yapsın diye düşündüm de şimdi sen haklısın belki adamın yükseltmek istemediği başka bir eşyayı yükseltiriz. Senin fikir daha iyi. Başlıyorum o zaman?[DOUBLEPOST=1431959847,1431959806][/DOUBLEPOST]
Evet. Yani bu eşyalarla ilgilenen plugin lazım.
Eşyalarla ilgilenen plugin item lore stats kullanıyorum :( Eşya editliyor export ediyor gerektiğinde de tekrar alıyorsun bu pluginin pek yararı olacağını sanmam çünkü tüm itemlerin bir alt adı var item lore statsda benim belirlediğim mesela başlangıç asası +2 iteminin asa1x2 gibi adları var ve ben bu itemi almak için /ils give <oyuncu adı> asa1x2 yazıyorum.
Yani senin plugininde de bu /ils give {değer1} {değer2} gibi bir komut çalışacak yükseltme başarılı olunca ama burdaki değer1 oyuncu adı olacak onu plugin kendi gircek yandaki değer2 de yükseltilecek itemin alt adı olacak ki onu benim girmem gerekiyor item güncellendiğinde vs tekrar değiştirmek için yani sen plugini değil sadece komutu kullanacaksın galiba ?
 
Üst