AUTO SELECT SKILL

  • Konuyu açan Konuyu açan nyami
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 38
  • Gösterim Gösterim 3K

nyami

ZeRo
Premium Üye
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
637
Çözümler
46
Beğeni
1.011
Puan
1.130
Ticaret Puanı
1
Seviye 5 ve üstüne çıktığınızda otomatik olarak açılır. Sıfır quest içerir. Basit şekilde özelleştirmesi yapılabilir.
İyi kullanımlar.

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


image.png


//GÜNCELLENDİ
Sistemi kontrol etmeden ekleyenler sanırım tüm skilleri belli bir seviyeye getirdiğini düşünmüşler. Bu yüzden konuya yeni bir güncelleme getirdim.
1- Seçilen sınıfa ve türüne göre karakter skillerinin istenen seviyeye gelmesi için gerekli eklenti konuya dahil edildi.
2- Skill sıfırlama için c++ taraflı yeni bir nesne yazılıp konuya dahil edildi.

Güncellemeleri auto_select_skill.cpp içindeki //08.11.2023 GÜNCELLEME başlığı altında bulabilirsiniz.
1699421382373.png



Böylece artık quest tabanlı skill işlemlerine de gerek kalmamış oluyor. (Yakında itembasic questininde sonunu getirecek yeni bir eklenti paylaşacağım.)
İyi kullanımlar.
 
Son düzenleme:
Paylaşım için teşekkürler. Max level de skill sıfırlayınca ışınlandığımızda veya görev kısmında çıkıyormu?
 
Paylaşım için teşekkürler. Max level de skill sıfırlayınca ışınlandığımızda veya görev kısmında çıkıyormu?
Skill sıfırlama questim yok o yüzden neye göre çıkıyor neye göre çıkmıyor dediğini çözemedim. Sistemde olay basit 5 seviye veya üstündeysen ve seçili skill yoksa bu ekran açılıyor.. Ama neden görev kısmında çıksın onu anlamadım? Neden quest olmayan bir sistemde quest çıksın onu kavrayamadım.
 
beceri sıfırlayınca "becerileri geliştir" diye bir görev geliyor öğretmene git skill al vs. diyor ona tıklayınca bu açılsın gibisinden bir şey demiştim
 
beceri sıfırlayınca "becerileri geliştir" diye bir görev geliyor öğretmene git skill al vs. diyor ona tıklayınca bu açılsın gibisinden bir şey demiştim
Sistem hiç bir queste bağlı değil. Bu sistemin eklendikten sonra zaten ekstradan bir skill öğrenme sistemine ihtiyaçları kalmıyor. Kaldırıp atılabilir onlar.

//Edit
Demek istediğin sanırım bu. Evet skill sıfırlama işlemi skill_group değerini 0 yaptığı sürece seviyeniz 5 ve 5ten büyükse otomatik olarak önünüze gelecek. Işınlanmalar gir çık yapamalar fark etmiyor.
1699035322097.webp
 
Son düzenleme:
Sistem hiç bir queste bağlı değil. Bu sistemin eklendikten sonra zaten ekstradan bir skill öğrenme sistemine ihtiyaçları kalmıyor. Kaldırıp atılabilir onlar.

//Edit
Demek istediğin sanırım bu. Evet skill sıfırlama işlemi skill_group değerini 0 yaptığı sürece seviyeniz 5 ve 5ten büyükse otomatik olarak önünüze gelecek. Işınlanmalar gir çık yapamalar fark etmiyor.
14110 eklentisini görüntüle
tamamdır teşekkürler. Konuya split_argument tanımlamasını da eklersen güzel olur .
 
14117 eklentisini görüntüle

eklersen güzel olur kullanılmıyo böylede 😂
utils.cpp:
Genişlet Daralt Kopyala
//arat;

#include "stdafx.h"

//altına ekle;

#include <boost/algorithm/string/classification.hpp> // Include boost::for is_any_of
#include <boost/algorithm/string/split.hpp>


//arat;

const char *two_arguments(const char *argument, char *first_arg, size_t first_size, char *second_arg, size_t second_size)
{
    return (one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size));
}

//altına ekle;

void split_argument(const char* argument, std::vector<std::string>& vecArgs)
{
    std::string arg = argument;
    boost::split(vecArgs, arg, boost::is_any_of(" "), boost::token_compress_on);
}

utils.h:
Genişlet Daralt Kopyala
//arat;

extern const char *    two_arguments(const char *argument, char *first_arg, size_t first_size, char *second_arg, size_t second_size);


//altına ekle;

extern void split_argument(const char* argument, std::vector<std::string>& vecArgs);
 
utils.cpp:
Genişlet Daralt Kopyala
//arat;

#include "stdafx.h"

//altına ekle;

#include <boost/algorithm/string/classification.hpp> // Include boost::for is_any_of
#include <boost/algorithm/string/split.hpp>


//arat;

const char *two_arguments(const char *argument, char *first_arg, size_t first_size, char *second_arg, size_t second_size)
{
    return (one_argument(one_argument(argument, first_arg, first_size), second_arg, second_size));
}

//altına ekle;

void split_argument(const char* argument, std::vector<std::string>& vecArgs)
{
    std::string arg = argument;
    boost::split(vecArgs, arg, boost::is_any_of(" "), boost::token_compress_on);
}

utils.h:
Genişlet Daralt Kopyala
//arat;

extern const char *    two_arguments(const char *argument, char *first_arg, size_t first_size, char *second_arg, size_t second_size);


//altına ekle;

extern void split_argument(const char* argument, std::vector<std::string>& vecArgs);
çok teşekkür ediyorum bu spilt yada argument olayını nasıl ekliyoruz bazn karşıma çok çıkıyo araştırıp buluyorum ama zor oluyo biraz
 
Tasarım çok şıkmış, paylaşım için teşekkürler.
 
Avadan sökmüştüm bunu oyunu kapayınca dbcore veriyordu var mı o sorun?
 
kanka char.cpp'ye birtane fonksyion oluşturup içine

ch->ChatPacket(CHAT_TYPE_COMMAND, "OpenAutoSkill");

ekleyip

geri kalan tüm eklemelerine mesela koşul içine ch->SetAutoSkill(ch);

diye eklesen ya bedava uğraşmışsın. Ellerine sağlık görüntü güzelmiş.
 
kanka char.cpp'ye birtane fonksyion oluşturup içine

ch->ChatPacket(CHAT_TYPE_COMMAND, "OpenAutoSkill");

ekleyip

geri kalan tüm eklemelerine mesela koşul içine ch->SetAutoSkill(ch);

diye eklesen ya bedava uğraşmışsın. Ellerine sağlık görüntü güzelmiş.
Sistemi söküp ekledim 2 gün kullanınca hoşuma gitti paylaştım. Dediğin gibi fonksiyon azaltılıp sadece encode ve update paketlerine eklenip tüm fonksiyonları tek noktaya toplanabilir. Mantık belli zaten gerisi kullanıcıya bağlı =)
 
Son düzenleme:
Geri
Üst