Reklam vermek için [email protected]

Oyun içi Selam Botu Fake Chat Sistemi (Sevimli271)

Bilal MANAY™✓

Kudüs işgal altındayken ben nasıl gülebilirim ki.
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Fahri Üye
TM Üye
Katılım
7 Mar 2019
Konular
244
Mesajlar
2,053
Reaksiyon Skoru
3,027
Altın Konu
2
Başarım Puanı
229
TM Yaşı
3 Yıl 9 Ay 2 Gün
Online Süresi
59d 21h 23m
MmoLira
1,110
DevLira
3
Takipçiler
13

LordMt2 | 1-127 Level ve Bol Dönüşümlü Yapısı ile 02 Aralık Cuma Günü Saat 20:00’da Açılıyor. Sende Bu Heyecana Ortak Ol !



Merhabalar arkadaşlar sevimli271 paylaştığı fake chat sistemi konudan kaldırılmış paylaşmak istedim geri.

Kod:
input_main.cpp aç ve arat

extern void SendShout(const char * szText, BYTE bEmpire);

değiştir

#ifdef ENABLE_FAKE_CHAT
extern void SendShout(const char * szText, BYTE bEmpire);
#endif


arat
static int __deposit_limit()

altına ekle

#ifdef ENABLE_FAKE_CHAT
#define FILE_MAX_LEN 256
#include <iostream>
#include <fstream>
std::vector<std::string> vec_chNames;
std::string textArray[9] = {
    "AS", "as","aleykum selam", "ALEYKUM SELAM", "a.s", "A.S", "was", "A.s", "Aleykum Selam"
};
#define TIMER_TICK_DIVIDING 6    //1 sec / x
#define MIN_CHAT_COUNT_FOR_A_TICK 4
#define MAX_CHAT_COUNT_FOR_A_TICK 10
EVENTINFO(chat_shout_event_info)
{
    const char * szText;
    int    chatCount;
    int maxCount;
};
EVENTFUNC(chat_shout_update_event)
{
    chat_shout_event_info* info = dynamic_cast<chat_shout_event_info*>(event->info);
    if (info == NULL)
    {
        sys_err("mountsystem_update_event> <Factor> Null pointer");
        return 0;
    }
    if (info->chatCount >= info->maxCount) { vec_chNames.clear(); return 0; }

    int startIndex = info->chatCount;
    const int shoutCount = number(MIN_CHAT_COUNT_FOR_A_TICK, MAX_CHAT_COUNT_FOR_A_TICK);
    info->chatCount += shoutCount;

    //int tekrar = 4;
    //for(int bear = 0; bear <= tekrar; bear++){
        for (int i = 0; i < shoutCount; i++) {
            const int useIndex = startIndex + i;
            if (useIndex >= vec_chNames.size()) { vec_chNames.clear();  return 0; }
            char chatbuf_global[CHAT_MAX_LEN + 1];
            std::string chName = vec_chNames[useIndex];
            std::string chatText = textArray[number(0, _countof(textArray)-1)];
            const BYTE charEmpire = number(1,3);
          
            const char* iconEmp[3] = {"[1]   ","[2]   ","[3]   "};
            const char* colorEmp[3] = {"|cFFFF0000","|cffffff00","|cFF0080FF"};
  
            int len_global = snprintf(chatbuf_global, sizeof(chatbuf_global), "%s%s : %s|HVectors:%s |h[PM]|h|r : %s" , iconEmp[charEmpire - 1], chName.c_str(), colorEmp[charEmpire - 1], chName.c_str(), chatText.c_str());

            SendShout(chatbuf_global, charEmpire);
            TPacketGGShout p;
            p.bHeader = HEADER_GG_SHOUT;
            p.bEmpire = charEmpire;
            strlcpy(p.szText, chatbuf_global, sizeof(p.szText));
            P2P_MANAGER::instance().Send(&p, sizeof(TPacketGGShout));
        }
    //}

    return PASSES_PER_SEC(1) / TIMER_TICK_DIVIDING;
}

void CreateShoutEvent() {
    FILE* f;
    char line[FILE_MAX_LEN];
    unsigned n = 0;

    f = fopen("/usr/game/share/locale/turkey/fake_names.txt", "r"); // Bu kısımı ftp üzerinde kendinize göre ayarlamayı unutmayın fake_names.txt içerisinde sadece kullanıcı adlarını çekmektedir.
    if (!f) { return; }
    while (fgets(line, FILE_MAX_LEN, f))    {
        std::string tmpStr = (std::string)line;
        std::string strLine = tmpStr.substr(0, tmpStr.size() - 2);
        vec_chNames.push_back(strLine);
    }
    if (!feof(f)){
        fclose(f);
        return;
    }
    fclose(f);
    /***/

    chat_shout_event_info* info = AllocEventInfo<chat_shout_event_info>();
    info->maxCount = vec_chNames.size();
    info->chatCount = 0;
    event_create(chat_shout_update_event, info, PASSES_PER_SEC(1));
}
#endif

-----------------------------

cmd_gm.cpp aç


arat

ACMD(do_map_notice)

ve altına ekle


#ifdef ENABLE_FAKE_CHAT
extern void CreateShoutEvent();
#endif
ACMD(do_big_notice)
{
#ifdef ENABLE_FAKE_CHAT
    std::string strLine = static_cast<std::string>(argument), stName = static_cast<std::string>(ch->GetName());
    if ((strLine == " SELAMUN ALEYKUM" || strLine == " SA" || strLine == " SELAMIN ALEYKUM" || strLine == " SELAMIN ALEYKUM") && (ch->IsGM()))
        CreateShoutEvent();
#endif
#ifdef ENABLE_FULL_NOTICE
    BroadcastNotice(argument, true);
#else
    ch->ChatPacket(CHAT_TYPE_BIG_NOTICE, "%s", argument);
#endif
}

#ifdef ENABLE_FULL_NOTICE
ACMD(do_map_big_notice)
{
    SendNoticeMap(argument, ch->GetMapIndex(), true);
}

ACMD(do_notice_test)
{
    ch->ChatPacket(CHAT_TYPE_NOTICE, "%s", argument);
}

ACMD(do_big_notice_test)
{
    ch->ChatPacket(CHAT_TYPE_BIG_NOTICE, "%s", argument);
}
#endif


Kanıt :


112232.gif


Serverde tek başıma kalınca benim sıfat :D
Paylaşım için teşekkürler :)
 

Replicant

Co Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Co Admin
Katılım
7 May 2010
Konular
10,886
Mesajlar
57,425
Reaksiyon Skoru
15,579
Altın Konu
424
Başarım Puanı
686
TM Yaşı
12 Yıl 7 Ay 3 Gün
Online Süresi
251d 5h 26m
MmoLira
23,416
DevLira
595
Takipçiler
256
Paylaşım için teşekkürler.
 

Chaevz

Level 5
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Üye
Katılım
13 Ocak 2018
Konular
45
Mesajlar
812
Reaksiyon Skoru
297
Altın Konu
0
Başarım Puanı
173
Yaş
24
TM Yaşı
4 Yıl 10 Ay 25 Gün
Online Süresi
25d 15h 21m
MmoLira
922
DevLira
0
Takipçiler
6
Artık 5 10k online oyunculara son 100k ve 200k oyuncumuzla piyasanın nirvanasıyız !
 

Breacche

Level 1
Üye
Katılım
9 Mar 2022
Konular
5
Mesajlar
25
Reaksiyon Skoru
12
Altın Konu
0
Başarım Puanı
17
TM Yaşı
9 Ay
Online Süresi
4d 5h 57m
MmoLira
96
DevLira
0
Takipçiler
0
konu için teşekkürler
 

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

Üst