Almira2 1
Almira2
romegames 1
romegames
D 1
delimuratt
melankolıa18 1
melankolıa18
shrpnl 1
shrpnl
Fethi Polat 1
Fethi Polat
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[C++] Balıkçılık Eventi

  • Konuyu başlatan Konuyu başlatan theay
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 14
  • Görüntüleme Görüntüleme 3K

theay

mester2.tc
Fahri Üye
TM Üye
Katılım
2 Mar 2022
Konular
37
Mesajlar
645
Çözüm
6
Online süresi
1mo 6d
Reaksiyon Skoru
323
Altın Konu
0
Başarım Puanı
136
MmoLira
8,465
DevLira
75
Ticaret - 0%
0   1   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

  • Char.cpp dosyasına şu fonksiyonu ekleyin veya düzenleyin:
[CODE lang="cpp" title="char.cpp"]void CHARACTER::FishingEvent(const TItemPos& pos, DWORD dwVnum)
{
at_fishing_event(this, pos, dwVnum);
}
[/CODE]

  • char.h dosyasında CHARACTER sınıfının altına şu fonksiyon bildirimini ekleyin.
[CODE lang="cpp"]
void FishingEvent(const TItemPos& pos, DWORD dwVnum);
[/CODE]
  • cmd.cpp dosyasına şu fonksiyonu ekleyin veya düzenleyin:
[CODE lang="cpp"]
ACMD(do_fishing_event);
[/CODE]
  • cmd.cpp ACMD_TABLE ALTINA :
[CODE lang="cpp"]
{ "fishing_event", do_fishing_event, 0, 0 },
[/CODE]

  • questlua.cpp dosyasına şu satırları ekleyin:
[CODE lang="cpp"]
#include "questlu#includeclude "char.h"#includeuest_fishing_event)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
if (ch)
ch->FishingEvent(TItemPos(INVENTORY, 0), 0); // Item düşürecek bir balık vnum'u belirtilebilir.

return 0;
}

ALUA(unbind_fishing_event)
{
stop_fishing_event();
return 0;
}

[/CODE]

  • cmd_general.cpp dosyasına şu satırı ekleyin:
[CODE lang="cpp"]
ACMD(do_fishing_event)
{
if (is_gm(ch))
ch->ChatPacket(CHAT_TYPE_COMMAND, "quest fishing_event");
}

[/CODE]

  • cmd_gm.cpp dosyasına şu satırı ekleyin:
[CODE lang="cpp"]
{ "fishing_event", do_fishing_event, 0, POS_DEAD, GM_IMPLEMENTOR },

[/CODE]


Bu eventi başlatmak için şöyle bir quest tetiklemesi kullanılabilir.
JavaScript:
quest fishing_event begin
    state start begin
        when login with is_gm() begin
            cmdchat("start_fishing_event")
            say("Balık eventi başladı! Sadece belirli itemler düşecek.")
            notice_all("Balık eventi başladı! Sadece belirli itemler düşecek.")
        end

        when login with not is_gm() begin
            say("Sadece GM hesapları balık eventini başlatabilir.")
        end
    end

    state stop begin
        when login with is_gm() begin
            cmdchat("stop_fishing_event")
            say("Balık eventi sona erdi. Artık normal itemler düşecek.")
            notice_all("Balık eventi sona erdi. Artık normal itemler düşecek.")
        end

        when login with not is_gm() begin
            say("Sadece GM hesapları balık eventini sonlandırabilir.")
        end
    end
end

function start_fishing_event()
    fishing_event.set_state("start")
    fishing_event.set_timer(3600) -- 1 saat boyunca devam eder
    fishing_event.start()
end

function stop_fishing_event()
    fishing_event.set_state("stop")
    fishing_event.stop()
end

function at_fishing(fish_vnum)
    local state = fishing_event.get_state()
    if state == "start" then -- Eğer balık eventi aktifse, sadece belirli itemler düşecek.
        if fish_vnum == 1001 or fish_vnum == 1002 or fish_vnum == 1003 then -- Sadece belirli itemlerin vnum'larına izin veriyoruz.
            game.drop_item(fish_vnum, 1, 1) -- Düşürülecek itemlerin adetini ve düşürülecek yerin numarasını buradan ayarlayabilirsiniz.
        end
    end
end
 
auto event manager kullanarak eventi otomatik başlatip durdurup eventi otomatiğe alabiliriz bide duyuru ekledikmi miss ben beğendim ilgi çekici olabilir.
altta belirttigim kısmı common da bi fish_event sql oluşturup oradan vnum çektiririz miss quest düzenleme işide biter
if fish_vnum == 1001 or fish_vnum == 1002 or fish_vnum == 1003

paylaşım için teşekkürler geliştirmeye açik sizde fikirlerinizi sunarsanız belki geliştirip tekrar paylasılabilir.

sonradan aklıma geldi eğer FishingEvent aktifse normal fishing.txt devre dişi birakilabilir sadece event nesnelerini düşürmek için
 
auto event manager kullanarak eventi otomatik başlatip durdurup eventi otomatiğe alabiliriz bide duyuru ekledikmi miss ben beğendim ilgi çekici olabilir.
altta belirttigim kısmı common da bi fish_event sql oluşturup oradan vnum çektiririz miss quest düzenleme işide biter
if fish_vnum == 1001 or fish_vnum == 1002 or fish_vnum == 1003

paylaşım için teşekkürler geliştirmeye açik sizde fikirlerinizi sunarsanız belki geliştirip tekrar paylasılabilir.
Yani bu şekilde bir çok event yapılabilir. Hatta p2p ile telefondan bile event açıp kapatabiliriz telefondan yönetim işin sonu yok :D vakit lazım
 
Yani bu şekilde bir çok event yapılabilir. Hatta p2p ile telefondan bile event açıp kapatabiliriz telefondan yönetim işin sonu yok :D vakit lazım
benim event modulum sql den direk item vnum quest flag drop ayarları vs hepsi sql den çalişiyo ben oraya bağliycam bu eventide sql e erişimim olan heryerden event başlatıp durdurabiliyorum.30 saniyede bi gameye paket gönderiyo 30 saniyede event başlatip kapatabiliyorum.
 
balık eventi demişken aklıma tekansenin balık sistemi geldi oda paylaşılır yakında umarım
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst