Pelerin Efekt [Python]

LDrago

The Dragon's Excalibur
Üye
Mesaj
162
Çözümler
1
Beğeni
179
Puan
726
root/playersettingmodule.py aç

arat:

Kod:
EmoticonStr = "d:/ymir work/effect/etc/emoticon/"

altına ekle:

Kod:
Pelerin = "d:/ymir work/effect/affect/"

arat:

Kod:
    chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+11, "", EmoticonStr+"fish.mse")
   net.RegisterEmoticonString("(fish)")

altına ekle:
Kod:
chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+14, "", Pelerin+"kanekipelerineffect.mse")
    net.RegisterEmoticonString("(pelerin)")
Linkleri görebilmek için giriş yap veya kayıt ol.



root/uiinventory.py aç

arat:
Kod:
def __UseItem(self, slotIndex):
        ItemVNum = player.GetItemIndex(slotIndex)
        item.SelectItem(ItemVNum)
Linkleri görebilmek için giriş yap veya kayıt ol.


altına ekle:
Kod:
        if 70038 == ItemVNum:
            net.SendChatPacket("(pelerin)")
            snd.PlaySound('sound/ui/drop.wav')
Linkleri görebilmek için giriş yap veya kayıt ol.



Son olarak rardaki dosyaları packın içine atıp Index e bunu ekleyin.

Kod:
metin2_aggregate_effect

Uyarı:Fazla Paket gönderince atmalar olabilir.

Linkleri görebilmek için giriş yap veya kayıt ol.


Linkleri görebilmek için giriş yap veya kayıt ol.
 

Dosya Eklentileri

  • efekt.rar
    52,2 KB · Gösterim: 170
En son bir moderatör tarafından düzenlenmiş:
Pelerin derken hocam, oyunda pelerin mi vardı?
 
Pelerinlerinize birden çok kez dokunursanız sizi müşteri dışına çıkarır

Hi Alex, welcome to MMO Tutkunları. :)
Will you share the syserr.txt file when the client is shut down?
Can you also share error logs written in the syserr and syslog files in the server file?
-----------------------------------------------------------------------------
Selam Alex, MMO Tutkunları'na hoş geldiniz.
İstemci kapandığı zaman syserr.txt dosyasında yazanları paylaşabilir misiniz?
Sunucu hata kayıtlarını da paylaşabilir misiniz? Syserr ve syslog dosyasında hata mesajları yazmaktadır.
 
Hi Alex, welcome to MMO Tutkunları. :)
Will you share the syserr.txt file when the client is shut down?
Can you also share error logs written in the syserr and syslog files in the server file?
-----------------------------------------------------------------------------
Selam Alex, MMO Tutkunları'na hoş geldiniz.
İstemci kapandığı zaman syserr.txt dosyasında yazanları paylaşabilir misiniz?
Sunucu hata kayıtlarını da paylaşabilir misiniz? Syserr ve syslog dosyasında hata mesajları yazmaktadır.
Hocam yanlışım varsa düzeltin bu tarz efekt sistemlerinde bu şekilde zaten abanırsanız bir yere kadar gider sonra efekti çekemediği için çöker oyundan atar. Bence oto pot gibi süre aralığı eklemek lazım mesela 3 saniyede 1 tıklansın.
 
Hocam yanlışım varsa düzeltin bu tarz efekt sistemlerinde bu şekilde zaten abanırsanız bir yere kadar gider sonra efekti çekemediği için çöker oyundan atar. Bence oto pot gibi süre aralığı eklemek lazım mesela 3 saniyede 1 tıklansın.
Evet öyle olabiliyor. Lakin tüm girdiler hata kayıtlarında bulunur. Çünkü karakteri direk olarak login ekranına atıyor. Ben server tarafından karakterin dc yediğini düşünüyorum. O efekleri oluştururken bir sorun olmuş olabilir. Kayıtları da görmeden çözüm üretmek mantıksız olur. :)
Bu sistemi daha önce ben kullanmadım. O yüzden sorunlarını bilmiyorum. :)
 
Evet öyle olabiliyor. Lakin tüm girdiler hata kayıtlarında bulunur. Çünkü karakteri direk olarak login ekranına atıyor. Ben server tarafından karakterin dc yediğini düşünüyorum. O efekleri oluştururken bir sorun olmuş olabilir. Kayıtları da görmeden çözüm üretmek mantıksız olur. :)
Bu sistemi daha önce ben kullanmadım. O yüzden sorunlarını bilmiyorum. :)
Evet. Kayıt neyse o dur :) konuyu paylaşanda öyle birşey demiş hocam çok paket gönderince sorun olabilir diye.
 
Evet. Kayıt neyse o dur :) konuyu paylaşanda öyle birşey demiş hocam çok paket gönderince sorun olabilir diye.
O zaman bu sistemi kullanmanın bir gereği yok diye düşünüyorum. :)
Önemli olan oyunculara stabil bir oyun sunmak. Bir çok pvp server gruplarında millet sistemlerden daha çok stabil bir oyun istiyor..

Yani istersen oyununa en ilgi çekici sistemleri ekle veya kodla. Eğer bu sistem oyunun stabilitesini bozuyorsa, oyuncuyu oyundan atıp duruyorsa hiçbir anlamı olmaz.
Bu yüzden bir sistem yapmaya kalkışırken buna da çok önem verilmesi gerekiyor.

Birde istemcinin boyutununda önemli olduğunu düşünüyorum. Her ne kadar internet indirme hızları geçmişe nazaran yüksek olsa da Metin2 gibi bir oyun için 1GB ve üstü pack boyutu bana kalırsa biraz aşırı kaçıyor. :)
 
Hocam bunun sebebi rahatlık,düzensiz çalışma,kodlamayı sadece kodlama olarak düz mantıkla anlamak(algoritmasız kodlama),oyun yapısında gereksiz çalışan eklentiler veya en basitinden sürekli çalışan kodlar, iş yükünün habire çekirdek yapıya yüklenmesi vs. say say bitmez anladın sen yapacak bir şey yok :D 1 GB konusunda bende hem fikirim çok fazla şey ekleniyor bir keresinde temizlemeye çalıştım düşman başına yani. Neyse bu konuya da böylece bırakalım şişmesin özelden yaz :D
 
Evet ne yazık ki öyle. Lakin yeni çıkan sistemlerde geliştirici arkadaşlarımızın daha doğru yöntemler izleyerek sistemlerini yazdıklarını görüyorum. İnsanlar tecrübe kazandıkça sistemlerini daha düzgün yazabiliyorlar. Bende tecrübe kazandıkça ve düzenledikçe yeni halini eskisinden daha iyi buluyorum.
40k sistemlerde açık kaynak kodu bulunduğu için 34k mantığı ile sistem yapmak gereksiz. Hala bir çok sistemde fısıltı üzerinden veri alıp gönderme mantığı kullanılıyor. Lakin bu sağlıklı bir yöntem değil. Ne yazık ki hala bir çok pvp serverin kullandığı profil gösterme olayı. Karşıdaki kişiye bildirim gidiyor bakıp bakmaması için. Bildirim normalde packet ile atılması gerekirken fısıltı üzerinden (net.SendWhisperPacket()) gönderiliyor. Haliyle karşıdaki kişi fısıltıyı blokladığında onay penceresi karşıya gitmediği için gönderen kişi eşyalarını görebiliyor.
 
Bu sistemi nasıl X tuşuna entegre ederim ? @Reached @Whistle Şöyle bir kod yazdım ama game.py de çalışmıyor;
Python:
    if app.ENABLE_CESARET_PELERIN_EFFECT:
        def __PressXKey(self):
            ItemVNum = player.GetItemIndex(slotIndex)
            item.SelectItem(ItemVNum)
            if 70038 == ItemVNum:
                net.SendChatPacket("(pelerin)")
                snd.PlaySound('sound/ui/drop.wav')

Verdiği syserr;
Python:
0506 04:26:22650 ::   File "game.py", line 1287, in OnKeyDown

0506 04:26:22650 ::   File "game.py", line 475, in __PressXKey

0506 04:26:22650 :: NameError
0506 04:26:22650 :: :
0506 04:26:22650 :: global name 'slotIndex' is not defined
0506 04:26:22650 ::
 
slotIndex’e bir şey tanımlamamışsınız ki
 
slotIndex’e bir şey tanımlamamışsınız ki
O kodu devre dışı bıraktım bu seferde böyle oldu.
Kod:
0506 12:50:31869 :: Traceback (most recent call last):

0506 12:50:31869 ::   File "game.py", line 1287, in OnKeyDown

0506 12:50:31869 ::   File "game.py", line 476, in __PressXKey

0506 12:50:31869 :: NameError
0506 12:50:31869 :: :
0506 12:50:31869 :: global name 'ItemVNum' is not defined
0506 12:50:31869 ::
 
Ee bu seferde ItemVNum tanımlı değil
 
Nasıl tanımlatıcam Uiİnventoryden örnek alıp yapmayı denedim ama beceremedim sanırım :/
Çünkü slotIndex, ItemVnum tanımları uiinventory.py de bulunuyor. Game.py de bu tanımlar olmadığı için not defined diyor doğal olarak.
Yaptığınız eklemeyi tekrar uygulayın ve game.py dosyasına son olarak

Python:
import uiInventory

eklemeyi deneyin.
 
Geri
Üst